add support for subpel quality refinement option in x264.

patch by Jeff Clagg


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13432 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
iive 2004-09-22 10:26:22 +00:00
parent 521d2d5f46
commit 295d8be1cb
2 changed files with 23 additions and 1 deletions

View File

@ -6832,7 +6832,7 @@ Enable 2-pass mode.
The first pass saves statistics.
.
.TP
.B qcompress=<0\-1>
.B qcomp=<0\-1>
quantizer compression (default: 0.6).
This affects the ratecontrol: a lower value makes the
bitrate more constant, while a higher value makes the quantization parameter
@ -6868,6 +6868,25 @@ Adjust the amount of logging info printed to the screen.
.REss
.
.TP
.B subq=<0\-5>
Adjust subpel refinement quality.
This parameter controls quality versus speed tradeoffs involved in the motion
estimation decision process.
.RSs
0: halfpel only
.br
1: 1 iteration of qpel on the winning candidate (default)
.br
2: 2 iterations of qpel on the winning candidate
.br
3: halfpel on all MB types, qpel on the winner
.br
4: qpel on all
.br
5: more iterations of qpel
.REss
.
.TP
.B psnr\ \ \
Print signal-to-noise ratio statistics.
.

View File

@ -82,6 +82,7 @@ static int pass = 0;
static float qcomp = 0.6;
static float qblur = 0.5;
static char *rc_eq = "(tex^qComp)*(avgTex^(1-qComp))";
static int subq = 1;
static int psnr = 0;
static int log_level = 2;
@ -110,6 +111,7 @@ m_option_t x264encopts_conf[] = {
{"rc_eq", &rc_eq, CONF_TYPE_STRING, 0, 0, 0, NULL},
{"qcomp", &qcomp, CONF_TYPE_FLOAT, CONF_RANGE, 0, 1, NULL},
{"qblur", &qblur, CONF_TYPE_FLOAT, CONF_RANGE, 0, 99, NULL},
{"subq", &subq, CONF_TYPE_INT, CONF_RANGE, 0, 5, NULL},
{"psnr", &psnr, CONF_TYPE_FLAG, 0, 0, 1, NULL},
{"log", &log_level, CONF_TYPE_INT, CONF_RANGE, -1, 3, NULL},
{NULL, NULL, 0, 0, 0, 0, NULL}
@ -144,6 +146,7 @@ static int config(struct vf_instance_s* vf, int width, int height, int d_width,
mod->param.rc.psz_rc_eq = rc_eq;
mod->param.rc.f_qcompress = qcomp;
mod->param.rc.f_qblur = qblur;
mod->param.analyse.i_subpel_refine = subq;
mod->param.rc.psz_stat_out = passtmpfile;
mod->param.rc.psz_stat_in = passtmpfile;
if((pass & 2) && bitrate <= 0)