diff libxvidff.c @ 6670:33d3c14d5a57 libavcodec

Set pixel aspect ratio for libxvid wrapper. Patch by Thorsten Jordan tjordanATmacrosystem de
author benoit
date Thu, 24 Apr 2008 12:39:25 +0000
parents c22932db0ebb
children 5df0c730234d
line wrap: on
line diff
--- a/libxvidff.c	Thu Apr 24 10:17:55 2008 +0000
+++ b/libxvidff.c	Thu Apr 24 12:39:25 2008 +0000
@@ -406,6 +406,17 @@
     xvid_enc_frame.motion = x->me_flags;
     xvid_enc_frame.type = XVID_TYPE_AUTO;
 
+    /* Pixel aspect ratio setting */
+    if (avctx->sample_aspect_ratio.num < 1 || avctx->sample_aspect_ratio.num > 255 ||
+        avctx->sample_aspect_ratio.den < 1 || avctx->sample_aspect_ratio.den > 255) {
+        av_log(avctx, AV_LOG_ERROR, "Invalid pixel aspect ratio %i/%i\n",
+               avctx->sample_aspect_ratio.num, avctx->sample_aspect_ratio.den);
+        return -1;
+    }
+    xvid_enc_frame.par = XVID_PAR_EXT;
+    xvid_enc_frame.par_width  = avctx->sample_aspect_ratio.num;
+    xvid_enc_frame.par_height = avctx->sample_aspect_ratio.den;
+
     /* Quant Setting */
     if( x->qscale ) xvid_enc_frame.quant = picture->quality / FF_QP2LAMBDA;
     else xvid_enc_frame.quant = 0;