diff options
Diffstat (limited to 'libmpcodecs/vd_ffmpeg.c')
-rw-r--r-- | libmpcodecs/vd_ffmpeg.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index c1881b3507..efcfbc7ba6 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -56,8 +56,13 @@ typedef struct { static void get_buffer(struct AVCodecContext *avctx, int width, int height, int pict_type); -static int lavc_param_workaround_bugs=0; -static int lavc_param_error_resilience=-1; +#ifdef FF_BUG_AUTODETECT +static int lavc_param_workaround_bugs= FF_BUG_AUTODETECT; +#else +static int lavc_param_workaround_bugs= 0; +#endif +static int lavc_param_error_resilience=2; +static int lavc_param_error_concealment=3; static int lavc_param_gray=0; static int lavc_param_vstats=0; static int lavc_param_idct_algo=0; @@ -65,7 +70,7 @@ 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, -1, 99, NULL}, - {"ver", &lavc_param_error_resilience, CONF_TYPE_INT, CONF_RANGE, -1, 99, NULL}, + {"er", &lavc_param_error_resilience, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, #endif #if LIBAVCODEC_BUILD >= 4614 {"gray", &lavc_param_gray, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART, NULL}, @@ -73,6 +78,9 @@ struct config lavc_decode_opts_conf[]={ #if LIBAVCODEC_BUILD >= 4629 {"idct", &lavc_param_idct_algo, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, #endif +#if LIBAVCODEC_BUILD >= 4631 + {"ec", &lavc_param_error_concealment, 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} }; @@ -170,6 +178,9 @@ static int init(sh_video_t *sh){ #if LIBAVCODEC_BUILD >= 4629 avctx->idct_algo= lavc_param_idct_algo; #endif +#if LIBAVCODEC_BUILD >= 4631 + avctx->error_concealment= lavc_param_error_concealment; +#endif mp_dbg(MSGT_DECVIDEO,MSGL_DBG2,"libavcodec.size: %d x %d\n",avctx->width,avctx->height); #if LIBAVCODEC_BUILD >= 4605 |