Andreas Rheinhardt
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
Michael Niedermayer
17f91c07ef
avcodec/prosumer: Only memset(0) what is needed.
...
Fixes: Timeout (11sec -> 0.08sec)
Fixes: 14406/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5151210148986880
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-05-09 22:07:26 +02:00
Michael Niedermayer
c0ca67ba40
avcodec/prosumer: Check decoded size
...
Fixes: Timeout (longer than i had patience for -> 2sec)
Fixes: 13205/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5105644481282048
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-25 13:20:30 +01:00
Michael Niedermayer
62f8d27ef1
avcodec/prosumer: Error out if decompress() stops reading data
...
if 0 is encountered in the LUT then decompress() will continue to output 0 bytes but never read more data.
Without a specification it is impossible to say if this is invalid or a feature.
None of the valid prosumer files tested cause a 0 to be read, so it is likely
not a intended feature.
Fixes: Timeout
Fixes: 11266/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5681827423977472
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-20 21:42:20 +01:00
Michael Niedermayer
f0d48ac41f
avcodec/prosumer: Reduce lut size
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-20 21:42:20 +01:00
Michael Niedermayer
d3b76c9993
avcodec/prosumer: Simplify code slightly in decompress()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-01-20 21:42:20 +01:00
Michael Niedermayer
66425add27
avcodec/prosumer: Simplify bit juggling of the c variable in decompress()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-11-02 23:46:31 +01:00
Michael Niedermayer
1dfa0b6f36
avcodec/prosumer: Remove always true check in decompress()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-11-02 23:46:31 +01:00
Michael Niedermayer
506839a3e9
avcodec/prosumer: Remove unneeded ()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-11-02 23:46:31 +01:00
Michael Niedermayer
9acdf17b2c
avcodec/prosumer: Check for bytestream eof in decompress()
...
Fixes: Infinite loop
Fixes: 10685/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5652236881887232
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 >
2018-11-02 23:46:31 +01:00
Michael Niedermayer
0f36ad514c
avcodec/prosumer: Check remaining space in put byte context
...
Fixes: Timeout
Fixes: 10053/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5636993883570176
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 >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
3b5945b146
avcodec/prosumer: Remove unused table element
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
52b909b5c1
avcodec/prosumer: remove unneeded variable from vertical_predict
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
093607f0cd
avcodec/prosumer: Rename do_shift() to vertical_predict()
...
It seems what this function does is a vertical prediction filter, thus
the new name should improve understanding.
rename the related table_b too
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
0cd22fd752
avcodec/prosumer: mark src as const
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
3c9ebcbc4d
avcodec/prosumer: Only scan as many elements as matter in fill_elements()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
fa1d3caef0
avcodec/prosumer: factorize e0 setting out
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
e97951f458
avcodec/prosumer: Use 16bit instead of 32 for table
...
Simplifies code and reduces needed memory
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
d3a9cb6bc8
avcodec/prosumer: Factorize the 2 loops in fill_elements()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
f24701b073
avcodec/prosumer: clean up loop end code in fill_elements()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
674727291b
avcodec/prosumer: Remove dead code
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Paul B Mahol
4d87cd2882
avcodec/prosumer: fix some minor issues
2018-08-24 21:33:01 +02:00
Paul B Mahol
aba720dce2
avcodec: add Brooktree ProSumer Video decoder
2018-08-24 21:07:01 +02:00