h->param.analyse.i_subpel_refine = x264_clip3( h->param.analyse.i_subpel_refine, 1, 5 );
if( h->param.analyse.inter & X264_ANALYSE_PSUB8x8 )
h->param.analyse.inter |= X264_ANALYSE_PSUB16x16;
+ h->param.analyse.i_chroma_qp_offset = x264_clip3(h->param.analyse.i_chroma_qp_offset, -12, 12);
if( h->param.rc.f_qblur < 0 )
h->param.rc.f_qblur = 0;
" --rcinitbuf <integer> Initial VBV buffer occupancy [%d]\n"
" --ipratio <float> QP factor between I and P [%.2f]\n"
" --pbratio <float> QP factor between P and B [%.2f]\n"
+ " --chroma-qp-offset <integer> QP difference between chroma and luma [%d]\n"
"\n"
" -p, --pass <1|2> Enable 2 pass ratecontrol\n"
" --stats <string> Filename for 2 pass stats [\"%s\"]\n"
defaults->rc.i_rc_init_buffer,
defaults->rc.f_ip_factor,
defaults->rc.f_pb_factor,
+ defaults->analyse.i_chroma_qp_offset,
defaults->rc.psz_stat_out,
defaults->rc.psz_rc_eq,
defaults->rc.f_qcompress,
#define OPT_NOBADAPT 277
#define OPT_BBIAS 278
#define OPT_BPYRAMID 279
+#define OPT_CHROMA_QP 280
static struct option long_options[] =
{
{ "rcinitbuf",required_argument,NULL, OPT_RCIBUF },
{ "ipratio", required_argument, NULL, OPT_IPRATIO },
{ "pbratio", required_argument, NULL, OPT_PBRATIO },
+ { "chroma-qp-offset", required_argument, NULL, OPT_CHROMA_QP },
{ "pass", required_argument, NULL, 'p' },
{ "stats", required_argument, NULL, OPT_RCSTATS },
{ "rceq", required_argument, NULL, OPT_RCEQ },
case OPT_PBRATIO:
param->rc.f_pb_factor = atof(optarg);
break;
+ case OPT_CHROMA_QP:
+ param->analyse.i_chroma_qp_offset = atoi(optarg);
+ break;
case 'p':
{
int i_pass = atoi(optarg);