summaryrefslogtreecommitdiff
path: root/vpxenc.c
diff options
context:
space:
mode:
authorCheng Chen <chengchen@google.com>2021-04-14 22:15:54 -0700
committerCheng Chen <chengchen@google.com>2021-04-14 22:49:51 -0700
commit665cccfd6ccbc1be2db7d550b68388679b573410 (patch)
treee7db0afd1bc34138616f1c2bb7b7631f13284e37 /vpxenc.c
parentba2bfcf2ebb41d8c50c6c567a27cc193d8a19d3f (diff)
downloadlibvpx-665cccfd6ccbc1be2db7d550b68388679b573410.tar.gz
Pass vizier rd parameter values
Add command line options for three rd parameters. They are controlled by --use_vizier_rc_params, together with other rc parameters. If not set from command line, current default values will be used. Change-Id: Ie1b9a98a50326551cc1d5940c4b637cb01a61aa0
Diffstat (limited to 'vpxenc.c')
-rw-r--r--vpxenc.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/vpxenc.c b/vpxenc.c
index c9e386a06..1a2b4a921 100644
--- a/vpxenc.c
+++ b/vpxenc.c
@@ -314,6 +314,12 @@ static const arg_def_t gf_frame_max_boost =
ARG_DEF(NULL, "gf-frame-max-boost", 1, "Golden frame max boost");
static const arg_def_t zm_factor =
ARG_DEF(NULL, "zm-factor", 1, "Zero motion power factor");
+static const arg_def_t rd_mult_inter_qp_fac =
+ ARG_DEF(NULL, "rd-mult-inter-qp-fac", 1, "RD multiplier for inter frames");
+static const arg_def_t rd_mult_arf_qp_fac =
+ ARG_DEF(NULL, "rd-mult-arf-qp-fac", 1, "RD multiplier for alt-ref frames");
+static const arg_def_t rd_mult_key_qp_fac =
+ ARG_DEF(NULL, "rd-mult-key-qp-fac", 1, "RD multiplier for key frames");
static const arg_def_t *vizier_rc_args[] = { &use_vizier_rc_params,
&active_wq_factor,
&base_err_per_mb,
@@ -327,6 +333,9 @@ static const arg_def_t *vizier_rc_args[] = { &use_vizier_rc_params,
&gf_max_total_boost,
&gf_frame_max_boost,
&zm_factor,
+ &rd_mult_inter_qp_fac,
+ &rd_mult_arf_qp_fac,
+ &rd_mult_key_qp_fac,
NULL };
#endif
@@ -1055,6 +1064,12 @@ static int parse_stream_params(struct VpxEncoderConfig *global,
config->cfg.gf_frame_max_boost = arg_parse_rational(&arg);
} else if (arg_match(&arg, &zm_factor, argi)) {
config->cfg.zm_factor = arg_parse_rational(&arg);
+ } else if (arg_match(&arg, &rd_mult_inter_qp_fac, argi)) {
+ config->cfg.rd_mult_inter_qp_fac = arg_parse_rational(&arg);
+ } else if (arg_match(&arg, &rd_mult_arf_qp_fac, argi)) {
+ config->cfg.rd_mult_arf_qp_fac = arg_parse_rational(&arg);
+ } else if (arg_match(&arg, &rd_mult_key_qp_fac, argi)) {
+ config->cfg.rd_mult_key_qp_fac = arg_parse_rational(&arg);
#endif
#if CONFIG_VP9_HIGHBITDEPTH
} else if (arg_match(&arg, &test16bitinternalarg, argi)) {