From 6ea69a8ffaeabf1a8bfd0c7db1019ca5ac082c99 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 19 Aug 2014 20:57:42 +0200 Subject: [PATCH] avcodec/tiff: do not use photometric to detect pix_fmt They should match but they do not always Fixes assertion failure no testcase with unmodified source available Signed-off-by: Michael Niedermayer --- libavcodec/tiff.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/tiff.c b/libavcodec/tiff.c index 73bf828a84..61387e7320 100644 --- a/libavcodec/tiff.c +++ b/libavcodec/tiff.c @@ -419,7 +419,8 @@ static int tiff_unpack_strip(TiffContext *s, AVFrame *p, uint8_t *dst, int strid int c, line, pixels, code, ret; const uint8_t *ssrc = src; int width = ((s->width * s->bpp) + 7) >> 3; - int is_yuv = s->photometric == TIFF_PHOTOMETRIC_YCBCR; + const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(p->format); + int is_yuv = !(desc->flags & AV_PIX_FMT_FLAG_RGB) && desc->nb_components >= 2; if (s->planar) width /= s->bppcount;