20977 Commits

Author SHA1 Message Date
Anton Khirnov
f5d46d3322 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
2016-08-18 17:06:46 +02:00
Diego Biurrun
83b92a855e golomb: Drop disabled cruft 2016-08-17 12:22:29 +02:00
Diego Biurrun
014852e932 simple_idct: arm: Drop disabled code variant 2016-08-17 12:21:54 +02:00
Diego Biurrun
e2b9993558 simple_idct: x86: Drop disabled IDCT implementation
This gem has been disabled since 2001.
2016-08-17 12:21:54 +02:00
Diego Biurrun
7effebde78 dvbsubdec: Remove disabled, near-duplicate debug code 2016-08-17 12:16:42 +02:00
Diego Biurrun
0e285c2f90 mpegvideo: Kill some disabled code 2016-08-17 12:16:42 +02:00
Diego Biurrun
f2f145f303 msmpeg4: Drop disabled debug cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
be1db21ba8 mathops: Drop disabled alternative mid_pred() implementation 2016-08-17 12:16:42 +02:00
Diego Biurrun
b53d8c3ccf mjpegdec: Drop disabled code 2016-08-17 12:16:42 +02:00
Diego Biurrun
34c22a9ca6 faan(i)dct: Kill some disabled code 2016-08-17 12:16:42 +02:00
Diego Biurrun
17cb56b356 ffv1: Remove broken disabled cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
b96f0ab3d2 h264: Kill broken disabled cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
42c4c2d2a6 aac: Drop broken cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
263efc095e jfdct: Kill broken cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
dab2034b86 roqvideoenc: Drop broken disabled cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
562bec0e69 pnm_parser: Drop broken disabled cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
a972fc1c0a wma: Kill non-compiling disabled cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
d5fda00efa mpeg4videoenc: Kill non-compiling disabled cruft 2016-08-17 12:16:42 +02:00
Diego Biurrun
e4d5b55193 rangecoder: Kill non-compiling disabled cruft 2016-08-17 12:16:42 +02:00
Mark Thompson
5a667322f5 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.
2016-08-13 09:46:48 +01:00
Mark Thompson
01d6f84f49 vaapi_vc1: Constify pointers 2016-08-13 09:46:48 +01:00
Mark Thompson
ee9061293e vaapi_mpeg2: Constify pointers 2016-08-13 09:46:48 +01:00
Mark Thompson
03adfe9130 vaapi_h264: Constify pointers 2016-08-13 09:46:48 +01:00
Anton Khirnov
f2143c57b6 vp9: reindent after last commit 2016-08-11 11:02:47 +02:00
Ronald S. Bultje
1730a67ab9 vp9: add frame threading
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-11 10:54:44 +02:00
Ronald S. Bultje
5b995452a6 vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically.
This will be needed for frame threading.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-11 10:54:20 +02:00
Ronald S. Bultje
bc6e0b64a9 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>
2016-08-11 10:53:13 +02:00
Anton Khirnov
04763c6f87 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
2016-08-11 10:52:54 +02:00
Anton Khirnov
e9bfff1cc6 lavc: free buffer_frame/pkt on avcodec_open2() failure
Fixes memory leaks in some FATE tests.
2016-08-11 10:52:13 +02:00
Ronald S. Bultje
0df4801105 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>
2016-08-03 11:07:15 +02:00
Ronald S. Bultje
9790b44a89 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>
2016-08-03 11:04:51 +02:00
James Almer
67922b4ee4 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>
2016-08-03 11:00:08 +02:00
Clément Bœsch
3cda179f18 vp9mc/x86: rename ff_* to ff_vp9_*
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:57:55 +02:00
James Almer
8be8444d01 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>
2016-08-03 10:57:55 +02:00
Clément Bœsch
6ab642d69d vp9mc/x86: simplify a few inits.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:57:55 +02:00
Ronald S. Bultje
3a09494939 vp9mc/x86: add 16px functions (64bit only).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:57:55 +02:00
Anton Khirnov
89466de4ae vp9/x86: rename vp9dsp to vp9mc
It only contains the MC SIMD, other SIMD will go into different files.
2016-08-03 10:57:50 +02:00
Anton Khirnov
89aebc5bcc lavc: align the linesize to 32 when AVX is enabled 2016-08-03 10:56:53 +02:00
Christophe Gisquet
3c504bc359 x86: deduplicate some constants
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-08-03 10:56:52 +02:00
Anton Khirnov
d3e4d406b0 h264dec: reset nb_slice_ctx_queued for hwaccel decoding
Fixes hwaccel decoding of files with multiple slices.

Found-By: Mark Thompson <sw@jkqxz.net>
2016-08-03 10:56:52 +02:00
Diego Biurrun
3ccec334b8 sbrdsp: Move a misplaced #endif directive to the right spot 2016-08-03 08:26:40 +02:00
Diego Biurrun
e723dce6f8 dvbsubdec: Use NULL instead of 0 as pointer value 2016-08-03 08:26:40 +02:00
Martin Storsjö
9806b9ab5c 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>
2016-08-02 21:18:12 +03:00
Martin Storsjö
25bacd0a0c 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>
2016-07-31 22:50:51 +03:00
Martin Storsjö
7ebdffc353 dxv: Check to make sure we don't overrun buffers on corrupt inputs
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-31 22:50:47 +03:00
Anton Khirnov
e328178da9 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>
2016-07-31 08:19:45 +02:00
Anton Khirnov
5ebef79abe Fix instances of broken indentation found by gcc 6 2016-07-31 08:19:27 +02:00
Luca Barbato
8495d84f01 ac3dec: Add some inline hints
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-07-29 18:46:48 +02:00
Luca Barbato
3db51bf671 ac3dec: Simplify skipping
skip_bits_long() can skip up to 32-bit ranges.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-07-29 18:46:48 +02:00
Luca Barbato
f0ccc65bc9 ac3dec: Split coupling-specific code from decode_audio_block()
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-07-29 18:46:48 +02:00