summaryrefslogtreecommitdiff
path: root/libavcodec/exr.c
Commit message (Collapse)AuthorAge
* avcodec/exr: fix invalid shift in unpack_14()Michael Niedermayer2018-02-27
| | | | | | | | Fixes: 6154/clusterfuzz-testcase-minimized-5762231061970944 Fixes: runtime error: shift exponent 63 is too large for 32-bit 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>
* avcodec/exr : add support for long name flag and be more explicit about ↵Martin Vignali2018-02-24
| | | | | | | | unsupported flag based-on patch by Carl Eugen Hoyos Fix ticket 6994
* avcodec/exr: Check remaining bits in last get code loopMichael Niedermayer2018-02-17
| | | | | | | | Fixes: runtime error: shift exponent -7 is negative Fixes: 3902/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_fuzzer-6081926122176512 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: Fix memleaks in decode_header()Michael Niedermayer2018-02-02
| | | | | | | Fixes: 4793/clusterfuzz-testcase-minimized-5707366629638144 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: Check buf_size more completelyMichael Niedermayer2017-12-30
| | | | | | | | Fixes: Out of heap array read Fixes: 4683/clusterfuzz-testcase-minimized-6152313673613312 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: fix undefined shift in pxr24_uncompress()Michael Niedermayer2017-11-05
| | | | | | | | | Fixes: runtime error: left shift of 255 by 24 places cannot be represented in type 'int' Fixes: 3787/clusterfuzz-testcase-minimized-5728764920070144 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>
* libavcodec/exr : add x86 SIMD for predictorMartin Vignali2017-10-01
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/exrdsp: improve the ExrDSPContext->reorder_pixels prototypeJames Almer2017-09-17
| | | | | | Make dst be the first parameter and src const. It's more in line with the rest of the codebase. Signed-off-by: James Almer <jamrial@gmail.com>
* libavcodec/exr : add X86 SIMD for reorder_pixelsMartin Vignali2017-09-17
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* libavcodec/exr : simplify reorder_pixelsMartin Vignali2017-05-14
| | | | | | | | | | reorder_pixels is call by rle_uncompress and zip_uncompress with size == uncompress_size uncompress_size is a multiple of 2 (because exr store data in half, float, or uint32) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/exr : cosmetics variable nameMartin Vignali2017-05-12
| | | | | | rename tile variable to better follow ffmpeg coding style Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/exr : fix piz uncompress on big endianMartin Vignali2017-05-01
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/exr : fix float to uint16 conversion for negative float valueMartin Vignali2017-04-27
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: do not use AVFrame accessorMuhammad Faiz2017-04-23
| | | | | Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
* libavcodec/exr : fix scanline offset table recreation on big endianMartin Vignali2017-04-03
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: add support for scanline file where offsets are set to zeroDzung Hoang2017-04-01
|
* avcodec/exr: add support for uint32Martin Vignali2017-03-29
|
* avcodec/exr: export writer info into frame metadataPaul B Mahol2017-01-19
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/exr: make it aware of 2 additional compressionsPaul B Mahol2017-01-19
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* libavcodec/exr: Fix blank output when data window != display windowKevin Wheatley2017-01-06
| | | | | | | | | | | | | | looks like there is a bug in commit 1a08758e7c4e14a9ea8d2fef6c33ad411b2d3c40 relating to the handling of ptr in decode_frame after decode_block is called, before this commit ptr would have been incremented for each line in the data window, now after the commit it is left at the start of the first included line rather than the line after the data window then the code sets the remaining lines to 0 and thus the whole image is over written. Fix by adjusting ptr to the correct line after decode_block returns Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
* libavcodec/exr: add support for uint32 channel decoding with pxr24Martin Vignali2016-11-25
| | | | | | Doesn't decode the uint32 layer, but decodes the half part of the file. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* libavcodec/exr : fix channel size calculation for uint32 channelMartin Vignali2016-11-16
| | | | | | | | | | | | uint32 need 4 bytes not 1. Fix decoding when there is half/float and uint32 channel. This fixes crashes due to pointer corruption caused by invalid writes. The problem was introduced in commit 03152e74dfdc7f438cb4a10402c4de744e807e22. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* exr: reindent after previous commitAndreas Cadhalpun2016-11-16
| | | | Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* exr: fix out-of-bounds readAndreas Cadhalpun2016-11-16
| | | | | | | | | | channel_index can be -1. This problem was introduced in commit 2dd7b46132e2801ef34fe1b5c27e0113cdcfa2f9. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* avcodec/exr: Check tile positionsMichael Niedermayer2016-08-25
| | | | | | | | | | | | This also disabled the case of mixed x/ymin with tiles, the code handles these cases inconsistent for the 2 coordinate axis and is unlikely working correctly. Fixes crash Fixes: poc1.exr, poc2.exr Found-by: Yaoguang Chen of Aliapy unLimit Security Team Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/exr : cosmetics, rename variable in b44_uncompress funcMartin Vignali2016-07-13
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: Fix mixed declarations and statementsMichael Niedermayer2016-07-07
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/exr : indent gray support patchMartin Vignali2016-07-06
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavodec/exr : add support for Y and YA file (ticket #5621)Martin Vignali2016-07-06
| | | | | | | | | | | | a gray channel in exr, is named Y we admit that the file need to be interpreted as gray only if no other channel match (except alpha) to manage RGB and Y in the color conversion part of decode_block, the color processing is now made with a for loop. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/exr : fix decoding piz float file.Martin Vignali2016-06-30
| | | | | | | | | | | | | fix ticket #5674 the size of data to process in piz_uncompress, is now calc using the pixel type of each channel. the data reorganization, alos take care about the size of each channel Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/exr: add missed hunks from previous exr commitMartin Vignali2016-06-25
|
* avcodec/exr: fix reading float channel when there is half and float channels ↵Martin Vignali2016-06-25
| | | | in a file
* Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\ | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | avcodec/exr: indent b44 uncompress functionMartin Vignali2016-06-06
| |
* | avcodec/exr: fix decoding of B44 exr when all channel doesnt have the same ↵Martin Vignali2016-06-06
| | | | | | | | pixel type
* | avcodec/exr: move channel_line_size to thread dataMartin Vignali2016-06-06
| | | | | | | | In order to be used by b44 uncompress.
* | avcodec/exr: improve pxr24 uncompressMartin Vignali2016-06-06
| | | | | | | | | | Fix pxr24 uncompress when all channels doesnt have the same pixel type. The expected length after zip decoding, is now calculated channel by channel.
* | avcodec/exr: remove unneed scanline_size varMartin Vignali2016-06-06
| |
* | avcodec/exr: fix tile decoding when all channels doesnt have the same pixel typeMartin Vignali2016-06-06
| | | | | | | | Also simplify the tile code, sharing more code with the scanline mode.
* | avcodec/exr: indent the if (layer_match) partMartin Vignali2016-06-06
| |
* | avcodec/exr: fix layer detectionMartin Vignali2016-06-06
| | | | | | | | | | | | Only test a channel if the layer name match. Avoid to try to mix channel between the main layer (rgba layer), and the layer request by the user.
* | avcodec/exr: Fix potential integer overflowMichael Niedermayer2016-05-19
| | | | | | | | | | | | Fixes CID1361949 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | libavcodec/exr: move xsize and ysize to thread dataMartin Vignali2016-04-25
| | | | | | | | | | | | Fixes slice threading. Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/exr: Fix "libavcodec/exr.c:1494:13: warning: ISO C90 forbids mixed ↵Michael Niedermayer2016-04-17
| | | | | | | | | | | | declarations and code" Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/exr: fix huf_decodeMartin Vignali2016-04-12
| |
* | avcodec/exr: fix clearing end of bitmapPaul B Mahol2016-04-12
| | | | | | | | | | | | Inspired by patch from Martin Vignali. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/exr: fix channel detectionMartin Vignali2016-04-10
| |
* | avcodec/exr: enable mipmap, ripmap decodingMartin Vignali2016-04-06
| |
* | libavcodec/exr : add support for compression in tileMartin Vignali2016-04-04
| |