Ronald S. Bultje
e6ffd997cb
dca: prevent accessing static arrays with invalid indexes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
Ronald S. Bultje
cc5dd632ce
raw: move buffer size check up.
This way, it protects against overreads for 4bpp/2bpp content also.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
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
13 years ago
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.
13 years ago
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
13 years ago
Ronald S. Bultje
a55d5bdc6e
algmm: convert to bytestream2 API.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
Diego Biurrun
8ca6e523a6
wma: Refactor common code to fix standalone compilation of WMA lossless decoder.
13 years ago
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.
13 years ago
Diego Biurrun
1e9d55e45e
x86: Remove duplicated AVG_3DNOW_OP / AVG_MMX2_OP macros from h264_qpel_mmx.c.
13 years ago
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>
13 years ago
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>
13 years ago
Ronald S. Bultje
a9c5b6f602
cpu: initialize mask to -1, so that by default, optimizations are used.
13 years ago
Ronald S. Bultje
6193ff6854
error_resilience: initialize s->block_index[].
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
Ronald S. Bultje
11b940a1a8
svq3: protect against negative quantizers.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
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
13 years ago
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
13 years ago
Anton Khirnov
018f39ef49
FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option.
13 years ago
Anton Khirnov
4138cd2907
avconv: add -cpuflags option for setting supported cpuflags.
Useful for testing.
13 years ago
Anton Khirnov
4d851f8dcf
cpu: add av_set_cpu_flags_mask().
13 years ago
Martin Storsjö
338978a7c1
libx264: Allow overriding the sliced threads option
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
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.
13 years ago
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>
13 years ago
Alex Converse
3574a85ce5
Replace computations of remaining bits with calls to get_bits_left().
13 years ago
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.
13 years ago
Justin Ruggles
94cf64b81f
cosmetics: reindent
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
Justin Ruggles
11ac796f7a
dca_parser: parse the sample rate and frame durations
13 years ago
Justin Ruggles
85469f1c9e
libspeexdec: do not set AVCodecContext.frame_size
It is not necessary
13 years ago
Justin Ruggles
adbf61ff8a
libopencore-amr: do not set AVCodecContext.frame_size
It is not necessary
13 years ago
Justin Ruggles
0efa4073bf
alsdec: do not set AVCodecContext.frame_size
It is not necessary
13 years ago
Justin Ruggles
f1e73100d9
siff: do not set AVCodecContext.frame_size
also, properly set AVCodecContext.bits_per_coded_sample, AVStreasm.start_time,
and AVPacket.duration.
13 years ago
Justin Ruggles
ec2e767bf3
amr demuxer: do not set AVCodecContext.frame_size.
it is not necessary.
13 years ago
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.
13 years ago
Justin Ruggles
237a855caf
mov: do not set AVCodecContext.frame_size
It is not necessary.
13 years ago
Justin Ruggles
9727264220
ape: do not set AVCodecContext.frame_size.
prevents lavf from setting incorrect packet durations.
13 years ago
Justin Ruggles
2dd18d4435
rdt: remove workaround for infinite loop with aac
avformat_find_stream_info() no longer hangs while waiting for AAC frame_size
13 years ago
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.
13 years ago
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.
13 years ago
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
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
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().
13 years ago
Anton Khirnov
52b0943f10
lavf: factorize freeing a packet buffer.
13 years ago
Fabian Greffrath
c9dbac36ad
Fix format string vulnerability detected by -Wformat-security.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
13 years ago