mirror of
https://github.com/mpv-player/mpv
synced 2025-01-01 04:36:24 +01:00
sample_aspect_ratio
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11195 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
74d75bf69b
commit
4b29d38b01
@ -383,14 +383,19 @@ static void draw_slice(struct AVCodecContext *s,
|
||||
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;
|
||||
|
@ -445,7 +445,11 @@ static int config(struct vf_instance_s* vf,
|
||||
}
|
||||
|
||||
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 @@ static int config(struct vf_instance_s* vf,
|
||||
}
|
||||
}
|
||||
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 */
|
||||
|
Loading…
Reference in New Issue
Block a user