summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vp8/encoder/bitstream.c4
-rw-r--r--vp8/encoder/block.h1
-rw-r--r--vp8/encoder/encodeframe.c6
-rw-r--r--vp8/encoder/ethreading.c1
-rw-r--r--vp8/encoder/onyx_int.h1
-rw-r--r--vp8/encoder/tokenize.c2
6 files changed, 9 insertions, 6 deletions
diff --git a/vp8/encoder/bitstream.c b/vp8/encoder/bitstream.c
index cc8f4395c..7ab6dc906 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 ec316ea81..e6228ec64 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 e3e7d9dfa..d580d89c3 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 fc472486f..9b7805e50 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 72d96b533..7cea72508 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 90463ef52..3b5268b61 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;