Commit a5657f2c authored by John Koleszar's avatar John Koleszar
Browse files

Avoid inverse transform/recon without residual

Avoid calling decode_block, inverse transform/add in the block is
a skip block for SBs smaller than 8x8 and intra-coded SBs.

Change-Id: I1684182f4a0050c8d6bb46cba6830d9425e7127d
parent a81bd12a
......@@ -270,6 +270,10 @@ static void decode_block_intra(int plane, int block, BLOCK_SIZE_TYPE bsize,
vp9_predict_intra_block(xd, tx_ib, plane_b_size, tx_size,
b_mode, dst, xd->plane[plane].dst.stride);
// Early exit if there are no coefficients
if (xd->mode_info_context->mbmi.mb_skip_coeff)
switch (ss_txfrm_size / 2) {
case TX_4X4:
tx_type = plane == 0 ? get_tx_type_4x4(xd, raster_block) : DCT_DCT;
......@@ -318,8 +322,9 @@ static void decode_atom(VP9D_COMP *pbi, MACROBLOCKD *xd,
if (!vp9_reader_has_error(r)) {
vp9_decode_tokens(pbi, xd, r, bsize);
foreach_transformed_block(xd, bsize, decode_block, xd);
foreach_transformed_block(xd, bsize, decode_block, xd);
static void decode_sb_intra(VP9D_COMP *pbi, MACROBLOCKD *xd,
Supports Markdown
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