summaryrefslogtreecommitdiff
path: root/vp9/common/vp9_entropy.c
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2014-10-22 14:37:38 -0700
committerYunqing Wang <yunqingwang@google.com>2014-10-22 15:03:12 -0700
commit7c7e4d4eb8ddc1f7884dcab380a5850fef8b2add (patch)
treed70087f4fef896739d4ec6093a8a5bee1c55ecb9 /vp9/common/vp9_entropy.c
parent7c4992c4667f4f3392b911e3a8b17a776a216c5f (diff)
downloadlibvpx-7c7e4d4eb8ddc1f7884dcab380a5850fef8b2add.tar
libvpx-7c7e4d4eb8ddc1f7884dcab380a5850fef8b2add.tar.gz
libvpx-7c7e4d4eb8ddc1f7884dcab380a5850fef8b2add.tar.bz2
libvpx-7c7e4d4eb8ddc1f7884dcab380a5850fef8b2add.zip
vp9_ethread: allocate frame contexts outside VP9_COMMON struct
This patch allocated frame contexts outside VP9_COMMON. This allows multiple threads to share the same copy of frame contexts, and reduces the overhead. It also guarantees the correct update of these contexts during bitstream packing. This patch doesn't change encoding result. Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
Diffstat (limited to 'vp9/common/vp9_entropy.c')
-rw-r--r--vp9/common/vp9_entropy.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/vp9/common/vp9_entropy.c b/vp9/common/vp9_entropy.c
index c3fdeb48a..77a8709f0 100644
--- a/vp9/common/vp9_entropy.c
+++ b/vp9/common/vp9_entropy.c
@@ -748,10 +748,10 @@ void vp9_model_to_full_probs(const vp9_prob *model, vp9_prob *full) {
}
void vp9_default_coef_probs(VP9_COMMON *cm) {
- vp9_copy(cm->fc.coef_probs[TX_4X4], default_coef_probs_4x4);
- vp9_copy(cm->fc.coef_probs[TX_8X8], default_coef_probs_8x8);
- vp9_copy(cm->fc.coef_probs[TX_16X16], default_coef_probs_16x16);
- vp9_copy(cm->fc.coef_probs[TX_32X32], default_coef_probs_32x32);
+ vp9_copy(cm->fc->coef_probs[TX_4X4], default_coef_probs_4x4);
+ vp9_copy(cm->fc->coef_probs[TX_8X8], default_coef_probs_8x8);
+ vp9_copy(cm->fc->coef_probs[TX_16X16], default_coef_probs_16x16);
+ vp9_copy(cm->fc->coef_probs[TX_32X32], default_coef_probs_32x32);
}
#define COEF_COUNT_SAT 24
@@ -765,7 +765,7 @@ static void adapt_coef_probs(VP9_COMMON *cm, TX_SIZE tx_size,
unsigned int count_sat,
unsigned int update_factor) {
const FRAME_CONTEXT *pre_fc = &cm->frame_contexts[cm->frame_context_idx];
- vp9_coeff_probs_model *const probs = cm->fc.coef_probs[tx_size];
+ vp9_coeff_probs_model *const probs = cm->fc->coef_probs[tx_size];
const vp9_coeff_probs_model *const pre_probs = pre_fc->coef_probs[tx_size];
vp9_coeff_count_model *counts = cm->counts.coef[tx_size];
unsigned int (*eob_counts)[REF_TYPES][COEF_BANDS][COEFF_CONTEXTS] =