diff options
author | lorenm <lorenm@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-11-04 01:01:19 +0000 |
---|---|---|
committer | lorenm <lorenm@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-11-04 01:01:19 +0000 |
commit | 3c1298e0f7162d31b63608924de633e3922fa101 (patch) | |
tree | e0e44ebaa7e70118fa722ad85c1f74a41cd17e80 | |
parent | 058afda0f86065aa72c3a13b3d562f4d9e38394f (diff) | |
download | mpv-3c1298e0f7162d31b63608924de633e3922fa101.tar.bz2 mpv-3c1298e0f7162d31b63608924de633e3922fa101.tar.xz |
sync to x264 r360 (trellis)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16899 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | DOCS/man/en/mplayer.1 | 14 | ||||
-rwxr-xr-x | configure | 2 | ||||
-rw-r--r-- | libmpcodecs/ve_x264.c | 5 |
3 files changed, 20 insertions, 1 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1 index 157e3342a2..3b3454e22e 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer.1 @@ -8714,6 +8714,20 @@ Without this option, a whole macroblock must use the same reference. Requires frameref>1. . .TP +.B trellis=<0\-2> +rate-distortion optimal quantization +.PD 0 +.RSs +.IPs 0 +disabled +.IPs 1 +enabled only for the final encode (default) +.IPs 2 +enabled during all mode decisions (slow, requires subq=6) +.RE +.PD 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). @@ -6142,7 +6142,7 @@ echocheck "x264" cat > $TMPC << EOF #include <inttypes.h> #include <x264.h> -#if X264_BUILD < 37 +#if X264_BUILD < 39 #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 79f6cabb8b..bfa15b4aa0 100644 --- a/libmpcodecs/ve_x264.c +++ b/libmpcodecs/ve_x264.c @@ -102,6 +102,7 @@ static char *zones = NULL; static int subq = 5; static int me_method = 2; static int me_range = 16; +static int trellis = 1; static int threads = 1; static int level_idc = 40; static int psnr = 0; @@ -182,6 +183,7 @@ m_option_t x264encopts_conf[] = { {"subq", &subq, CONF_TYPE_INT, CONF_RANGE, 1, 6, NULL}, {"me", &me_method, CONF_TYPE_INT, CONF_RANGE, 1, 4, NULL}, {"me_range", &me_range, CONF_TYPE_INT, CONF_RANGE, 4, 64, NULL}, + {"trellis", &trellis, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL}, {"level_idc", &level_idc, CONF_TYPE_INT, CONF_RANGE, 10, 51, NULL}, {"threads", &threads, CONF_TYPE_INT, CONF_RANGE, 1, 4, NULL}, {"psnr", &psnr, CONF_TYPE_FLAG, 0, 0, 1, NULL}, @@ -289,6 +291,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width, 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.analyse.i_trellis = trellis; mod->param.i_width = width; mod->param.i_height = height; @@ -347,6 +350,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width, mod->param.analyse.i_subpel_refine = max( min( 3, subq - 1 ), 1 ); mod->param.analyse.inter &= ( ~X264_ANALYSE_PSUB8x8 ); mod->param.analyse.inter &= ( ~X264_ANALYSE_BSUB16x16 ); + mod->param.analyse.i_trellis = 0; } else if(turbo == 2) { @@ -356,6 +360,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width, mod->param.analyse.inter = 0; mod->param.analyse.b_transform_8x8 = 0; mod->param.analyse.b_weighted_bipred = 0; + mod->param.analyse.i_trellis = 0; } mod->param.rc.b_stat_write = 1; mod->param.rc.b_stat_read = 0; |