Commit eb2fd5c5 authored by Hui Su's avatar Hui Su

intrabc: enable 16x4 and 4x16 blocks

0.15% gain on the screen_content testset.

BUG=aomedia:998

Change-Id: Ia6484a90b92a00bb0073ecf988b5c164fe8ba84c
parent b4faea73
......@@ -70,12 +70,8 @@ static INLINE int av1_use_angle_delta(BLOCK_SIZE bsize) {
#endif // CONFIG_EXT_INTRA
#if CONFIG_INTRABC
static INLINE int av1_allow_intrabc(BLOCK_SIZE bsize,
const AV1_COMMON *const cm) {
// TODO(huisu@google.com): intrabc is disabled for BLOCK_4X16 and
// BLOCK_16X4 because of onflict between cfl.
return bsize != BLOCK_4X16 && bsize != BLOCK_16X4 &&
cm->allow_screen_content_tools && cm->allow_intrabc;
static INLINE int av1_allow_intrabc(const AV1_COMMON *const cm) {
return cm->allow_screen_content_tools && cm->allow_intrabc;
}
#endif // CONFIG_INTRABC
......
......@@ -1153,7 +1153,7 @@ static void read_intra_frame_mode_info(AV1_COMMON *const cm,
xd->left_txfm_context = xd->left_txfm_context_buffer +
((mi_row & MAX_MIB_MASK) << TX_UNIT_HIGH_LOG2);
}
if (av1_allow_intrabc(bsize, cm)) {
if (av1_allow_intrabc(cm)) {
read_intrabc_info(cm, xd, mi_row, mi_col, r);
if (is_intrabc_block(mbmi)) return;
}
......
......@@ -1685,7 +1685,7 @@ static void write_mb_modes_kf(AV1_COMP *cpi, MACROBLOCKD *xd,
!xd->lossless[mbmi->segment_id];
#if CONFIG_INTRABC
if (av1_allow_intrabc(bsize, cm)) {
if (av1_allow_intrabc(cm)) {
write_intrabc_info(cm, xd, mbmi_ext, enable_tx_size, w);
if (is_intrabc_block(mbmi)) return;
}
......
......@@ -4569,7 +4569,7 @@ static void encode_superblock(const AV1_COMP *const cpi, TileDataEnc *tile_data,
if (!dry_run) {
#if CONFIG_INTRABC
if (av1_allow_intrabc(bsize, cm))
if (av1_allow_intrabc(cm))
if (is_intrabc_block(mbmi)) td->intrabc_used_this_tile = 1;
#endif // CONFIG_INTRABC
TX_SIZE tx_size =
......
......@@ -8668,7 +8668,7 @@ static int64_t rd_pick_intrabc_mode_sb(const AV1_COMP *cpi, MACROBLOCK *x,
RD_STATS *rd_cost, BLOCK_SIZE bsize,
int64_t best_rd) {
const AV1_COMMON *const cm = &cpi->common;
if (!av1_allow_intrabc(bsize, cm)) return INT64_MAX;
if (!av1_allow_intrabc(cm)) return INT64_MAX;
MACROBLOCKD *const xd = &x->e_mbd;
const TileInfo *tile = &xd->tile;
......
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