summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-12-30 18:24:19 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-12-30 18:24:19 +0000
commitbf3a3d36e4becf5ec1a6819a296269c0481ac2b9 (patch)
treee248d843cc7a0b3c775440ad833d2a283ef6692d
parentb00702fd6a340f4af717e0f3fe9f9a4932a39dd0 (diff)
downloadmpv-bf3a3d36e4becf5ec1a6819a296269c0481ac2b9.tar.bz2
mpv-bf3a3d36e4becf5ec1a6819a296269c0481ac2b9.tar.xz
vismv, alt, ilme options
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@11703 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--DOCS/man/en/mplayer.118
-rw-r--r--libmpcodecs/vd_ffmpeg.c7
-rw-r--r--libmpcodecs/ve_lavc.c10
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;