Commit e4663e6d authored by Geza Lore's avatar Geza Lore
Browse files

Use specific PICK_MODE_CONTEXT for supertx.

Change-Id: I402d10dd666ebc4a06ce4472810a7e22f2e056ff
parent d738ce2b
...@@ -81,6 +81,9 @@ static void alloc_tree_contexts(VP10_COMMON *cm, PC_TREE *tree, ...@@ -81,6 +81,9 @@ static void alloc_tree_contexts(VP10_COMMON *cm, PC_TREE *tree,
alloc_mode_context(cm, num_4x4_blk, &tree->none); alloc_mode_context(cm, num_4x4_blk, &tree->none);
alloc_mode_context(cm, num_4x4_blk/2, &tree->horizontal[0]); alloc_mode_context(cm, num_4x4_blk/2, &tree->horizontal[0]);
alloc_mode_context(cm, num_4x4_blk/2, &tree->vertical[0]); alloc_mode_context(cm, num_4x4_blk/2, &tree->vertical[0]);
#ifdef CONFIG_SUPERTX
alloc_mode_context(cm, num_4x4_blk, &tree->super_tx);
#endif
if (num_4x4_blk > 4) { if (num_4x4_blk > 4) {
alloc_mode_context(cm, num_4x4_blk/2, &tree->horizontal[1]); alloc_mode_context(cm, num_4x4_blk/2, &tree->horizontal[1]);
...@@ -97,6 +100,9 @@ static void free_tree_contexts(PC_TREE *tree) { ...@@ -97,6 +100,9 @@ static void free_tree_contexts(PC_TREE *tree) {
free_mode_context(&tree->horizontal[1]); free_mode_context(&tree->horizontal[1]);
free_mode_context(&tree->vertical[0]); free_mode_context(&tree->vertical[0]);
free_mode_context(&tree->vertical[1]); free_mode_context(&tree->vertical[1]);
#ifdef CONFIG_SUPERTX
free_mode_context(&tree->super_tx);
#endif
} }
// This function sets up a tree of contexts such that at each square // This function sets up a tree of contexts such that at each square
......
...@@ -87,6 +87,9 @@ typedef struct PC_TREE { ...@@ -87,6 +87,9 @@ typedef struct PC_TREE {
struct PC_TREE *split[4]; struct PC_TREE *split[4];
PICK_MODE_CONTEXT *leaf_split[4]; PICK_MODE_CONTEXT *leaf_split[4];
}; };
#ifdef CONFIG_SUPERTX
PICK_MODE_CONTEXT super_tx;
#endif
} PC_TREE; } PC_TREE;
void vp10_setup_pc_tree(struct VP10Common *cm, struct ThreadData *td); void vp10_setup_pc_tree(struct VP10Common *cm, struct ThreadData *td);
......
...@@ -1382,10 +1382,10 @@ static void update_state_sb_supertx(VP10_COMP *cpi, ThreadData *td, ...@@ -1382,10 +1382,10 @@ static void update_state_sb_supertx(VP10_COMP *cpi, ThreadData *td,
} }
for (i = 0; i < MAX_MB_PLANE; ++i) { for (i = 0; i < MAX_MB_PLANE; ++i) {
p[i].coeff = (&pc_tree->none)->coeff_pbuf[i][1]; p[i].coeff = (&pc_tree->super_tx)->coeff_pbuf[i][1];
p[i].qcoeff = (&pc_tree->none)->qcoeff_pbuf[i][1]; p[i].qcoeff = (&pc_tree->super_tx)->qcoeff_pbuf[i][1];
pd[i].dqcoeff = (&pc_tree->none)->dqcoeff_pbuf[i][1]; pd[i].dqcoeff = (&pc_tree->super_tx)->dqcoeff_pbuf[i][1];
p[i].eobs = (&pc_tree->none)->eobs_pbuf[i][1]; p[i].eobs = (&pc_tree->super_tx)->eobs_pbuf[i][1];
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment