]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/libxvid.c
Merge commit '3feb3d6ce4be0a09a9f8f13d613bed25b523b6e7'
[ffmpeg] / libavcodec / libxvid.c
index d2190c8cecfa038cbb27faeee5321e8b59ee3d77..09b07d4b5db2939cc8c1b64db7510cb05f27f0eb 100644 (file)
@@ -710,9 +710,11 @@ static int xvid_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
     /* Pixel aspect ratio setting */
     if (avctx->sample_aspect_ratio.num < 0 || avctx->sample_aspect_ratio.num > 255 ||
         avctx->sample_aspect_ratio.den < 0 || avctx->sample_aspect_ratio.den > 255) {
-        av_log(avctx, AV_LOG_ERROR, "Invalid pixel aspect ratio %i/%i\n",
+        av_log(avctx, AV_LOG_WARNING,
+               "Invalid pixel aspect ratio %i/%i, limit is 255/255 reducing\n",
                avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den);
-        return -1;
+        av_reduce(&avctx->sample_aspect_ratio.num, &avctx->sample_aspect_ratio.den,
+                   avctx->sample_aspect_ratio.num,  avctx->sample_aspect_ratio.den, 255);
     }
     xvid_enc_frame.par = XVID_PAR_EXT;
     xvid_enc_frame.par_width  = avctx->sample_aspect_ratio.num;