mpegvideo_enc/rv10: width and hieghtmust be multiple of 16
authorPiotr Bandurski <ami_stuff@o2.pl>
Thu, 13 Dec 2012 16:33:42 +0000 (17:33 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 15 Dec 2012 15:04:49 +0000 (16:04 +0100)
RealPlayer does not play correctly rv10 files when sizes are not multiple of 16

"RealVideo Encoder 1.0 supports any size image that is a multiple of sixteen pixels."

Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/mpegvideo_enc.c

index 3379090..92bd94a 100644 (file)
@@ -554,6 +554,13 @@ av_cold int ff_MPV_encode_init(AVCodecContext *avctx)
         return -1;
     }
 
+    if (s->codec_id == AV_CODEC_ID_RV10 &&
+        (avctx->width &15 ||
+         avctx->height&15 )) {
+        av_log(avctx, AV_LOG_ERROR, "width and height must be a multiple of 16\n");
+        return AVERROR(EINVAL);
+    }
+
     if ((s->codec_id == AV_CODEC_ID_WMV1 ||
          s->codec_id == AV_CODEC_ID_WMV2) &&
          avctx->width & 1) {