]>
git.sesse.net Git - ffmpeg/log
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
pcx: properly pad the scanline
It is passed to the get_bits API, which requires buffers to be padded.
Fixes possible invalid reads.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
cook: use the bytestream2 API for reading extradata
Fixes possible invalid reads in corrupted files.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
qpeg: fix an off by 1 error in the MV check
height - me_y is the line from which we read, so it must be strictly
smaller than the frame height. Fixes possible invalid reads in corrupted
files.
Also, use a proper context for logging the error.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
alac: do not return success if nothing was decoded
If we encounter an END element before anything is decoded, we would
return success even though the output frame has not been allocated,
which is invalid.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
vmnc: check that subrectangles fit into their containing rectangles
Fixes possible invalid writes with corrupted files.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Diego Biurrun [Sat, 30 Jul 2016 12:52:20 +0000 (14:52 +0200)]
golomb: Drop disabled cruft
Diego Biurrun [Mon, 1 Aug 2016 18:57:30 +0000 (20:57 +0200)]
simple_idct: arm: Drop disabled code variant
Diego Biurrun [Mon, 1 Aug 2016 18:50:48 +0000 (20:50 +0200)]
simple_idct: x86: Drop disabled IDCT implementation
This gem has been disabled since 2001.
Diego Biurrun [Tue, 2 Aug 2016 09:22:11 +0000 (11:22 +0200)]
dvbsubdec: Remove disabled, near-duplicate debug code
Diego Biurrun [Mon, 1 Aug 2016 18:53:33 +0000 (20:53 +0200)]
timefilter: test: Drop some disabled debug cruft
Diego Biurrun [Mon, 1 Aug 2016 17:56:28 +0000 (19:56 +0200)]
mpegvideo: Kill some disabled code
Diego Biurrun [Sat, 30 Jul 2016 13:30:46 +0000 (15:30 +0200)]
msmpeg4: Drop disabled debug cruft
Diego Biurrun [Mon, 1 Aug 2016 18:15:07 +0000 (20:15 +0200)]
mathops: Drop disabled alternative mid_pred() implementation
Diego Biurrun [Mon, 1 Aug 2016 18:39:25 +0000 (20:39 +0200)]
nsv: Drop disabled cruft
Diego Biurrun [Mon, 1 Aug 2016 18:21:04 +0000 (20:21 +0200)]
mjpegdec: Drop disabled code
Diego Biurrun [Mon, 1 Aug 2016 17:59:58 +0000 (19:59 +0200)]
faan(i)dct: Kill some disabled code
Diego Biurrun [Sat, 30 Jul 2016 12:11:05 +0000 (14:11 +0200)]
wc3movie: Drop unused cruft
Diego Biurrun [Sat, 30 Jul 2016 13:00:32 +0000 (15:00 +0200)]
ffv1: Remove broken disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:49:08 +0000 (13:49 +0200)]
h264: Kill broken disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:59:51 +0000 (13:59 +0200)]
aac: Drop broken cruft
Diego Biurrun [Sat, 30 Jul 2016 11:57:31 +0000 (13:57 +0200)]
jfdct: Kill broken cruft
Diego Biurrun [Sat, 30 Jul 2016 11:51:23 +0000 (13:51 +0200)]
rm: Drop broken disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:50:58 +0000 (13:50 +0200)]
roqvideoenc: Drop broken disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:50:42 +0000 (13:50 +0200)]
pnm_parser: Drop broken disabled cruft
Diego Biurrun [Tue, 2 Aug 2016 10:01:12 +0000 (12:01 +0200)]
wma: Kill non-compiling disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:47:34 +0000 (13:47 +0200)]
swscale: Kill non-compiling disabled cruft
Diego Biurrun [Tue, 2 Aug 2016 10:00:03 +0000 (12:00 +0200)]
mpeg4videoenc: Kill non-compiling disabled cruft
Diego Biurrun [Tue, 2 Aug 2016 10:02:21 +0000 (12:02 +0200)]
rangecoder: Kill non-compiling disabled cruft
Diego Biurrun [Fri, 29 Jul 2016 21:24:27 +0000 (23:24 +0200)]
mathematics: Kill non-compiling disabled cruft
Mark Thompson [Sat, 6 Aug 2016 20:35:13 +0000 (21:35 +0100)]
vaapi_vc1: Remove redundant version check
The lowest supported VAAPI version is 0.34 (checked at configure
time), so this test is no longer needed.
Mark Thompson [Sat, 6 Aug 2016 20:34:04 +0000 (21:34 +0100)]
vaapi_vc1: Constify pointers
Mark Thompson [Sat, 6 Aug 2016 15:40:14 +0000 (16:40 +0100)]
vaapi_mpeg2: Constify pointers
Mark Thompson [Sat, 6 Aug 2016 15:39:57 +0000 (16:39 +0100)]
vaapi_h264: Constify pointers
Mark Thompson [Thu, 28 Jul 2016 22:28:30 +0000 (23:28 +0100)]
hwcontext_vaapi: Try the first render node as the default DRM device
If no string argument is supplied when av_hwdevice_ctx_create() is
called to create a VAAPI device, we currently only try the default
X11 display (that is, $DISPLAY) to find a device, and will therefore
fail in the absence of an X server to connect to. Change the logic
to also look for a device via the first DRM render node (that is,
"/dev/dri/renderD128"), which is probably the right thing to use in
most simple configurations which only have one DRM device.
Sean McGovern [Fri, 12 Aug 2016 20:37:15 +0000 (16:37 -0400)]
Prepare for 12_alpha1 Release
Luca Barbato [Wed, 3 Aug 2016 02:21:41 +0000 (04:21 +0200)]
avconv: Make sure that inputless filtergraphs are configured
Unbreak `avconv -filter_complex testsrc`.
Regression introduced in
a3a0230a9870b9018dc7415ae5872784d524cfe5
Luca Barbato [Sun, 24 Jul 2016 22:33:01 +0000 (00:33 +0200)]
avconv: Check the fifo allocation
Anton Khirnov [Sat, 6 Aug 2016 08:07:53 +0000 (10:07 +0200)]
vp9: reindent after last commit
Ronald S. Bultje [Tue, 2 Aug 2016 05:55:31 +0000 (07:55 +0200)]
vp9: add frame threading
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Ronald S. Bultje [Sat, 23 Nov 2013 17:10:12 +0000 (12:10 -0500)]
vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically.
This will be needed for frame threading.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Ronald S. Bultje [Sat, 23 Nov 2013 15:27:18 +0000 (10:27 -0500)]
vp9: split last/cur_frame from the reference buffers.
We need more information from last/cur_frame than from reference
buffers, so we can use a simplified structure for reference buffers,
and then store mvs and segmentation map information in last/cur.
This prepares the decoder for frame threading support.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Tue, 2 Aug 2016 08:43:39 +0000 (10:43 +0200)]
h264_direct: use the reference mask from the actual reference
Not from the underlying frame. Fixes races with frame threading in
field-coded files, where decoding would wait for the wrong field (e.g.
random failures in mixed-nal-coding).
Bug-Id: 954
Anton Khirnov [Mon, 8 Aug 2016 11:32:54 +0000 (13:32 +0200)]
lavc: free buffer_frame/pkt on avcodec_open2() failure
Fixes memory leaks in some FATE tests.
Anton Khirnov [Wed, 3 Aug 2016 07:51:06 +0000 (09:51 +0200)]
buffer: fix av_buffer_pool_init2() documentation
A non-existent av_buffer_pool_can_uninit() function is mentioned instead
of av_buffer_pool_uninit(). Also, this function is to be called by the
caller, not the pool itself.
Diego Biurrun [Mon, 8 Aug 2016 19:06:03 +0000 (21:06 +0200)]
aiff: Skip padding byte for odd-sized chunks
Bug-Id: 660
Ronald S. Bultje [Tue, 7 Jan 2014 12:24:03 +0000 (07:24 -0500)]
vp9: make mv bounds 32bit.
The frame dimensions are 16bit, so the mv bounds can easily overflow
int16 for large videos.
Bug-Id: Handbrake/46
CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Tue, 2 Aug 2016 19:16:44 +0000 (21:16 +0200)]
buffer: fix av_buffer_realloc() when the data is offset wrt buffer start
In such a case behave as if the buffer was not reallocatable -- allocate a
new one and copy the data (preserving just the part described by the
reference passed to av_buffer_realloc).
CC: libav-stable@libav.org
Reported-By: wm4 <nfxjfg@googlemail.com>
Ronald S. Bultje [Tue, 15 Sep 2015 20:41:29 +0000 (16:41 -0400)]
checkasm: add vp9 MC tests.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Ronald S. Bultje [Mon, 15 Dec 2014 01:13:24 +0000 (20:13 -0500)]
vp9mc/x86: sse2 MC assembly.
Also a slight change to the ssse3 code, which prevents a theoretical
overflow in the sharp filter.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
James Almer [Tue, 23 Sep 2014 00:55:13 +0000 (21:55 -0300)]
vp9mc/x86: add AVX and AVX2 MC
Roughly 25% faster MC than ssse3 for blocksizes 32 and 64.
Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Clément Bœsch [Fri, 28 Mar 2014 21:33:51 +0000 (22:33 +0100)]
vp9mc/x86: rename ff_* to ff_vp9_*
Signed-off-by: Anton Khirnov <anton@khirnov.net>
James Almer [Sat, 18 Jan 2014 05:29:22 +0000 (02:29 -0300)]
vp9mc/x86: rename ff_avg[48]_sse to ff_avg[48]_mmxext
pavgb is an sse integer instruction, so the mmxext flag is enough
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Clément Bœsch [Wed, 15 Jan 2014 21:35:43 +0000 (22:35 +0100)]
vp9mc/x86: simplify a few inits.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Ronald S. Bultje [Tue, 24 Dec 2013 21:17:03 +0000 (16:17 -0500)]
vp9mc/x86: add 16px functions (64bit only).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Sat, 30 Jul 2016 17:21:57 +0000 (19:21 +0200)]
vp9/x86: rename vp9dsp to vp9mc
It only contains the MC SIMD, other SIMD will go into different files.
Anton Khirnov [Sat, 30 Jul 2016 18:54:42 +0000 (20:54 +0200)]
lavc: align the linesize to 32 when AVX is enabled
James Almer [Thu, 24 Apr 2014 02:53:36 +0000 (23:53 -0300)]
lavu: add LOCAL_ALIGNED_32
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Christophe Gisquet [Wed, 6 Aug 2014 07:43:39 +0000 (07:43 +0000)]
x86: deduplicate some constants
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Mon, 1 Aug 2016 05:42:30 +0000 (07:42 +0200)]
h264dec: reset nb_slice_ctx_queued for hwaccel decoding
Fixes hwaccel decoding of files with multiple slices.
Found-By: Mark Thompson <sw@jkqxz.net>
Michael Niedermayer [Sun, 7 Sep 2014 14:39:39 +0000 (16:39 +0200)]
m4vdec: Check for non-startcode 00 00 00 sequences in probe
This makes the m4v detection less trigger-happy.
Bug-Id: 949
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Sat, 30 Jul 2016 12:33:50 +0000 (14:33 +0200)]
sbrdsp: Move a misplaced #endif directive to the right spot
Diego Biurrun [Mon, 1 Aug 2016 19:19:09 +0000 (21:19 +0200)]
dvbsubdec: Use NULL instead of 0 as pointer value
Martin Storsjö [Mon, 1 Aug 2016 06:04:43 +0000 (09:04 +0300)]
Revert "libavutil: Use an intermediate variable in AV_COPY*U"
This reverts commit
014773b66bdff4de24f384066d1a85d2a5bb6774 .
Since
230b1c070 , the bytewise AV_W*() macros only expand their
argument once, i.e. doing exactly the same change as was done
in the AV_COPY*U macros, so this change is no longer necessary.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 1 Aug 2016 06:04:33 +0000 (09:04 +0300)]
Revert "Don't use expressions with side effects in macro parameters"
This reverts commit
25bacd0a0c32ae682e6f411b1ac9020aeaabca72 .
Since
230b1c070 , the bytewise AV_W*() macros only expand their
argument once, so revert to the more readable version of these.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 1 Aug 2016 07:04:42 +0000 (10:04 +0300)]
intreadwrite: Use the __unaligned keyword on MSVC for ARM and x86_64
AV_WN64 is meant for unaligned data, but the existing av_alias* unions
(without a definition for the av_alias attribute - we don't have one
for MSVC) indicate to the compiler that they would have sufficient
alignment for normal access, i.e. the compiler is free to assume
8 byte alignment.
On ARM, this makes sure that AV_WN64 (or two consecutive AV_WN32) is
done with two str instructions instead of one strd.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 1 Aug 2016 06:07:48 +0000 (09:07 +0300)]
intreadwrite: Add intermediate variables in the byteswise AV_W*() macros
This avoids issues with expanding the argument multiple times,
and makes sure that it is of the right type for the following shifts.
Even if the caller of a macro could be expected not to pass parameters
that have side effects if expanded multiple times, these fallback
codepaths are rarely, if ever, tested, so it is expected that such
issues can arise.
Thefore, for safety, make sure the fallback codepaths only expand
the arguments once.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 28 Jul 2016 11:30:25 +0000 (14:30 +0300)]
libavutil: Use an intermediate variable in AV_COPY*U
If AV_RN and AV_WN are macros with multiple individual reads and
writes, the previous version of the AV_COPYU macro would fail if
the reads and writes overlap.
This should not be any less efficient in any case, given a
sensibly optimizing compiler.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 28 Jul 2016 10:10:22 +0000 (13:10 +0300)]
Don't use expressions with side effects in macro parameters
AV_WB32 can be implemented as a macro that expands its parameters
multiple times (in case AV_HAVE_FAST_UNALIGNED isn't set and the
compiler doesn't support GCC attributes); make sure not to read
multiple times from the source in this case.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 28 Jul 2016 10:45:24 +0000 (13:45 +0300)]
dxv: Check to make sure we don't overrun buffers on corrupt inputs
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sat, 30 Jul 2016 14:38:51 +0000 (16:38 +0200)]
qsvdec: only access hwaccel_context is the pixel format is QSV
We do not strictly specify that hwaccel_context must be cleared if no
hwaccel is used.
Reported-By: wm4 <nfxjfg@googlemail.com>
Anton Khirnov [Sat, 30 Jul 2016 13:14:26 +0000 (15:14 +0200)]
flac demuxer: improve probing
Extend the probe function to validate the STREAMINFO block that must
follow the fLaC ID tag.
Anton Khirnov [Fri, 29 Jul 2016 14:18:25 +0000 (16:18 +0200)]
Fix instances of broken indentation found by gcc 6
Diego Biurrun [Wed, 27 Jul 2016 09:31:49 +0000 (11:31 +0200)]
x11grab: Rename internal component to "xcbgrab"
Diego Biurrun [Wed, 27 Jul 2016 09:25:19 +0000 (11:25 +0200)]
Remove the legacy X11 screen grabber
The XCB screen grabber is a drop-in replacement and not under GPL.
Luca Barbato [Mon, 18 Jul 2016 17:50:34 +0000 (19:50 +0200)]
ac3dec: Add some inline hints
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Mon, 18 Jul 2016 17:50:35 +0000 (19:50 +0200)]
ac3dec: Simplify skipping
skip_bits_long() can skip up to 32-bit ranges.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Mon, 18 Jul 2016 17:50:33 +0000 (19:50 +0200)]
ac3dec: Split coupling-specific code from decode_audio_block()
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Mon, 18 Jul 2016 17:50:32 +0000 (19:50 +0200)]
ac3dec: Split spx-specific code from decode_audio_block()
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Tue, 26 Jul 2016 09:42:11 +0000 (11:42 +0200)]
mov: Validate the ID number
IDs in MOV start from 1.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Anton Khirnov [Mon, 25 Jul 2016 11:52:59 +0000 (13:52 +0200)]
mimic: do not release the newly obsolete reference at the end of decoding
The reference frames are used in update_thread_context(), so modifying
them after finish_setup() is a race. The frame in question will be
released during the next decode call.
CC: libav-stable@libav.org
Diego Biurrun [Mon, 25 Jul 2016 13:07:58 +0000 (15:07 +0200)]
configure: Simplify license incompatibility check
Diego Biurrun [Mon, 25 Jul 2016 13:04:02 +0000 (15:04 +0200)]
avconv: Check that muxing_queue exists before reading from it
This avoids a segfault on nonexisting codec names.
Martin Storsjö [Fri, 22 Jul 2016 07:19:52 +0000 (10:19 +0300)]
configure: Allow detecting and using LLVM lld-link as linker for windows
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 20 Jul 2016 21:04:35 +0000 (00:04 +0300)]
configure: Move defines for controlling MSVCRT headers to the CRT detection section
This allows these flags to be automatically enabled for clang,
when using MSVCRT headers.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 20 Jul 2016 20:39:20 +0000 (23:39 +0300)]
configure: Check for strtoll and redirect to _strtoi64 in the msvcrt block
This allows doing this redirection, if building with clang against
old enough MSVC headers that lack strtoll (2012 and older).
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Tue, 19 Jan 2016 16:57:03 +0000 (17:57 +0100)]
hpeldsp: Explain why put_no_rnd_pixels_tab is larger than necessary
Luca Barbato [Tue, 19 Jul 2016 03:26:33 +0000 (05:26 +0200)]
checkasm: Cast unsigned to signed
Avoid a warning for passing an unsigned value to abs(), some compilers
might optimize away abs().
Luca Barbato [Fri, 22 Jul 2016 07:33:04 +0000 (09:33 +0200)]
vpx: Support color range
The range field has been introduced in version 1.6.0
Anton Khirnov [Sat, 2 Jul 2016 10:12:36 +0000 (12:12 +0200)]
lavfi: add a QSV deinterlacing filter
Anton Khirnov [Thu, 14 Jul 2016 10:56:35 +0000 (12:56 +0200)]
qsvenc: print warnings from encode/init
Anton Khirnov [Thu, 14 Jul 2016 10:52:20 +0000 (12:52 +0200)]
qsvenc: do not re-execute encoding on all positive status codes
It should only be done for DEVICE_BUSY/IN_EXECUTION
Anton Khirnov [Sat, 25 Jun 2016 19:38:10 +0000 (21:38 +0200)]
qsv: print more complete error messages
Include the libmfx error code and its description
Anton Khirnov [Thu, 14 Jul 2016 10:05:58 +0000 (12:05 +0200)]
qsvenc: take only the allocated dimensions from the frames context
Other parameters, like the display size, should still be taken from the
codec context.
Anton Khirnov [Wed, 22 Jun 2016 17:57:28 +0000 (19:57 +0200)]
qsvenc: add support for p010
Anton Khirnov [Thu, 14 Jul 2016 10:31:47 +0000 (12:31 +0200)]
qsv: handle the semi-packed formats in map_fourcc as well
This will allow using this function for encoding as well, where the
input format is already the semi-packed version.
Anton Khirnov [Thu, 14 Jul 2016 10:13:53 +0000 (12:13 +0200)]
lavc: set sw_pix_fmt for hwaccel encoding
Anton Khirnov [Thu, 14 Jul 2016 10:16:17 +0000 (12:16 +0200)]
lavc: initialize AVCodecContext.sw_pix_fmt properly
Currently it's memset to 0, which is YUV420P. It should be initialized
to none.
Anton Khirnov [Wed, 13 Jul 2016 07:16:35 +0000 (09:16 +0200)]
avconv_qsv: use the actual pixel format provided by lavc
Do not hardcode NV12. This allows 10bit decoding with -hwaccel qsv.
Anton Khirnov [Wed, 13 Jul 2016 07:15:56 +0000 (09:15 +0200)]
avconv_qsv: align the surface size to 32
This is required e.g. by HEVC.
Anton Khirnov [Fri, 15 Jul 2016 04:50:47 +0000 (06:50 +0200)]
avconv: stop using setpts for input framerate forced with -r
The setpts filter does not signal to the rest of the filtergraph that
the stream is CFR. Just generate the timestamps manually instead.