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