changeset 10683:e5fac8ac71f6 libavcodec

Check sample_aspect_ratio validity for mpeg4/h263/h263p encoding. Merged from ffmbc0.3
author michael
date Mon, 14 Dec 2009 11:34:46 +0000
parents aa8bebc96764
children 7e316791ac7b
files mpegvideo_enc.c
diffstat 1 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mpegvideo_enc.c	Mon Dec 14 11:18:28 2009 +0000
+++ b/mpegvideo_enc.c	Mon Dec 14 11:34:46 2009 +0000
@@ -395,6 +395,14 @@
         return -1;
     }
 
+    if ((s->codec_id == CODEC_ID_MPEG4 || s->codec_id == CODEC_ID_H263 ||
+         s->codec_id == CODEC_ID_H263P) &&
+        (avctx->sample_aspect_ratio.num > 255 || avctx->sample_aspect_ratio.den > 255)) {
+        av_log(avctx, AV_LOG_ERROR, "Invalid pixel aspect ratio %i/%i, limit is 255/255\n",
+               avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den);
+        return -1;
+    }
+
     if((s->flags & (CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_INTERLACED_ME|CODEC_FLAG_ALT_SCAN))
        && s->codec_id != CODEC_ID_MPEG4 && s->codec_id != CODEC_ID_MPEG2VIDEO){
         av_log(avctx, AV_LOG_ERROR, "interlacing not supported by codec\n");