Commit Graph

39 Commits

Author SHA1 Message Date
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