Merge "Make memory alloc in pick_mode_context bsize aware"
This commit is contained in:
@@ -410,7 +410,7 @@ static void update_state(VP9_COMP *cpi, PICK_MODE_CONTEXT *ctx,
|
||||
|
||||
x->skip = ctx->skip;
|
||||
vpx_memcpy(x->zcoeff_blk[mbmi->tx_size], ctx->zcoeff_blk,
|
||||
sizeof(ctx->zcoeff_blk));
|
||||
sizeof(uint8_t) * ctx->num_4x4_blk);
|
||||
|
||||
if (!output_enabled)
|
||||
return;
|
||||
@@ -690,45 +690,6 @@ static void update_stats(VP9_COMP *cpi) {
|
||||
}
|
||||
}
|
||||
|
||||
// TODO(jingning): the variables used here are little complicated. need further
|
||||
// refactoring on organizing the temporary buffers, when recursive
|
||||
// partition down to 4x4 block size is enabled.
|
||||
static PICK_MODE_CONTEXT *get_block_context(MACROBLOCK *x, BLOCK_SIZE bsize) {
|
||||
MACROBLOCKD *const xd = &x->e_mbd;
|
||||
|
||||
switch (bsize) {
|
||||
case BLOCK_64X64:
|
||||
return &x->sb64_context;
|
||||
case BLOCK_64X32:
|
||||
return &x->sb64x32_context[xd->sb_index];
|
||||
case BLOCK_32X64:
|
||||
return &x->sb32x64_context[xd->sb_index];
|
||||
case BLOCK_32X32:
|
||||
return &x->sb32_context[xd->sb_index];
|
||||
case BLOCK_32X16:
|
||||
return &x->sb32x16_context[xd->sb_index][xd->mb_index];
|
||||
case BLOCK_16X32:
|
||||
return &x->sb16x32_context[xd->sb_index][xd->mb_index];
|
||||
case BLOCK_16X16:
|
||||
return &x->mb_context[xd->sb_index][xd->mb_index];
|
||||
case BLOCK_16X8:
|
||||
return &x->sb16x8_context[xd->sb_index][xd->mb_index][xd->b_index];
|
||||
case BLOCK_8X16:
|
||||
return &x->sb8x16_context[xd->sb_index][xd->mb_index][xd->b_index];
|
||||
case BLOCK_8X8:
|
||||
return &x->sb8x8_context[xd->sb_index][xd->mb_index][xd->b_index];
|
||||
case BLOCK_8X4:
|
||||
return &x->sb8x4_context[xd->sb_index][xd->mb_index][xd->b_index];
|
||||
case BLOCK_4X8:
|
||||
return &x->sb4x8_context[xd->sb_index][xd->mb_index][xd->b_index];
|
||||
case BLOCK_4X4:
|
||||
return &x->ab4x4_context[xd->sb_index][xd->mb_index][xd->b_index];
|
||||
default:
|
||||
assert(0);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static BLOCK_SIZE *get_sb_partitioning(MACROBLOCK *x, BLOCK_SIZE bsize) {
|
||||
MACROBLOCKD *const xd = &x->e_mbd;
|
||||
switch (bsize) {
|
||||
|
||||
Reference in New Issue
Block a user