Fix frame header tx_size syntax setting

Fix an intricacy due to interactions between cb4x4 and var-tx that
sets frame header away from tx_mode_select. This resolves a rare
enc/dec mismatch issue.

Change-Id: I6981f21f7e6f04f2a47ef32f744f83a8fd34355b
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 19a4fcd..4deb059 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -680,8 +680,13 @@
 #if CONFIG_VAR_TX
   const TX_SIZE max_tx_size = max_txsize_rect_lookup[bsize];
 
+#if CONFIG_CB4X4
+  if (!is_inter || bsize == BLOCK_4X4)
+    return AOMMIN(max_txsize_lookup[bsize], largest_tx_size);
+#else
   if (!is_inter || bsize < BLOCK_8X8)
     return AOMMIN(max_txsize_lookup[bsize], largest_tx_size);
+#endif
 
   if (txsize_sqr_map[max_tx_size] <= largest_tx_size)
     return max_tx_size;
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 3a5f25d..31f42b6 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -415,7 +415,11 @@
   TX_MODE tx_mode = cm->tx_mode;
   BLOCK_SIZE bsize = xd->mi[0]->mbmi.sb_type;
   if (xd->lossless[xd->mi[0]->mbmi.segment_id]) return TX_4X4;
+#if CONFIG_CB4X4 && CONFIG_VAR_TX
+  if (bsize > BLOCK_4X4) {
+#else
   if (bsize >= BLOCK_8X8) {
+#endif
     if (allow_select && tx_mode == TX_MODE_SELECT) {
       const TX_SIZE coded_tx_size =
           read_selected_tx_size(cm, xd, inter_tx_size_cat_lookup[bsize], r);