Align rate allocation strategy within a GOP
Avoid unintended change of the bit allocation strategy in GOP
process re-design.
The collective changes clarify the usage of first-pass stats
and other frame alignments. The compression performance is
changed:
In VBR mode, 150 frames, speed 1
Avg PSNR Overall PSNR SSIM
Lowres -0.031 -0.086 -0.234
Midres2 0.406 0.331 0.389
Ugc360p 0.084 -0.095 -0.373
Ugc480p -0.020 0.002 0.050
In Q mode, 150 frames, speed 1
Avg PSNR Overall PSNR SSIM
Lowres -0.013 -0.042. -0.056
Midres2 0.422 0.301 0.353
Ugc360p -0.121 -0.034 -0.057
Ugc480p -0.307 -0.291 -0.50
Note that ugc480p is a new test set that has not been used
as training data.
STATS_CHANGED
Change-Id: I8954b655aadd73e3985c43ce2026ce640ea6787d
diff --git a/av1/encoder/pass2_strategy.c b/av1/encoder/pass2_strategy.c
index a364ff3..94ad3d8 100644
--- a/av1/encoder/pass2_strategy.c
+++ b/av1/encoder/pass2_strategy.c
@@ -871,16 +871,6 @@
AOMMAX(1, rc->baseline_gf_interval - (rc->frames_since_key == 0));
base_frame_bits = (int)(total_group_bits / num_frames);
- if (use_arf) {
- for (; frame_index < gf_group->size; ++frame_index) {
- if (gf_group->update_type[frame_index] == ARF_UPDATE) {
- gf_group->bit_allocation[frame_index] = gf_arf_bits;
- ++frame_index;
- break;
- }
- }
- }
-
// Check the number of frames in each layer in case we have a
// non standard group length.
int max_arf_layer = gf_group->max_layer_depth - 1;