diff options
author | lorenm <lorenm@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-05-05 17:10:16 +0000 |
---|---|---|
committer | lorenm <lorenm@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2005-05-05 17:10:16 +0000 |
commit | 7bbd20a293e20e146c431820d48e9acf4aecdc95 (patch) | |
tree | d61a485360920c08bc2beef3b69b3cc0af7eee01 /libmpcodecs | |
parent | 64e88c0501c955985255c38f253e235108acc644 (diff) |
expose x264 options 'me' and 'me_range'.
patch by Guillaume Poirier.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15353 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/ve_x264.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libmpcodecs/ve_x264.c b/libmpcodecs/ve_x264.c index 88de7c88bf..5bbe5c2155 100644 --- a/libmpcodecs/ve_x264.c +++ b/libmpcodecs/ve_x264.c @@ -93,6 +93,8 @@ static float qblur = 0.5; static float complexity_blur = 20; static char *rc_eq = "blurCplx^(1-qComp)"; static int subq = 5; +static int me_method = 2; +static int me_range = 16; static int level_idc = 40; static int psnr = 0; static int log_level = 2; @@ -142,6 +144,8 @@ 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}, + {"me", &me_method, CONF_TYPE_INT, CONF_RANGE, 1, 3, NULL}, + {"me_range", &me_range, CONF_TYPE_INT, CONF_RANGE, 4, 64, 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}, @@ -225,6 +229,12 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width, } mod->param.rc.f_ip_factor = ip_factor; mod->param.rc.f_pb_factor = pb_factor; + switch(me_method) { + case 1: mod->param.analyse.i_me_method = X264_ME_DIA; break; + case 2: mod->param.analyse.i_me_method = X264_ME_HEX; break; + case 3: mod->param.analyse.i_me_method = X264_ME_ESA; + mod->param.analyse.i_me_range = me_range; break; + } mod->param.analyse.inter = X264_ANALYSE_I4x4; if(p4x4mv) mod->param.analyse.inter |= X264_ANALYSE_PSUB8x8; |