Luca Barbato
d42809f983
av1: Add codec_id and basic demuxing support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2016-08-24 14:45:08 +02:00
Anton Khirnov
6755eb5b21
mss12: validate display dimensions
...
The code currently reads the coded dimensions from the extradata, but
expects the display dimensions to be set by the caller, and does not
check that they are compatible (i.e. that the displayed size is smaller
than the coded size).
Make sure that when the display dimensions are set, they are also valid.
Fixes possible invalid memory access.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2016-08-18 17:06:46 +02:00
Anton Khirnov
33f10546ec
vc1: check that slices have a positive height
...
Fixes possible invalid reads.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2016-08-18 17:06:46 +02:00
Anton Khirnov
09b23786b3
pcx: use the bytestream2 API for reading from input
...
Fixes possible invalid reads.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2016-08-18 17:06:46 +02:00
Anton Khirnov
221402c1c8
pcx: check that the packet is large enough before reading the header
...
Fixes possible invalid reads.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2016-08-18 17:06:46 +02:00
Anton Khirnov
15ee419b7a
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
2016-08-18 17:06:46 +02:00
Anton Khirnov
409d1cd2c9
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
2016-08-18 17:06:46 +02:00
Anton Khirnov
bba9d8bdfb
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
2016-08-18 17:06:46 +02:00
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