[FFmpeg-cvslog] avcodec/tiff: fix odd dimensioned yuv

Michael Niedermayer git at videolan.org
Mon Sep 15 01:46:34 CEST 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Sep 15 01:33:09 2014 +0200| [6beea6f017f5d0be06fa9dfdea921275586eec55] | committer: Michael Niedermayer

avcodec/tiff: fix odd dimensioned yuv

Fixes Ticket3893

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6beea6f017f5d0be06fa9dfdea921275586eec55
---

 libavcodec/tiff.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c
index 0352639..6e2096f 100644
--- a/libavcodec/tiff.c
+++ b/libavcodec/tiff.c
@@ -510,7 +510,9 @@ static int tiff_unpack_strip(TiffContext *s, AVFrame *p, uint8_t *dst, int strid
         }
         dst = s->yuv_line;
         stride = 0;
-        width = s->width * s->subsampling[1] + 2*(s->width / s->subsampling[0]);
+
+        width = (s->width - 1) / s->subsampling[0] + 1;
+        width = width * s->subsampling[0] * s->subsampling[1] + 2*width;
         av_assert0(width <= bytes_per_row);
         av_assert0(s->bpp == 24);
     }



More information about the ffmpeg-cvslog mailing list