Update transform block partition information for intra blocks
If a block is coded in the intra modes, update the transform block partition information as maximum block size. Change-Id: I5ea440c700fc887ff2fe84fabde77a9d896d16f4
This commit is contained in:
parent
a4fd58a761
commit
7cbea06386
@ -671,6 +671,17 @@ static void read_inter_frame_mode_info(VP9Decoder *const pbi,
|
||||
xd->left_txfm_context + (idy / 2),
|
||||
max_tx_size);
|
||||
}
|
||||
} else {
|
||||
TX_SIZE max_tx_size = max_txsize_lookup[bsize];
|
||||
BLOCK_SIZE txb_size = txsize_to_bsize[max_tx_size];
|
||||
int bh = num_4x4_blocks_wide_lookup[txb_size];
|
||||
int width = num_4x4_blocks_wide_lookup[bsize];
|
||||
int height = num_4x4_blocks_high_lookup[bsize];
|
||||
int idx, idy;
|
||||
for (idy = 0; idy < height; idy += bh)
|
||||
for (idx = 0; idx < width; idx += bh)
|
||||
txfm_partition_update(xd->above_txfm_context + (idx / 2),
|
||||
xd->left_txfm_context + (idy / 2), mbmi->tx_size);
|
||||
}
|
||||
|
||||
if (inter_block)
|
||||
|
@ -354,6 +354,17 @@ static void pack_inter_mode_mvs(VP9_COMP *cpi, const MODE_INFO *mi,
|
||||
xd->left_txfm_context + (idy / 2),
|
||||
max_tx_size);
|
||||
}
|
||||
} else {
|
||||
TX_SIZE max_tx_size = max_txsize_lookup[bsize];
|
||||
BLOCK_SIZE txb_size = txsize_to_bsize[max_tx_size];
|
||||
int bh = num_4x4_blocks_wide_lookup[txb_size];
|
||||
int width = num_4x4_blocks_wide_lookup[bsize];
|
||||
int height = num_4x4_blocks_high_lookup[bsize];
|
||||
int idx, idy;
|
||||
for (idy = 0; idy < height; idy += bh)
|
||||
for (idx = 0; idx < width; idx += bh)
|
||||
txfm_partition_update(xd->above_txfm_context + (idx / 2),
|
||||
xd->left_txfm_context + (idy / 2), mbmi->tx_size);
|
||||
}
|
||||
|
||||
if (!is_inter) {
|
||||
|
@ -4224,6 +4224,17 @@ static void encode_superblock(VP9_COMP *cpi, ThreadData *td,
|
||||
update_txfm_count(xd, td->counts, max_txsize_lookup[mbmi->sb_type],
|
||||
idy, idx, !output_enabled);
|
||||
}
|
||||
} else {
|
||||
TX_SIZE max_tx_size = max_txsize_lookup[bsize];
|
||||
BLOCK_SIZE txb_size = txsize_to_bsize[max_tx_size];
|
||||
int bh = num_4x4_blocks_wide_lookup[txb_size];
|
||||
int width = num_4x4_blocks_wide_lookup[bsize];
|
||||
int height = num_4x4_blocks_high_lookup[bsize];
|
||||
int idx, idy;
|
||||
for (idy = 0; idy < height; idy += bh)
|
||||
for (idx = 0; idx < width; idx += bh)
|
||||
txfm_partition_update(xd->above_txfm_context + (idx / 2),
|
||||
xd->left_txfm_context + (idy / 2), mbmi->tx_size);
|
||||
}
|
||||
|
||||
if (mbmi->sb_type < BLOCK_8X8)
|
||||
|
Loading…
x
Reference in New Issue
Block a user