summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_firstpass.c
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2021-03-09 15:11:41 +0000
committerPaul Wilkins <paulwilkins@google.com>2021-03-10 14:41:40 +0000
commitcbc4ead58691c899262513025a83f03f5932e50e (patch)
treeffb1b7261d180f4e80d4f3e5bae98e4fefb053a8 /vp9/encoder/vp9_firstpass.c
parent8851ed5787b6e30b1f212b171da6cbaa9778a799 (diff)
downloadlibvpx-cbc4ead58691c899262513025a83f03f5932e50e.tar
libvpx-cbc4ead58691c899262513025a83f03f5932e50e.tar.gz
libvpx-cbc4ead58691c899262513025a83f03f5932e50e.tar.bz2
libvpx-cbc4ead58691c899262513025a83f03f5932e50e.zip
Vizer: Added in experimental max KF boost values.
Added the experimental max per frame KF boost values derived from the Vizier experiments. These are still all off by default. When enabled I expect these to cause significant regression as they fluctuate wildly and in a way that makes no sense from format to format. I suspect these values reflect over fitting perhaps from a subset of training clips with more frequent mid chunk key frames and or short key frame groups. Also fixed incorrect value for gf boost for one format. Experiment to moderate these values and use different values for first and subsequent KF groups to follow. Change-Id: Ibeb4268957f2edacdb4549d74930255a22a2fcc5
Diffstat (limited to 'vp9/encoder/vp9_firstpass.c')
-rw-r--r--vp9/encoder/vp9_firstpass.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/vp9/encoder/vp9_firstpass.c b/vp9/encoder/vp9_firstpass.c
index d1044d781..8c771c7ff 100644
--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -3520,7 +3520,7 @@ static void init_vizier_params(TWO_PASS *const twopass, int screen_area) {
twopass->gf_max_total_boost = MAX_GF_BOOST;
twopass->kf_err_per_mb = 1854.8255436877148;
twopass->kf_frame_min_boost = KF_MIN_FRAME_BOOST;
- twopass->kf_frame_max_boost_first = KF_MAX_FRAME_BOOST;
+ twopass->kf_frame_max_boost_first = 25.5;
twopass->kf_frame_max_boost_subs = twopass->kf_frame_max_boost_first;
twopass->kf_max_total_boost = MAX_KF_TOT_BOOST;
twopass->zm_power_factor = 2.93715229184991;
@@ -3533,7 +3533,7 @@ static void init_vizier_params(TWO_PASS *const twopass, int screen_area) {
twopass->gf_max_total_boost = MAX_GF_BOOST;
twopass->kf_err_per_mb = 723.8337508755031;
twopass->kf_frame_min_boost = KF_MIN_FRAME_BOOST;
- twopass->kf_frame_max_boost_first = KF_MAX_FRAME_BOOST;
+ twopass->kf_frame_max_boost_first = 185.0;
twopass->kf_frame_max_boost_subs = twopass->kf_frame_max_boost_first;
twopass->kf_max_total_boost = MAX_KF_TOT_BOOST;
twopass->zm_power_factor = 3.5299221493593413;
@@ -3546,7 +3546,7 @@ static void init_vizier_params(TWO_PASS *const twopass, int screen_area) {
twopass->gf_max_total_boost = MAX_GF_BOOST;
twopass->kf_err_per_mb = 422.2871502380377;
twopass->kf_frame_min_boost = KF_MIN_FRAME_BOOST;
- twopass->kf_frame_max_boost_first = KF_MAX_FRAME_BOOST;
+ twopass->kf_frame_max_boost_first = 224.5;
twopass->kf_frame_max_boost_subs = twopass->kf_frame_max_boost_first;
twopass->kf_max_total_boost = MAX_KF_TOT_BOOST;
twopass->zm_power_factor = 2.265742666649307;
@@ -3559,7 +3559,7 @@ static void init_vizier_params(TWO_PASS *const twopass, int screen_area) {
twopass->gf_max_total_boost = MAX_GF_BOOST;
twopass->kf_err_per_mb = 1513.4883914008383;
twopass->kf_frame_min_boost = KF_MIN_FRAME_BOOST;
- twopass->kf_frame_max_boost_first = KF_MAX_FRAME_BOOST;
+ twopass->kf_frame_max_boost_first = 28.0;
twopass->kf_frame_max_boost_subs = twopass->kf_frame_max_boost_first;
twopass->kf_max_total_boost = MAX_KF_TOT_BOOST;
twopass->zm_power_factor = 3.552278528517416;
@@ -3568,11 +3568,11 @@ static void init_vizier_params(TWO_PASS *const twopass, int screen_area) {
twopass->base_err_per_mb = 29527.46375825401;
twopass->sr_default_decay_limit = 0.5009117586299728;
twopass->sr_diff_part = 0.005007364627260114;
- twopass->gf_frame_max_boost = GF_MAX_FRAME_BOOST;
+ twopass->gf_frame_max_boost = 81.00472969483079;
twopass->gf_max_total_boost = MAX_GF_BOOST;
twopass->kf_err_per_mb = 998.6342911785146;
twopass->kf_frame_min_boost = KF_MIN_FRAME_BOOST;
- twopass->kf_frame_max_boost_first = KF_MAX_FRAME_BOOST;
+ twopass->kf_frame_max_boost_first = 53.0;
twopass->kf_frame_max_boost_subs = twopass->kf_frame_max_boost_first;
twopass->kf_max_total_boost = MAX_KF_TOT_BOOST;
twopass->zm_power_factor = 2.568627575572356;
@@ -3581,11 +3581,11 @@ static void init_vizier_params(TWO_PASS *const twopass, int screen_area) {
twopass->base_err_per_mb = 34474.723463367416;
twopass->sr_default_decay_limit = 0.23346886902707745;
twopass->sr_diff_part = 0.011431716637966029;
- twopass->gf_frame_max_boost = 81.00472969483079;
+ twopass->gf_frame_max_boost = 213.2940230360479;
twopass->gf_max_total_boost = MAX_GF_BOOST;
twopass->kf_err_per_mb = 35931.25734431429;
twopass->kf_frame_min_boost = KF_MIN_FRAME_BOOST;
- twopass->kf_frame_max_boost_first = KF_MAX_FRAME_BOOST;
+ twopass->kf_frame_max_boost_first = 419.5;
twopass->kf_frame_max_boost_subs = twopass->kf_frame_max_boost_first;
twopass->kf_max_total_boost = MAX_KF_TOT_BOOST;
twopass->zm_power_factor = 5.5776463538431935;