Merge commit 'c53effc41b9359261b17c8da3b7062369cafd686' into release/1.1
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 8 Aug 2014 13:19:40 +0000 (15:19 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 8 Aug 2014 13:20:18 +0000 (15:20 +0200)
* commit 'c53effc41b9359261b17c8da3b7062369cafd686':
  huffyuvdec: check width size for yuv422p

Conflicts:
libavcodec/huffyuvdec.c

See: 6abb9a901fca27da14d4fffbb01948288b5da3ba
Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/huffyuvdec.c

@@@ -346,18 -341,15 +346,21 @@@ static av_cold int decode_init(AVCodecC
          return AVERROR_INVALIDDATA;
      }
  
-     if (s->predictor == MEDIAN && avctx->pix_fmt == AV_PIX_FMT_YUV422P && avctx->width%4) {
-         av_log(avctx, AV_LOG_ERROR, "width must be a multiple of 4 this colorspace and predictor\n");
 +    if ((avctx->pix_fmt == AV_PIX_FMT_YUV422P || avctx->pix_fmt == AV_PIX_FMT_YUV420P) && avctx->width & 1) {
 +        av_log(avctx, AV_LOG_ERROR, "width must be even for this colorspace\n");
 +        return AVERROR_INVALIDDATA;
 +    }
 -        av_log(avctx, AV_LOG_ERROR, "width must be multiple of 4 "
+     if (s->predictor == MEDIAN && avctx->pix_fmt == AV_PIX_FMT_YUV422P &&
+         avctx->width % 4) {
++        av_log(avctx, AV_LOG_ERROR, "width must be a multiple of 4 "
+                "for this combination of colorspace and predictor type.\n");
          return AVERROR_INVALIDDATA;
      }
 -    if ((ret = ff_huffyuv_alloc_temp(s)) < 0)
 +    if ((ret = ff_huffyuv_alloc_temp(s)) < 0) {
 +        ff_huffyuv_common_end(s);
          return ret;
 +    }
  
      return 0;
  }