[FFmpeg-devel] libavcodec/exr : Fix PRX24 Full float

Martin Vignali martin.vignali at gmail.com
Sun Apr 3 19:03:00 CEST 2016


2016-04-03 17:12 GMT+02:00 Paul B Mahol <onemda at gmail.com>:

> On 4/3/16, Martin Vignali <martin.vignali at gmail.com> wrote:
> > Hello,
> >
> > In attach a patch, who fixe decompression of PRX24 Full Float.
> > PRX24 compression, reduce 32b float to 24b before zip step.
> > So the expected uncompress size in the unzip step, need to be adjust,
> > depends of the pixel type (uint32, and half float are not modified).
> >
> > I also, split the unzip check in order to add a more precise log error.
> >
> > sample, can be found here : https://we.tl/INWavynsGz
> > (decode failed before the patch).
> > This sample can also be add to ./fate-suite/exr, in order to apply the
> fate
> > test patch in attach.
> >
> > Comments welcome
> >
> > Martin
> > Jokyo Images
> >
>
> applied first patch
>
>
Thanks.

Just see that you remove log error line :
+    if (uncompress(td->tmp, &dest_len, src, compressed_size) != Z_OK) {
         return AVERROR_INVALIDDATA;
+    } else if (dest_len != expected_len){
+        return AVERROR_INVALIDDATA;
+    }

If you prefer to not have custom error log, the if part can be in one
condition (more like before the patch)

Martin
Jokyo Images


More information about the ffmpeg-devel mailing list