diff options
-rw-r--r-- | DOCS/man/en/mplayer.1 | 18 | ||||
-rw-r--r-- | libmpcodecs/vd_ffmpeg.c | 7 | ||||
-rw-r--r-- | libmpcodecs/ve_lavc.c | 10 |
3 files changed, 33 insertions, 2 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 1ca0a8f9f1..2725a35ec4 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -2162,6 +2162,18 @@ debug: .br 0x1000: bugs .REss +.IPs vismv=<value> +vismv: +.RSss +.br +0: disabled +.br +1: visualize forward predicted MVs of P frames +.br +2: visualize forward predicted MVs of B frames +.br +4: visualize backward predicted MVs of B frames +.REss .IPs bug=<value> manually work around encoder bugs: .RSss @@ -4279,6 +4291,12 @@ average. .B ildct\ \ use interlaced dct .TP +.B ilme\ \ \ +use interlaced motion estimation +.TP +.B alt\ \ \ \ +use alternative scantable +.TP .B top=<-1\-1>\ \ \ .RSs .IPs -1 diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c index 3dea4d1d24..184f995f4e 100644 --- a/libmpcodecs/vd_ffmpeg.c +++ b/libmpcodecs/vd_ffmpeg.c @@ -98,6 +98,7 @@ static int lavc_param_gray=0; static int lavc_param_vstats=0; static int lavc_param_idct_algo=0; static int lavc_param_debug=0; +static int lavc_param_vismv=0; m_option_t lavc_decode_opts_conf[]={ {"bug", &lavc_param_workaround_bugs, CONF_TYPE_INT, CONF_RANGE, -1, 999999, NULL}, @@ -106,9 +107,8 @@ m_option_t lavc_decode_opts_conf[]={ {"idct", &lavc_param_idct_algo, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, {"ec", &lavc_param_error_concealment, CONF_TYPE_INT, CONF_RANGE, 0, 99, NULL}, {"vstats", &lavc_param_vstats, CONF_TYPE_FLAG, 0, 0, 1, NULL}, -#if LIBAVCODEC_BUILD >= 4642 {"debug", &lavc_param_debug, CONF_TYPE_INT, CONF_RANGE, 0, 9999999, NULL}, -#endif + {"vismv", &lavc_param_vismv, CONF_TYPE_INT, CONF_RANGE, 0, 9999999, NULL}, {NULL, NULL, 0, 0, 0, 0, NULL} }; @@ -225,6 +225,9 @@ static int init(sh_video_t *sh){ #if LIBAVCODEC_BUILD >= 4642 avctx->debug= lavc_param_debug; #endif +#if LIBAVCODEC_BUILD >= 4698 + avctx->debug_mv= lavc_param_vismv; +#endif mp_dbg(MSGT_DECVIDEO,MSGL_DBG2,"libavcodec.size: %d x %d\n",avctx->width,avctx->height); /* AVRn stores huffman table in AVI header */ /* Pegasus MJPEG stores it also in AVI header, but it uses the common diff --git a/libmpcodecs/ve_lavc.c b/libmpcodecs/ve_lavc.c index 914915cd89..bd8f2bd2ea 100644 --- a/libmpcodecs/ve_lavc.c +++ b/libmpcodecs/ve_lavc.c @@ -142,6 +142,8 @@ static int lavc_param_inter_threshold= 0; static int lavc_param_sc_threshold= 0; static int lavc_param_ss= 0; static int lavc_param_top= -1; +static int lavc_param_alt= 0; +static int lavc_param_ilme= 0; char *lavc_param_acodec = "mp2"; @@ -269,6 +271,12 @@ m_option_t lavcopts_conf[]={ #ifdef CODEC_FLAG_H263P_SLICE_STRUCT {"ss", &lavc_param_ss, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_SLICE_STRUCT, NULL}, #endif +#ifdef CODEC_FLAG_ALT_SCAN + {"alt", &lavc_param_alt, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN, NULL}, +#endif +#ifdef CODEC_FLAG_INTERLACED_ME + {"ilme", &lavc_param_ilme, CONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME, NULL}, +#endif {"inter_threshold", &lavc_param_inter_threshold, CONF_TYPE_INT, CONF_RANGE, -1000000, 1000000, NULL}, {"sc_threshold", &lavc_param_sc_threshold, CONF_TYPE_INT, CONF_RANGE, -1000000, 1000000, NULL}, {"top", &lavc_param_top, CONF_TYPE_INT, CONF_RANGE, -1, 1, NULL}, @@ -549,6 +557,8 @@ static int config(struct vf_instance_s* vf, lavc_venc_context->flags|= lavc_param_mv0; lavc_venc_context->flags|= lavc_param_qp_rd; lavc_venc_context->flags|= lavc_param_ss; + lavc_venc_context->flags|= lavc_param_alt; + lavc_venc_context->flags|= lavc_param_ilme; if(lavc_param_gray) lavc_venc_context->flags|= CODEC_FLAG_GRAY; if(lavc_param_normalize_aqp) lavc_venc_context->flags|= CODEC_FLAG_NORMALIZE_AQP; |