avcodec/svq1dec: zero terminate embedded message before printing
Fixes out of array access Fixes: asan_stack-oob_49b1e5_10_009.mov Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/cook: check that the subpacket sizes fit in block_align
Fixes out of array read Fixes: asan_heap-oob_fb5c50_19_018.rmvb Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Carl Eugen Hoyos [Thu, 30 Oct 2014 09:22:34 +0000 (10:22 +0100)]
Fix compilation of xcbgrab if xcb/shape.h is not available.
Old versions of libxcb do not provide xcb_shape_rectangles().
The issue can be fixed differently but this small change fixes
some fate platforms and a user reported compilation problem.
Reported and tested by trac user kevmitch.
Fixes ticket #4067.
avcodec/g2meet: check tile dimensions to avoid integer overflow
Fixes out of array access Fixes: asan_heap-oob_12a55d3_30_029.wmv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Martin Storsjö [Tue, 21 Oct 2014 07:44:38 +0000 (10:44 +0300)]
movenc: Don't check the custom IO flag when using faststart
The custom IO flag actually never is set for muxers, only for
demuxers, so the check was pointless (unless a user intentionally
would set the flag to signal using custom IO).
Martin Storsjö [Wed, 29 Oct 2014 07:20:51 +0000 (09:20 +0200)]
movenc: Don't use track_id to decide which track is the first in a moof
If one track doesn't have any samples within a moof, no traf/trun
is written for it. When the omit_tfhd_offset flag is set, none
of the tfhd atoms have any base_data_offset set, and the implicit
offset (end of previous track fragment data, or start of the moof
for the first trun) is used.
James Almer [Tue, 28 Oct 2014 01:48:08 +0000 (22:48 -0300)]
lavu/atomic: add support for the new memory model aware gcc built-ins
__sync built-ins are considered legacy and will be deprecated.
These new memory model aware built-ins have been available since GCC 4.7.0
Use them by default when available except for __atomic_compare_exchange_n(),
which is slower, and is instead implemented as a fallback for when and if gcc
removes the legacy __sync built-ins.
Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
avcodec/utils: Align dimensions by at least their chroma sub-sampling factors.
Fixes: out of array accesses Fixes: asan_heap-oob_112c6b3_13_012.avi Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Thomas Mundt [Tue, 28 Oct 2014 22:38:22 +0000 (22:38 +0000)]
avformat/mxfenc: AVC Intra support
To keep h264 parsing simple and fast, I used the framesize for selecting the right Panasonic codec label. The framesize is fixed for Panasonic AVC Intra.
This patch only supports AVCI50/100. But in all flavours, i.e. with no SPS/PPS in header.
Reviewed-by: tomas.hardin@codemill.se Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Carl Eugen Hoyos [Wed, 29 Oct 2014 09:17:37 +0000 (10:17 +0100)]
Improve the fieldmatch documentation about mixed telecined content.
The fieldmatch filter has no problem with mixed telecined and
progressive content but the decimate filter does not detect the
changing framerate and drops progressive frames.
* cehoyos/master:
Mention in the documentation that fieldmatch needs cfr input.
Use v4l2 input format automatically if filename starts with "/dev/video"
Print a warning if a subtitle demuxer changes utf16 to utf8.
Do not set the lame quality if the user didn't request it.
Carl Eugen Hoyos [Wed, 29 Oct 2014 00:59:52 +0000 (01:59 +0100)]
Mention in the documentation that fieldmatch needs cfr input.
This can be improved in the decimate filter but for the moment
explicitely mentioning that mixed telecined and progressive
content is unsupported is an improvement.
Fixes out of array accesses Fixes: asan_heap-oob_22c9a39_16_015.mxf Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Tomas Härdin [Tue, 28 Oct 2014 13:27:06 +0000 (14:27 +0100)]
mxfdec: Merge last_partition and footer_partition
FooterPartition offset specified in RIP takes precedence over any value written
in PartitionPacks. This fixes the same issue f06f6da tries to fix without
introducing an extra variable.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Tomas Härdin [Tue, 28 Oct 2014 12:38:18 +0000 (13:38 +0100)]
mxfdec: Parse PreviousPartition in mxf_seek_to_previous_partition()
Without this patch the demuxer can get stuck in a loop if PreviousPartition
points somewhere where there's no PartitionPack, or if klv_read_packet() syncs
back up to the current partition.
This should fix Ticket3278 properly and unbreak Ticket4040.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/mvdec: Check size in read_table() for validity
This check is redundant with the previous commit but it provides
better error messages and feedback while the previous commit
ensures that var_read_string() doesnt return uninitialized arrays
if it itself is feeded with an invalid size possibly through a
different future codepath.
Fixes: asan_heap-oob_49b1e5_12_011.movie Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/mvdec: Check size for validity in var_read_string()
Fixes out of array read Fixes: asan_heap-oob_49b1e5_12_011.movie Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Fixes out of array access Fixes: asan_heap-oob_11222fb_21_020.dxa Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
vdpau/h264: request MAIN rather than BASELINE VDPAU profile for CBP
The H.264 Constrained Baseline Profile (CBP) is a subset of both the
Main Profile and the Baseline Profile. In principles, a hardware
decoder that supports either of those can decode CBP content. As it
happens, Main is supported by all VDPAU drivers, and Baseline is not.
So favor map CBP to MP for now. Hopefully in the future libvdpau will
offer an explicit choice for CBP.
avcodec/diracdec: Tighter checks on CODEBLOCKS_X/Y
Fixes very long but finite loop Fixes: asan_heap-oob_107866c_42_041.drc Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Vittorio Giovara [Wed, 22 Oct 2014 13:36:32 +0000 (14:36 +0100)]
matroskaenc: write correct Display{Width, Height} in stereo encoding
should be the raw amount of pixels (for example 3840x1080 for full HD side by
side) and the DisplayWidth/Height in pixels should be the amount of pixels for
one plane (1920x1080 for that full HD stream)."
So, move the aspect ratio check in the mkv_write_stereo_mode() function
and always write the embl when stereo format and/or aspect ration is set.
Also add a few comments to that function.
CC: libav-stable@libav.org Found-by: Asan Usipov <asan.usipov@gmail.com>