summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/mplayer.17
-rwxr-xr-xconfigure2
-rw-r--r--libmpcodecs/ve_x264.c4
3 files changed, 12 insertions, 1 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 53edc5b06b..30caba5978 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -8687,6 +8687,13 @@ Takes into account chroma information during subpixel motion search
Requires subq>=5.
.
.TP
+.B (no)mixed_refs
+Allows each 8x8 or 16x8 motion partition to independently select a
+reference frame.
+Without this option, a whole macroblock must use the same reference.
+Requires frameref>1.
+.
+.TP
.B chroma_qp_offset=<-12\-12>
Use a different quantizer for chroma as compared to luma.
Useful values are in the range <-2\-2> (default: 0).
diff --git a/configure b/configure
index 16f33296b5..788ceaa404 100755
--- a/configure
+++ b/configure
@@ -6069,7 +6069,7 @@ echocheck "x264"
cat > $TMPC << EOF
#include <inttypes.h>
#include <x264.h>
-#if X264_BUILD < 29
+#if X264_BUILD < 36
#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 2dd263d9ea..5768898dea 100644
--- a/libmpcodecs/ve_x264.c
+++ b/libmpcodecs/ve_x264.c
@@ -81,6 +81,7 @@ static int dct8 = 0;
static int direct_pred = X264_DIRECT_PRED_TEMPORAL;
static int weight_b = 0;
static int chroma_me = 1;
+static int mixed_references = 0;
static int chroma_qp_offset = 0;
static float ip_factor = 1.4;
static float pb_factor = 1.3;
@@ -150,6 +151,8 @@ m_option_t x264encopts_conf[] = {
{"noweight_b", &weight_b, CONF_TYPE_FLAG, 0, 1, 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},
+ {"nomixed_refs", &mixed_references, CONF_TYPE_FLAG, 0, 1, 0, NULL},
{"chroma_qp_offset", &chroma_qp_offset, CONF_TYPE_INT, CONF_RANGE, -12, 12, 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},
@@ -281,6 +284,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width,
mod->param.analyse.b_weighted_bipred = weight_b;
mod->param.analyse.i_chroma_qp_offset = chroma_qp_offset;
mod->param.analyse.b_chroma_me = chroma_me;
+ mod->param.analyse.b_mixed_references = mixed_references;
mod->param.i_width = width;
mod->param.i_height = height;