diff options
Diffstat (limited to 'vp9/common')
-rw-r--r-- | vp9/common/vp9_entropy.c | 24 | ||||
-rw-r--r-- | vp9/common/vp9_entropy.h | 2 |
2 files changed, 15 insertions, 11 deletions
diff --git a/vp9/common/vp9_entropy.c b/vp9/common/vp9_entropy.c index 1b7da6cd5..847fee6f3 100644 --- a/vp9/common/vp9_entropy.c +++ b/vp9/common/vp9_entropy.c @@ -642,6 +642,17 @@ void vp9_coef_tree_initialize() { #define COEF_COUNT_SAT_AFTER_KEY 24 #define COEF_MAX_UPDATE_FACTOR_AFTER_KEY 128 +void vp9_full_to_model_count(unsigned int *model_count, + unsigned int *full_count) { + int n; + model_count[ZERO_TOKEN] = full_count[ZERO_TOKEN]; + model_count[ONE_TOKEN] = full_count[ONE_TOKEN]; + model_count[TWO_TOKEN] = full_count[TWO_TOKEN]; + for (n = THREE_TOKEN; n < DCT_EOB_TOKEN; ++n) + model_count[TWO_TOKEN] += full_count[n]; + model_count[DCT_EOB_MODEL_TOKEN] = full_count[DCT_EOB_TOKEN]; +} + void vp9_full_to_model_counts( vp9_coeff_count_model *model_count, vp9_coeff_count *full_count) { int i, j, k, l; @@ -649,19 +660,10 @@ void vp9_full_to_model_counts( for (j = 0; j < REF_TYPES; ++j) for (k = 0; k < COEF_BANDS; ++k) for (l = 0; l < PREV_COEF_CONTEXTS; ++l) { - int n; if (l >= 3 && k == 0) continue; - model_count[i][j][k][l][ZERO_TOKEN] = - full_count[i][j][k][l][ZERO_TOKEN]; - model_count[i][j][k][l][ONE_TOKEN] = - full_count[i][j][k][l][ONE_TOKEN]; - model_count[i][j][k][l][TWO_TOKEN] = - full_count[i][j][k][l][TWO_TOKEN]; - for (n = THREE_TOKEN; n < DCT_EOB_TOKEN; ++n) - model_count[i][j][k][l][TWO_TOKEN] += full_count[i][j][k][l][n]; - model_count[i][j][k][l][DCT_EOB_MODEL_TOKEN] = - full_count[i][j][k][l][DCT_EOB_TOKEN]; + vp9_full_to_model_count(model_count[i][j][k][l], + full_count[i][j][k][l]); } } diff --git a/vp9/common/vp9_entropy.h b/vp9/common/vp9_entropy.h index 5d57f149e..e76211a7c 100644 --- a/vp9/common/vp9_entropy.h +++ b/vp9/common/vp9_entropy.h @@ -174,6 +174,8 @@ typedef unsigned int vp9_coeff_count_model[REF_TYPES][COEF_BANDS] typedef unsigned int vp9_coeff_stats_model[REF_TYPES][COEF_BANDS] [PREV_COEF_CONTEXTS] [UNCONSTRAINED_NODES][2]; +extern void vp9_full_to_model_count(unsigned int *model_count, + unsigned int *full_count); extern void vp9_full_to_model_counts( vp9_coeff_count_model *model_count, vp9_coeff_count *full_count); |