diff options
author | Marco <marpan@google.com> | 2015-03-05 17:26:52 -0800 |
---|---|---|
committer | Marco <marpan@google.com> | 2015-03-10 10:54:00 -0700 |
commit | fb31aa09e245bdc24ebee252b5acf4093bc9213b (patch) | |
tree | a51cb163803f316aee090449f1f3a3b776deef51 /vp9/encoder/vp9_encoder.c | |
parent | 78df71221656b0a0d37bff6c16efd743347fa30d (diff) | |
download | libvpx-fb31aa09e245bdc24ebee252b5acf4093bc9213b.tar libvpx-fb31aa09e245bdc24ebee252b5acf4093bc9213b.tar.gz libvpx-fb31aa09e245bdc24ebee252b5acf4093bc9213b.tar.bz2 libvpx-fb31aa09e245bdc24ebee252b5acf4093bc9213b.zip |
Modify update golden reference update under aq-mode=3 mode.
For non-SVC 1 pass CBR: make the GF update interval a multiple of the
cyclic refresh period, and use encoding stats to prevent GF update at certain times.
Change-Id: I4c44cacc2f70f1d27391a47644837e1eaa065017
Diffstat (limited to 'vp9/encoder/vp9_encoder.c')
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index 249c2363d..32bf88061 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -2843,6 +2843,14 @@ static void encode_without_recode_loop(VP9_COMP *cpi) { // transform / motion compensation build reconstruction frame vp9_encode_frame(cpi); + // Update some stats from cyclic refresh, and check if we should not update + // golden reference, for non-SVC 1 pass CBR. + if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && + cm->frame_type != KEY_FRAME && + !cpi->use_svc && + (cpi->oxcf.pass == 0 && cpi->oxcf.rc_mode == VPX_CBR)) + vp9_cyclic_refresh_check_golden_update(cpi); + // Update the skip mb flag probabilities based on the distribution // seen in the last encoder iteration. // update_base_skip_probs(cpi); @@ -3220,7 +3228,6 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, TX_SIZE t; set_ext_overrides(cpi); - vp9_clear_system_state(); // Set the arf sign bias for this frame. |