0 LR for LF and 1 LR for default
diff --git a/av1/common/entropy.h b/av1/common/entropy.h
index 361c2b4..a151086 100644
--- a/av1/common/entropy.h
+++ b/av1/common/entropy.h
@@ -80,7 +80,8 @@
 // Number of symbols for base range coding in low-frequency region
 #define LF_BASE_SYMBOLS 6
 #define LF_NUM_BASE_LEVELS (LF_BASE_SYMBOLS - 2)
-#define LF_MAX_BASE_BR_RANGE (COEFF_BASE_RANGE + LF_NUM_BASE_LEVELS + 1)
+#define LF_COEFF_BASE_RANGE (0 * (BR_CDF_SIZE - 1))
+#define LF_MAX_BASE_BR_RANGE (LF_COEFF_BASE_RANGE + LF_NUM_BASE_LEVELS + 1)
 
 // Limits to determine the low-frequency region for coefficient coding.
 #define LF_2D_LIM 4     // row + column limit
@@ -97,8 +98,7 @@
 #define NUM_BASE_LEVELS 2
 
 #define BR_CDF_SIZE (4)
-#define COEFF_BASE_RANGE (0 * (BR_CDF_SIZE - 1))
-
+#define COEFF_BASE_RANGE (1 * (BR_CDF_SIZE - 1))
 #define COEFF_CONTEXT_BITS 3
 #define COEFF_CONTEXT_MASK ((1 << COEFF_CONTEXT_BITS) - 1)
 #define MAX_BASE_BR_RANGE (COEFF_BASE_RANGE + NUM_BASE_LEVELS + 1)
diff --git a/av1/common/txb_common.h b/av1/common/txb_common.h
index 8f3bfae..60c32d1 100644
--- a/av1/common/txb_common.h
+++ b/av1/common/txb_common.h
@@ -226,9 +226,9 @@
   const int col = c - (row << bwl);
   const int stride = (1 << bwl) + TX_PAD_HOR;
   const int pos = row * stride + col;
-  int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE) +
-            AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE) +
-            AOMMIN(levels[pos + 1 + stride], MAX_BASE_BR_RANGE);
+  int mag = AOMMIN(levels[pos + 1], LF_MAX_BASE_BR_RANGE) +
+            AOMMIN(levels[pos + stride], LF_MAX_BASE_BR_RANGE) +
+            AOMMIN(levels[pos + 1 + stride], LF_MAX_BASE_BR_RANGE);
   mag = AOMMIN((mag + 1) >> 1, 6);
   return mag + 7;
 }
@@ -244,22 +244,22 @@
   const int col = c - (row << bwl);
   const int stride = (1 << bwl) + TX_PAD_HOR;
   const int pos = row * stride + col;
-  int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE);
-  mag += AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE);
+  int mag = AOMMIN(levels[pos + 1], LF_MAX_BASE_BR_RANGE);
+  mag += AOMMIN(levels[pos + stride], LF_MAX_BASE_BR_RANGE);
   switch (tx_class) {
     case TX_CLASS_2D:
-      mag += AOMMIN(levels[pos + stride + 1], MAX_BASE_BR_RANGE);
+      mag += AOMMIN(levels[pos + stride + 1], LF_MAX_BASE_BR_RANGE);
       mag = AOMMIN((mag + 1) >> 1, 6);
       if (c == 0) return mag;
       if ((row < 2) && (col < 2)) return mag + 7;
       break;
     case TX_CLASS_HORIZ:
-      mag += AOMMIN(levels[pos + 2], MAX_BASE_BR_RANGE);
+      mag += AOMMIN(levels[pos + 2], LF_MAX_BASE_BR_RANGE);
       mag = AOMMIN((mag + 1) >> 1, 6);
       if (col == 0) return mag + 7;
       break;
     case TX_CLASS_VERT:
-      mag += AOMMIN(levels[pos + (stride << 1)], MAX_BASE_BR_RANGE);
+      mag += AOMMIN(levels[pos + (stride << 1)], LF_MAX_BASE_BR_RANGE);
       mag = AOMMIN((mag + 1) >> 1, 6);
       if (row == 0) return mag + 7;
       break;
@@ -396,12 +396,13 @@
                                           const TX_CLASS tx_class) {
   int mag;
   // Note: AOMMIN(level, 5) is useless for decoder since level < 5.
-  mag = clip_max3[levels[1]];                         // { 0, 1 }
-  mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
+
+  mag = clip_max5[levels[1]];                         // { 0, 1 }
+  mag += clip_max5[levels[(1 << bwl) + TX_PAD_HOR]];  // { 1, 0 }
   if (tx_class == TX_CLASS_2D) {
-    mag += clip_max3[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
-    mag += clip_max3[levels[2]];                                    // { 0, 2 }
-    mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
+    mag += clip_max5[levels[(1 << bwl) + TX_PAD_HOR + 1]];          // { 1, 1 }
+    mag += clip_max5[levels[2]];                                    // { 0, 2 }
+    mag += clip_max5[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
   } else if (tx_class == TX_CLASS_VERT) {
     mag += clip_max3[levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)]];  // { 2, 0 }
     mag += clip_max3[levels[(3 << bwl) + (3 << TX_PAD_HOR_LOG2)]];  // { 3, 0 }
@@ -607,19 +608,19 @@
   const int col = c - (row << bwl);
   const int stride = (1 << bwl) + TX_PAD_HOR;
   const int pos = row * stride + col;
-  int mag = AOMMIN(levels[pos + 1], MAX_BASE_BR_RANGE);
-  mag += AOMMIN(levels[pos + stride], MAX_BASE_BR_RANGE);
+  int mag = AOMMIN(levels[pos + 1], LF_MAX_BASE_BR_RANGE);
+  mag += AOMMIN(levels[pos + stride], LF_MAX_BASE_BR_RANGE);
   switch (tx_class) {
     case TX_CLASS_2D:
-      mag += AOMMIN(levels[pos + stride + 1], MAX_BASE_BR_RANGE);
+      mag += AOMMIN(levels[pos + stride + 1], LF_MAX_BASE_BR_RANGE);
       mag = AOMMIN((mag + 1) >> 1, (COEFF_BR_PH_CONTEXTS - 1));
       break;
     case TX_CLASS_HORIZ:
-      mag += AOMMIN(levels[pos + 2], MAX_BASE_BR_RANGE);
+      mag += AOMMIN(levels[pos + 2], LF_MAX_BASE_BR_RANGE);
       mag = AOMMIN((mag + 1) >> 1, (COEFF_BR_PH_CONTEXTS - 1));
       break;
     case TX_CLASS_VERT:
-      mag += AOMMIN(levels[pos + (stride << 1)], MAX_BASE_BR_RANGE);
+      mag += AOMMIN(levels[pos + (stride << 1)], LF_MAX_BASE_BR_RANGE);
       mag = AOMMIN((mag + 1) >> 1, (COEFF_BR_PH_CONTEXTS - 1));
       break;
     default: break;
@@ -706,11 +707,11 @@
   int mag;
   // Note: AOMMIN(level, 3) is useless for decoder since level < 5.
   levels = levels + get_padded_idx(coeff_idx, bwl);
-  mag = AOMMIN(levels[1], 3);                                     // { 0, 1 }
-  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR], 3);              // { 1, 0 }
-  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR + 1], 3);          // { 1, 1 }
-  mag += AOMMIN(levels[2], 3);                                    // { 0, 2 }
-  mag += AOMMIN(levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)], 3);  // { 2, 0 }
+  mag = AOMMIN(levels[1], 5);                                     // { 0, 1 }
+  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR], 5);              // { 1, 0 }
+  mag += AOMMIN(levels[(1 << bwl) + TX_PAD_HOR + 1], 5);          // { 1, 1 }
+  mag += AOMMIN(levels[2], 5);                                    // { 0, 2 }
+  mag += AOMMIN(levels[(2 << bwl) + (2 << TX_PAD_HOR_LOG2)], 5);  // { 2, 0 }
   int ctx = (mag + 1) >> 1;
   const int row = coeff_idx >> bwl;
   const int col = coeff_idx - (row << bwl);
diff --git a/av1/decoder/decodetxb.c b/av1/decoder/decodetxb.c
index 1850345..e630452 100644
--- a/av1/decoder/decodetxb.c
+++ b/av1/decoder/decodetxb.c
@@ -162,7 +162,7 @@
       if (level > LF_NUM_BASE_LEVELS) {
         const int br_ctx = get_br_lf_ctx_2d(levels, pos, bwl);
         aom_cdf_prob *cdf = br_lf_cdf[br_ctx];
-        for (int idx = 0; idx < COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
+        for (int idx = 0; idx < LF_COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
           const int k =
               aom_read_symbol(r, cdf, BR_CDF_SIZE, ACCT_INFO("k", "br_lf_cdf"));
           level += k;
@@ -288,7 +288,7 @@
       if (level > LF_NUM_BASE_LEVELS) {
         const int br_ctx = get_br_lf_ctx(levels, pos, bwl, tx_class);
         aom_cdf_prob *cdf = br_lf_cdf[br_ctx];
-        for (int idx = 0; idx < COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
+        for (int idx = 0; idx < LF_COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
           const int k =
               aom_read_symbol(r, cdf, BR_CDF_SIZE, ACCT_INFO("k", "br_lf_cdf"));
           level += k;
@@ -860,7 +860,7 @@
       if (level > LF_NUM_BASE_LEVELS) {
         const int br_ctx = get_br_ctx_lf_eob(pos, tx_class);
         cdf = ec_ctx->coeff_br_lf_cdf[plane_type][br_ctx];
-        for (int idx = 0; idx < COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
+        for (int idx = 0; idx < LF_COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
           const int k = aom_read_symbol(r, cdf, BR_CDF_SIZE,
                                         ACCT_INFO("k", "coeff_br_lf_cdf"));
           level += k;
@@ -923,7 +923,7 @@
         for (int si = *eob - 1; si > 0; --si) {
           int pos = scan[si];
           int level =
-              AOMMIN(levels[get_padded_idx(pos, bwl)], MAX_BASE_BR_RANGE);
+              AOMMIN(levels[get_padded_idx(pos, bwl)], LF_MAX_BASE_BR_RANGE);
           if (level) {
             ++num_nz;
             sum_abs1 += level;
@@ -955,7 +955,7 @@
         for (int si = *eob - 1; si > 0; --si) {
           int pos = scan[si];
           int level =
-              AOMMIN(levels[get_padded_idx(pos, bwl)], MAX_BASE_BR_RANGE);
+              AOMMIN(levels[get_padded_idx(pos, bwl)], LF_MAX_BASE_BR_RANGE);
           if (level) {
             ++num_nz;
             sum_abs1 += level;
diff --git a/av1/encoder/block.h b/av1/encoder/block.h
index be27c55..9a7ae72 100644
--- a/av1/encoder/block.h
+++ b/av1/encoder/block.h
@@ -193,7 +193,7 @@
   int base_lf_cost[LF_SIG_COEF_CONTEXTS][LF_BASE_SYMBOLS * 2];
   //! Cost for encoding an increment to the low-frequency coefficient
   int lps_lf_cost[LF_LEVEL_CONTEXTS]
-                 [COEFF_BASE_RANGE + 1 + COEFF_BASE_RANGE + 1];
+                 [LF_COEFF_BASE_RANGE + 1 + LF_COEFF_BASE_RANGE + 1];
   //! Cost for encoding the base level of a parity-hidden coefficient
   int base_ph_cost[COEFF_BASE_PH_CONTEXTS][4];
   //! Cost for encoding an increment to the parity-hidden coefficient
diff --git a/av1/encoder/encodemb.c b/av1/encoder/encodemb.c
index cfbacc4..3dfc385 100644
--- a/av1/encoder/encodemb.c
+++ b/av1/encoder/encodemb.c
@@ -138,7 +138,7 @@
   for (int si = eob - 1; si > 0; si--) {
     const int pos = scan[si];
     nz += !!(qcoeff[pos]);
-    sum_abs1 += AOMMIN(abs(qcoeff[pos]), MAX_BASE_BR_RANGE);
+    sum_abs1 += AOMMIN(abs(qcoeff[pos]), LF_MAX_BASE_BR_RANGE);
   }
   if (nz >= PHTHRESH && ((qcoeff[0] & 1) != (sum_abs1 & 1))) {
     int tune_pos = scan[0];
@@ -160,8 +160,8 @@
       absdqcoeff = abs(dqcoeff[pos]);
       absqcoeff = abs(qcoeff[pos]);
       bool tunable =
-          (absqcoeff < MAX_BASE_BR_RANGE) ||
-          ((absqcoeff == MAX_BASE_BR_RANGE) && (abstcoeff < absdqcoeff));
+          (absqcoeff < LF_MAX_BASE_BR_RANGE) ||
+          ((absqcoeff == LF_MAX_BASE_BR_RANGE) && (abstcoeff < absdqcoeff));
       absqcoeff += ((abstcoeff < absdqcoeff) ? -1 : 1);
       absdqcoeff = (tran_low_t)(ROUND_POWER_OF_TWO_64(
                                     (tran_high_t)absqcoeff *
diff --git a/av1/encoder/encodetxb.c b/av1/encoder/encodetxb.c
index ec059cc..79530d5 100644
--- a/av1/encoder/encodetxb.c
+++ b/av1/encoder/encodetxb.c
@@ -52,8 +52,8 @@
   }
 
   coef_info[scan_idx].tunable =
-      (abs(coef_info[scan_idx].qc) < MAX_BASE_BR_RANGE) ||
-      ((abs(qc_up) == MAX_BASE_BR_RANGE) && upround);
+      (abs(coef_info[scan_idx].qc) < LF_MAX_BASE_BR_RANGE) ||
+      ((abs(qc_up) == LF_MAX_BASE_BR_RANGE) && upround);
   if (coef_info[scan_idx].tunable) {
     if (upround) {
       coef_info[scan_idx].delta_cost = (cost_low - cost_up);
@@ -321,8 +321,8 @@
 // Golomb cost of coding bypass coded level values in the
 // low-frequency region.
 static INLINE int get_golomb_cost_lf(int abs_qc) {
-  if (abs_qc >= 1 + LF_NUM_BASE_LEVELS + COEFF_BASE_RANGE) {
-    const int r = abs_qc - COEFF_BASE_RANGE - LF_NUM_BASE_LEVELS;
+  if (abs_qc >= 1 + LF_NUM_BASE_LEVELS + LF_COEFF_BASE_RANGE) {
+    const int r = abs_qc - LF_COEFF_BASE_RANGE - LF_NUM_BASE_LEVELS;
     const int length = get_msb(r) + 1;
     return av1_cost_literal(2 * length - 1);
   }
@@ -333,7 +333,7 @@
 // low-frequency region, includes the bypass cost.
 static INLINE int get_br_lf_cost(tran_low_t level, const int *coeff_lps) {
   const int base_range =
-      AOMMIN(level - 1 - LF_NUM_BASE_LEVELS, COEFF_BASE_RANGE);
+      AOMMIN(level - 1 - LF_NUM_BASE_LEVELS, LF_COEFF_BASE_RANGE);
   return coeff_lps[base_range] + get_golomb_cost_lf(level);
 }
 
@@ -342,12 +342,12 @@
 static INLINE int get_br_lf_cost_with_diff(tran_low_t level,
                                            const int *coeff_lps, int *diff) {
   const int base_range =
-      AOMMIN(level - 1 - LF_NUM_BASE_LEVELS, COEFF_BASE_RANGE);
+      AOMMIN(level - 1 - LF_NUM_BASE_LEVELS, LF_COEFF_BASE_RANGE);
   int golomb_bits = 0;
-  if (level <= COEFF_BASE_RANGE + 1 + LF_NUM_BASE_LEVELS)
-    *diff += coeff_lps[base_range + COEFF_BASE_RANGE + 1];
-  if (level >= COEFF_BASE_RANGE + 1 + LF_NUM_BASE_LEVELS) {
-    int r = level - COEFF_BASE_RANGE - LF_NUM_BASE_LEVELS;
+  if (level <= LF_COEFF_BASE_RANGE + 1 + LF_NUM_BASE_LEVELS)
+    *diff += coeff_lps[base_range + LF_COEFF_BASE_RANGE + 1];
+  if (level >= LF_COEFF_BASE_RANGE + 1 + LF_NUM_BASE_LEVELS) {
+    int r = level - LF_COEFF_BASE_RANGE - LF_NUM_BASE_LEVELS;
     if (r < 32) {
       golomb_bits = golomb_bits_cost[r];
       *diff += golomb_cost_diff[r];
@@ -1025,7 +1025,7 @@
             level - 1 - LF_NUM_BASE_LEVELS;  // level is above 1.
         const int br_ctx = get_br_lf_ctx(levels, pos, bwl, tx_class);
         aom_cdf_prob *cdf = ec_ctx->coeff_br_lf_cdf[plane_type][br_ctx];
-        for (int idx = 0; idx < COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
+        for (int idx = 0; idx < LF_COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
           const int k = AOMMIN(base_range - idx, BR_CDF_SIZE - 1);
           aom_write_symbol(w, k, cdf, BR_CDF_SIZE);
           if (k < BR_CDF_SIZE - 1) break;
@@ -1059,6 +1059,7 @@
     const int pos = scan[0];
     const tran_low_t v = tcoeff[pos];
     const tran_low_t level = abs(v);
+
     write_coeff_hidden(w, tx_class, scan, bwl, levels, level,
                        ec_ctx->coeff_base_ph_cdf, ec_ctx->coeff_br_ph_cdf);
   } else {
@@ -1216,7 +1217,7 @@
             level - 1 - LF_NUM_BASE_LEVELS;  // level is above 1.
         const int br_ctx = get_br_lf_ctx(levels, pos, bwl, tx_class);
         aom_cdf_prob *cdf = ec_ctx->coeff_br_lf_cdf[plane_type][br_ctx];
-        for (int idx = 0; idx < COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
+        for (int idx = 0; idx < LF_COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
           const int k = AOMMIN(base_range - idx, BR_CDF_SIZE - 1);
           aom_write_symbol(w, k, cdf, BR_CDF_SIZE);
           if (k < BR_CDF_SIZE - 1) break;
@@ -1291,8 +1292,8 @@
         const int col = pos - (row << bwl);
         int limits = get_lf_limits(row, col, tx_class, plane);
         if (limits) {
-          if (level > COEFF_BASE_RANGE + LF_NUM_BASE_LEVELS)
-            write_golomb(w, level - COEFF_BASE_RANGE - 1 - LF_NUM_BASE_LEVELS);
+          if (level > LF_COEFF_BASE_RANGE + LF_NUM_BASE_LEVELS)
+            write_golomb(w, level - LF_COEFF_BASE_RANGE - 1 - LF_NUM_BASE_LEVELS);
         } else {
           if (level > COEFF_BASE_RANGE + NUM_BASE_LEVELS)
             write_golomb(w, level - COEFF_BASE_RANGE - 1 - NUM_BASE_LEVELS);
@@ -1682,7 +1683,7 @@
 
   const int(*lps_cost)[COEFF_BASE_RANGE + 1 + COEFF_BASE_RANGE + 1] =
       coeff_costs->lps_cost;
-  const int(*lps_lf_cost)[COEFF_BASE_RANGE + 1 + COEFF_BASE_RANGE + 1] =
+  const int(*lps_lf_cost)[LF_COEFF_BASE_RANGE + 1 + LF_COEFF_BASE_RANGE + 1] =
       coeff_costs->lps_lf_cost;
 #if CONFIG_LCCHROMA
   // cost
@@ -3501,7 +3502,7 @@
     const int blkpos = scan[scan_idx];
     if (qcoeff[blkpos]) {
       ++nzsbb;
-      sum_abs1 += AOMMIN(abs(qcoeff[blkpos]), MAX_BASE_BR_RANGE);
+      sum_abs1 += AOMMIN(abs(qcoeff[blkpos]), LF_MAX_BASE_BR_RANGE);
     }
   }
   int hidepos = scan[0], rate_cur = 0;
@@ -4590,7 +4591,7 @@
         if (level > LF_NUM_BASE_LEVELS) {
           const int base_range = level - 1 - LF_NUM_BASE_LEVELS;
           const int br_ctx = get_br_lf_ctx(levels, pos, bwl, tx_class);
-          for (int idx = 0; idx < COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
+          for (int idx = 0; idx < LF_COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
             const int k = AOMMIN(base_range - idx, BR_CDF_SIZE - 1);
             if (allow_update_cdf) {
               update_cdf(ec_ctx->coeff_br_lf_cdf[plane_type][br_ctx], k,
@@ -4905,7 +4906,7 @@
         if (level > LF_NUM_BASE_LEVELS) {
           const int base_range = level - 1 - LF_NUM_BASE_LEVELS;
           const int br_ctx = get_br_lf_ctx(levels, pos, bwl, tx_class);
-          for (int idx = 0; idx < COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
+          for (int idx = 0; idx < LF_COEFF_BASE_RANGE; idx += BR_CDF_SIZE - 1) {
             const int k = AOMMIN(base_range - idx, BR_CDF_SIZE - 1);
             if (allow_update_cdf) {
               update_cdf(ec_ctx->coeff_br_lf_cdf[plane_type][br_ctx], k,
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c
index 96ff721..feeed29 100644
--- a/av1/encoder/rd.c
+++ b/av1/encoder/rd.c
@@ -1192,7 +1192,8 @@
         av1_cost_tokens_from_cdf(br_lf_rate, fc->coeff_br_lf_cdf[plane][ctx],
                                  NULL);
 #endif  // CONFIG_LCCHROMA
-        for (i = 0; i < COEFF_BASE_RANGE; i += BR_CDF_SIZE - 1) {
+
+        for (i = 0; i < LF_COEFF_BASE_RANGE; i += BR_CDF_SIZE - 1) {
           for (j = 0; j < BR_CDF_SIZE - 1; j++) {
             pcost->lps_lf_cost[ctx][i + j] = prev_cost_lf + br_lf_rate[j];
           }
@@ -1201,10 +1202,10 @@
         pcost->lps_lf_cost[ctx][i] = prev_cost_lf;
       }
       for (int ctx = 0; ctx < LF_LEVEL_CONTEXTS; ++ctx) {
-        pcost->lps_lf_cost[ctx][0 + COEFF_BASE_RANGE + 1] =
+        pcost->lps_lf_cost[ctx][0 + LF_COEFF_BASE_RANGE + 1] =
             pcost->lps_lf_cost[ctx][0];
-        for (int i = 1; i <= COEFF_BASE_RANGE; ++i) {
-          pcost->lps_lf_cost[ctx][i + COEFF_BASE_RANGE + 1] =
+        for (int i = 1; i <= LF_COEFF_BASE_RANGE; ++i) {
+          pcost->lps_lf_cost[ctx][i + LF_COEFF_BASE_RANGE + 1] =
               pcost->lps_lf_cost[ctx][i] - pcost->lps_lf_cost[ctx][i - 1];
         }
       }