summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/mplayer.18
-rwxr-xr-xconfigure2
-rw-r--r--libmpcodecs/ve_x264.c3
3 files changed, 12 insertions, 1 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index bc5cac6a84..fb2152e252 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -7523,6 +7523,14 @@ In the above, "all candidates" doesn't exactly mean all enabled types:
4x4, 4x8, 8x4 are tried only if 8x8 is better than 16x16.
.
.TP
+.B level_idc=<10\-51>
+Set the bitstream's Level as defined by Annex A of the H.264 standard.
+This is used for telling the decoder what capabilities it needs to
+support. Use this parameter only if you know what it means, and you
+have a need to set it.
+Default: 40 (Level 4.0)
+.
+.TP
.B log=<-1\-3>
Adjust the amount of logging info printed to the screen.
.RSs
diff --git a/configure b/configure
index d90aec7fdf..3c6b3f9036 100755
--- a/configure
+++ b/configure
@@ -5906,7 +5906,7 @@ cat > $TMPC << EOF
#include <stdint.h>
#include <stdarg.h>
#include <x264.h>
-#if X264_BUILD < 0x0010
+#if X264_BUILD < 0x0011
#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 674f4ba8a3..9677eca343 100644
--- a/libmpcodecs/ve_x264.c
+++ b/libmpcodecs/ve_x264.c
@@ -88,6 +88,7 @@ static float qblur = 0.5;
static float complexity_blur = 20;
static char *rc_eq = "blurCplx^(1-qComp)";
static int subq = 5;
+static int level_idc = 40;
static int psnr = 0;
static int log_level = 2;
@@ -127,6 +128,7 @@ m_option_t x264encopts_conf[] = {
{"qblur", &qblur, CONF_TYPE_FLOAT, CONF_RANGE, 0, 99, NULL},
{"cplx_blur", &complexity_blur, CONF_TYPE_FLOAT, CONF_RANGE, 0, 999, NULL},
{"subq", &subq, CONF_TYPE_INT, CONF_RANGE, 1, 5, NULL},
+ {"level_idc", &level_idc, CONF_TYPE_INT, CONF_RANGE, 10, 51, NULL},
{"psnr", &psnr, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"nopsnr", &psnr, CONF_TYPE_FLAG, 0, 1, 0, NULL},
{"log", &log_level, CONF_TYPE_INT, CONF_RANGE, -1, 3, NULL},
@@ -218,6 +220,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width,
mod->param.i_height = height;
mod->param.i_fps_num = mod->mux->h.dwRate;
mod->param.i_fps_den = mod->mux->h.dwScale;
+ mod->param.i_level_idc = level_idc;
mod->param.analyse.b_psnr = psnr;
mod->param.i_log_level = log_level;
mod->param.vui.i_sar_width = d_width*height;