diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index 75c9da4bfe..006d8ba67b 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -60,14 +60,18 @@ static int lavc_param_workaround_bugs=0; static int lavc_param_error_resilience=-1; static int lavc_param_gray=0; static int lavc_param_vstats=0; +static int lavc_param_idct_algo=0; struct config lavc_decode_opts_conf[]={ #if LIBAVCODEC_BUILD >= 4611 - {"bug", &lavc_param_workaround_bugs, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, + {"bug", &lavc_param_workaround_bugs, CONF_TYPE_INT, CONF_RANGE, -1, 99, NULL}, {"ver", &lavc_param_error_resilience, CONF_TYPE_INT, CONF_RANGE, -1, 99, NULL}, #endif #if LIBAVCODEC_BUILD >= 4614 {"gray", &lavc_param_gray, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART, NULL}, +#endif +#if LIBAVCODEC_BUILD >= 4629 + {"idct", &lavc_param_idct_algo, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, #endif {"vstats", &lavc_param_vstats, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {NULL, NULL, 0, 0, 0, 0, NULL} @@ -163,6 +167,9 @@ static int init(sh_video_t *sh){ #if LIBAVCODEC_BUILD >= 4628 avctx->fourcc= sh->format; #endif +#if LIBAVCODEC_BUILD >= 4629 + avctx->idct_algo= lavc_param_idct_algo; +#endif mp_dbg(MSGT_DECVIDEO,MSGL_DBG2,"libavcodec.size: %d x %d\n",avctx->width,avctx->height); if (sh->format == mmioFOURCC('R', 'V', '1', '3')) diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c index ea023dd68d..ea50094b44 100644 --- a/libmpcodecs/ve_lavc.c +++ b/libmpcodecs/ve_lavc.c @@ -86,6 +86,7 @@ static int lavc_param_rc_min_rate=0; static float lavc_param_rc_initial_cplx=0; static int lavc_param_mpeg_quant=0; static int lavc_param_fdct=0; +static int lavc_param_idct=0; #if LIBAVCODEC_BUILD >= 4623 static float lavc_param_aspect=0.0; #endif @@ -167,6 +168,9 @@ struct config lavcopts_conf[]={ #endif #if LIBAVCODEC_BUILD >= 4627 {"ildct", &lavc_param_interlaced_dct, CONF_TYPE_FLAG, 0, 0, 1, NULL}, +#endif +#if LIBAVCODEC_BUILD >= 4629 + {"idct", &lavc_param_idct, CONF_TYPE_INT, CONF_RANGE, 0, 20, NULL}, #endif {NULL, NULL, 0, 0, 0, 0, NULL} }; @@ -270,6 +274,9 @@ static int config(struct vf_instance_s* vf, #if LIBAVCODEC_BUILD >= 4621 lavc_venc_context->dct_algo= lavc_param_fdct; #endif +#if LIBAVCODEC_BUILD >= 4629 + lavc_venc_context->idct_algo= lavc_param_idct; +#endif #if LIBAVCODEC_BUILD >= 4625 lavc_venc_context->lumi_masking= lavc_param_lumi_masking;