Fix txb_skip context model

Change-Id: I2ad279d27fb34c9c6bcee6029a40377541f066a7
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 23417e1..49a4501 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -22,12 +22,12 @@
 #if CONFIG_LV_MAP
 #include "av1/common/txb_common.h"
 const aom_prob default_txb_skip[TX_SIZES][TXB_SKIP_CONTEXTS] = {
-  { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
-  { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
-  { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
-  { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
+  { 255, 86, 115, 175, 148, 203, 249, 35, 126, 219, 14, 79, 185 },
+  { 255, 76, 109, 162, 150, 201, 244, 26, 118, 218, 12, 72, 187 },
+  { 253, 78, 124, 165, 170, 211, 245, 34, 135, 223, 15, 98, 212 },
+  { 243, 46, 143, 173, 205, 226, 250, 52, 182, 240, 15, 100, 220 },
 #if CONFIG_TX64X64
-  { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
+  { 243, 46, 143, 173, 205, 226, 250, 52, 182, 240, 15, 100, 220 },
 #endif
 };
 const aom_prob default_dc_sign[PLANE_TYPES][DC_SIGN_CONTEXTS] = {
diff --git a/av1/common/txb_common.h b/av1/common/txb_common.h
index 383bde3..0c9d36e 100644
--- a/av1/common/txb_common.h
+++ b/av1/common/txb_common.h
@@ -565,7 +565,9 @@
   const int txb_h_unit = tx_size_high_unit[tx_size];
   int ctx_offset = (plane == 0) ? 0 : 7;
 
-  if (plane_bsize > txsize_to_bsize[tx_size]) ctx_offset += 3;
+  if (num_pels_log2_lookup[plane_bsize] >
+      num_pels_log2_lookup[txsize_to_bsize[tx_size]])
+    ctx_offset += 3;
 
   int dc_sign = 0;
   for (int k = 0; k < txb_w_unit; ++k) {
diff --git a/tools/aom_entropy_optimizer.c b/tools/aom_entropy_optimizer.c
index 6df4cb1..b25f2af 100644
--- a/tools/aom_entropy_optimizer.c
+++ b/tools/aom_entropy_optimizer.c
@@ -649,6 +649,18 @@
                      "LEVELS][COEFF_BASE_CONTEXTS][CDF_SIZE(2)]");
 
   cts_each_dim[0] = TX_SIZES;
+  cts_each_dim[1] = TXB_SKIP_CONTEXTS;
+  cts_each_dim[2] = 2;
+  optimize_entropy_table(
+      &fc.txb_skip[0][0][0], probsfile, 3, cts_each_dim, NULL, 1,
+      "static const aom_prob "
+      "default_txk_skip[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS]");
+  optimize_cdf_table(&fc.txb_skip[0][0][0], probsfile, 3, cts_each_dim,
+                     "static const aom_cdf_prob "
+                     "default_nz_map_cdf[TX_SIZES][PLANE_TYPES][SIG_COEF_"
+                     "CONTEXTS][CDF_SIZE(2)]");
+
+  cts_each_dim[0] = TX_SIZES;
   cts_each_dim[1] = PLANE_TYPES;
   cts_each_dim[2] = SIG_COEF_CONTEXTS;
   cts_each_dim[3] = 2;