Anton Khirnov
1f4cf92cfb
pthread_frame: merge the functionality for normal decoder init and init_thread_copy
...
The current design, where
- proper init is called for the first per-thread context
- first thread's private data is copied into private data for all the
other threads
- a "fixup" function is called for all the other threads to e.g.
allocate dynamically allocated data
is very fragile and hard to follow, so it is abandoned. Instead, the
same init function is used to init each per-thread context. Where
necessary, AVCodecInternal.is_copy can be used to differentiate between
the first thread and the other ones (e.g. for decoding the extradata
just once).
2020-04-10 15:24:54 +02:00
Michael Niedermayer
9fac243744
avcodec/cfhd: Check that cropped size is smaller than full
...
Fixes: signed integer overflow: 57342 * 120830 cannot be represented in type 'int'
Fixes: 16426/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-5758744817827840
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2019-09-16 00:53:18 +02:00
Michael Niedermayer
58e084bd2c
avcodec/cfhd: Check destination space for bayer before writing
...
Fixes: out of array write
Fixes: 16105/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-5690817309573120
Fixes: 16119/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-5099050675732480
Fixes: 16135/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-5705501601431552
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-08-05 17:54:24 +02:00
Michael Niedermayer
fe2e1cfc19
avcodec/cfhd: Fix linesize type
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-08-05 17:54:24 +02:00
Paul B Mahol
630ea6b07f
avcodec/cfhd: add bayer support
2019-07-29 15:35:16 +01:00
Paul B Mahol
2edb262759
avcodec/cfhd: add back alpha processing removed in 9cefb9e7ec
...
Fixes #7886 .
2019-06-28 20:10:43 +02:00
Michael Niedermayer
77429b4217
avcodec/cfhd: Use the actual count instead of the expected in peak_table()
...
Fixes: out of array access (no testcase)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-08-20 02:32:41 +02:00
Michael Niedermayer
2c1613ac94
avcodec/cfhd: Move peak_table() and difference_coding() calls after the existing coefficient count check
...
Fixes: out of array access
Fixes: 9509/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-5283250636324864
Fixes: 9572/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-4920757409808384
Fixes: 9596/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-5114917580439552
Fixes: 9640/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-6247840698335232
Fixes: 9659/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-6079554987753472
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-08-20 02:32:41 +02:00
Michael Niedermayer
4a657acaef
avcodec/cfhd: Use bytestream2 for peaks
...
This fixes out of array accesses
No testcase known
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-07-18 13:59:25 +02:00
Michael Niedermayer
7334985ffa
libavcodec/cfhd: Fix signed overflow in shift
...
Fixes: 8695/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-4906172426485760
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-07-15 19:42:25 +02:00
Gagandeep Singh
9cefb9e7ec
lavc/cfhd: interlaced frame decoding added
...
ticket #5522 output of given samples significantly improved
2018-05-27 15:16:45 +01:00
Clément Bœsch
6876a63368
lavc/cfhd: use AV_CEIL_RSHIFT instead of deprecated FF_CEIL_RSHIFT
2018-05-08 12:47:38 +02:00
Gagandeep Singh
673604e0e3
lavc/cfhd: fix distortion of lowest 8 lines when height is not multiple of 16
...
Also update fate reference. Fixes ticket #6675 .
2018-04-03 18:20:30 +02:00
Gagandeep Singh
c64c97b972
lavc/cfhd: add alpha decompanding in rgba12
...
Alpha decompanding curve added to post process the decoded alpha channel.
Fixes ticket #6265 .
2018-03-22 19:27:22 +01:00
James Almer
d2917501c2
avcodec/cfhd: support cropped height tag
...
Ported from libav. Authored by one of the following:
Anton Khirnov <anton@khirnov.net >
Diego Biurrun <diego@biurrun.de >
Vittorio Giovara <vittorio.giovara@gmail.com >
Reviewed-by: kierank
Signed-off-by: James Almer <jamrial@gmail.com >
2017-10-18 11:01:17 -03:00
James Almer
6007f7d466
Merge commit '5f794aa1653aa04c1da7397e9ccacad947fadf5f'
...
* commit '5f794aa1653aa04c1da7397e9ccacad947fadf5f':
Add Cineform HD Decoder
See 3485332bf9 .
Some cosmetics are merged. The refactoring is not merged at the
request of Kieran Kunhya.
Merged-by: James Almer <jamrial@gmail.com >
2017-10-17 20:28:59 -03:00
Vodyannikov Aleksandr
47c9365724
avcodec/cfhd: Fix decoding regression due to height check
...
Fixes: Ticket6546
Regression since: 54aaadf648
Reviewed-by: Muhammad Faiz <mfcc64@gmail.com >
Reviewed-by: Kieran Kunhya <kierank@obe.tv >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-07-23 14:58:29 +02:00
Michael Niedermayer
c709f009da
avcodec/cfhd: Fix invalid left shift of negative value
...
Fixes: runtime error: left shift of negative value -1
Fixes: 2395/clusterfuzz-testcase-minimized-6540529313513472
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-28 23:39:11 +02:00
Michael Niedermayer
6f1d2355a7
avcodec/cfhd: Check bpc before setting bpc in context
...
Fixes: runtime error: shift exponent 32 is too large for 32-bit type 'int'
Fixes: 2306/clusterfuzz-testcase-minimized-5002997392211968
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-22 01:54:40 +02:00
Michael Niedermayer
5a950f4e32
avcodec/cfhd: Fix undefined shift
...
Fixes: runtime error: left shift of negative value -1
Fixes: 2303/clusterfuzz-testcase-minimized-5529675273076736
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-22 01:54:40 +02:00
Michael Niedermayer
54aaadf648
avcodec/cfhd: Check band parameters before storing them
...
Fixes out of array read
Fixes: 2169/clusterfuzz-testcase-minimized-5688641642823680
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-10 18:46:27 +02:00
Michael Niedermayer
cd6f319a74
avcodec/cfhd: Fix runtime error: signed integer overflow: 65280 * 65288 cannot be represented in type 'int'
...
Fixes: 1925/clusterfuzz-testcase-minimized-5564569688735744
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-01 22:20:16 +02:00
Kieran Kunhya
5f794aa165
Add Cineform HD Decoder
...
Decodes YUV 4:2:2 10-bit and RGB 12-bit files.
Older files with more subbands, skips, Bayer, alpha not supported.
Further fixes and refactorings by Anton Khirnov <anton@khirnov.net >,
Diego Biurrun <diego@biurrun.de >, Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2017-03-09 18:37:29 +01:00
Michael Niedermayer
b8b3671721
avcodec/cfhd: Increase minimum band dimension to 3
...
The implementation does not currently support len=2
Fixes out of array accesses
Fixes: 29d1b3db5ba2205e82b0b3a533e057a3/asan_heap-oob_12b650c_9254_3b8c4e4d931eb2c32841c18ebb297f1d.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-08-19 22:28:32 +02:00
James Almer
d688f39dc4
cosmetics: fix some misspelled words
...
Signed-off-by: James Almer <jamrial@gmail.com >
2016-07-17 13:10:27 -03:00
Michael Niedermayer
056a4ae771
avcodec/cfhd: Set dimensions unconditionally
...
Fixes Ticket5215
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-10 22:05:38 +02:00
Michael Niedermayer
5fb6e39dd1
avcodec/cfhd: clear idwt_buf on allocation
...
This avoids use of uninitialized variables and might make bugs in general
easier to reproduce
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-05 15:41:50 +02:00
dsmudhar
84417593b9
libavcodec/cfhd: fixed wrong printf format
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-05-23 05:39:37 +02:00
Kieran Kunhya
e9a9ca1936
avcodec/cfhd: Don't decode coefficients if no end of header tag found. Fixes fuzzed files such as the one in in ticket #5383
2016-04-28 21:33:08 +01:00
Vittorio Giovara
7888ae8266
cfhd: Do not initialize context size
...
Otherwise probing and stream analisys will report a correct coded size
but an empty visible size.
Approved by: kieran
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-03-29 17:06:15 +02:00
Carl Eugen Hoyos
59793785f4
lavc/cfhd: Remove one more \n from avpriv_report_missing_feature().
2016-03-06 21:38:41 +01:00
Carl Eugen Hoyos
719276b860
lavc/cfhd: Sanitize avpriv_report_missing_feature() usage.
2016-03-06 21:22:47 +01:00
Kieran Kunhya
247fe3e494
avcodec/cfhd: Fixes cfhd_odd.mov which has a resolution of 496x241
...
In this case container width/height is better however.
Thanks to koda for the sample
2016-03-06 12:38:07 +00:00
Kieran Kunhya
8adbe26b90
avcodec/cfhd: Add support for 12-bit RGBA.
...
Plays all known samples
2016-02-27 13:17:20 +00:00
Kieran Kunhya
0096453f70
cfhd: reallocate internal buffers on format change.
...
Fixes some, but not all, of the threading fuzz crashes
2016-02-27 12:18:06 +00:00
Kieran Kunhya
1e2fd57fc0
avcodec/cfhd: Fix errors with valid files.
2016-02-12 01:00:20 +00:00
Michael Niedermayer
bbc4d069d0
avcodec/cfhd: Check the number of tag/value pairs
...
Fixes potentially long loop
Fixes: CID1351382/11
Reviewed-by: Kieran Kunhya <kieran@kunhya.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-02-12 01:52:44 +01:00
Andreas Cadhalpun
916da13d6d
cfhd: fix off-by-one error in level check
...
This fixes out-of-bounds writes causing segmentation faults.
Found-by: Piotr Bandurski <ami_stuff@o2.pl >
Reviewed-by: Kieran Kunhya <kierank@obe.tv >
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com >
2016-02-03 01:19:45 +01:00
Kieran Kunhya
bdd8e02b72
avcodec/cfhd: Make sure we have an end of header tag before allocating a frame.
...
Fixes tickets #5208 and #5209
2016-02-01 14:20:20 +01:00
Kieran Kunhya
3485332bf9
avcodec: Cineform HD Decoder
...
Decodes YUV 4:2:2 10-bit and RGB 12-bit files.
Older files with more subbands, skips, Bayer, alpha not supported.
Alpha requires addition of GBRAP12 pixel format.
2016-01-30 17:44:13 +00:00