aboutsummaryrefslogtreecommitdiff
path: root/vpxenc.c
diff options
context:
space:
mode:
authorMarco <marpan@google.com>2016-10-17 14:32:28 -0700
committerMarco <marpan@google.com>2016-10-19 09:43:53 -0700
commitff38b8dfaed089cb36d651dcdc6c1fb74acab657 (patch)
tree7692c3fc912a6f484fc6d648cca22a9b4abeffa6 /vpxenc.c
parent7f31bfeddbe4a0309b2a79129c1d526ba5725864 (diff)
downloadlibvpx-ff38b8dfaed089cb36d651dcdc6c1fb74acab657.tar.gz
vp8: Add control for gf boost for 1 pass cbr.
Control already exists for vp9, adding it to vp8. Usage is only when error_resilient is off. Added a datarate unittest for non-zero boost. Change-Id: I4296055ebe2f4f048e8210f344531f6486ac9e35
Diffstat (limited to 'vpxenc.c')
-rw-r--r--vpxenc.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/vpxenc.c b/vpxenc.c
index 6e0af57a4..a0f760574 100644
--- a/vpxenc.c
+++ b/vpxenc.c
@@ -355,6 +355,8 @@ static const arg_def_t cq_level =
ARG_DEF(NULL, "cq-level", 1, "Constant/Constrained Quality level");
static const arg_def_t max_intra_rate_pct =
ARG_DEF(NULL, "max-intra-rate", 1, "Max I-frame bitrate (pct)");
+static const arg_def_t gf_cbr_boost_pct = ARG_DEF(
+ NULL, "gf-cbr-boost", 1, "Boost for Golden Frame in CBR mode (pct)");
#if CONFIG_VP8_ENCODER
static const arg_def_t cpu_used_vp8 =
@@ -363,12 +365,21 @@ static const arg_def_t token_parts =
ARG_DEF(NULL, "token-parts", 1, "Number of token partitions to use, log2");
static const arg_def_t screen_content_mode =
ARG_DEF(NULL, "screen-content-mode", 1, "Screen content mode");
-static const arg_def_t *vp8_args[] = {
- &cpu_used_vp8, &auto_altref, &noise_sens, &sharpness,
- &static_thresh, &token_parts, &arnr_maxframes, &arnr_strength,
- &arnr_type, &tune_ssim, &cq_level, &max_intra_rate_pct,
- &screen_content_mode, NULL
-};
+static const arg_def_t *vp8_args[] = { &cpu_used_vp8,
+ &auto_altref,
+ &noise_sens,
+ &sharpness,
+ &static_thresh,
+ &token_parts,
+ &arnr_maxframes,
+ &arnr_strength,
+ &arnr_type,
+ &tune_ssim,
+ &cq_level,
+ &max_intra_rate_pct,
+ &gf_cbr_boost_pct,
+ &screen_content_mode,
+ NULL };
static const int vp8_arg_ctrl_map[] = { VP8E_SET_CPUUSED,
VP8E_SET_ENABLEAUTOALTREF,
VP8E_SET_NOISE_SENSITIVITY,
@@ -381,6 +392,7 @@ static const int vp8_arg_ctrl_map[] = { VP8E_SET_CPUUSED,
VP8E_SET_TUNING,
VP8E_SET_CQ_LEVEL,
VP8E_SET_MAX_INTRA_BITRATE_PCT,
+ VP8E_SET_GF_CBR_BOOST_PCT,
VP8E_SET_SCREEN_CONTENT_MODE,
0 };
#endif
@@ -407,8 +419,6 @@ static const arg_def_t alt_ref_aq = ARG_DEF(NULL, "alt-ref-aq", 1,
static const arg_def_t frame_periodic_boost =
ARG_DEF(NULL, "frame-boost", 1,
"Enable frame periodic boost (0: off (default), 1: on)");
-static const arg_def_t gf_cbr_boost_pct = ARG_DEF(
- NULL, "gf-cbr-boost", 1, "Boost for Golden Frame in CBR mode (pct)");
static const arg_def_t max_inter_rate_pct =
ARG_DEF(NULL, "max-inter-rate", 1, "Max P-frame bitrate (pct)");
static const arg_def_t min_gf_interval = ARG_DEF(