[MPlayer-dev-eng] [PATCH] ve_xvid4.c catching up with xvid 1.0.0 beta3

Nico nsabbi at tiscali.it
Sat Jan 3 18:06:40 CET 2004


Few days ago I posted this patch to enable chroma_opt and aspect (DAR):
http://mplayerhq.hu/pipermail/mplayer-dev-eng/2003-December/023061.html
can you please review it and eventually merge the two, please?
Thanks,
       Nico

Edouard Gomez wrote:

>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
>
>  
>
>------------------------------------------------------------------------
>
>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 */
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>MPlayer-dev-eng mailing list
>MPlayer-dev-eng at mplayerhq.hu
>http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>  
>




More information about the MPlayer-dev-eng mailing list