Make level map coding system support rectangular tx_size This commit makes the level map coding system support the transform coefficients from rectangular transform block sizes. Change-Id: I5cd6c71d12e41938f942adc98cc1e1f286336f12
diff --git a/av1/decoder/decodetxb.c b/av1/decoder/decodetxb.c index 74693b5..98e4db1 100644 --- a/av1/decoder/decodetxb.c +++ b/av1/decoder/decodetxb.c
@@ -58,6 +58,7 @@ const int16_t *const dequant = xd->plane[plane].seg_dequant[mbmi->segment_id]; const int shift = av1_get_tx_scale(tx_size); const int bwl = b_width_log2_lookup[txsize_to_bsize[tx_size]] + 2; + const int height = tx_size_high[tx_size]; int cul_level = 0; unsigned int(*nz_map_count)[SIG_COEF_CONTEXTS][2]; uint8_t txb_mask[32 * 32] = { 0 }; @@ -87,7 +88,7 @@ for (c = 0; c < seg_eob; ++c) { int is_nz; - int coeff_ctx = get_nz_map_ctx(tcoeffs, txb_mask, scan[c], bwl); + int coeff_ctx = get_nz_map_ctx(tcoeffs, txb_mask, scan[c], bwl, height); int eob_ctx = get_eob_ctx(tcoeffs, scan[c], txs_ctx); if (c < seg_eob - 1) @@ -128,7 +129,7 @@ if (*v <= i) continue; - ctx = get_base_ctx(tcoeffs, scan[c], bwl, i + 1); + ctx = get_base_ctx(tcoeffs, scan[c], bwl, height, i + 1); if (aom_read(r, coeff_base[ctx], tx_size)) { *v = i + 1; @@ -170,7 +171,7 @@ sign = aom_read_bit(r, ACCT_STR); } - ctx = get_br_ctx(tcoeffs, scan[c], bwl); + ctx = get_br_ctx(tcoeffs, scan[c], bwl, height); if (cm->fc->coeff_lps[txs_ctx][plane_type][ctx] == 0) exit(0);