Justin Ruggles
06deaf8ad3
idcin: return 0 from idcin_read_packet() on success.
...
This matches the AVInputFormat.read_packet() API.
2013-01-09 14:49:07 -05:00
Justin Ruggles
5d0450461f
idcin: better error handling
...
Add some additional checks for EOF and print error messages on an incomplete
header or packet.
FATE reference updated for id-cin-video due to the demuxer no longer
returning a partial video packet at EOF.
2013-01-09 14:49:07 -05:00
Justin Ruggles
33f58c3616
idcin: check for integer overflow when calling av_get_packet()
...
chunk_size is unsigned 32-bit, but av_get_packet() takes a signed int as the
packet size.
2013-01-09 14:49:06 -05:00
Justin Ruggles
7040e479a1
idcin: allow seeking back to the first packet
...
Also, do not allow seek-by-byte, as there is no way to find the next packet
boundary.
2013-01-09 14:49:06 -05:00
Justin Ruggles
49543373f3
idcin: set AV_PKT_FLAG_KEY for video packets with a palette
2013-01-09 14:49:06 -05:00
Justin Ruggles
ccc0ffb1ba
idcin: set start_time and packet duration instead of manually tracking pts.
...
Also, use 1 / sample_rate for audio stream time_base.
2013-01-09 14:49:06 -05:00
Justin Ruggles
4b840930da
idcin: set channel_layout
2013-01-09 14:49:06 -05:00
Justin Ruggles
12c2530b1d
idcin: fix check for presence of an audio stream
2013-01-09 14:49:06 -05:00
Justin Ruggles
b0c96e0613
idcin: validate header parameters
...
Avoids using unsupported parameters and signed integer overflows.
2013-01-09 14:49:06 -05:00
Justin Ruggles
f7bf72a4a1
idcinvideo: correctly set AVFrame defaults
2013-01-09 14:49:06 -05:00
Justin Ruggles
f7a3c540c5
au: remove unnecessary casts
2013-01-09 11:52:57 -05:00
Justin Ruggles
2f8207b1c6
au: return AVERROR codes instead of -1
2013-01-09 11:52:57 -05:00
Justin Ruggles
fd9147f114
au: cosmetics: pretty-print and remove pointless comments
2013-01-09 11:52:57 -05:00
Justin Ruggles
c88d245c98
au: use ff_raw_write_packet()
2013-01-09 11:52:57 -05:00
Justin Ruggles
bdd00e2d1b
au: set stream start time and packet durations
2013-01-09 11:52:57 -05:00
Justin Ruggles
af68a2baae
au: use %u when printing id and channels since they are unsigned
2013-01-09 11:52:57 -05:00
Justin Ruggles
47d029a4c1
au: validate sample rate
2013-01-09 11:52:57 -05:00
Justin Ruggles
c837b38dd3
au: move skipping of unused data to before parameter validation
...
Also do not unnecessarily skip 0 bytes.
2013-01-09 11:52:57 -05:00
Justin Ruggles
fb48f825e3
au: do not arbitrarily limit channel count
...
Nothing in the AU specification sets a limit on channel count.
We only need to avoid an overflow in the packet size calculation.
2013-01-09 11:52:57 -05:00
Justin Ruggles
2613de8805
au: do not set pkt->size directly
...
It is already set by av_get_packet() even for partial reads.
2013-01-09 11:52:57 -05:00
Justin Ruggles
bd4cdef5a8
au: set block_align and use it in au_read_packet()
2013-01-09 11:52:56 -05:00
Justin Ruggles
9a7b56883d
au: set bit rate
2013-01-09 11:52:56 -05:00
Justin Ruggles
3f98848d6e
au: validate bits-per-sample separately from codec tag
2013-01-09 11:52:56 -05:00
Justin Ruggles
59220d559b
oggenc: add a page_duration option and deprecate the pagesize option
...
This uses page duration instead of byte size to determine when to buffer
the page. Also, it tries to avoid continued pages by buffering the current
page if there are already packets in the page and adding the next packet
would require it to be continued on a new page. This can improve seeking
performance.
The default page duration is 1 second, which is much saner than filling
all page segments by default.
2013-01-08 15:42:36 -05:00
Justin Ruggles
a6a3164b13
x86: lavr: add SSE2/AVX dither_int_to_float()
2013-01-08 14:52:43 -05:00
Justin Ruggles
1fb8f6a44f
x86: lavr: add SSE2 quantize() for dithering
2013-01-08 14:52:43 -05:00
Justin Ruggles
142c39097c
doc/APIchanges: fill in missing dates and hashes.
2013-01-08 14:51:30 -05:00
Justin Ruggles
7ff3fd7ae4
lavr: log channel conversion description for any-to-any functions
2013-01-07 21:49:07 -05:00
Justin Ruggles
4164b0e8d3
lavr: mix: reduce the mixing matrix when possible
...
If the matrix results in an output channel not getting a contribution
from any input channel and the corresponding input channel does not
contribute to any outputs, we can skip the channel during mixing and
silence it after mixing.
If the matrix results in an input channel not contributing to any output
channels and it is not in the output mix, or if the input channel only
contributes fully to the same output channel, we can skip the channel
during mixing.
If the matrix results in an output channel only getting full
contribution from the corresponding input channel and that input channel
does not contribute to any other output channels, we can skip the
channel during mixing.
2013-01-07 21:49:06 -05:00
Justin Ruggles
1ccf82cfd8
lavr: cosmetics: reindent
2013-01-07 21:49:06 -05:00
Justin Ruggles
074a00d192
lavr: add a public function for setting a custom channel map
...
This allows reordering, duplication, and silencing of input channels.
2013-01-07 21:49:06 -05:00
Justin Ruggles
4d68269d58
lavr: typedef internal structs in internal.h
...
Simplifies header dependencies by not including all other internal headers
in internal.h.
2013-01-07 21:49:05 -05:00
Justin Ruggles
95d01c3f1c
x86: lavr: use the x86inc.asm automatic stack alignment in mixing functions
...
CC:libav-stable@libav.org
2013-01-05 16:14:35 -05:00
Justin Ruggles
d02202e08a
opt: avoid segfault in av_opt_next() if the class does not have an option list
...
CC: libav-stable@libav.org
2012-12-22 15:43:27 -05:00
Justin Ruggles
5778299c7e
ttadec: fix last frame handling when seeking
...
Using a frame count, as is done currently, does not work at all with
seeking. Instead, when the number of samples in the final frame has
been decoded, we check if only the 32-bit CRC is remaining. If so, we
assume that it is the final frame.
There is no longer a need to keep total_frames in TTAContext.
2012-12-22 14:45:35 -05:00
Justin Ruggles
68a04b0cce
alacdec: do not be too strict about the extradata size
...
Sometimes the extradata has duplicate atoms, but that shouldn't prevent
decoding. Just ensure that it is at least 36 bytes as a sanity check.
CC: libav-stable@libav.org
2012-12-22 12:18:41 -05:00
Justin Ruggles
aef5150719
flac: only set channel layout if not previously set or on channel count change
...
Fixes Bug 402
2012-12-22 01:35:28 -05:00
Justin Ruggles
b2fe6756e3
lavr: add option for dithering during sample format conversion to s16
2012-12-19 18:52:54 -05:00
Justin Ruggles
f1c2915ce1
lavr: remove automatic context close/open for resampling compensation
...
It adds unnecessary complication for insignificant usability improvement.
The user really should know if they'll need resampling compensation before
opening the context.
Note that only the documentation has changed. The current functionality will
still work until the next major bump.
2012-12-16 19:26:17 -05:00
Justin Ruggles
f322b20735
lavr: only save/restore the mixing matrix if mixing is being done
2012-12-16 19:26:17 -05:00
Justin Ruggles
230acdde26
lavr: move AudioMix struct definition to audio_mix.c
2012-12-15 12:26:15 -05:00
Justin Ruggles
4e5a8878d5
asyncts: ignore min_delta only if first_pts is set
2012-12-13 18:51:56 -05:00
Justin Ruggles
c0dc57f126
asyncts: merge two conditions
2012-12-13 18:51:56 -05:00
Justin Ruggles
0ee440fe38
asyncts: cosmetics: reindent
2012-12-13 13:02:21 -05:00
Justin Ruggles
b35e5d985d
doc: improve documentation for the asyncts filter first_pts option
...
Note the time base for the option. Add an additional example description.
2012-12-13 13:02:21 -05:00
Justin Ruggles
c143de40c3
asyncts: fix the asyncts behavior when using the first_pts option
...
Currently it will do padding, but it does not properly handle
start-of-stream trimming as documented.
2012-12-13 13:02:21 -05:00
Justin Ruggles
8083332c2d
asyncts: use clipped delta value when setting resample compensation
...
The max_comp option is supposed to limit maximum compensation, but
currently the clipped value is not actually used.
2012-12-13 13:02:21 -05:00
Justin Ruggles
f266486b2e
asyncts: fix flushing of final samples at EOF
2012-12-13 13:02:21 -05:00
Justin Ruggles and Luca Barbato
42b5688d5e
lavr: fix segfault due to overlooked change needed in 14758e3
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2012-12-12 09:09:00 +01:00
Justin Ruggles
14758e3211
lavr: temporarily store custom matrix in AVAudioResampleContext
...
This allows AudioMix to be treated the same way as other conversion contexts
and removes the requirement to allocate it at the same time as the
AVAudioResampleContext.
The current matrix get/set functions are split between the public interface
and AudioMix private functions.
2012-12-11 14:00:32 -05:00
Justin Ruggles
887d4c05c9
lavr: clarify documentation for avresample_get/set_matrix()
2012-12-11 14:00:32 -05:00
Justin Ruggles
d04c17c913
swfdec: cosmetics: fix indentation
2012-12-11 09:37:17 -05:00
Justin Ruggles
e70c5b034c
swfdec: do better validation of tag length
...
Avoids trying to read a packet with 0 or negative size.
Avoids a potential infinite loop due to seeking backwards.
Partially based on a patch by Michael Niedermayer.
2012-12-11 09:36:26 -05:00
Justin Ruggles
1c012e6bfb
x86: float_dsp: fix loading of the len parameter on x86-32
2012-12-07 21:19:29 -05:00
Justin Ruggles
b64ba37c4c
Changelog: add an entry for deprecating the avconv -vol option
2012-12-06 11:33:38 -05:00
Justin Ruggles and Janne Grunau
ecc8b02194
x86: float_dsp: fix compilation of ff_vector_dmul_scalar_avx() on x86-32
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net >
2012-12-06 14:11:15 +01:00
Justin Ruggles
5e1bbb8c7e
alacenc: add support for multi-channel encoding
2012-12-05 16:13:37 -05:00
Justin Ruggles
9a71d362a6
avconv: deprecate the -vol option
...
Remove the code for volume scaling in avconv.c and instead auto-insert a
volume filter into the beginning of the filter chain.
2012-12-05 11:23:37 -05:00
Justin Ruggles
b30a363331
x86: af_volume: add SSE2/SSSE3/AVX-optimized s32 volume scaling
2012-12-05 11:23:37 -05:00
Justin Ruggles
f96f1e06a4
x86: af_volume: add SSE2-optimized s16 volume scaling
2012-12-05 11:23:37 -05:00
Justin Ruggles
b384e031da
lavfi: add volume filter
...
Based on the volume filter in FFmpeg written by Stefano Sabatini
<stefasab@gmail.com >.
2012-12-05 11:23:37 -05:00
Justin Ruggles
9d5c62ba5b
lavu/opt: do not filter out the initial sign character except for flags
...
This allows parsing of special-case negative numbers like decibels.
2012-12-05 11:23:36 -05:00
Justin Ruggles
5312268b34
eval: treat dB as decibels instead of decibytes
2012-12-05 11:23:36 -05:00
Justin Ruggles
ac7eb4cb20
float_dsp: add vector_dmul_scalar() to multiply a vector of doubles
...
Include x86-optimized versions for SSE2 and AVX.
2012-12-05 11:23:36 -05:00
Justin Ruggles
95682d8cd2
avconv: fix variable shadowing in configure_input_audio_filter()
2012-11-28 18:13:21 -05:00
Justin Ruggles
ab87d9b667
nuv: check for malloc failure when allocating extradata
...
Also make sure extradata is freed in the case where multiple
NUV_EXTRADATA frame types are found. This may not happen in practice,
but it could happen in a malformed stream, which would lead to a memleak
if not handled.
2012-11-28 11:18:50 -05:00
Justin Ruggles
838ed296df
nuv: use the stream indices generated by avformat_new_stream()
2012-11-28 11:18:50 -05:00
Justin Ruggles
c74f81786d
nuv: cosmetics: pretty-printing
2012-11-28 11:18:50 -05:00
Justin Ruggles
5c7bf2ddde
lavf: move nuv fourcc audio tags from riff to nuv
2012-11-28 11:18:50 -05:00
Justin Ruggles
261e9348ef
lavf: add a common function for selecting a pcm codec from parameters
2012-11-28 11:18:50 -05:00
Justin Ruggles
bfe5454cd2
lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.h
2012-11-28 11:18:49 -05:00
Justin Ruggles
cdaa1f84fb
lavf: move "MP3 " fourcc from riff to nut
...
Original commit, 7b24f9b , says it was added because it is used in libnut.
2012-11-28 11:18:49 -05:00
Justin Ruggles
1d86aa8b0f
lavr: do not pass consumed samples as a parameter to ff_audio_resample()
...
Since the resampler handles buffering of unconsumed samples internally, the
caller does not need this information.
2012-11-27 16:49:19 -05:00
Justin Ruggles
d2f9f8e094
lavr: correct the documentation for the ff_audio_resample() return value
2012-11-27 16:49:18 -05:00
Justin Ruggles
7f534d11ed
lavr: do not pass sample count as a parameter to ff_audio_convert()
...
It will always be the number of samples in the input buffer, so just use that
directly instead of passing it as a separate parameter.
2012-11-27 16:49:18 -05:00
Justin Ruggles
259d8c5647
riff: do not add empty metadata tags in INFO chunk
2012-11-26 19:08:51 -05:00
Justin Ruggles
3c370f5abc
riff: only warn on a bad INFO chunk code size instead of failing
...
fixes Bug 392
2012-11-26 19:08:51 -05:00
Justin Ruggles
947f933687
x86: float_dsp: add SSE version of vector_fmul_scalar()
2012-11-26 11:30:19 -05:00
Justin Ruggles
284ea790d8
dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutil
2012-11-26 11:29:06 -05:00
Justin Ruggles
3d3cf6745e
aacdec: use float planar sample format for output
2012-11-25 19:06:36 -05:00
Justin Ruggles
8e134e5104
lavc: clarify get_buffer() documentation
...
This is needed for the AAC decoder, which may need to call get_buffer()
more than once if the channel configuration changes.
2012-11-25 19:06:36 -05:00
Justin Ruggles
3ffed68c2a
mpegaudiodec: use planar sample format for output unless packed is requested
2012-11-25 19:05:58 -05:00
Justin Ruggles
2d3993ce8c
x86: h264 qpel: use the correct number of utilized xmm regs in cglobal
...
Fixes xmm register clobbering on win64.
2012-11-25 18:48:43 -05:00
Justin Ruggles
00dd9a6d6a
pcm: fix decoding of pcm_s16le_planar on big-endian
...
The sample count is decremented by the DECODE() macro and needs to be reset
in each loop iteration. Also, DECODE() increments the src pointer so that does
not need to be done separately.
2012-11-20 10:52:49 -05:00
Justin Ruggles
b353321caa
FATE: add 24-bit ALAC tests
2012-11-20 00:26:46 -05:00
Justin Ruggles
3e6c2a67a1
FATE: rename ALAC tests from alac-* to alac-16-*
...
This will distinguish ALAC 16-bit tests from ALAC tests with other bit
depths.
2012-11-20 00:26:45 -05:00
Justin Ruggles
7c278d2ae4
alacenc: support 24-bit encoding
2012-11-20 00:26:45 -05:00
Justin Ruggles
c9d0f4506f
pcmdec: use planar sample format for pcm_s16le_planar
2012-11-19 23:48:37 -05:00
Justin Ruggles
79b7747556
vorbisdec: use float planar sample format
2012-11-19 23:48:37 -05:00
Justin Ruggles
02738792c5
lavr: fix the decision for writing directly to the output buffer
...
If there are any samples remaining in the output fifo from previous conversion
calls, we have to output those samples first instead of doing direct output
of the current samples.
2012-11-17 20:09:40 -05:00
Justin Ruggles
b9629acb6b
yop: set channel layout
2012-11-12 10:33:23 -05:00
Justin Ruggles
935fbb66ef
wtv: set channel layout for mpeg audio
2012-11-12 10:33:23 -05:00
Justin Ruggles
7b48d93e8a
westwood_aud: set channel layout
2012-11-12 10:33:22 -05:00
Justin Ruggles
2ce7f820d4
wc3movie: set channel layout
2012-11-12 10:33:22 -05:00
Justin Ruggles
a94b0267f2
tmv: set channel layout
2012-11-12 10:33:22 -05:00
Justin Ruggles
7f348bd764
tiertexseq: set channel layout
2012-11-12 10:33:22 -05:00
Justin Ruggles
a3949fe11f
swfdec: set channel layout
2012-11-12 10:33:22 -05:00
Justin Ruggles
1c7587728c
sol: set channel layout
2012-11-12 10:33:22 -05:00
Justin Ruggles
bfccd76adb
smacker: set channel layout
2012-11-12 10:33:22 -05:00
Justin Ruggles
57e590e4b8
siff: set channel layout
2012-11-12 10:33:22 -05:00