Commit 45027c63 authored by Jingning Han's avatar Jingning Han
Browse files

Fix inter block context modeling check in hash table

Fix the block context model used in the hash rd for lv-map.

Change-Id: Id590413bf8282b820ceca8b61132094df93be892
parent 94ad3707
......@@ -145,7 +145,11 @@ typedef struct {
int64_t dist;
int rate;
uint16_t eob;
#if CONFIG_LV_MAP
uint16_t entropy_context;
#else
uint8_t entropy_context;
#endif
uint8_t valid;
uint8_t fast;
} TX_SIZE_RD_INFO;
......
......@@ -3658,9 +3658,15 @@ void av1_tx_block_rd_b(const AV1_COMP *cpi, MACROBLOCK *x, TX_SIZE tx_size,
assert(tx_size < TX_SIZES_ALL);
#if CONFIG_LV_MAP
TXB_CTX txb_ctx;
get_txb_ctx(plane_bsize, tx_size, plane, a, l, &txb_ctx);
uint16_t cur_joint_ctx = (txb_ctx.dc_sign_ctx << 8) + txb_ctx.txb_skip_ctx;
#else
const int coeff_ctx = get_entropy_context(tx_size, a, l);
const int coeff_ctx_one_byte = combine_entropy_contexts(*a, *l);
const uint8_t cur_joint_ctx = (coeff_ctx << 2) + coeff_ctx_one_byte;
#endif
// Note: tmp below is pixel distortion, not TX domain
tmp = pixel_diff_dist(x, plane, diff, diff_stride, blk_row, blk_col,
......
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