Commit 28b53c30 authored by Hui Su's avatar Hui Su

intrabc: update intrabc_cdf per superblock

Update intrabc_cdf per superblock during encoding.
Also added support for entropy_stats.

Change-Id: Ie106309a8932b86bb069990db0b0ea13a4c5e8ae
parent 9e69463f
......@@ -324,7 +324,10 @@ typedef struct FRAME_COUNTS {
unsigned int single_ref[REF_CONTEXTS][SINGLE_REFS - 1][2];
unsigned int comp_ref[REF_CONTEXTS][FWD_REFS - 1][2];
unsigned int comp_bwdref[REF_CONTEXTS][BWD_REFS - 1][2];
#endif // CONFIG_ENTROPY_STATS
#if CONFIG_INTRABC
unsigned int intrabc[2];
#endif // CONFIG_INTRABC
#endif // COunsigned intNFIG_ENTROPY_STATS
unsigned int txfm_partition[TXFM_PARTITION_CONTEXTS][2];
#if CONFIG_EXT_SKIP
unsigned int skip_mode[SKIP_MODE_CONTEXTS][2];
......
......@@ -991,6 +991,16 @@ static void update_stats(const AV1_COMMON *const cm, TileDataEnc *tile_data,
update_palette_cdf(xd, mi);
}
#if CONFIG_INTRABC
if (frame_is_intra_only(cm) && av1_allow_intrabc(cm)) {
if (tile_data->allow_update_cdf)
update_cdf(fc->intrabc_cdf, is_intrabc_block(mbmi), 2);
#if CONFIG_ENTROPY_STATS
++td->counts->intrabc[is_intrabc_block(mbmi)];
#endif // CONFIG_ENTROPY_STATS
}
#endif // CONFIG_INTRABC
if (!frame_is_intra_only(cm)) {
RD_COUNTS *rdc = &td->rd_counts;
......
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