Andreas Rheinhardt and James Almer
a247ac640d
avcodec: Constify AVCodecs
...
Given that the AVCodec.next pointer has now been removed, most of the
AVCodecs are not modified at all any more and can therefore be made
const (as this patch does); the only exceptions are the very few codecs
for external libraries that have a init_static_data callback.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2021-04-27 10:43:15 -03:00
Paul B Mahol
8e197a9638
avcodec/dxv: make prev variable unsigned
2020-02-22 00:15:43 +01:00
Michael Niedermayer
dd9e6d077e
avcodec/dxv: Subtract 12 earlier in dxv_decompress_cocg()
...
the data_start is after reading 12 bytes and if its subtracted
at the very end the intermediate might overflow
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
c371e50b4f
libavcodec/dxv: Remove redundant seek
...
This seeks to the position the previous call to dxv_decompress_opcodes()
positioned us in case of success
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-10-08 16:24:58 +02:00
Michael Niedermayer
97450d2b6a
avcodec/dxv: Check op_offset in dxv_decompress_yo()
...
Fixes: signed integer overflow: -2147483648 - 8 cannot be represented in type 'int'
Fixes: 17745/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5734628463214592
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-09-30 22:44:43 +02:00
Michael Niedermayer
8c7d5fcfc3
avcodec/dxv: Check op_offset in both directions
...
Fixes: signed integer overflow: 61 + 2147483647 cannot be represented in type 'int'
Fixes: 15311/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5742552826773504
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-09-24 12:28:26 +02:00
Michael Niedermayer
e96b7a8ba6
avcodec/dxv: Initialize tex_funct to NULL
...
Fixes: Various anomalies
Fixes: 14493/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5071018000908288
Fixes: 14630/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5714888963391488
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-07-08 08:21:03 +02:00
Michael Niedermayer
8e520843dd
avcodec/dxv: Check op_offset in dxv_decompress_cocg()
...
Fixes: signed integer overflow: -2147483648 - 12 cannot be represented in type 'int'
Fixes: 14732/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5735273129836544
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-06-05 13:19:59 +02:00
Michael Niedermayer
4daec0c677
avcodec/dxv: Check remaining space in CHECKPOINT()
...
Fixes: Timeout (77sec -> 1sec)
Fixes: 13407/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5093143018471424
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-03-28 21:32:31 +01:00
Michael Niedermayer
6e0b5d3a20
avcodec/dxv: Correct integer overflow in get_opcodes()
...
Fixes: 13099/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-5665598896340992
Fixes: signed integer overflow: 2147483647 + 7 cannot be represented in type 'int'
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-03-09 15:33:53 +01:00
Michael Niedermayer
2bc3811c0d
avcodec/dxv: Check that there is enough data to decompress
...
Fixes: Timeout
Fixes: 10979/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXV_fuzzer-6178582203203584
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-12-08 17:01:03 +01:00
Paul B Mahol
250792be5e
avcodec/dxv: add support for "high" quality mode
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2018-04-15 09:27:42 +02:00
Michael Niedermayer
d662143f06
avcodec/dxv: Check for end of input in dxv_decompress_dxt5()
...
Fixes: Timeout
Fixes: 3291/clusterfuzz-testcase-4630024655208448
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-10-04 02:16:11 +02:00
Michael Niedermayer
eb50492270
avcodec/dxv: Check remaining bytes in dxv_decompress_raw()
...
Fixes: Timeout
Fixes: 2006/clusterfuzz-testcase-minimized-5766515037044736
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-04 17:51:02 +02:00
Clément Bœsch
549045254c
Fix all -Wformat warnings raised by DJGPP
2017-03-29 14:49:29 +02:00
Clément Bœsch
46f4f8ad86
Merge commit '1263b2039eb5aaf1522e9de9f07c787ab30a5f50'
...
* commit '1263b2039eb5aaf1522e9de9f07c787ab30a5f50':
Adjust printf conversion specifiers to match variable signedness
Merged-by: Clément Bœsch <u@pkh.me >
2017-03-24 13:34:39 +01:00
Clément Bœsch
d96f6df3a6
Merge commit '7ebdffc353f3f0827864e8e3461fdc00cc243b14'
...
* commit '7ebdffc353f3f0827864e8e3461fdc00cc243b14':
dxv: Check to make sure we don't overrun buffers on corrupt inputs
Merged-by: Clément Bœsch <u@pkh.me >
2017-03-15 23:26:10 +01:00
Diego Biurrun
1263b2039e
Adjust printf conversion specifiers to match variable signedness
2016-10-28 11:22:21 +02:00
Martin Storsjö
9806b9ab5c
Revert "Don't use expressions with side effects in macro parameters"
...
This reverts commit 25bacd0a0c .
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
Michael Niedermayer
68eb20801d
avcodec/dxv: Check idx in dxv_decompress_dxt5()
...
Fixes potential out of array read
No testcase available
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-01-05 03:08:09 +01:00
Michael Niedermayer
eb8a67de75
avcodec/dxv: Check idx in CHECKPOINT()
...
Fixes out of array read
Fixes Ticket5098
Fixes Ticket5099
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-01-05 02:55:49 +01:00
Hendrik Leppkes
9c3c8d2c56
Merge commit 'b2417ee6d1ee0c5e9b170a642d73bdf68908966f'
...
* commit 'b2417ee6d1ee0c5e9b170a642d73bdf68908966f':
dxv: Improve error message
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-26 11:14:31 +02:00
Hendrik Leppkes
b4ea8a7305
Merge commit '1bcd4a476ba45a7fdf59d1701b8f0e274418cc32'
...
* commit '1bcd4a476ba45a7fdf59d1701b8f0e274418cc32':
dxv: Support RAW intermediate compression
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-26 11:14:25 +02:00
Hendrik Leppkes
f6048e4920
Merge commit 'bbf71d46db3417b43bcbd745cbf235e8e2ff69ae'
...
* commit 'bbf71d46db3417b43bcbd745cbf235e8e2ff69ae':
dxv: Print texture information after header parsing
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-26 11:14:01 +02:00
Hendrik Leppkes
234c7378ca
Merge commit 'fb2889691cb7720d2680e188eb6036a35afa2392'
...
* commit 'fb2889691cb7720d2680e188eb6036a35afa2392':
dxv: Support the original first version
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-26 11:13:48 +02:00
Hendrik Leppkes
d0aec0aae8
Merge commit '588a5619da0d041e55b365f63d0fa9c72bdbd4d3'
...
* commit '588a5619da0d041e55b365f63d0fa9c72bdbd4d3':
dxv: Parse ancillary encoder information
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-26 11:11:06 +02:00
Vittorio Giovara
b2417ee6d1
dxv: Improve error message
2015-09-24 10:57:30 +02:00
Vittorio Giovara
1bcd4a476b
dxv: Support RAW intermediate compression
...
Sample-Id: boombox64.mov
Reported-by: Aarni Koskela
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-09-24 10:57:25 +02:00
Vittorio Giovara
bbf71d46db
dxv: Print texture information after header parsing
2015-09-24 10:57:25 +02:00
Vittorio Giovara
fb2889691c
dxv: Support the original first version
...
DXV 1.0 provided DXT1 with LZF only.
Sample-Id: Orange-Strings-07_640_DXV.mov
Reported-by: Carl Eugen Hoyos
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-09-24 10:57:20 +02:00
Vittorio Giovara
588a5619da
dxv: Parse ancillary encoder information
...
Header does not contain the number of channels, but rather the encoder
version, so rename the variable, and read the additional byte.
2015-09-24 10:56:44 +02:00
Paul B Mahol
92bfc3cd03
avcodec/dxv: remove code that is never reached
...
The function is automatically called.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2015-09-15 07:52:15 +00:00
Carl Eugen Hoyos
9b2802f0d3
lavc/dxv: Support more real-world old version samples.
2015-09-08 10:18:16 +02:00
Carl Eugen Hoyos
84c9bf62b4
lavc/dxv: Silence "Multiple ff_thread_finish_setup() calls" warnings.
2015-09-08 10:16:34 +02:00
Hendrik Leppkes
d02d208211
Merge commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b'
...
* commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b':
DXV decoder
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-07 16:07:07 +02:00
Vittorio Giovara
c45fcf30cf
DXV decoder
...
Support all DXDI and DXD3 normal quality videos.
2015-09-02 22:22:02 +02:00