diff options
author | Jingning Han <jingning@google.com> | 2018-08-22 10:16:46 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2018-08-22 15:09:18 -0700 |
commit | aab1b2912bcab60aa1427e52d8c49da249fc96ca (patch) | |
tree | 0959d73c582ff69e66014b88b508689bc7bcc7d4 | |
parent | fe47e829298a7f7c44749164a480ff7dcdf07ea5 (diff) | |
download | libvpx-aab1b2912bcab60aa1427e52d8c49da249fc96ca.tar libvpx-aab1b2912bcab60aa1427e52d8c49da249fc96ca.tar.gz libvpx-aab1b2912bcab60aa1427e52d8c49da249fc96ca.tar.bz2 libvpx-aab1b2912bcab60aa1427e52d8c49da249fc96ca.zip |
Refactor encoder frame count update
This refactoring allows the encoder to skip frame count update in
the show_existing_frame mode.
Change-Id: Id69707976ccdad144cba93a8f5d36b6947611f91
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c index 3207b1457..2a88e55d9 100644 --- a/vp9/encoder/vp9_encoder.c +++ b/vp9/encoder/vp9_encoder.c @@ -4913,17 +4913,18 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi, size_t *size, } vp9_update_reference_frames(cpi); - for (t = TX_4X4; t <= TX_32X32; t++) - full_to_model_counts(cpi->td.counts->coef[t], - cpi->td.rd_counts.coef_counts[t]); - - if (!cm->error_resilient_mode && !cm->frame_parallel_decoding_mode) - vp9_adapt_coef_probs(cm); + if (!cm->show_existing_frame) { + for (t = TX_4X4; t <= TX_32X32; ++t) { + full_to_model_counts(cpi->td.counts->coef[t], + cpi->td.rd_counts.coef_counts[t]); + } - if (!frame_is_intra_only(cm)) { if (!cm->error_resilient_mode && !cm->frame_parallel_decoding_mode) { - vp9_adapt_mode_probs(cm); - vp9_adapt_mv_probs(cm, cm->allow_high_precision_mv); + if (!frame_is_intra_only(cm)) { + vp9_adapt_mode_probs(cm); + vp9_adapt_mv_probs(cm, cm->allow_high_precision_mv); + } + vp9_adapt_coef_probs(cm); } } |