Revert "Improved 1-pass CBR rate control"
This reverts commit b5ea2fbc2c1554769848774c836aad262af95072. Further
testing showed noticable keyframe popping in some cases, reverting this
for now to give time for a proper fix.
Conflicts:
vp8/encoder/onyx_if.c
vp8/encoder/ratectrl.c
Change-Id: I159f53d1bf0e24c035754ab3ded8ccfd58fd04af
diff --git a/vp8/encoder/ratectrl.c b/vp8/encoder/ratectrl.c
index 769c91a..46e1d9d 100644
--- a/vp8/encoder/ratectrl.c
+++ b/vp8/encoder/ratectrl.c
@@ -608,7 +608,7 @@
int min_frame_target;
int Adjustment;
- min_frame_target = 1;
+ min_frame_target = 0;
if (cpi->pass == 2)
{
@@ -617,11 +617,9 @@
if (min_frame_target < (cpi->av_per_frame_bandwidth >> 5))
min_frame_target = cpi->av_per_frame_bandwidth >> 5;
}
- else
- {
- if (min_frame_target < cpi->per_frame_bandwidth / 4)
- min_frame_target = cpi->per_frame_bandwidth / 4;
- }
+ else if (min_frame_target < cpi->per_frame_bandwidth / 4)
+ min_frame_target = cpi->per_frame_bandwidth / 4;
+
// Special alt reference frame case
if (cpi->common.refresh_alt_ref_frame)
@@ -1114,33 +1112,6 @@
}
}
-
- if (cpi->pass==0
- && cpi->common.refresh_golden_frame
- && cpi->oxcf.end_usage == USAGE_STREAM_FROM_SERVER) {
- int64_t adjust;
-
- /*
- frames_in_buffer = cpi->oxcf.maximum_buffer_size
- / cpi->av_per_frame_bandwidth;
- gf_in_buffer = frames_in_buffer /
- cpi->frames_till_gf_update_due;
- overshoot_per_gf = cpi->accumulated_overshoot / gf_in_buffer;
-
- */
-
- adjust = cpi->accumulated_overshoot;
- adjust *= cpi->frames_till_gf_update_due + 1;
- adjust *= cpi->av_per_frame_bandwidth;
- adjust /= cpi->oxcf.maximum_buffer_size;
-
- if (adjust > (cpi->this_frame_target - min_frame_target))
- adjust = (cpi->this_frame_target - min_frame_target);
- else if (adjust < 0)
- adjust = 0;
-
- cpi->this_frame_target -= adjust;
- }
}