# HG changeset patch # User michael # Date 1066684902 0 # Node ID c9a3a1e702633a42ad62e41569ba56aa101910e8 # Parent a028cf8daa7025c583369eb689121b53c8810e53 sample_aspect_ratio diff -r a028cf8daa70 -r c9a3a1e70263 libmpcodecs/vd_ffmpeg.c --- 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; diff -r a028cf8daa70 -r c9a3a1e70263 libmpcodecs/ve_lavc.c --- 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 */