Anton Khirnov
796dca027b
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
2016-08-18 17:06:46 +02:00
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