changeset 14759:8c1d40548612

Sync to x264 r134: weighted prediction for B-frames.
author lorenm
date Tue, 22 Feb 2005 05:50:10 +0000
parents 94456deb0624
children eed290f1e53b
files DOCS/man/en/mplayer.1 configure libmpcodecs/ve_x264.c
diffstat 3 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/man/en/mplayer.1	Tue Feb 22 02:12:58 2005 +0000
+++ b/DOCS/man/en/mplayer.1	Tue Feb 22 05:50:10 2005 +0000
@@ -7463,6 +7463,15 @@
 direct_pred=0 is usually both slower and lower quality.
 .
 .TP
+.B (no)weight_b
+Use weighted prediction in B-frames.
+Without this option, bidirectionally predicted macroblocks give
+equal weight to each reference frame.
+With this option, the weights are determined by the temporal position
+of the B-frame relative to the references.
+Requires bframes > 1.
+.
+.TP
 .B (no)b8x8mv
 Use additional macroblock types b16x8, b8x16, b8x8 (default: enabled).
 Without this option, B-frames will use only types
--- a/configure	Tue Feb 22 02:12:58 2005 +0000
+++ b/configure	Tue Feb 22 05:50:10 2005 +0000
@@ -5906,7 +5906,7 @@
 #include <stdint.h>
 #include <stdarg.h>
 #include <x264.h>
-#if X264_BUILD < 0x0011
+#if X264_BUILD < 0x0012
 #error We do not support old versions of x264. Get the latest from SVN.
 #endif
 int main(void) { x264_encoder_open((void*)0); return 0; }
--- a/libmpcodecs/ve_x264.c	Tue Feb 22 02:12:58 2005 +0000
+++ b/libmpcodecs/ve_x264.c	Tue Feb 22 05:50:10 2005 +0000
@@ -74,6 +74,7 @@
 static int p8x8mv = 1;
 static int b8x8mv = 1;
 static int direct_pred = X264_DIRECT_PRED_TEMPORAL;
+static int weight_b = 0;
 static float ip_factor = 1.4;
 static float pb_factor = 1.3;
 static int rc_buffer_size = -1;
@@ -114,6 +115,8 @@
     {"b8x8mv", &b8x8mv, CONF_TYPE_FLAG, 0, 0, 1, NULL},
     {"nob8x8mv", &b8x8mv, CONF_TYPE_FLAG, 0, 1, 0, NULL},
     {"direct_pred", &direct_pred, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
+    {"weight_b", &weight_b, CONF_TYPE_FLAG, 0, 0, 1, NULL},
+    {"noweight_b", &weight_b, CONF_TYPE_FLAG, 0, 1, 0, NULL},
     {"ip_factor", &ip_factor, CONF_TYPE_FLOAT, CONF_RANGE, -10.0, 10.0, NULL},
     {"pb_factor", &pb_factor, CONF_TYPE_FLOAT, CONF_RANGE, -10.0, 10.0, NULL},
     {"rc_buffer_size", &rc_buffer_size, CONF_TYPE_INT, CONF_RANGE, 0, 24000000, NULL},
@@ -215,6 +218,7 @@
     if(b8x8mv)
         mod->param.analyse.inter |= X264_ANALYSE_BSUB16x16;
     mod->param.analyse.i_direct_mv_pred = direct_pred;
+    mod->param.analyse.b_weighted_bipred = weight_b;
 
     mod->param.i_width = width;
     mod->param.i_height = height;