summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/mplayer.16
-rwxr-xr-xconfigure2
-rw-r--r--libmpcodecs/ve_x264.c4
3 files changed, 11 insertions, 1 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index b484fc9228..82123244d0 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -8859,6 +8859,12 @@ Enables rate-distortion optimization of macroblock types in B-frames.
Requires subq=6.
.
.TP
+.B (no)bime
+Refine the two motion vectors used in bidirectional macroblocks,
+rather than re-using vectors from the forward and backward searches.
+This option has no effect without B-frames.
+.
+.TP
.B trellis=<0\-2>
rate-distortion optimal quantization
.PD 0
diff --git a/configure b/configure
index 7127244cf0..9ef6a0ef17 100755
--- a/configure
+++ b/configure
@@ -6265,7 +6265,7 @@ echocheck "x264"
cat > $TMPC << EOF
#include <inttypes.h>
#include <x264.h>
-#if X264_BUILD < 40
+#if X264_BUILD < 43
#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; }
diff --git a/libmpcodecs/ve_x264.c b/libmpcodecs/ve_x264.c
index 3fd6d77eb0..e2c68d9282 100644
--- a/libmpcodecs/ve_x264.c
+++ b/libmpcodecs/ve_x264.c
@@ -101,6 +101,7 @@ static char *rc_eq = "blurCplx^(1-qComp)";
static char *zones = NULL;
static int subq = 5;
static int bframe_rdo = 0;
+static int bidir_me = 0;
static int me_method = 2;
static int me_range = 16;
static int trellis = 1;
@@ -154,6 +155,8 @@ m_option_t x264encopts_conf[] = {
{"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},
+ {"bime", &bidir_me, CONF_TYPE_FLAG, 0, 0, 1, NULL},
+ {"nobime", &bidir_me, CONF_TYPE_FLAG, 0, 0, 0, NULL},
{"chroma_me", &chroma_me, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"nochroma_me", &chroma_me, CONF_TYPE_FLAG, 0, 1, 0, NULL},
{"mixed_refs", &mixed_references, CONF_TYPE_FLAG, 0, 0, 1, NULL},
@@ -292,6 +295,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width,
mod->param.analyse.i_direct_mv_pred = direct_pred;
mod->param.analyse.b_weighted_bipred = weight_b;
mod->param.analyse.i_chroma_qp_offset = chroma_qp_offset;
+ mod->param.analyse.b_bidir_me = bidir_me;
mod->param.analyse.b_chroma_me = chroma_me;
mod->param.analyse.b_mixed_references = mixed_references;
mod->param.analyse.i_trellis = trellis;