Age | Commit message (Collapse) | Author |
|
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.
|
|
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
|
|
Fixes Bug 402
|
|
|
|
This is built on the assumption that the first partition of each
VP8 packet is essential for decoding any later packet - if this
partition is broken/missed, the arithmetic coder gets out of sync
and decoding the bitstream in further packet ends up with total
garbage. If packets of a frame are lost, make sure the first
partition is intact (return only this part of the packet, nothing
else), otherwise stop returning data until the next keyframe is
received.
Alternatively, one would simply not return any packets at all
until the next keyframe, if packet loss is detected.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This allows depacketizers to figure out if packets have been lost.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Building avconv without that functionality makes little sense.
|
|
vf_scale should not be unconditionally compiled even if disabled.
|
|
|
|
Across the many retouches those did not make the main commit.
|
|
Move some functions from dsputil. The idea is that videodsp contains
functions that are useful for a large and varied set of video decoders.
Currently, it contains emulated_edge_mc() and prefetch().
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
This makes all users of rtpenc_chain (rtsp muxer, sapenc, mov
rtp hinting) work again, broken since 8034130e0.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
The FLV muxer tries to update the header in write_trailer, which is
impossible if writing to a pipe or network stream. Don't write header
data if seeking to the header fails.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This makes sure it ends up in the SDP, providing a proper session name
in the SAP announcements.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
Fixes CVE-2012-2803.
CC: libav-stable@libav.org
|
|
This makes the code simpler and avoids mixing designated and
non-designated initializers in a potentially unsafe way in avconv.
|
|
The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and
samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different
codecs. H263 is apparently used by Flash Media Server for Sorensen
Spark videos.
Patch based on commit 5442083b1c541dd166b3adf39131259fc846a62b by
Carl Eugen Hoyos. Fixes bug 393.
|
|
Fixes bug 396.
CC: libav-stable@libav.org
|
|
The VC1 decoder uses edge_emu_buffer simultaneously for luma and chroma
and needs more space. That was not a problem before f1d8763a02b5fce
since the size for edge_emu_buffer was always calculated with 2 byte per
pixel since the linesize was not known.
Fixes occasionally fate errors in vc1_sa10143.
|
|
Unbreak NASM support.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
Also adds forgotten Changelog entry.
|
|
|
|
|
|
It results in spurious errors when using the new preparser.
|
|
It splits the commandline into a more convenient internal representation
for further parsing.
This will allow e.g.
- processing global options first independently of their location on the
commandline, eliminating ugly hacks for processing e.g. cpuflags
first
- better options validation and error reporting. It is now possible for
the parser to know that it's applying an input option to an output
file or vice versa and act accordingly.
|
|
Separate the code that searches for the option to use and the code that
actually writes it. The writing code will be reused by the new options
parser.
|
|
|
|
Fixes CVE-2012-2782.
|
|
Since we can't know which stride a custom get_buffer() implementation is
going to use we have to allocate this scratch buffers after the linesize
is known. It was pretty safe for 8 bit per pixel pixel formats since we
always allocated memory for up to 16 bits per pixel. It broke hoever
with cmdutis.c's alloc_buffer() and high pixel bit depth since it
allocated larger edges than mpegvideo expected.
Fixes fuzzed sample nasa-8s2.ts_s244342.
|
|
Fixes null pointer dereference.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
|
|
Compute dist_scale_factor_field only for MBAFF since that is the only
case in which it is used.
|
|
|
|
|
|
Prevents writing beyond array bounds.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
|
|
It is not posible to call get_buffer during frame-mt codec
initialization. Libavformat might pass huge amounts of data as
extradata after parsing broken files. The 'extradata' for the fuzzed
sample sample_varPAR_s5374_r001-02.avi is 2.8M large and contains
multiple slices.
|
|
The "pts for a given stream" was nonsensical.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
This reduces code size when either piece has been disabled.
|
|
|
|
|
|
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
|
|
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.
|
|
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This makes it easier for receivers to decide what to do if data
is lost.
Refactor calculating the max payload size, to avoid hardcoding the
header size in too many places, reducing the number of lines that
have to be touched if the header is adjusted further.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Introduced in d7d6efe42b0d.
|
|
Since a NAL_DPA can start a new frame it has to be handled before
ff_thread_finish_setup is called.
|
|
|
|
Fixes CVE-2012-2783
CC: libav-stable@libav.org
|