ref: 3f2b254c38030d86dd6c4bda6a688397aa2b804f
parent: 1cf31428ff9ee3ac7c9b63685132369fb33b50b2
parent: a4c0b3531ef6dab7421efb87916fdeb8a5135895
author: Adrian Grange <[email protected]>
date: Wed Apr 17 10:50:39 EDT 2013
Merge "Make alt_extra_bits a local variable" into experimental
--- a/vp9/encoder/vp9_firstpass.c
+++ b/vp9/encoder/vp9_firstpass.c
@@ -1980,7 +1980,7 @@
// This condition could fail if there are two kfs very close together
// despite (MIN_GF_INTERVAL) and would cause a divide by 0 in the
- // calculation of cpi->twopass.alt_extra_bits.
+ // calculation of alt_extra_bits.
if (cpi->baseline_gf_interval >= 3) {
int boost = (cpi->source_alt_ref_pending)
? b_boost : cpi->gfu_boost;
@@ -1987,20 +1987,15 @@
if (boost >= 150) {
int pct_extra;
+ int alt_extra_bits;
pct_extra = (boost - 100) / 50;
pct_extra = (pct_extra > 20) ? 20 : pct_extra;
- // TODO(agrange) Remove cpi->twopass.alt_extra_bits.
- cpi->twopass.alt_extra_bits = (int)
- ((cpi->twopass.gf_group_bits * pct_extra) / 100);
- cpi->twopass.gf_group_bits -= cpi->twopass.alt_extra_bits;
- cpi->twopass.alt_extra_bits /=
- ((cpi->baseline_gf_interval - 1) >> 1);
- } else
- cpi->twopass.alt_extra_bits = 0;
- } else
- cpi->twopass.alt_extra_bits = 0;
+ alt_extra_bits = (int)((cpi->twopass.gf_group_bits * pct_extra) / 100);
+ cpi->twopass.gf_group_bits -= alt_extra_bits;
+ }
+ }
}
if (cpi->common.frame_type != KEY_FRAME) {