From 03c0af87478b15b0dd2cb3c069a795c7f29a6cc4 Mon Sep 17 00:00:00 2001 From: Scott LaVarnway <slavarnway@google.com> Date: Fri, 2 Nov 2012 18:03:03 -0700 Subject: [PATCH] Moved skip_true_count to macroblock struct Change-Id: Ie9a26be7c9baa54a0e43a63ed6c77f2746477a9c --- vp8/encoder/bitstream.c | 4 ++-- vp8/encoder/block.h | 1 + vp8/encoder/encodeframe.c | 6 ++++-- vp8/encoder/ethreading.c | 1 + vp8/encoder/onyx_int.h | 1 - vp8/encoder/tokenize.c | 2 +- 6 files changed, 9 insertions(+), 6 deletions(-) diff --git a/vp8/encoder/bitstream.c b/vp8/encoder/bitstream.c index cc8f4395c6..7ab6dc906a 100644 --- a/vp8/encoder/bitstream.c +++ b/vp8/encoder/bitstream.c @@ -539,7 +539,7 @@ static void pack_inter_mode_mvs(VP8_COMP *const cpi) { int total_mbs = pc->mb_rows * pc->mb_cols; - prob_skip_false = (total_mbs - cpi->skip_true_count ) * 256 / total_mbs; + prob_skip_false = (total_mbs - cpi->mb.skip_true_count ) * 256 / total_mbs; if (prob_skip_false <= 1) prob_skip_false = 1; @@ -730,7 +730,7 @@ static void write_kfmodes(VP8_COMP *cpi) { int total_mbs = c->mb_rows * c->mb_cols; - prob_skip_false = (total_mbs - cpi->skip_true_count ) * 256 / total_mbs; + prob_skip_false = (total_mbs - cpi->mb.skip_true_count ) * 256 / total_mbs; if (prob_skip_false <= 1) prob_skip_false = 1; diff --git a/vp8/encoder/block.h b/vp8/encoder/block.h index ec316ea81e..e6228ec645 100644 --- a/vp8/encoder/block.h +++ b/vp8/encoder/block.h @@ -127,6 +127,7 @@ typedef struct macroblock unsigned char need_to_clamp_best_mvs; #endif + int skip_true_count; unsigned int coef_counts [BLOCK_TYPES] [COEF_BANDS] [PREV_COEF_CONTEXTS] [MAX_ENTROPY_TOKENS]; diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c index e3e7d9dfac..d580d89c3c 100644 --- a/vp8/encoder/encodeframe.c +++ b/vp8/encoder/encodeframe.c @@ -751,7 +751,7 @@ void vp8_encode_frame(VP8_COMP *cpi) cpi->prediction_error = 0; cpi->intra_error = 0; - cpi->skip_true_count = 0; + cpi->mb.skip_true_count = 0; cpi->tok_count = 0; #if 0 @@ -869,6 +869,8 @@ void vp8_encode_frame(VP8_COMP *cpi) { totalrate += cpi->mb_row_ei[i].totalrate; + cpi->mb.skip_true_count += cpi->mb_row_ei[i].mb.skip_true_count; + /* add up counts for each thread */ sum_coef_counts(x, &cpi->mb_row_ei[i].mb); } @@ -1356,7 +1358,7 @@ int vp8cx_encode_inter_macroblock if (cpi->common.mb_no_coeff_skip) { - cpi->skip_true_count ++; + x->skip_true_count ++; vp8_fix_contexts(xd); } else diff --git a/vp8/encoder/ethreading.c b/vp8/encoder/ethreading.c index fc472486f3..9b7805e50b 100644 --- a/vp8/encoder/ethreading.c +++ b/vp8/encoder/ethreading.c @@ -473,6 +473,7 @@ void vp8cx_init_mbrthread_data(VP8_COMP *cpi, mbd->fullpixel_mask = 0xfffffff8; vp8_zero(mb->coef_counts); + mb->skip_true_count = 0; } } diff --git a/vp8/encoder/onyx_int.h b/vp8/encoder/onyx_int.h index 72d96b533c..7cea725082 100644 --- a/vp8/encoder/onyx_int.h +++ b/vp8/encoder/onyx_int.h @@ -518,7 +518,6 @@ typedef struct VP8_COMP int lf_zeromv_pct; int gf_bad_count; int gf_update_recommended; - int skip_true_count; unsigned char *segmentation_map; signed char segment_feature_data[MB_LVL_MAX][MAX_MB_SEGMENTS]; diff --git a/vp8/encoder/tokenize.c b/vp8/encoder/tokenize.c index 90463ef522..3b5268b613 100644 --- a/vp8/encoder/tokenize.c +++ b/vp8/encoder/tokenize.c @@ -396,7 +396,7 @@ void vp8_tokenize_mb(VP8_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t) else { vp8_fix_contexts(xd); - cpi->skip_true_count++; + x->skip_true_count++; } return; -- GitLab