Ronald S. Bultje
f1320dc3be
lpcm: fix sample size calculation for 20bit LCPM.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-07 09:36:03 -08:00
Ronald S. Bultje
9487fb4dea
swscale: clip unscaled output intermediates.
...
Fixes bug 240, as well as several integer overflows (visible as glitches)
in other scaling output routines, e.g. YUV422.
2012-03-07 09:35:46 -08:00
Ronald S. Bultje
a93b572ae4
smacker: error out if palette copy-with-offset overruns palette size.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-07 09:35:03 -08:00
Ronald S. Bultje
a55d5bdc6e
algmm: convert to bytestream2 API.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-07 09:34:52 -08:00
Diego Biurrun
8ca6e523a6
wma: Refactor common code to fix standalone compilation of WMA lossless decoder.
2012-03-07 09:36:05 +01:00
Diego Biurrun
3c715383ea
vc1: Move init code shared between decoder and parser to common code file.
...
This fixes standalone compilation of the VC-1 parser.
2012-03-07 09:36:04 +01:00
Diego Biurrun
1e9d55e45e
x86: Remove duplicated AVG_3DNOW_OP / AVG_MMX2_OP macros from h264_qpel_mmx.c.
2012-03-07 09:36:04 +01:00
Carl Eugen Hoyos
a294a7a1b3
mov: Allow last chunk to have an arbitrary number of samples.
...
Fixes ticket #673 .
(cherry picked from commit 8dcd2a41ec
)
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-03-06 15:25:34 -08:00
Reimar Döffinger
b5161908e0
SBR DSP: fix SSE code to not use SSE2 instructions.
...
movq from SSE register _to_ memory is an SSE2 instruction.
Use the SSE movlps function instead that does the same thing.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-03-06 13:40:35 -08:00
Ronald S. Bultje
a9c5b6f602
cpu: initialize mask to -1, so that by default, optimizations are used.
2012-03-06 12:53:02 -08:00
Ronald S. Bultje
6193ff6854
error_resilience: initialize s->block_index[].
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-06 11:08:56 -08:00
Ronald S. Bultje
11b940a1a8
svq3: protect against negative quantizers.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-06 10:47:42 -08:00
Ronald S. Bultje
c23acbaed4
Don't use ff_cropTbl[] for IDCT.
...
Results of IDCT can by far outreach the range of ff_cropTbl[], leading
to overreads and potentially crashes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-06 10:47:42 -08:00
Ronald S. Bultje
2254b559cb
swscale: make filterPos 32bit.
...
Fixes overflows for large image sizes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-06 10:47:41 -08:00
Anton Khirnov
018f39ef49
FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option.
2012-03-06 15:03:36 +01:00
Anton Khirnov
4138cd2907
avconv: add -cpuflags option for setting supported cpuflags.
...
Useful for testing.
2012-03-06 15:03:22 +01:00
Anton Khirnov
4d851f8dcf
cpu: add av_set_cpu_flags_mask().
2012-03-06 15:02:28 +01:00
Martin Storsjö
338978a7c1
libx264: Allow overriding the sliced threads option
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-06 13:40:22 +02:00
Anton Khirnov
39da3b223f
avconv: fix counting encoded video size.
...
avcodec_encode_video2() return value is 0 on success, encoded frame size
is stored in the packet.
2012-03-06 10:06:21 +01:00
Reimar Döffinger
632eb1bbae
cdxl demux: do not create packets with uninitialized data at EOF.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-05 16:27:31 -05:00
Alex Converse
3574a85ce5
Replace computations of remaining bits with calls to get_bits_left().
2012-03-05 11:22:11 -08:00
Alex Converse
b70feb4053
amrnb/amrwb: Remove get_bits usage.
...
It is used to parse fixed sized fields out of a single octet. The code
is simpler without it.
2012-03-05 11:22:11 -08:00
Justin Ruggles
94cf64b81f
cosmetics: reindent
2012-03-05 13:08:19 -05:00
Justin Ruggles
8c1d6ac66a
avformat: do not require a pixel/sample format if there is no decoder
...
Also, do not keep trying to find and open a decoder in try_decode_frame() if
we already tried and failed once.
Fixes always searching until max_analyze_duration in
avformat_find_stream_info() when demuxing codecs without a decoder.
2012-03-05 13:08:18 -05:00
Justin Ruggles
a7fa75684d
avformat: do not fill-in audio packet duration in compute_pkt_fields()
...
Use the estimated duration only to calculate missing timestamps if needed.
2012-03-05 13:08:18 -05:00
Justin Ruggles
6c65cf58fd
lavf: Use av_get_audio_frame_duration() in get_audio_frame_size()
...
Also, do not give AVCodecContext.frame_size priority for muxing.
Updated 2 FATE references:
dxa-feeble - adds 1 audio frame that is still within 2 seconds as specified
by -t 2 in the FATE test
wmv8-drm-nodec - durations are not needed. previously they were estimated
using the packet size and average bit rate.
2012-03-05 13:08:18 -05:00
Justin Ruggles
11ac796f7a
dca_parser: parse the sample rate and frame durations
2012-03-05 13:08:17 -05:00
Justin Ruggles
85469f1c9e
libspeexdec: do not set AVCodecContext.frame_size
...
It is not necessary
2012-03-05 13:08:17 -05:00
Justin Ruggles
adbf61ff8a
libopencore-amr: do not set AVCodecContext.frame_size
...
It is not necessary
2012-03-05 13:08:17 -05:00
Justin Ruggles
0efa4073bf
alsdec: do not set AVCodecContext.frame_size
...
It is not necessary
2012-03-05 13:08:17 -05:00
Justin Ruggles
f1e73100d9
siff: do not set AVCodecContext.frame_size
...
also, properly set AVCodecContext.bits_per_coded_sample, AVStreasm.start_time,
and AVPacket.duration.
2012-03-05 13:08:17 -05:00
Justin Ruggles
ec2e767bf3
amr demuxer: do not set AVCodecContext.frame_size.
...
it is not necessary.
2012-03-05 13:08:17 -05:00
Justin Ruggles
8d1a20aa7c
aiffdec: do not set AVCodecContext.frame_size
...
It is unnecessary. Also, for some codecs we're reading more than 1 frame per
packet. Instead we use a private context variable to calculate the bit rate,
stream duration, and packet durations.
Updated FATE seek test, which has slightly different timestamps due to a
more accurate bit rate calculation.
2012-03-05 13:08:17 -05:00
Justin Ruggles
237a855caf
mov: do not set AVCodecContext.frame_size
...
It is not necessary.
2012-03-05 13:08:17 -05:00
Justin Ruggles
9727264220
ape: do not set AVCodecContext.frame_size.
...
prevents lavf from setting incorrect packet durations.
2012-03-05 13:08:17 -05:00
Justin Ruggles
2dd18d4435
rdt: remove workaround for infinite loop with aac
...
avformat_find_stream_info() no longer hangs while waiting for AAC frame_size
2012-03-05 13:08:16 -05:00
Justin Ruggles
9c365fe8ae
avformat: do not require frame_size in avformat_find_stream_info() for CELT
...
In Ogg/CELT, frame_size is found in the same place as the sample_rate and
channels, so we do not need to force the frame_size to be parsed.
2012-03-05 13:08:16 -05:00
Justin Ruggles
fbc8c59679
avformat: do not require frame_size in avformat_find_stream_info() for MP1/2/3
...
It was only needed to avoid a bad time base (and thus non-monotone timestamps)
for stream copy to avi.
2012-03-05 13:08:16 -05:00
Justin Ruggles
84b6ae0808
avformat: do not require frame_size in avformat_find_stream_info() for AAC
...
We already will get the needed info because of CODEC_CAP_CHANNEL_CONF
2012-03-05 13:08:16 -05:00
Justin Ruggles
620b88a302
swfenc: use av_get_audio_frame_duration() instead of AVCodecContext.frame_size
...
This way we can do stream copy without having the demuxer wait until
frame_size has been set.
2012-03-05 13:08:16 -05:00
Justin Ruggles
14aecc50fa
rtpenc: use av_get_audio_frame_duration() for max_frames_per_packet
...
It is more reliable than AVCodecContext.frame_size for codecs with constant
packet duration.
2012-03-05 13:08:16 -05:00
Justin Ruggles
c019070fda
riffenc: use av_get_audio_frame_duration()
...
For encoding, frame_size is not a reliable indicator of packet duration.
Also, we don't want to have to force the demuxer to find frame_size for
stream copy to work.
2012-03-05 13:08:15 -05:00
Justin Ruggles
9524cf79df
avcodec: add av_get_audio_frame_duration() function.
...
This is a utility function for the user to get the frame duration based on
the codec id, frame size in bytes, and various AVCodecContext parameters.
2012-03-05 13:08:15 -05:00
Justin Ruggles
6699d07480
avcodec: add av_get_exact_bits_per_sample() function
...
This only returns bits per sample when it is exactly correct. That is, the
codec contains only raw samples with no frame headers or padding. This applies
to basically all PCM codecs and a small subset of ADPCM codecs.
2012-03-05 13:08:15 -05:00
Anton Khirnov
27c7ca9c12
lavf: deobfuscate read_frame_internal().
...
Split off packet parsing into a separate function. Parse full packets at
once and store them in a queue, eliminating the need for tracking
parsing state in AVStream.
The horrible unreadable loop in read_frame_internal() now isn't weirdly
ordered and doesn't contain evil gotos, so it should be much easier to
understand.
compute_pkt_fields() now invents slightly different timestamps for two
raw vc1 tests, due to has_b_frames being set a bit later. They shouldn't
be more wrong (or right) than previous ones.
2012-03-05 18:47:05 +01:00
Anton Khirnov
dcee811505
lavf: make read_from_packet_buffer() more flexible.
...
Make packet buffer a parameter, don't hardcode it to be
AVFormatContext.packet_buffer.
Also move the function higher in the file, since it will be called from
read_frame_internal().
2012-03-05 18:44:45 +01:00
Anton Khirnov
52b0943f10
lavf: factorize freeing a packet buffer.
2012-03-05 18:44:30 +01:00
Fabian Greffrath
c9dbac36ad
Fix format string vulnerability detected by -Wformat-security.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-03-05 17:03:00 +01:00
Diego Biurrun
0a41f47dc1
dv: Do not redundantly initialize struct members to zero.
2012-03-05 17:02:59 +01:00
Mans Rullgard
356ee8d7de
x86: clean up ff_dsputil_init_mmx()
...
This splits ff_dsputil_init_mmx() into multiple functions, one for
each MMX/SSE level, somewhat simplifying the nested conditions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-03-05 14:40:03 +01:00