summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2018-08-22 10:16:46 -0700
committerJingning Han <jingning@google.com>2018-08-22 15:09:18 -0700
commitaab1b2912bcab60aa1427e52d8c49da249fc96ca (patch)
tree0959d73c582ff69e66014b88b508689bc7bcc7d4
parentfe47e829298a7f7c44749164a480ff7dcdf07ea5 (diff)
downloadlibvpx-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.c19
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);
}
}