cb4x4: Move sub-4X4 TX sizes behind CONFIG_CHROMA_2X2.

cb4x4 itself should not require these sizes.

This simplifies compatibility with other experiments, since we can
first make them work with cb4x4 (which is now on by default), and
then worry about chroma_2x2 (which is not) in separate steps.

Encoder and decoder output should remain unchanged.

Change-Id: I4e9fcdae49f238b5099a3c74a398fe993c2545f8
diff --git a/av1/common/av1_fwd_txfm2d.c b/av1/common/av1_fwd_txfm2d.c
index 96443ac..f8d7b23 100644
--- a/av1/common/av1_fwd_txfm2d.c
+++ b/av1/common/av1_fwd_txfm2d.c
@@ -127,14 +127,14 @@
 static const TXFM_1D_CFG *fwd_txfm_col_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
   // DCT
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &fwd_txfm_1d_col_cfg_dct_4, &fwd_txfm_1d_col_cfg_dct_8,
       &fwd_txfm_1d_col_cfg_dct_16, &fwd_txfm_1d_col_cfg_dct_32 },
   // ADST
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &fwd_txfm_1d_col_cfg_adst_4, &fwd_txfm_1d_col_cfg_adst_8,
@@ -142,14 +142,14 @@
 #if CONFIG_EXT_TX
   // FLIPADST
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &fwd_txfm_1d_col_cfg_adst_4, &fwd_txfm_1d_col_cfg_adst_8,
       &fwd_txfm_1d_col_cfg_adst_16, &fwd_txfm_1d_col_cfg_adst_32 },
   // IDENTITY
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &fwd_txfm_1d_cfg_identity_4, &fwd_txfm_1d_cfg_identity_8,
@@ -160,14 +160,14 @@
 static const TXFM_1D_CFG *fwd_txfm_row_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
   // DCT
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &fwd_txfm_1d_row_cfg_dct_4, &fwd_txfm_1d_row_cfg_dct_8,
       &fwd_txfm_1d_row_cfg_dct_16, &fwd_txfm_1d_row_cfg_dct_32 },
   // ADST
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &fwd_txfm_1d_row_cfg_adst_4, &fwd_txfm_1d_row_cfg_adst_8,
@@ -175,14 +175,14 @@
 #if CONFIG_EXT_TX
   // FLIPADST
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &fwd_txfm_1d_row_cfg_adst_4, &fwd_txfm_1d_row_cfg_adst_8,
       &fwd_txfm_1d_row_cfg_adst_16, &fwd_txfm_1d_row_cfg_adst_32 },
   // IDENTITY
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &fwd_txfm_1d_cfg_identity_4, &fwd_txfm_1d_cfg_identity_8,
diff --git a/av1/common/av1_inv_txfm2d.c b/av1/common/av1_inv_txfm2d.c
index 6191053..e07f994 100644
--- a/av1/common/av1_inv_txfm2d.c
+++ b/av1/common/av1_inv_txfm2d.c
@@ -38,14 +38,14 @@
 static const TXFM_1D_CFG *inv_txfm_col_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
   // DCT
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &inv_txfm_1d_col_cfg_dct_4, &inv_txfm_1d_col_cfg_dct_8,
       &inv_txfm_1d_col_cfg_dct_16, &inv_txfm_1d_col_cfg_dct_32 },
   // ADST
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &inv_txfm_1d_col_cfg_adst_4, &inv_txfm_1d_col_cfg_adst_8,
@@ -53,14 +53,14 @@
 #if CONFIG_EXT_TX
   // FLIPADST
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &inv_txfm_1d_col_cfg_adst_4, &inv_txfm_1d_col_cfg_adst_8,
       &inv_txfm_1d_col_cfg_adst_16, &inv_txfm_1d_col_cfg_adst_32 },
   // IDENTITY
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &inv_txfm_1d_cfg_identity_4, &inv_txfm_1d_cfg_identity_8,
@@ -71,14 +71,14 @@
 static const TXFM_1D_CFG *inv_txfm_row_cfg_ls[TX_TYPES_1D][TX_SIZES] = {
   // DCT
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &inv_txfm_1d_row_cfg_dct_4, &inv_txfm_1d_row_cfg_dct_8,
       &inv_txfm_1d_row_cfg_dct_16, &inv_txfm_1d_row_cfg_dct_32 },
   // ADST
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &inv_txfm_1d_row_cfg_adst_4, &inv_txfm_1d_row_cfg_adst_8,
@@ -86,14 +86,14 @@
 #if CONFIG_EXT_TX
   // FLIPADST
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &inv_txfm_1d_row_cfg_adst_4, &inv_txfm_1d_row_cfg_adst_8,
       &inv_txfm_1d_row_cfg_adst_16, &inv_txfm_1d_row_cfg_adst_32 },
   // IDENTITY
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       NULL,
 #endif
       &inv_txfm_1d_cfg_identity_4, &inv_txfm_1d_cfg_identity_8,
diff --git a/av1/common/av1_loopfilter.c b/av1/common/av1_loopfilter.c
index 1f0cb3b..af919a8 100644
--- a/av1/common/av1_loopfilter.c
+++ b/av1/common/av1_loopfilter.c
@@ -42,7 +42,7 @@
 //
 // A loopfilter should be applied to every other 8x8 horizontally.
 static const uint64_t left_64x64_txform_mask[TX_SIZES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   0xffffffffffffffffULL,  // TX_2X2
 #endif
   0xffffffffffffffffULL,  // TX_4X4
@@ -72,7 +72,7 @@
 //
 // A loopfilter should be applied to every other 4 the row vertically.
 static const uint64_t above_64x64_txform_mask[TX_SIZES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   0xffffffffffffffffULL,  // TX_4X4
 #endif
   0xffffffffffffffffULL,  // TX_4X4
@@ -171,7 +171,7 @@
 
 // 16 bit masks for uv transform sizes.
 static const uint16_t left_64x64_txform_mask_uv[TX_SIZES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   0xffff,  // TX_2X2
 #endif
   0xffff,  // TX_4X4
@@ -184,7 +184,7 @@
 };
 
 static const uint16_t above_64x64_txform_mask_uv[TX_SIZES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   0xffff,  // TX_2X2
 #endif
   0xffff,  // TX_4X4
@@ -1918,7 +1918,7 @@
 
 static const uint32_t av1_transform_masks[NUM_EDGE_DIRS][TX_SIZES_ALL] = {
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       2 - 1,  // TX_2X2
 #endif
       4 - 1,   // TX_4X4
@@ -1940,7 +1940,7 @@
       32 - 1   // TX_32X8
   },
   {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       2 - 1,  // TX_2X2
 #endif
       4 - 1,   // TX_4X4
diff --git a/av1/common/blockd.h b/av1/common/blockd.h
index 0cffa79..0022907 100644
--- a/av1/common/blockd.h
+++ b/av1/common/blockd.h
@@ -799,7 +799,7 @@
 
 static const int use_intra_ext_tx_for_txsize[EXT_TX_SETS_INTRA][EXT_TX_SIZES] =
     {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { 1, 1, 1, 1, 1 },  // unused
       { 0, 1, 1, 0, 0 },
       { 0, 0, 0, 1, 0 },
@@ -807,12 +807,12 @@
       { 1, 1, 1, 1 },  // unused
       { 1, 1, 0, 0 },
       { 0, 0, 1, 0 },
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
     };
 
 static const int use_inter_ext_tx_for_txsize[EXT_TX_SETS_INTER][EXT_TX_SIZES] =
     {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { 1, 1, 1, 1, 1 },  // unused
       { 0, 1, 1, 0, 0 },
       { 0, 0, 0, 1, 0 },
@@ -822,7 +822,7 @@
       { 1, 1, 0, 0 },
       { 0, 0, 1, 0 },
       { 0, 0, 0, 1 },
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
     };
 
 // Transform types used in each intra set
@@ -1055,7 +1055,7 @@
 
     if (is_inter_block(mbmi)) {
 // UV Inter only
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       if (tx_size < TX_4X4) return DCT_DCT;
 #endif
       return (mbmi->tx_type == IDTX && txsize_sqr_map[tx_size] >= TX_32X32)
@@ -1066,11 +1066,13 @@
 
 #if CONFIG_CB4X4
   (void)block;
+#if CONFIG_CHROMA_2X2
   if (tx_size < TX_4X4)
     return DCT_DCT;
   else
+#endif
     return intra_mode_to_tx_type_context[mbmi->uv_mode];
-#else
+#else   // CONFIG_CB4X4
 
   // Sub8x8-Inter/Intra OR UV-Intra
   if (is_inter_block(mbmi))  // Sub8x8-Inter
@@ -1114,7 +1116,7 @@
 static INLINE TX_SIZE get_uv_tx_size(const MB_MODE_INFO *mbmi,
                                      const struct macroblockd_plane *pd) {
   TX_SIZE uv_txsize;
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   assert(mbmi->tx_size > TX_2X2);
 #endif
 
@@ -1126,9 +1128,6 @@
 
   uv_txsize = uv_txsize_lookup[mbmi->sb_type][mbmi->tx_size][pd->subsampling_x]
                               [pd->subsampling_y];
-#if CONFIG_CB4X4 && !CONFIG_CHROMA_2X2
-  uv_txsize = AOMMAX(uv_txsize, TX_4X4);
-#endif
   assert(uv_txsize != TX_INVALID);
   return uv_txsize;
 }
diff --git a/av1/common/common_data.h b/av1/common/common_data.h
index 3609d70..7eae71a 100644
--- a/av1/common/common_data.h
+++ b/av1/common/common_data.h
@@ -437,9 +437,11 @@
 };
 
 static const TX_SIZE max_txsize_lookup[BLOCK_SIZES] = {
-#if CONFIG_CB4X4
   // 2X2,    2X4,      4X2,
+#if CONFIG_CHROMA_2X2
   TX_2X2,    TX_2X2,   TX_2X2,
+#elif CONFIG_CB4X4
+  TX_4X4,    TX_4X4,   TX_4X4,
 #endif
   //                   4X4
                        TX_4X4,
@@ -470,10 +472,12 @@
 
 #if CONFIG_RECT_TX && (CONFIG_EXT_TX || CONFIG_VAR_TX)
 static const TX_SIZE max_txsize_rect_lookup[BLOCK_SIZES] = {
-#if CONFIG_CB4X4
   // 2X2,    2X4,      4X2,
+#if CONFIG_CHROMA_2X2
   TX_2X2,    TX_2X2,   TX_2X2,
-#endif  // CONFIG_CB4X4
+#elif CONFIG_CB4X4
+  TX_4X4,    TX_4X4,   TX_4X4,
+#endif
   //                   4X4
                        TX_4X4,
   // 4X8,    8X4,      8X8
@@ -623,7 +627,7 @@
 /* clang-format on */
 
 static const TX_SIZE sub_tx_size_map[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   TX_2X2,  // TX_2X2
 #endif
   TX_4X4,    // TX_4X4
@@ -646,7 +650,7 @@
 };
 
 static const TX_SIZE txsize_horz_map[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   TX_2X2,  // TX_2X2
 #endif
   TX_4X4,    // TX_4X4
@@ -669,7 +673,7 @@
 };
 
 static const TX_SIZE txsize_vert_map[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   TX_2X2,  // TX_2X2
 #endif
   TX_4X4,    // TX_4X4
@@ -691,7 +695,7 @@
   TX_8X8,    // TX_32X8
 };
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 #define TX_SIZE_W_MIN 2
 #else
 #define TX_SIZE_W_MIN 4
@@ -699,7 +703,7 @@
 
 // Transform block width in pixels
 static const int tx_size_wide[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   2,
 #endif
   4,  8, 16, 32,
@@ -709,7 +713,7 @@
   4,  8, 8,  16, 16, 32, 4, 16, 8, 32
 };
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 #define TX_SIZE_H_MIN 2
 #else
 #define TX_SIZE_H_MIN 4
@@ -717,7 +721,7 @@
 
 // Transform block height in pixels
 static const int tx_size_high[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   2,
 #endif
   4,  8, 16, 32,
@@ -729,41 +733,41 @@
 
 // Transform block width in unit
 static const int tx_size_wide_unit[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   1,  2, 4, 8, 16,
 #if CONFIG_TX64X64
   32,
 #endif  // CONFIG_TX64X64
   2,  4, 4, 8, 8,  16, 2, 8, 4, 16
-#else  // CONFIG_CB4X4
+#else  // CONFIG_CHROMA_2X2
   1,  2, 4, 8,
 #if CONFIG_TX64X64
   16,
 #endif  // CONFIG_TX64X64
   1,  2, 2, 4, 4, 8, 1, 4, 2, 8
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
 };
 
 // Transform block height in unit
 static const int tx_size_high_unit[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   1,  2, 4, 8, 16,
 #if CONFIG_TX64X64
   32,
 #endif  // CONFIG_TX64X64
   4,  2, 8, 4, 16, 8, 8, 2, 16, 4
-#else  // CONFIG_CB4X4
+#else  // CONFIG_CHROMA_2X2
   1,  2, 4, 8,
 #if CONFIG_TX64X64
   16,
 #endif  // CONFIG_TX64X64
   2,  1, 4, 2, 8, 4, 4, 1, 8, 2
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
 };
 
 // Transform block width in log2
 static const int tx_size_wide_log2[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   1,
 #endif
   2, 3, 4, 5,
@@ -775,7 +779,7 @@
 
 // Transform block height in log2
 static const int tx_size_high_log2[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   1,
 #endif
   2, 3, 4, 5,
@@ -789,7 +793,7 @@
 #define TX_UNIT_HIGH_LOG2 (MI_SIZE_LOG2 - tx_size_high_log2[0])
 
 static const int tx_size_2d[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   4,
 #endif
   16,   64, 256, 1024,
@@ -800,7 +804,7 @@
 };
 
 static const BLOCK_SIZE txsize_to_bsize[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   BLOCK_2X2,  // TX_2X2
 #endif
   BLOCK_4X4,    // TX_4X4
@@ -823,7 +827,7 @@
 };
 
 static const TX_SIZE txsize_sqr_map[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   TX_2X2,  // TX_2X2
 #endif
   TX_4X4,    // TX_4X4
@@ -846,7 +850,7 @@
 };
 
 static const TX_SIZE txsize_sqr_up_map[TX_SIZES_ALL] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   TX_2X2,  // TX_2X2
 #endif
   TX_4X4,    // TX_4X4
@@ -919,6 +923,7 @@
 //  ss_x == 0    ss_x == 0        ss_x == 1      ss_x == 1
 //  ss_y == 0    ss_y == 1        ss_y == 0      ss_y == 1
 #if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   {
       // BLOCK_2X2
       { { TX_2X2, TX_2X2 }, { TX_2X2, TX_2X2 } },
@@ -982,15 +987,77 @@
       { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
       { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
   },
+#else  // CONFIG_CHROMA_2X2
+  {
+      // BLOCK_2X2
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+#if CONFIG_TX64X64
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+#endif  // CONFIG_TX64X64
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+  },
+  {
+      // BLOCK_2X4
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+#if CONFIG_TX64X64
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+#endif  // CONFIG_TX64X64
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+  },
+  {
+      // BLOCK_2X4
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+#if CONFIG_TX64X64
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+#endif  // CONFIG_TX64X64
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+      { { TX_INVALID, TX_INVALID }, { TX_INVALID, TX_INVALID } },
+  },
+#endif  // CONFIG_CHROMA_2X2
 #endif
   {
 // BLOCK_4X4
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_2X2, TX_2X2 }, { TX_2X2, TX_2X2 } },
       { { TX_4X4, TX_2X2 }, { TX_2X2, TX_2X2 } },
 #else
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1010,7 +1077,7 @@
   },
   {
 // BLOCK_4X8
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_2X2, TX_2X2 }, { TX_2X2, TX_2X2 } },
       { { TX_4X4, TX_2X2 }, { TX_2X2, TX_2X2 } },
 #else
@@ -1022,7 +1089,7 @@
 #if CONFIG_TX64X64
       { { TX_4X8, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif  // CONFIG_TX64X64
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X8, TX_4X4 }, { TX_2X2, TX_2X2 } },  // used
 #else
       { { TX_4X8, TX_4X4 }, { TX_4X4, TX_4X4 } },  // used
@@ -1039,7 +1106,7 @@
   },
   {
 // BLOCK_8X4
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_2X2, TX_2X2 }, { TX_2X2, TX_2X2 } },
       { { TX_4X4, TX_2X2 }, { TX_2X2, TX_2X2 } },
 #else
@@ -1052,7 +1119,7 @@
       { { TX_8X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif  // CONFIG_TX64X64
       { { TX_8X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_8X4, TX_2X2 }, { TX_4X4, TX_2X2 } },  // used
 #else
       { { TX_8X4, TX_4X4 }, { TX_4X4, TX_4X4 } },  // used
@@ -1068,7 +1135,7 @@
   },
   {
 // BLOCK_8X8
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_2X2, TX_2X2 }, { TX_2X2, TX_2X2 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1091,7 +1158,7 @@
   },
   {
 // BLOCK_8X16
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1114,7 +1181,7 @@
   },
   {
 // BLOCK_16X8
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1137,7 +1204,7 @@
   },
   {
 // BLOCK_16X16
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1160,7 +1227,7 @@
   },
   {
 // BLOCK_16X32
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1183,7 +1250,7 @@
   },
   {
 // BLOCK_32X16
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1206,7 +1273,7 @@
   },
   {
 // BLOCK_32X32
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1229,7 +1296,7 @@
   },
   {
 // BLOCK_32X64
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1252,7 +1319,7 @@
   },
   {
 // BLOCK_64X32
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1275,7 +1342,7 @@
   },
   {
 // BLOCK_64X64
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1299,7 +1366,7 @@
 #if CONFIG_EXT_PARTITION
   {
 // BLOCK_64X128
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1322,7 +1389,7 @@
   },
   {
 // BLOCK_128X64
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1345,7 +1412,7 @@
   },
   {
 // BLOCK_128X128
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
       { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
@@ -1426,7 +1493,7 @@
 static const TX_SIZE uvsupertx_size_lookup[TX_SIZES][2][2] = {
 //  ss_x == 0 ss_x == 0   ss_x == 1 ss_x == 1
 //  ss_y == 0 ss_y == 1   ss_y == 0 ss_y == 1
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
 #endif
   { { TX_4X4, TX_4X4 }, { TX_4X4, TX_4X4 } },
diff --git a/av1/common/entropy.c b/av1/common/entropy.c
index 0f03634..3ce205e 100644
--- a/av1/common/entropy.c
+++ b/av1/common/entropy.c
@@ -135,7 +135,7 @@
 };
 
 const uint16_t band_count_table[TX_SIZES_ALL][8] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   { 1, 2, 2, 3, 0, 0, 0 },
 #endif
   { 1, 2, 3, 4, 3, 16 - 13, 0 },    { 1, 2, 3, 4, 11, 64 - 21, 0 },
@@ -151,7 +151,7 @@
 };
 
 const uint16_t band_cum_count_table[TX_SIZES_ALL][8] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   { 0, 1, 3, 6, 10, 13, 16, 0 },
 #endif
   { 0, 1, 3, 6, 10, 13, 16, 0 },   { 0, 1, 3, 6, 10, 21, 64, 0 },
@@ -896,7 +896,7 @@
 const av1_coeff_probs_model
 default_qctx_coef_probs[QCTX_BINS][TX_SIZES][PLANE_TYPES] = {
     {  // Q_Index 0
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
         {  // TX_SIZE 0
             {  // Y plane
                 {  // Intra
@@ -1562,7 +1562,7 @@
 #endif  // CONFIG_TX64X64
     },
     {  // Q_Index 1
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
         {  // TX_SIZE 0
             {  // Y plane
                 {  // Intra
@@ -2228,7 +2228,7 @@
 #endif  // CONFIG_TX64X64
     },
     {  // Q_Index 2
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
         {  // TX_SIZE 0
             {  // Y plane
                 {  // Intra
@@ -2894,7 +2894,7 @@
 #endif  // CONFIG_TX64X64
     },
     {  // Q_Index 3
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
         {  // TX_SIZE 0
             {  // Y plane
                 {  // Intra
@@ -4075,7 +4075,7 @@
 #endif  // CONFIG_Q_ADAPT_PROBS
 static const aom_prob av1_default_blockzero_probs[TX_SIZES][PLANE_TYPES]
                                            [REF_TYPES][BLOCKZ_CONTEXTS] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   { // TX_2x2
     { // Y plane
       { 195, 84, 8, },  // Intra
@@ -5448,7 +5448,7 @@
     for (j = 0; j < REF_TYPES; ++j)
       for (k = 0; k < COEF_BANDS; ++k)
         for (l = 0; l < BAND_COEFF_CONTEXTS(k); ++l) {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           av1_copy(fc->coef_head_cdfs[TX_2X2][i][j][k][l],
                    default_coef_head_cdf_4x4[i][j][k][l]);
 #endif
@@ -5500,7 +5500,7 @@
       ROUND_POWER_OF_TWO(cm->base_qindex, 8 - QCTX_BIN_BITS), QCTX_BINS - 1);
   av1_copy(cm->fc->coef_probs, default_qctx_coef_probs[index]);
 #else
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   av1_copy(cm->fc->coef_probs[TX_2X2], default_coef_probs_4x4);
 #endif
   av1_copy(cm->fc->coef_probs[TX_4X4], default_coef_probs_4x4);
diff --git a/av1/common/entropy.h b/av1/common/entropy.h
index dac4003..49d5f6c 100644
--- a/av1/common/entropy.h
+++ b/av1/common/entropy.h
@@ -125,7 +125,7 @@
   // TODO(debargha): Does TX_64X64 require an additional extrabit?
   if (tx_size > TX_32X32) tx_size = TX_32X32;
 #endif
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   int tx_offset = (tx_size < TX_4X4) ? 0 : (int)(tx_size - TX_4X4);
 #else
   int tx_offset = (int)(tx_size - TX_4X4);
@@ -263,7 +263,7 @@
                                       const ENTROPY_CONTEXT *l) {
   ENTROPY_CONTEXT above_ec = 0, left_ec = 0;
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   switch (tx_size) {
     case TX_2X2:
       above_ec = a[0] != 0;
@@ -338,7 +338,7 @@
     default: assert(0 && "Invalid transform size."); break;
   }
   return combine_entropy_contexts(above_ec, left_ec);
-#endif
+#endif  // CONFIG_CHROMA_2X2
 
   switch (tx_size) {
     case TX_4X4:
diff --git a/av1/common/entropymode.c b/av1/common/entropymode.c
index 6aa51e2..e60c651 100644
--- a/av1/common/entropymode.c
+++ b/av1/common/entropymode.c
@@ -18,7 +18,7 @@
 
 #if CONFIG_LV_MAP
 const aom_prob default_txb_skip[TX_SIZES][TXB_SKIP_CONTEXTS] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
 #endif
   { 252, 71, 126, 184, 178, 218, 251, 49, 133, 221, 27, 92, 197 },
@@ -32,7 +32,7 @@
 
 const aom_prob default_coeff_base
     [TX_SIZES][PLANE_TYPES][NUM_BASE_LEVELS][COEFF_BASE_CONTEXTS] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { // TX_2X2
         {
             { 73,  128, 131, 204, 165, 226, 169, 236, 18,  128, 51,
@@ -168,7 +168,7 @@
     };
 
 const aom_prob default_nz_map[TX_SIZES][PLANE_TYPES][SIG_COEF_CONTEXTS] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   {
       { 34, 103, 61, 106, 62,  160, 112, 54, 173, 121,
         75, 157, 92, 75,  157, 129, 94,  65, 52,  37 },
@@ -203,7 +203,7 @@
 };
 
 const aom_prob default_eob_flag[TX_SIZES][PLANE_TYPES][EOB_COEF_CONTEXTS] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   {
       { 229, 236, 231, 222, 239, 236, 214, 201, 236, 226, 195, 134, 228,
         210, 150, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128 },
@@ -238,7 +238,7 @@
 };
 
 const aom_prob default_coeff_lps[TX_SIZES][PLANE_TYPES][LEVEL_CONTEXTS] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   {
       { 164, 128, 134, 165, 128, 137, 168, 128, 97,  136, 167, 128,
         182, 205, 143, 172, 200, 145, 173, 193, 103, 137, 170, 191,
@@ -1852,7 +1852,7 @@
     default_inter_ext_tx_prob[EXT_TX_SETS_INTER][EXT_TX_SIZES][TX_TYPES - 1] = {
       {
 // ToDo(yaowu): remove unused entry 0.
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           { 0 },
 #endif
           { 0 },
@@ -1861,7 +1861,7 @@
           { 0 },
       },
       {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           { 0 },
 #endif
           { 10, 24, 30, 128, 128, 128, 128, 112, 160, 128, 128, 128, 128, 128,
@@ -1874,7 +1874,7 @@
             128 },
       },
       {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           { 0 },
 #endif
           { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
@@ -1883,7 +1883,7 @@
           { 10, 30, 128, 112, 160, 128, 128, 128, 128, 128, 128 },
       },
       {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           { 0 },
 #endif
           { 12 },
@@ -1900,7 +1900,7 @@
                              [TX_TYPES - 1] = {
                                {
 // ToDo(yaowu): remove unused entry 0.
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
                                    {
                                        { 0 },
                                    },
@@ -1983,7 +1983,7 @@
                                    },
                                },
                                {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
                                    {
                                        { 0 },
                                    },
@@ -2066,7 +2066,7 @@
                                    },
                                },
                                {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
                                    {
                                        { 0 },
                                    },
@@ -2164,7 +2164,7 @@
 
 static const aom_prob
     default_intra_ext_tx_prob[EXT_TX_SIZES][TX_TYPES][TX_TYPES - 1] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
 #endif
       { { 240, 85, 128 }, { 4, 1, 248 }, { 4, 1, 8 }, { 4, 248, 128 } },
@@ -2173,7 +2173,7 @@
     };
 
 static const aom_prob default_inter_ext_tx_prob[EXT_TX_SIZES][TX_TYPES - 1] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   { 160, 85, 128 },
 #endif
   { 160, 85, 128 },
@@ -2203,7 +2203,7 @@
 #if CONFIG_SUPERTX
 static const aom_prob
     default_supertx_prob[PARTITION_SUPERTX_CONTEXTS][TX_SIZES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 #if CONFIG_TX64X64
       { 1, 1, 160, 160, 170, 180 }, { 1, 1, 200, 200, 210, 220 },
 #else
@@ -2214,8 +2214,8 @@
       { 1, 160, 160, 170, 180 }, { 1, 200, 200, 210, 220 },
 #else
       { 1, 160, 160, 170 }, { 1, 200, 200, 210 },
-#endif  // CONFIG_CB4X4
 #endif  // CONFIG_TX64X64
+#endif  // CONFIG_CHROMA_2X2
     };
 #endif  // CONFIG_SUPERTX
 
@@ -2562,7 +2562,7 @@
     [EXT_TX_SETS_INTRA][EXT_TX_SIZES][INTRA_MODES][CDF_SIZE(TX_TYPES)] = {
       {
 // FIXME: unused zero positions, from uncoded trivial transform set
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           {
               { 0 },
           },
@@ -2917,7 +2917,7 @@
     default_inter_ext_tx_cdf[EXT_TX_SETS_INTER][EXT_TX_SIZES][CDF_SIZE(
         TX_TYPES)] = {
       {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           { 0 },
 #endif
           { 0 },
@@ -2925,7 +2925,7 @@
           { 0 },
           { 0 } },
       {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           { 0 },
 #endif
           { AOM_ICDF(1280), AOM_ICDF(1453), AOM_ICDF(1626), AOM_ICDF(2277),
@@ -2949,7 +2949,7 @@
             AOM_ICDF(28253), AOM_ICDF(29758), AOM_ICDF(31263), AOM_ICDF(32768),
             0 } },
       {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           { 0 },
 #endif
           { AOM_ICDF(1280), AOM_ICDF(3125), AOM_ICDF(4970), AOM_ICDF(17132),
@@ -2969,7 +2969,7 @@
             AOM_ICDF(28370), AOM_ICDF(29836), AOM_ICDF(31302), AOM_ICDF(32768),
             0 } },
       {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
           { 0 },
 #endif
           { AOM_ICDF(1536), AOM_ICDF(32768), 0 },
@@ -2980,7 +2980,7 @@
 #else
 static const aom_cdf_prob
     default_intra_ext_tx_cdf[EXT_TX_SIZES][TX_TYPES][CDF_SIZE(TX_TYPES)] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { { AOM_ICDF(30720), AOM_ICDF(31400), AOM_ICDF(32084), AOM_ICDF(32768),
           0 },
         { AOM_ICDF(512), AOM_ICDF(638), AOM_ICDF(31764), AOM_ICDF(32768), 0 },
@@ -3011,7 +3011,7 @@
 
 static const aom_cdf_prob
     default_inter_ext_tx_cdf[EXT_TX_SIZES][CDF_SIZE(TX_TYPES)] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
       { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
 #endif
       { AOM_ICDF(20480), AOM_ICDF(24560), AOM_ICDF(28664), AOM_ICDF(32768), 0 },
diff --git a/av1/common/entropymode.h b/av1/common/entropymode.h
index 97e0f3b..5a465d1 100644
--- a/av1/common/entropymode.h
+++ b/av1/common/entropymode.h
@@ -106,7 +106,7 @@
                                  [SWITCHABLE_FILTERS - 1];
 #if CONFIG_ADAPT_SCAN
 // TODO(angiebird): try aom_prob
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   uint32_t non_zero_prob_2x2[TX_TYPES][4];
 #endif
   uint32_t non_zero_prob_4X4[TX_TYPES][16];
@@ -121,7 +121,7 @@
   uint32_t non_zero_prob_32X16[TX_TYPES][512];
   uint32_t non_zero_prob_16X32[TX_TYPES][512];
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   DECLARE_ALIGNED(16, int16_t, scan_2x2[TX_TYPES][4]);
 #endif
   DECLARE_ALIGNED(16, int16_t, scan_4X4[TX_TYPES][16]);
@@ -136,7 +136,7 @@
   DECLARE_ALIGNED(16, int16_t, scan_16X32[TX_TYPES][512]);
   DECLARE_ALIGNED(16, int16_t, scan_32X16[TX_TYPES][512]);
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   DECLARE_ALIGNED(16, int16_t, iscan_2x2[TX_TYPES][4]);
 #endif
   DECLARE_ALIGNED(16, int16_t, iscan_4X4[TX_TYPES][16]);
@@ -151,7 +151,7 @@
   DECLARE_ALIGNED(16, int16_t, iscan_16X32[TX_TYPES][512]);
   DECLARE_ALIGNED(16, int16_t, iscan_32X16[TX_TYPES][512]);
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   int16_t nb_2x2[TX_TYPES][(4 + 1) * 2];
 #endif
   int16_t nb_4X4[TX_TYPES][(16 + 1) * 2];
@@ -324,9 +324,9 @@
   unsigned int switchable_interp[SWITCHABLE_FILTER_CONTEXTS]
                                 [SWITCHABLE_FILTERS];
 #if CONFIG_ADAPT_SCAN
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   unsigned int non_zero_count_2x2[TX_TYPES][4];
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
   unsigned int non_zero_count_4X4[TX_TYPES][16];
   unsigned int non_zero_count_8X8[TX_TYPES][64];
   unsigned int non_zero_count_16X16[TX_TYPES][256];
diff --git a/av1/common/enums.h b/av1/common/enums.h
index 8588f0d..0cce8f0 100644
--- a/av1/common/enums.h
+++ b/av1/common/enums.h
@@ -149,7 +149,7 @@
 
 // block transform size
 typedef enum ATTRIBUTE_PACKED {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   TX_2X2,  // 2x2 transform
 #endif
   TX_4X4,    // 4x4 transform
@@ -249,15 +249,15 @@
 } BOUNDARY_TYPE;
 
 #if CONFIG_EXT_TX
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 #define EXT_TX_SIZES 5  // number of sizes that use extended transforms
 #else
 #define EXT_TX_SIZES 4       // number of sizes that use extended transforms
-#endif                       // CONFIG_CB4X4
+#endif                       // CONFIG_CHROMA_2X2
 #define EXT_TX_SETS_INTER 4  // Sets of transform selections for INTER
 #define EXT_TX_SETS_INTRA 3  // Sets of transform selections for INTRA
 #else
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 #define EXT_TX_SIZES 4  // number of sizes that use extended transforms
 #else
 #define EXT_TX_SIZES 3  // number of sizes that use extended transforms
diff --git a/av1/common/idct.c b/av1/common/idct.c
index d12c3be..e94598e 100644
--- a/av1/common/idct.c
+++ b/av1/common/idct.c
@@ -1295,7 +1295,7 @@
 }
 #endif  // CONFIG_TX64X64
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 static void inv_txfm_add_2x2(const tran_low_t *input, uint8_t *dest, int stride,
                              int eob, TX_TYPE tx_type, int lossless) {
   tran_high_t a1 = input[0] >> UNIT_QUANT_SHIFT;
@@ -2465,7 +2465,7 @@
     aom_highbd_iwht4x4_1_add(input, dest, stride, bd);
 }
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 static void highbd_inv_txfm_add_2x2(const tran_low_t *input, uint8_t *dest,
                                     int stride, int eob, int bd,
                                     TX_TYPE tx_type, int lossless) {
@@ -2778,7 +2778,7 @@
       // case.
       inv_txfm_add_4x4(input, dest, stride, eob, tx_type, lossless);
       break;
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2:
       inv_txfm_add_2x2(input, dest, stride, eob, tx_type, lossless);
       break;
@@ -2908,7 +2908,7 @@
       av1_highbd_inv_txfm_add_4x4(input, dest, stride, eob, bd, tx_type,
                                   lossless);
       break;
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2:
       highbd_inv_txfm_add_2x2(input, dest, stride, eob, bd, tx_type, lossless);
       break;
diff --git a/av1/common/pred_common.h b/av1/common/pred_common.h
index e171703..ecbe12f 100644
--- a/av1/common/pred_common.h
+++ b/av1/common/pred_common.h
@@ -206,13 +206,7 @@
   if (!has_left) left_ctx = above_ctx;
 
   if (!has_above) above_ctx = left_ctx;
-#if CONFIG_CB4X4
-  // TODO(jingning): Temporary setup. Will rework this after the cb4x4
-  // framework is up running.
-  return (above_ctx + left_ctx) > max_tx_size + 1;
-#else
-  return (above_ctx + left_ctx) > max_tx_size;
-#endif
+  return (above_ctx + left_ctx) > max_tx_size + TX_SIZE_LUMA_MIN;
 }
 
 #if CONFIG_VAR_TX
diff --git a/av1/common/reconintra.c b/av1/common/reconintra.c
index b8cb2ff..c4f66fc 100644
--- a/av1/common/reconintra.c
+++ b/av1/common/reconintra.c
@@ -580,7 +580,7 @@
   p[TX_32X32] = aom_##type##_predictor_32x32
 #endif  // CONFIG_TX64X64
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 #define INIT_ALL_SIZES(p, type)           \
   p[TX_2X2] = aom_##type##_predictor_2x2; \
   p[TX_4X4] = aom_##type##_predictor_4x4; \
@@ -1214,7 +1214,7 @@
 #if CONFIG_FILTER_INTRA
 #if USE_3TAP_INTRA_FILTER
 static int filter_intra_taps_3[TX_SIZES][FILTER_INTRA_MODES][3] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   {
       { 697, 836, -509 },
       { 993, 513, -482 },
@@ -1293,7 +1293,7 @@
 };
 #else
 static int filter_intra_taps_4[TX_SIZES][FILTER_INTRA_MODES][4] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   {
       { 735, 881, -537, -54 },
       { 1005, 519, -488, -11 },
diff --git a/av1/common/scan.c b/av1/common/scan.c
index a3c7c09..a0881a9 100644
--- a/av1/common/scan.c
+++ b/av1/common/scan.c
@@ -14,7 +14,7 @@
 #include "av1/common/common_data.h"
 #include "av1/common/scan.h"
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 DECLARE_ALIGNED(16, static const int16_t, default_scan_2x2[4]) = {
   0, 1, 2, 3,
 };
@@ -1491,7 +1491,7 @@
 };
 #endif  // CONFIG_TX64X64
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 DECLARE_ALIGNED(16, static const int16_t,
                 default_scan_2x2_neighbors[5 * MAX_NEIGHBORS]) = {
   0, 0, 0, 0, 0, 1, 1, 2, 0, 0,
@@ -4249,7 +4249,7 @@
 };
 #endif  // CONFIG_TX64X64
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 DECLARE_ALIGNED(16, static const int16_t, av1_default_iscan_2x2[4]) = { 0, 1, 2,
                                                                         3 };
 #endif
@@ -5719,7 +5719,7 @@
 #endif  // CONFIG_TX64X64
 
 const SCAN_ORDER av1_default_scan_orders[TX_SIZES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   { default_scan_2x2, av1_default_iscan_2x2, default_scan_2x2_neighbors },
 #endif
   { default_scan_4x4, av1_default_iscan_4x4, default_scan_4x4_neighbors },
@@ -5732,7 +5732,7 @@
 };
 
 const SCAN_ORDER av1_intra_scan_orders[TX_SIZES_ALL][TX_TYPES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   {
       // TX_2X2
       { default_scan_2x2, av1_default_iscan_2x2, default_scan_2x2_neighbors },
@@ -6043,7 +6043,7 @@
 };
 
 const SCAN_ORDER av1_inter_scan_orders[TX_SIZES_ALL][TX_TYPES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   {
       // TX_2X2
       { default_scan_2x2, av1_default_iscan_2x2, default_scan_2x2_neighbors },
@@ -6493,7 +6493,7 @@
 static uint32_t *get_non_zero_prob(FRAME_CONTEXT *fc, TX_SIZE tx_size,
                                    TX_TYPE tx_type) {
   switch (tx_size) {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2: return fc->non_zero_prob_2x2[tx_type];
 #endif
     case TX_4X4: return fc->non_zero_prob_4X4[tx_type];
@@ -6515,7 +6515,7 @@
 static int16_t *get_adapt_scan(FRAME_CONTEXT *fc, TX_SIZE tx_size,
                                TX_TYPE tx_type) {
   switch (tx_size) {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2: return fc->scan_2x2[tx_type];
 #endif
     case TX_4X4: return fc->scan_4X4[tx_type];
@@ -6537,7 +6537,7 @@
 static int16_t *get_adapt_iscan(FRAME_CONTEXT *fc, TX_SIZE tx_size,
                                 TX_TYPE tx_type) {
   switch (tx_size) {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2: return fc->iscan_2x2[tx_type];
 #endif
     case TX_4X4: return fc->iscan_4X4[tx_type];
@@ -6559,7 +6559,7 @@
 static int16_t *get_adapt_nb(FRAME_CONTEXT *fc, TX_SIZE tx_size,
                              TX_TYPE tx_type) {
   switch (tx_size) {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2: return fc->nb_2x2[tx_type];
 #endif
     case TX_4X4: return fc->nb_4X4[tx_type];
@@ -6581,7 +6581,7 @@
 static uint32_t *get_non_zero_counts(FRAME_COUNTS *counts, TX_SIZE tx_size,
                                      TX_TYPE tx_type) {
   switch (tx_size) {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2: return counts->non_zero_count_2x2[tx_type];
 #endif
     case TX_4X4: return counts->non_zero_count_4X4[tx_type];
diff --git a/av1/encoder/bitstream.c b/av1/encoder/bitstream.c
index d0f83d7..71d544a 100644
--- a/av1/encoder/bitstream.c
+++ b/av1/encoder/bitstream.c
@@ -2523,9 +2523,6 @@
         av1_write_coeffs_mb(cm, x, w, plane);
 #else
         TX_SIZE tx = get_tx_size(plane, xd);
-#if CONFIG_CB4X4 && !CONFIG_CHROMA_2X2
-        tx = AOMMAX(TX_4X4, tx);
-#endif
         const int bkw = tx_size_wide_unit[tx];
         const int bkh = tx_size_high_unit[tx];
         for (row = 0; row < num_4x4_h; row += bkh) {
diff --git a/av1/encoder/hybrid_fwd_txfm.c b/av1/encoder/hybrid_fwd_txfm.c
index 2432938..c57deed 100644
--- a/av1/encoder/hybrid_fwd_txfm.c
+++ b/av1/encoder/hybrid_fwd_txfm.c
@@ -16,7 +16,7 @@
 #include "av1/common/idct.h"
 #include "av1/encoder/hybrid_fwd_txfm.h"
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 static void fwd_txfm_2x2(const int16_t *src_diff, tran_low_t *coeff,
                          int diff_stride, TX_TYPE tx_type, int lossless) {
   tran_high_t a1 = src_diff[0];
@@ -163,7 +163,7 @@
 #endif  // CONFIG_EXT_TX && CONFIG_RECT_TX && CONFIG_RECT_TX_EXT
 
 #if CONFIG_HIGHBITDEPTH
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
 static void highbd_fwd_txfm_2x2(const int16_t *src_diff, tran_low_t *coeff,
                                 int diff_stride, TX_TYPE tx_type, int lossless,
                                 const int bd) {
@@ -455,7 +455,7 @@
     case TX_4X4:
       fwd_txfm_4x4(src_diff, coeff, diff_stride, tx_type, lossless);
       break;
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2:
       fwd_txfm_2x2(src_diff, coeff, diff_stride, tx_type, lossless);
       break;
@@ -532,7 +532,7 @@
     case TX_4X4:
       highbd_fwd_txfm_4x4(src_diff, coeff, diff_stride, tx_type, lossless, bd);
       break;
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
     case TX_2X2:
       highbd_fwd_txfm_2x2(src_diff, coeff, diff_stride, tx_type, lossless, bd);
       break;
diff --git a/av1/encoder/rd.c b/av1/encoder/rd.c
index 54b845e..6320af1 100644
--- a/av1/encoder/rd.c
+++ b/av1/encoder/rd.c
@@ -558,7 +558,7 @@
 
   int i;
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   switch (tx_size) {
     case TX_2X2:
       memcpy(t_above, above, sizeof(ENTROPY_CONTEXT) * num_4x4_w);
@@ -674,7 +674,7 @@
     default: assert(0 && "Invalid transform size."); break;
   }
   return;
-#endif
+#endif  // CONFIG_CHROMA_2X2
 
   switch (tx_size) {
     case TX_4X4:
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 962c4c6..39cd27d 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -2671,7 +2671,7 @@
   const int dst_stride = pd->dst.stride;
   const uint8_t *src_init = &p->src.buf[row * 4 * src_stride + col * 4];
   uint8_t *dst_init = &pd->dst.buf[row * 4 * dst_stride + col * 4];
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   // TODO(jingning): This is a temporal change. The whole function should be
   // out when cb4x4 is enabled.
   ENTROPY_CONTEXT ta[4], tempa[4];
@@ -2679,7 +2679,7 @@
 #else
   ENTROPY_CONTEXT ta[2], tempa[2];
   ENTROPY_CONTEXT tl[2], templ[2];
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
 
   const int pred_width_in_4x4_blocks = num_4x4_blocks_wide_lookup[bsize];
   const int pred_height_in_4x4_blocks = num_4x4_blocks_high_lookup[bsize];
@@ -4991,7 +4991,6 @@
   rd_pick_intra_sbuv_mode(cpi, x, rate_uv, rate_uv_tokenonly, dist_uv, skip_uv,
                           bsize, max_tx_size);
 #else
-  max_tx_size = AOMMAX(max_tx_size, TX_4X4);
   if (x->skip_chroma_rd) {
     *rate_uv = 0;
     *rate_uv_tokenonly = 0;
@@ -5351,13 +5350,13 @@
   int_mv ref_mv[2];
 #endif  // CONFIG_EXT_INTER
 
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   ENTROPY_CONTEXT ta[4];
   ENTROPY_CONTEXT tl[4];
 #else
   ENTROPY_CONTEXT ta[2];
   ENTROPY_CONTEXT tl[2];
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
 } SEG_RDSTAT;
 
 typedef struct {
@@ -5828,11 +5827,11 @@
   const BLOCK_SIZE bsize = mbmi->sb_type;
   const int num_4x4_blocks_wide = num_4x4_blocks_wide_lookup[bsize];
   const int num_4x4_blocks_high = num_4x4_blocks_high_lookup[bsize];
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   ENTROPY_CONTEXT t_above[4], t_left[4];
 #else
   ENTROPY_CONTEXT t_above[2], t_left[2];
-#endif  // CONFIG_CB4X4
+#endif  // CONFIG_CHROMA_2X2
   int subpelmv = 1, have_ref = 0;
   const int has_second_rf = has_second_ref(mbmi);
   const int inter_mode_mask = cpi->sf.inter_mode_mask[bsize];
@@ -9481,9 +9480,6 @@
                                      [pd[1].subsampling_x][pd[1].subsampling_y];
     init_sbuv_mode(&xd->mi[0]->mbmi);
 #if CONFIG_CB4X4
-#if !CONFIG_CHROMA_2X2
-    max_uv_tx_size = AOMMAX(max_uv_tx_size, TX_4X4);
-#endif  // !CONFIG_CHROMA_2X2
     if (!x->skip_chroma_rd)
       rd_pick_intra_sbuv_mode(cpi, x, &rate_uv, &rate_uv_tokenonly, &dist_uv,
                               &uv_skip, bsize, max_uv_tx_size);
diff --git a/examples/inspect.c b/examples/inspect.c
index cf00446..294e478 100644
--- a/examples/inspect.c
+++ b/examples/inspect.c
@@ -153,7 +153,7 @@
 };
 
 const map_entry tx_size_map[] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   ENUM(TX_2X2),
 #endif
   ENUM(TX_4X4),   ENUM(TX_8X8),   ENUM(TX_16X16), ENUM(TX_32X32),
diff --git a/test/av1_txfm_test.h b/test/av1_txfm_test.h
index 70f971d..d46f0bb 100644
--- a/test/av1_txfm_test.h
+++ b/test/av1_txfm_test.h
@@ -79,7 +79,7 @@
 #if CONFIG_HIGHBITDEPTH
 #if CONFIG_AV1_ENCODER
 static const Fwd_Txfm2d_Func fwd_txfm_func_ls[TX_SIZES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   NULL,
 #endif
   av1_fwd_txfm2d_4x4_c, av1_fwd_txfm2d_8x8_c, av1_fwd_txfm2d_16x16_c,
@@ -88,7 +88,7 @@
 #endif
 
 static const Inv_Txfm2d_Func inv_txfm_func_ls[TX_SIZES] = {
-#if CONFIG_CB4X4
+#if CONFIG_CHROMA_2X2
   NULL,
 #endif
   av1_inv_txfm2d_add_4x4_c, av1_inv_txfm2d_add_8x8_c,