| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
|
|
|
|
|
| |
Fixes bug 240, as well as several integer overflows (visible as glitches)
in other scaling output routines, e.g. YUV422.
|
|
|
|
|
| |
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
|
|
|
|
|
| |
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
|
| |
|
|
|
|
| |
This fixes standalone compilation of the VC-1 parser.
|
| |
|
|
|
|
|
|
|
| |
Fixes ticket #673.
(cherry picked from commit 8dcd2a41ecff8cc1e9b20cc267df54c59878ab3b)
Signed-off-by: Alex Converse <alex.converse@gmail.com>
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
|
|
|
|
|
| |
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Fixes overflows for large image sizes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
|
| |
|
|
|
|
| |
Useful for testing.
|
| |
|
|
|
|
| |
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
|
| |
avcodec_encode_video2() return value is 0 on success, encoded frame size
is stored in the packet.
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
It is used to parse fixed sized fields out of a single octet. The code
is simpler without it.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Use the estimated duration only to calculate missing timestamps if needed.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
It is not necessary
|
|
|
|
| |
It is not necessary
|
|
|
|
| |
It is not necessary
|
|
|
|
|
| |
also, properly set AVCodecContext.bits_per_coded_sample, AVStreasm.start_time,
and AVPacket.duration.
|
|
|
|
| |
it is not necessary.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
It is not necessary.
|
|
|
|
| |
prevents lavf from setting incorrect packet durations.
|
|
|
|
| |
avformat_find_stream_info() no longer hangs while waiting for AAC frame_size
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
It was only needed to avoid a bad time base (and thus non-monotone timestamps)
for stream copy to avi.
|
|
|
|
| |
We already will get the needed info because of CODEC_CAP_CHANNEL_CONF
|
|
|
|
|
| |
This way we can do stream copy without having the demuxer wait until
frame_size has been set.
|
|
|
|
|
| |
It is more reliable than AVCodecContext.frame_size for codecs with constant
packet 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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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().
|
| |
|
|
|
|
| |
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
| |
|
|
|
|
|
|
|
|
| |
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>
|