[FFmpeg-devel] [FFmpeg-cvslog] avcodec/tiff: do not abort decoding if strips are available

Paul B Mahol onemda at gmail.com
Thu Oct 8 10:53:14 EEST 2020


On Wed, Oct 07, 2020 at 09:13:52PM -0300, James Almer wrote:
> > ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com <https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog>> | Fri Oct  2 12:16:49 2020 +0200| [da5b3d002862d1e105002a6dc1567e6551860896] | committer: Paul B Mahol
> >
> > avcodec/tiff: do not abort decoding if strips are available
> >
> > Even if such files are invalid, they can be decoded just fine.
> > Also stored tiles may have bigger dimensions than displayed ones,
> > so do not abort decoding in such cases.
> >
> > >/http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da5b3d002862d1e105002a6dc1567e6551860896
> > /---
> >
> >  libavcodec/tiff.c | 7 +++----
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
> > index 359d613bb3..9bf08b1900 100644
> > --- a/libavcodec/tiff.c
> > +++ b/libavcodec/tiff.c
> > @@ -929,8 +929,8 @@ static int dng_decode_jpeg(AVCodecContext *avctx, AVFrame *frame,
> >          s->avctx_mjpeg->height == h / 2 &&
> >          s->avctx_mjpeg->pix_fmt == AV_PIX_FMT_GRAY16LE) {
> >          is_single_comp = 1;
> > -    } else if (s->avctx_mjpeg->width  == w &&
> > -               s->avctx_mjpeg->height == h &&
> > +    } else if (s->avctx_mjpeg->width  >= w &&
> > +               s->avctx_mjpeg->height >= h &&
> >                 s->avctx_mjpeg->pix_fmt == (is_u16 ? AV_PIX_FMT_GRAY16 : AV_PIX_FMT_GRAY8)
> >                ) {
> >          is_single_comp = 0;
> > @@ -1923,8 +1923,7 @@ again:
> >      has_strip_bits = s->strippos || s->strips || s->stripoff || s->rps || s->sot || s->sstype || s->stripsize || s->stripsizesoff;
> >  
> >      if (has_tile_bits && has_strip_bits) {
> > -        av_log(avctx, AV_LOG_ERROR, "Tiled TIFF is not allowed to strip\n");
> > -        return AVERROR_INVALIDDATA;
> > +        av_log(avctx, AV_LOG_WARNING, "Tiled TIFF is not allowed to strip\n");
> 
> Wont this reintroduce the crash fixed by 70faa9f6181?

It should not, if still, then I would need a sample to properly fix it.

> 
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list