[MPlayer-dev-eng] [PATCH] ve_xvid4.c catching up with xvid 1.0.0 beta3
Edouard Gomez
ed.gomez at free.fr
Sat Jan 3 18:00:52 CET 2004
Hey,
Please apply the attached patch to sync mencoder's default settings and
options with recommened values for xvid 1.0.0 beta3 release.
2004-01-03 16:26:10 GMT patch-1
Summary:
Catching up with 1.0.0 Beta3 release.
Revision:
mplayer-xvidmodule--devapi4--1.0--patch-1
* Added ME turbo flag (called "turbo").
* Modified user defaults to saner values
- less hurting overflow feedback.
- packed bitstream by default to avoid bframe lag.
- 2 bframes by default.
- chroma_me by default.
* Updated arch tag in ChangeLog to match new archive.
new files:
ChangeLog
removed files:
ChangeLog
modified files:
ve_xvid4.c
--
Edouard Gomez
-------------- next part --------------
Index: libmpcodecs/ve_xvid4.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpcodecs/ve_xvid4.c,v
retrieving revision 1.3
diff -u -r1.3 ve_xvid4.c
--- libmpcodecs/ve_xvid4.c 8 Dec 2003 16:56:46 -0000 1.3
+++ libmpcodecs/ve_xvid4.c 3 Jan 2004 16:37:16 -0000
@@ -67,7 +67,7 @@
static int xvidenc_pass = 0;
static float xvidenc_quantizer = 0;
-static int xvidenc_packed = 0;
+static int xvidenc_packed = 1;
static int xvidenc_closed_gop = 1;
static int xvidenc_interlaced = 0;
static int xvidenc_quarterpel = 0;
@@ -75,15 +75,16 @@
static int xvidenc_trellis = 0;
static int xvidenc_cartoon = 0;
static int xvidenc_hqacpred = 1;
-static int xvidenc_chromame = 0;
-static int xvidenc_vhq = 0;
+static int xvidenc_chromame = 1;
+static int xvidenc_vhq = 1;
static int xvidenc_motion = 6;
+static int xvidenc_turbo = 0;
static int xvidenc_stats = 0;
-static int xvidenc_max_key_interval = 0;
+static int xvidenc_max_key_interval = 0; /* Let xvidcore set a 10s interval by default */
static int xvidenc_frame_drop_ratio = 0;
static int xvidenc_greyscale = 0;
-static int xvidenc_max_bframes = 0;
+static int xvidenc_max_bframes = 2;
static int xvidenc_bquant_ratio = 150;
static int xvidenc_bquant_offset = 100;
static int xvidenc_bframe_threshold = 0;
@@ -99,14 +100,14 @@
static int xvidenc_cbr_buffer = 0;
static int xvidenc_vbr_keyframe_boost = 0;
-static int xvidenc_vbr_overflow_control_strength = 0;
+static int xvidenc_vbr_overflow_control_strength = 5;
static int xvidenc_vbr_curve_compression_high = 0;
static int xvidenc_vbr_curve_compression_low = 0;
-static int xvidenc_vbr_max_overflow_improvement = 0;
-static int xvidenc_vbr_max_overflow_degradation = 0;
+static int xvidenc_vbr_max_overflow_improvement = 5;
+static int xvidenc_vbr_max_overflow_degradation = 5;
static int xvidenc_vbr_kfreduction = 0;
static int xvidenc_vbr_kfthreshold = 0;
-static int xvidenc_vbr_container_frame_overhead = 0;
+static int xvidenc_vbr_container_frame_overhead = 24; /* mencoder uses AVI container */
static char *xvidenc_par = NULL;
static int xvidenc_par_width = 0;
@@ -139,6 +140,7 @@
{"frame_drop_ratio", &xvidenc_frame_drop_ratio, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL},
{"max_key_interval", &xvidenc_max_key_interval, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
{"greyscale", &xvidenc_greyscale, CONF_TYPE_FLAG, 0, 0, 1, NULL},
+ {"turbo", &xvidenc_turbo, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"stats", &xvidenc_stats, CONF_TYPE_FLAG, 0, 0, 1, NULL},
@@ -674,6 +676,13 @@
if(xvidenc_vhq >= 4) {
frame->motion |= XVID_ME_EXTSEARCH_RD;
}
+ if(xvidenc_turbo) {
+ frame->motion |= XVID_ME_FASTREFINE16;
+ frame->motion |= XVID_ME_FASTREFINE8;
+ frame->motion |= XVID_ME_SKIP_DELTASEARCH;
+ frame->motion |= XVID_ME_FAST_MODEINTERPOLATE;
+ frame->motion |= XVID_ME_BFRAME_EARLYSTOP;
+ }
/* motion level == 0 means no motion search which is equivalent to
* intra coding only */
More information about the MPlayer-dev-eng
mailing list