changeset 11194:c9a3a1e70263

sample_aspect_ratio
author michael
date Mon, 20 Oct 2003 21:21:42 +0000
parents a028cf8daa70
children 9bfd1b5d38cd
files libmpcodecs/vd_ffmpeg.c libmpcodecs/ve_lavc.c
diffstat 2 files changed, 16 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/libmpcodecs/vd_ffmpeg.c	Mon Oct 20 16:58:15 2003 +0000
+++ b/libmpcodecs/vd_ffmpeg.c	Mon Oct 20 21:21:42 2003 +0000
@@ -383,14 +383,19 @@
 static int init_vo(sh_video_t *sh){
     vd_ffmpeg_ctx *ctx = sh->context;
     AVCodecContext *avctx = ctx->avctx;
+#if LIBAVCODEC_BUILD >= 4687
+    float aspect= av_q2d(avctx->sample_aspect_ratio) * avctx->width / avctx->height;
+#else
+    float aspect= avctx->aspect_ratio;
+#endif
 
-    if (avctx->aspect_ratio != ctx->last_aspect ||
+    if ( aspect != ctx->last_aspect ||
 	avctx->width != sh->disp_w ||
 	avctx->height != sh->disp_h ||
 	!ctx->vo_inited)
     {
-	mp_msg(MSGT_DECVIDEO, MSGL_V, "[ffmpeg] aspect_ratio: %f\n", avctx->aspect_ratio);
-        ctx->last_aspect = avctx->aspect_ratio;
+	mp_msg(MSGT_DECVIDEO, MSGL_V, "[ffmpeg] aspect_ratio: %f\n", aspect);
+        ctx->last_aspect = aspect;
 //	if(ctx->last_aspect>=0.01 && ctx->last_aspect<100)
 	if(sh->aspect==0.0)
 	    sh->aspect = ctx->last_aspect;
--- a/libmpcodecs/ve_lavc.c	Mon Oct 20 16:58:15 2003 +0000
+++ b/libmpcodecs/ve_lavc.c	Mon Oct 20 21:21:42 2003 +0000
@@ -445,7 +445,11 @@
 	}
 
 	if (e && ratio > 0.1 && ratio < 10.0) {
+#if LIBAVCODEC_BUILD >= 4687
+	    lavc_venc_context->sample_aspect_ratio= av_d2q(ratio * height / width, 30000);
+#else
 	    lavc_venc_context->aspect_ratio= ratio;
+#endif
 	    mp_dbg(MSGT_MENCODER, MSGL_DBG2, "aspect_ratio: %f\n", ratio);
 	} else {
 	    mp_dbg(MSGT_MENCODER, MSGL_ERR, "aspect ratio: cannot parse \"%s\"\n", lavc_param_aspect);
@@ -453,7 +457,11 @@
 	}
     }
     else if (lavc_param_autoaspect)
+#if LIBAVCODEC_BUILD >= 4687
+	lavc_venc_context->sample_aspect_ratio = av_d2q((float)d_width/d_height*height / width, 30000);
+#else
 	lavc_venc_context->aspect_ratio = (float)d_width/d_height;
+#endif
 
     /* keyframe interval */
     if (lavc_param_keyint >= 0) /* != -1 */