Rework the ML based transform split pruning feature

-Use mean and standard deviation of the residue block and sub-blocks as
feature.
-Train neural nets model for different transform block sizes.
-Horizontal and vertical rectangular blocks share the same model. For
example, TX_4X8 and TX_8X4 use the same model; TX_4X16 and TX_16X4 use
the same model.

Compression loss(30 frames) is under 0.05% for both speed 0 and 1.

Encoding speedup varies among different sequences; no speed regression
was observed. Some samples:

Speed 0(15 frames):
basketballpass_240p     8%
bowing_cif             10%
bqsquare_240p          15%
cheer_sif              22%

Speed 1(30 frames):
blowingbubbles_240p   4.5%
cheer_sif              10%
flower_cif              4%
football_cif            7%

Change-Id: If102fa333d30fe7e5f5b1b302e92bf688fc0bbf8
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index faa8aaf..dc2a3a5 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -1491,50 +1491,6 @@
   for (i = 0; i < 16; i++) scores_2D[i] /= sum;
 }
 
-static const float prune_tx_split_thresholds[] = {
-  100.0f,  // BLOCK_4X4,
-  1.00f,   // BLOCK_4X8,
-  1.22f,   // BLOCK_8X4,
-  1.26f,   // BLOCK_8X8,
-  0.28f,   // BLOCK_8X16,
-  0.52f,   // BLOCK_16X8,
-  0.65f,   // BLOCK_16X16,
-  100.0f,  // BLOCK_16X32,
-  100.0f,  // BLOCK_32X16,
-  100.0f,  // BLOCK_32X32,
-  100.0f,  // BLOCK_32X64,
-  100.0f,  // BLOCK_64X32,
-  100.0f,  // BLOCK_64X64,
-  100.0f,  // BLOCK_64X128,
-  100.0f,  // BLOCK_128X64,
-  100.0f,  // BLOCK_128X128,
-  100.0f,  // BLOCK_4X16,
-  100.0f,  // BLOCK_16X4,
-  100.0f,  // BLOCK_8X32,
-  100.0f,  // BLOCK_32X8,
-  100.0f,  // BLOCK_16X64,
-  100.0f,  // BLOCK_64X16,
-};
-
-static void prune_tx_split(BLOCK_SIZE bsize, MACROBLOCK *x) {
-  const NN_CONFIG *nn_config = av1_tx_split_nnconfig_map[bsize];
-  if (!nn_config) return;
-  aom_clear_system_state();
-  const struct macroblock_plane *const p = &x->plane[0];
-  const int bw = block_size_wide[bsize], bh = block_size_high[bsize];
-  float features[17];
-  const int feature_num = (bw / 4) * (bh / 4) + 1;
-  assert(feature_num <= 17);
-  float hcorr, vcorr;
-  get_horver_correlation_full(p->src_diff, bw, bw, bh, &hcorr, &vcorr);
-  get_2D_energy_distribution(p->src_diff, bw, bw, bh, features);
-  features[feature_num - 2] = hcorr;
-  features[feature_num - 1] = vcorr;
-  float score;
-  av1_nn_predict(features, nn_config, &score);
-  x->tx_split_prune_flag = score > prune_tx_split_thresholds[bsize];
-}
-
 // These thresholds were calibrated to provide a certain number of TX types
 // pruned by the model on average, i.e. selecting a threshold with index i
 // will lead to pruning i+1 TX types on average
@@ -1681,8 +1637,7 @@
 }
 
 static void prune_tx(const AV1_COMP *cpi, BLOCK_SIZE bsize, MACROBLOCK *x,
-                     const MACROBLOCKD *const xd, int tx_set_type,
-                     int use_tx_split_prune) {
+                     const MACROBLOCKD *const xd, int tx_set_type) {
   av1_zero(x->tx_search_prune);
   x->tx_split_prune_flag = 0;
   const MB_MODE_INFO *mbmi = xd->mi[0];
@@ -1713,12 +1668,7 @@
           prune_two_for_sby(cpi, bsize, x, xd, 1, 1);
       break;
     case PRUNE_2D_ACCURATE:
-    case PRUNE_2D_FAST:
-      // TODO(huisu@google.com): temporarily turn prune_tx_split off while
-      // testing new models for tx size prediction.
-      // if (use_tx_split_prune) prune_tx_split(bsize, x);
-      (void)use_tx_split_prune;
-      break;
+    case PRUNE_2D_FAST: break;
     default: assert(0);
   }
 }
@@ -2998,7 +2948,7 @@
   mbmi->tx_size = tx_size_from_tx_mode(bs, cm->tx_mode);
   const TxSetType tx_set_type =
       av1_get_ext_tx_set_type(mbmi->tx_size, is_inter, cm->reduced_tx_set_used);
-  prune_tx(cpi, bs, x, xd, tx_set_type, 0);
+  prune_tx(cpi, bs, x, xd, tx_set_type);
   txfm_rd_in_plane(x, cpi, rd_stats, ref_best_rd, AOM_PLANE_Y, bs,
                    mbmi->tx_size, cpi->sf.use_fast_coef_costing);
   // Reset the pruning flags.
@@ -3071,7 +3021,7 @@
     depth = MAX_TX_DEPTH;
   }
 
-  prune_tx(cpi, bs, x, xd, EXT_TX_SET_ALL16, 0);
+  prune_tx(cpi, bs, x, xd, EXT_TX_SET_ALL16);
 
   for (n = start_tx; depth <= MAX_TX_DEPTH; depth++, n = sub_tx_size_map[n]) {
     RD_STATS this_rd_stats;
@@ -4086,6 +4036,114 @@
   }
 }
 
+static void get_mean_and_dev(const int16_t *data, int stride, int bw, int bh,
+                             float *mean, float *dev) {
+  int x_sum = 0;
+  int x2_sum = 0;
+  for (int i = 0; i < bh; ++i) {
+    for (int j = 0; j < bw; ++j) {
+      const int val = data[j];
+      x_sum += val;
+      x2_sum += val * val;
+    }
+    data += stride;
+  }
+
+  const int num = bw * bh;
+  const float e_x = (float)x_sum / num;
+  const float e_x2 = (float)x2_sum / num;
+  const float diff = e_x2 - e_x * e_x;
+  *dev = (diff > 0) ? sqrtf(diff) : 0;
+  *mean = e_x;
+}
+
+static void get_mean_and_dev_float(const float *data, int stride, int bw,
+                                   int bh, float *mean, float *dev) {
+  float x_sum = 0;
+  float x2_sum = 0;
+  for (int i = 0; i < bh; ++i) {
+    for (int j = 0; j < bw; ++j) {
+      const float val = data[j];
+      x_sum += val;
+      x2_sum += val * val;
+    }
+    data += stride;
+  }
+
+  const int num = bw * bh;
+  const float e_x = x_sum / num;
+  const float e_x2 = x2_sum / num;
+  const float diff = e_x2 - e_x * e_x;
+  *dev = (diff > 0) ? sqrtf(diff) : 0;
+  *mean = e_x;
+}
+
+// Feature used by the model to predict tx split: the mean and standard
+// deviation values of the block and sub-blocks.
+static void get_mean_dev_features(const int16_t *data, int stride, int bw,
+                                  int bh, int levels, float *feature) {
+  int feature_idx = 0;
+  int width = bw;
+  int height = bh;
+  const int16_t *const data_ptr = &data[0];
+  for (int lv = 0; lv < levels; ++lv) {
+    if (width < 2 || height < 2) break;
+    float mean_buf[16];
+    float dev_buf[16];
+    int blk_idx = 0;
+    for (int row = 0; row < bh; row += height) {
+      for (int col = 0; col < bw; col += width) {
+        float mean, dev;
+        get_mean_and_dev(data_ptr + row * stride + col, stride, width, height,
+                         &mean, &dev);
+        feature[feature_idx++] = mean;
+        feature[feature_idx++] = dev;
+        mean_buf[blk_idx] = mean;
+        dev_buf[blk_idx++] = dev;
+      }
+    }
+    if (blk_idx > 1) {
+      float mean, dev;
+      // Deviation of means.
+      get_mean_and_dev_float(mean_buf, 1, 1, blk_idx, &mean, &dev);
+      feature[feature_idx++] = dev;
+      // Mean of deviations.
+      get_mean_and_dev_float(dev_buf, 1, 1, blk_idx, &mean, &dev);
+      feature[feature_idx++] = mean;
+    }
+    // Reduce the block size when proceeding to the next level.
+    if (height == width) {
+      height = height >> 1;
+      width = width >> 1;
+    } else if (height > width) {
+      height = height >> 1;
+    } else {
+      width = width >> 1;
+    }
+  }
+}
+
+static int ml_predict_tx_split(MACROBLOCK *x, BLOCK_SIZE bsize, int blk_row,
+                               int blk_col, TX_SIZE tx_size) {
+  const NN_CONFIG *nn_config = av1_tx_split_nnconfig_map[tx_size];
+  if (!nn_config) return -1;
+
+  const int diff_stride = block_size_wide[bsize];
+  const int16_t *diff =
+      x->plane[0].src_diff + 4 * blk_row * diff_stride + 4 * blk_col;
+  const int bw = tx_size_wide[tx_size];
+  const int bh = tx_size_high[tx_size];
+  aom_clear_system_state();
+
+  float features[64] = { 0.0f };
+  get_mean_dev_features(diff, diff_stride, bw, bh, 2, features);
+
+  float score = 0.0f;
+  av1_nn_predict(features, nn_config, &score);
+  score = 1.0f / (1.0f + (float)exp(-score));
+  return (int)(score * 100);
+}
+
 // Search for the best tx partition/type for a given luma block.
 static void select_tx_block(const AV1_COMP *cpi, MACROBLOCK *x, int blk_row,
                             int blk_col, int block, TX_SIZE tx_size, int depth,
@@ -4115,11 +4173,14 @@
                                          mbmi->sb_type, tx_size);
   struct macroblock_plane *const p = &x->plane[0];
 
+  const int try_no_split = 1;
+  int try_split = tx_size > TX_4X4 && depth < MAX_VARTX_DEPTH;
+
   int64_t no_split_rd = INT64_MAX;
   int no_split_txb_entropy_ctx = 0;
   TX_TYPE no_split_tx_type = TX_TYPES;
   // TX no split
-  {
+  if (try_no_split) {
     const TX_SIZE txs_ctx = get_txsize_entropy_ctx(tx_size);
     TXB_CTX txb_ctx;
     get_txb_ctx(plane_bsize, tx_size, 0, pta, ptl, &txb_ctx);
@@ -4168,25 +4229,30 @@
     const int txk_type_idx =
         av1_get_txk_type_index(plane_bsize, blk_row, blk_col);
     no_split_tx_type = mbmi->txk_type[txk_type_idx];
+
+    if (cpi->sf.txb_split_cap)
+      if (p->eobs[block] == 0) try_split = 0;
   }
 
-  int tx_split_prune_flag = 0;
-  if (cpi->sf.tx_type_search.prune_mode >= PRUNE_2D_ACCURATE)
-    tx_split_prune_flag = x->tx_split_prune_flag;
-
-  if (cpi->sf.txb_split_cap)
-    if (p->eobs[block] == 0) tx_split_prune_flag = 1;
+  if (!x->cb_partition_scan && try_split) {
+    const int threshold = cpi->sf.tx_type_search.ml_tx_split_thresh;
+    if (threshold >= 0) {
+      const int split_score =
+          ml_predict_tx_split(x, plane_bsize, blk_row, blk_col, tx_size);
+      if (split_score >= 0 && split_score < threshold) try_split = 0;
+    }
+  }
 
 #if COLLECT_TX_SIZE_DATA
   // Do not skip tx_split when collecting tx size data.
-  tx_split_prune_flag = 0;
+  try_split = 1;
 #endif
 
   // TX split
   int64_t split_rd = INT64_MAX;
   RD_STATS split_rd_stats;
   av1_init_rd_stats(&split_rd_stats);
-  if (tx_size > TX_4X4 && depth < MAX_VARTX_DEPTH && tx_split_prune_flag == 0) {
+  if (try_split) {
     const TX_SIZE sub_txs = sub_tx_size_map[tx_size];
     const int bsw = tx_size_wide_unit[sub_txs];
     const int bsh = tx_size_high_unit[sub_txs];
@@ -5043,8 +5109,7 @@
         find_tx_size_rd_records(x, bsize, mi_row, mi_col, matched_rd_info);
   }
 
-  prune_tx(cpi, bsize, x, xd, tx_set_type,
-           cpi->sf.tx_type_search.use_tx_size_pruning);
+  prune_tx(cpi, bsize, x, xd, tx_set_type);
 
   int found = 0;
 
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index ce6d72f..46beaeb 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -162,6 +162,7 @@
     sf->prune_ext_partition_types_search_level = 2;
     sf->use_fast_interpolation_filter_search = 1;
     sf->tx_type_search.skip_tx_search = 1;
+    sf->tx_type_search.ml_tx_split_thresh = 40;
     sf->adaptive_txb_search = 1;
     sf->use_intra_txb_hash = 1;
     sf->optimize_b_precheck = 1;
@@ -414,7 +415,7 @@
   sf->alt_ref_search_fp = 0;
   sf->partition_search_type = SEARCH_PARTITION;
   sf->tx_type_search.prune_mode = PRUNE_2D_ACCURATE;
-  sf->tx_type_search.use_tx_size_pruning = 1;
+  sf->tx_type_search.ml_tx_split_thresh = 30;
   sf->tx_type_search.use_skip_flag_prediction = 1;
   sf->tx_type_search.fast_intra_tx_type_search = 0;
   sf->tx_type_search.fast_inter_tx_type_search = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index f88bcfd..b0921ab 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -206,11 +206,8 @@
   // and avoid doing full TX type search for such blocks.
   int use_skip_flag_prediction;
 
-  // Use a model to predict TX block split decisions on the highest level
-  // of TX partition tree and apply adaptive pruning based on that to speed up
-  // RD search (currently works only when prune_mode equals to PRUNE_2D_ACCURATE
-  // or PRUNE_2D_FAST).
-  int use_tx_size_pruning;
+  // Threshold used by the ML based method to predict TX block split decisions.
+  int ml_tx_split_thresh;
 
   // skip remaining transform type search when we found the rdcost of skip is
   // better than applying transform
diff --git a/av1/encoder/tx_prune_model_weights.h b/av1/encoder/tx_prune_model_weights.h
index 1194562..69063b8 100644
--- a/av1/encoder/tx_prune_model_weights.h
+++ b/av1/encoder/tx_prune_model_weights.h
@@ -1129,34 +1129,49 @@
 };
 
 // Tx split model for 4x8 block.
-static const float av1_tx_split_nn_weights_4x8_layer0[48] = {
-  0.32030f,  1.52126f,  1.14809f,  -2.14866f, -0.08888f, -0.22737f, -1.38105f,
-  -0.51040f, 2.51004f,  2.17404f,  -0.55634f, 1.41842f,  -0.49649f, -0.44879f,
-  2.68777f,  -4.22827f, -0.60068f, 0.41569f,  -0.00639f, -0.26465f, 3.59964f,
-  1.05503f,  1.67338f,  1.21009f,  -1.94552f, -0.24265f, 1.44033f,  -0.73353f,
-  -0.07009f, 0.94179f,  0.04023f,  1.07040f,  0.51453f,  -1.04236f, -0.25694f,
-  -0.26323f, 0.82425f,  1.56855f,  1.22929f,  -0.63590f, -0.14229f, -1.23524f,
-  -0.06514f, -0.55427f, 0.21009f,  0.56361f,  -1.39779f, 1.36076f,
+static const float av1_tx_split_nn_weights_4x8_layer0[8 * 16] = {
+  0.068650f,  -0.732073f, -0.040361f, 0.322550f,  -0.021123f, 0.212518f,
+  -0.350546f, 0.435987f,  -0.111756f, -0.401568f, 0.069548f,  -0.313000f,
+  0.073918f,  -0.373805f, -0.775810f, -0.124753f, 0.181094f,  -0.602641f,
+  -0.026219f, -0.350112f, 0.020599f,  -0.311752f, -0.476482f, -0.669465f,
+  -0.310921f, 0.348869f,  -0.115984f, 0.154250f,  0.200485f,  -0.016689f,
+  0.020392f,  0.413810f,  0.634064f,  -0.627530f, 0.399178f,  -0.012284f,
+  0.472030f,  0.091087f,  -0.706100f, -0.447944f, -0.274226f, 0.445656f,
+  0.309339f,  0.505522f,  0.038496f,  -0.152809f, 0.408684f,  -0.068151f,
+  0.271612f,  0.353233f,  -0.150365f, 0.075212f,  -0.035096f, 0.346615f,
+  0.124382f,  0.477072f,  0.216288f,  0.070548f,  -0.106362f, 0.681613f,
+  -0.145502f, -0.218631f, -0.099248f, -0.001983f, -0.196819f, -0.969045f,
+  0.063009f,  -0.123053f, 0.104875f,  -0.137581f, -0.282933f, -0.003624f,
+  -0.315659f, -0.333523f, -0.503000f, -0.100063f, -0.536711f, -0.059978f,
+  -0.670248f, -0.353762f, 0.181109f,  0.289715f,  -0.071206f, 0.261141f,
+  0.052796f,  -0.114554f, -0.139214f, -0.261380f, 0.075984f,  -0.647925f,
+  -0.099528f, -0.677814f, 0.015712f,  -0.389385f, -0.095622f, -0.165117f,
+  -0.109454f, -0.175240f, -0.393914f, 0.212330f,  0.037822f,  0.248280f,
+  0.180197f,  0.110493f,  -0.525727f, -0.092329f, -0.524029f, -0.407364f,
+  -0.542373f, -0.435626f, -0.912194f, 0.062794f,  0.160433f,  0.741485f,
+  -0.103659f, -0.119327f, -0.055275f, 0.334358f,  0.014713f,  0.046327f,
+  0.831114f,  -0.576682f, 0.354369f,  -0.082088f, 0.452331f,  0.039730f,
+  -0.792429f, -0.385862f,
 };
 
 static const float av1_tx_split_nn_bias_4x8_layer0[16] = {
-  0.09111f,  1.17656f,  0.24083f,  -2.68367f, -1.22950f, 0.62489f,
-  -2.89232f, -0.78764f, 0.47787f,  -1.39686f, -0.17512f, -0.27895f,
-  1.50220f,  0.00000f,  -0.06392f, -0.41602f,
+  0.238621f,  2.186830f,  1.383035f,  -0.867139f, 1.257119f, -0.351571f,
+  -0.240650f, -0.971692f, 2.744843f,  1.116991f,  0.139062f, -0.165332f,
+  0.262171f,  -1.598153f, -1.427340f, -1.602306f,
 };
 
 static const float av1_tx_split_nn_weights_4x8_layer1[16] = {
-  0.80551f, -1.81964f, 1.81584f,  -3.88831f, 2.06815f,  -3.70215f,
-  3.83453f, -1.55123f, -1.94259f, 1.34788f,  -0.13279f, -0.79214f,
-  0.71301f, -0.19471f, -0.07253f, -1.05497f,
+  -0.367134f, 1.373058f, -0.897039f, -0.326819f, -0.734030f, -0.290413f,
+  -0.501249f, 0.505321f, -0.537692f, -0.767893f, 0.268697f,  0.278987f,
+  0.085082f,  0.614986f, 0.847904f,  0.637578f,
 };
 
 static const float av1_tx_split_nn_bias_4x8_layer1[1] = {
-  -1.23037f,
+  0.20586078f,
 };
 
 static const NN_CONFIG av1_tx_split_nnconfig_4x8 = {
-  3,  // num_inputs
+  8,  // num_inputs
   1,  // num_outputs
   1,  // num_hidden_layers
   {
@@ -1173,89 +1188,54 @@
 };
 /******************************************************************************/
 
-// Tx split model for 8x4 block.
-static const float av1_tx_split_nn_weights_8x4_layer0[48] = {
-  -0.34959f, 3.09285f,  0.78709f,  -2.43502f, -0.10261f, -0.07371f, 0.36992f,
-  -0.07637f, 0.28320f,  2.25698f,  0.49487f,  -0.43731f, 0.72762f,  -0.16534f,
-  0.32642f,  -4.77212f, 0.38547f,  -0.17502f, 0.03277f,  2.37985f,  0.66447f,
-  -1.19182f, 3.21549f,  -0.15916f, -3.76120f, -0.06682f, -0.45622f, 0.22224f,
-  0.40141f,  0.57949f,  0.45262f,  3.64971f,  -0.22332f, 0.21022f,  1.54482f,
-  0.46679f,  1.03831f,  -0.15273f, 0.33478f,  -0.63590f, -0.14229f, -1.23524f,
-  -1.57408f, -0.26338f, 1.56286f,  0.53111f,  -0.71675f, 1.38037f,
-};
-
-static const float av1_tx_split_nn_bias_8x4_layer0[16] = {
-  1.60338f,  1.28888f,  0.14721f,  -1.97339f, 0.20711f,  0.24843f,
-  -0.38865f, -2.29281f, 1.20972f,  0.08247f,  -3.16498f, -1.06884f,
-  0.36580f,  0.00000f,  -0.99106f, -1.15329f,
-};
-
-static const float av1_tx_split_nn_weights_8x4_layer1[16] = {
-  1.38434f,  -1.83397f, -0.32715f, -3.67003f, -0.66115f, -4.61855f,
-  -1.39752f, 3.10370f,  -1.25350f, 0.00505f,  3.51122f,  1.39872f,
-  -1.11827f, -0.19471f, 2.31759f,  2.11014f,
-};
-
-static const float av1_tx_split_nn_bias_8x4_layer1[1] = {
-  -0.26996f,
-};
-
-static const NN_CONFIG av1_tx_split_nnconfig_8x4 = {
-  3,  // num_inputs
-  1,  // num_outputs
-  1,  // num_hidden_layers
-  {
-      16,
-  },  // num_hidden_nodes
-  {
-      av1_tx_split_nn_weights_8x4_layer0,
-      av1_tx_split_nn_weights_8x4_layer1,
-  },
-  {
-      av1_tx_split_nn_bias_8x4_layer0,
-      av1_tx_split_nn_bias_8x4_layer1,
-  },
-};
-/******************************************************************************/
-
 // Tx split model for 8x8 block.
-static const float av1_tx_split_nn_weights_8x8_layer0[80] = {
-  -2.47727f, 2.02291f,  0.50872f,  0.08612f,  -0.50731f, -4.17997f, -4.99049f,
-  -0.10378f, -0.13314f, 1.84303f,  0.16978f,  0.22674f,  0.04579f,  -1.73010f,
-  -0.74034f, -0.41242f, 0.03099f,  -0.36317f, 2.96804f,  1.73384f,  -0.51191f,
-  0.08936f,  -0.11552f, 2.05849f,  2.38921f,  -1.71574f, 3.84163f,  0.03147f,
-  0.06774f,  -0.22495f, 0.00158f,  -0.14033f, 0.86344f,  1.18282f,  1.29665f,
-  -0.15054f, -0.06339f, -4.68035f, 0.39699f,  0.33972f,  -3.02441f, 0.09658f,
-  1.55562f,  0.41954f,  0.15387f,  -1.50455f, 1.38531f,  0.95743f,  0.54309f,
-  1.42863f,  2.17137f,  2.80152f,  -0.12118f, -0.28639f, -1.39431f, -0.13291f,
-  -0.53808f, -3.61837f, -0.11427f, -0.16585f, 2.27990f,  2.36602f,  2.05427f,
-  0.13960f,  0.01552f,  0.01583f,  0.09690f,  0.02183f,  3.66735f,  -0.66999f,
-  -0.11664f, -0.53856f, -0.05054f, -0.80409f, 2.83509f,  -0.10204f, -0.11378f,
-  0.04303f,  -0.46864f, 4.37163f,
+static const float av1_tx_split_nn_weights_8x8_layer0[144] = {
+  0.177983f,  -0.938386f, -0.074460f, -0.221843f, -0.073182f, -0.295155f,
+  -0.098202f, -0.279510f, 0.001054f,  -0.119319f, -1.835282f, -0.581507f,
+  -1.222222f, -1.049006f, -0.807508f, -0.454252f, -0.774879f, -0.180607f,
+  -0.886976f, -0.231971f, -0.824677f, -0.351872f, -1.323819f, 0.235378f,
+  0.015331f,  -0.341818f, 0.145549f,  -0.348362f, 0.147647f,  -0.323400f,
+  0.047558f,  -0.553025f, -0.295485f, -0.330368f, -0.530605f, -0.407516f,
+  0.447740f,  0.782381f,  -0.179164f, -0.584675f, -0.052645f, 0.038656f,
+  -0.096783f, 0.038342f,  -0.170762f, -0.405844f, -0.552665f, -0.509866f,
+  0.757204f,  -1.296465f, 0.631015f,  0.009265f,  0.646192f,  0.044523f,
+  0.653161f,  0.033820f,  0.849639f,  -0.068555f, -1.036085f, -0.511652f,
+  0.104693f,  -1.458690f, 0.286051f,  -0.089800f, 0.381564f,  -0.302640f,
+  0.304465f,  -0.268706f, 0.432603f,  -0.117914f, -2.070031f, -0.565696f,
+  -0.073027f, -1.783570f, -0.318144f, -0.320990f, -0.343966f, -0.140996f,
+  -0.322977f, -0.232147f, -0.373210f, -0.158266f, -1.922305f, -0.634373f,
+  0.101894f,  -0.221847f, 0.018412f,  -0.423887f, -0.266684f, -0.444930f,
+  -0.196237f, 0.106638f,  -0.065834f, -0.538401f, -0.280772f, -0.620348f,
+  1.089957f,  -0.799928f, 0.504112f,  -0.165763f, 0.578741f,  -0.172653f,
+  0.547316f,  -0.143484f, 0.717220f,  -0.297190f, -1.237854f, -0.074819f,
+  -0.977304f, -0.484092f, -0.646427f, -0.451443f, -0.612126f, -0.224475f,
+  -0.731608f, -0.257077f, -0.665857f, -0.346742f, -1.216372f, 0.227267f,
+  0.231249f,  -1.693073f, -0.035899f, 0.380845f,  -0.058476f, 0.409405f,
+  -0.066679f, 0.406731f,  -0.068501f, 0.396748f,  0.639462f,  0.150834f,
+  -0.418659f, -1.421931f, 0.101889f,  0.083573f,  0.129746f,  0.134460f,
+  0.081185f,  0.127420f,  0.083664f,  0.051096f,  1.361688f,  0.386093f,
 };
 
-static const float av1_tx_split_nn_bias_8x8_layer0[16] = {
-  0.67772f,  -1.06375f, 0.29005f,  -3.82750f, -2.63534f, -0.25700f,
-  -1.10611f, -0.27371f, -0.01970f, -0.13272f, 1.52793f,  0.87452f,
-  -1.83178f, -2.67459f, -1.27264f, -3.56434f,
+static const float av1_tx_split_nn_bias_8x8_layer0[12] = {
+  4.280443f, 2.218902f, -0.256953f, 3.161431f,  2.082548f, 2.506052f,
+  2.563224f, 1.421976f, -1.627813f, -1.436085f, 2.297265f, 1.500469f,
 };
 
-static const float av1_tx_split_nn_weights_8x8_layer1[16] = {
-  1.42888f,  -6.86701f, -1.98023f, 3.81828f, 1.40864f, -2.24906f,
-  1.64376f,  -3.70196f, -2.11058f, 1.24140f, 1.69127f, -2.04217f,
-  -3.04680f, 3.25083f,  1.31881f,  4.21563f,
+static const float av1_tx_split_nn_weights_8x8_layer1[12] = {
+  1.178833f,  -0.428527f, -0.078737f, 0.381434f, -0.466895f, -0.901745f,
+  -0.766968f, -0.356663f, 0.450146f,  0.509370f, -0.356604f, -0.443506f,
 };
 
 static const float av1_tx_split_nn_bias_8x8_layer1[1] = {
-  -3.58924f,
+  -0.156294f,
 };
 
 static const NN_CONFIG av1_tx_split_nnconfig_8x8 = {
-  5,  // num_inputs
-  1,  // num_outputs
-  1,  // num_hidden_layers
+  12,  // num_inputs
+  1,   // num_outputs
+  1,   // num_hidden_layers
   {
-      16,
+      12,
   },  // num_hidden_nodes
   {
       av1_tx_split_nn_weights_8x8_layer0,
@@ -1269,77 +1249,133 @@
 /******************************************************************************/
 
 // Tx split model for 8x16 block.
-static const float av1_tx_split_nn_weights_8x16_layer0[288] = {
-  -0.21895f, -0.45677f, 2.41986f,  0.45214f,  -2.74380f, -1.00732f, 0.19281f,
-  -0.07835f, -0.07427f, 0.11533f,  -0.05784f, 0.41050f,  0.45777f,  0.21196f,
-  0.28456f,  0.04115f,  -0.28650f, 5.25257f,  -0.21835f, -0.10548f, 0.32348f,
-  0.33489f,  -0.06561f, 0.35372f,  -0.64700f, -2.71813f, 2.06582f,  1.63493f,
-  0.65080f,  1.59359f,  1.62042f,  -1.55604f, -0.68386f, 0.37781f,  -0.47955f,
-  -0.60442f, 1.29428f,  0.08807f,  1.47488f,  2.21390f,  -1.24883f, -1.30805f,
-  0.11024f,  0.61822f,  0.72328f,  -0.70267f, 0.06369f,  0.02753f,  0.23815f,
-  0.00898f,  0.37615f,  -0.09525f, -0.35903f, -0.64775f, 1.67392f,  1.30467f,
-  1.15131f,  1.25024f,  -1.69001f, -2.22747f, -0.64590f, -0.76387f, 0.19835f,
-  0.13566f,  -0.32447f, 0.19677f,  0.37378f,  -0.15793f, 0.28234f,  0.41214f,
-  -0.33675f, -0.20085f, -2.42429f, -0.36136f, -1.28244f, -1.00030f, 0.24530f,
-  -0.21880f, 0.20256f,  -1.16030f, 1.37917f,  -0.18824f, 0.08422f,  -0.26584f,
-  -0.28225f, -0.23964f, -0.93862f, 0.68627f,  -0.26600f, 1.45596f,  -0.01694f,
-  0.25936f,  0.16832f,  0.01620f,  -0.82569f, 0.17832f,  0.17576f,  0.03032f,
-  0.25926f,  -0.21567f, 0.23966f,  0.40671f,  0.98998f,  0.87764f,  0.53139f,
-  -0.19729f, -1.50531f, 1.18424f,  1.90402f,  1.55604f,  2.83617f,  3.64986f,
-  0.08722f,  -0.19534f, -0.15563f, 0.11337f,  1.03154f,  -0.36714f, -0.71317f,
-  -0.07648f, -0.17883f, -0.34857f, -0.20126f, -0.57790f, 0.03437f,  -0.25365f,
-  -0.68480f, 0.64985f,  1.99386f,  1.96729f,  0.37909f,  0.57962f,  -0.31531f,
-  0.72729f,  -1.33276f, 1.55848f,  1.81548f,  2.32462f,  3.00107f,  0.77959f,
-  0.31942f,  0.21177f,  -0.36679f, 1.65274f,  0.55873f,  0.02198f,  0.01957f,
-  -0.40375f, 0.16472f,  -0.29589f, 0.23933f,  -0.66861f, -0.29314f, -0.12607f,
-  0.52150f,  -0.12359f, 0.52967f,  -0.26430f, -0.22729f, 0.31530f,  0.30190f,
-  -0.23286f, -0.32586f, -0.37164f, 1.02935f,  1.35490f,  0.77903f,  0.67302f,
-  -0.33572f, -0.42498f, -1.27007f, -0.22194f, 0.48687f,  1.52368f,  0.79515f,
-  0.46112f,  0.75748f,  0.73060f,  1.12397f,  -1.63125f, 1.11975f,  1.75004f,
-  0.96453f,  2.78651f,  1.41828f,  -0.19729f, 1.06517f,  0.00775f,  -0.01563f,
-  1.09465f,  0.32625f,  0.02543f,  0.18515f,  -0.15120f, 0.31746f,  0.21150f,
-  0.57086f,  -0.72082f, -0.90390f, 0.16707f,  -1.20865f, 0.18383f,  -2.11851f,
-  0.67133f,  -0.91545f, 0.72087f,  -0.29690f, -0.46287f, -0.27711f, 0.41903f,
-  0.30798f,  0.26662f,  0.36932f,  -0.38146f, -0.89384f, 3.66687f,  -0.37066f,
-  0.36173f,  -0.27265f, -0.63719f, 0.07813f,  1.17721f,  -0.05952f, -0.59288f,
-  -0.42216f, 0.25272f,  0.17027f,  0.50658f,  0.55377f,  -0.09560f, -0.45030f,
-  -0.37908f, -0.78157f, -0.10020f, 1.93944f,  2.06165f,  -0.43706f, 0.32571f,
-  -1.60805f, -2.79799f, -0.37784f, -0.45904f, -0.77015f, -0.73018f, -0.01716f,
-  -0.65036f, -0.27082f, -1.08450f, -0.38493f, -0.04057f, -1.12733f, -0.50366f,
-  -0.68167f, -0.36223f, -1.24596f, -0.59888f, -0.78964f, 1.43948f,  -0.44269f,
-  0.57606f,  -0.99366f, 0.12273f,  0.16581f,  0.33016f,  0.07351f,  0.45060f,
-  0.15524f,  -0.23562f, -2.65111f, 1.62168f,  -0.48448f, -0.36170f, -0.10941f,
-  0.35546f,  -0.01819f, -0.14075f, -0.39136f, -0.51852f, 0.79623f,  -0.85423f,
-  -0.10289f, 0.22549f,  -0.02515f, -0.21602f, 0.18202f,  -0.00953f, -0.60522f,
-  -0.00193f,
+static const float av1_tx_split_nn_weights_8x16_layer0[8 * 64] = {
+  0.374660f,  0.218905f,  -0.139779f, 0.212141f,  0.056517f,  0.051114f,
+  0.042860f,  -0.273258f, -0.340809f, 0.138983f,  -0.216996f, -0.241519f,
+  -0.123244f, 0.078577f,  -0.472273f, -0.194201f, 0.125056f,  0.239761f,
+  -0.332782f, 0.174782f,  -0.211400f, -0.129795f, 0.062195f,  0.113176f,
+  -0.008869f, 0.140764f,  0.059833f,  0.163826f,  0.359293f,  -0.109797f,
+  -0.022091f, -0.059536f, -0.188226f, 0.179709f,  0.031386f,  0.164790f,
+  0.214364f,  0.198555f,  0.152262f,  -0.242980f, 0.319367f,  -0.136902f,
+  0.046524f,  -0.043591f, 0.342178f,  -0.011757f, -0.014286f, 0.072871f,
+  -0.278314f, -0.345303f, -0.252103f, -0.107154f, -0.235101f, -0.106739f,
+  -0.120865f, -0.160042f, 0.240028f,  0.112902f,  -0.141587f, -0.703012f,
+  -0.136591f, 0.318993f,  -0.154417f, -0.054668f, 0.192870f,  0.176166f,
+  -0.029965f, 0.266942f,  -0.178384f, 0.038680f,  0.134403f,  -0.002426f,
+  0.534825f,  -0.070923f, 0.413281f,  0.418148f,  0.093729f,  0.016454f,
+  0.305358f,  -0.040512f, 0.069904f,  -0.227588f, -0.362220f, -0.031604f,
+  -0.394901f, 0.071506f,  -0.342833f, -0.142550f, -0.164005f, 0.182600f,
+  0.213062f,  0.076805f,  0.278758f,  0.125613f,  -0.035552f, 0.040971f,
+  0.182785f,  -0.227961f, -0.105413f, -0.074949f, -0.084629f, -0.254767f,
+  0.114657f,  0.047121f,  0.195902f,  0.264759f,  0.017799f,  0.210230f,
+  0.150749f,  -0.142142f, 0.182494f,  -0.142415f, -0.259782f, -0.114830f,
+  -0.198826f, 0.000061f,  -0.375668f, -0.276656f, -0.373202f, 0.210298f,
+  0.422680f,  0.066960f,  0.351106f,  -0.209034f, 0.367195f,  -0.110274f,
+  0.115573f,  -0.066642f, -0.389673f, -0.260447f, 0.056949f,  -0.180425f,
+  0.069922f,  -0.153506f, -0.097053f, -0.111757f, 0.094069f,  0.144837f,
+  -0.052984f, -0.506681f, -0.034474f, 0.279057f,  -0.105025f, 0.006656f,
+  -0.125017f, -0.114096f, 0.103153f,  -0.117402f, -0.359472f, 0.072534f,
+  0.110291f,  0.003088f,  -0.456897f, 0.038331f,  -0.322298f, 0.113942f,
+  -0.119916f, -0.194392f, 0.093167f,  0.193459f,  0.074671f,  0.033602f,
+  0.004440f,  -0.179578f, -0.036637f, -0.216172f, -0.296530f, -0.318992f,
+  0.319160f,  -0.066218f, 0.291246f,  0.181292f,  0.089914f,  0.025273f,
+  0.303128f,  0.019063f,  0.078545f,  -0.396919f, 0.014065f,  -0.122121f,
+  0.037107f,  -0.151886f, -0.299392f, -0.172207f, -0.124571f, -0.232553f,
+  0.102970f,  -0.225040f, 0.061059f,  -0.258188f, -0.469871f, -0.099607f,
+  -0.061524f, -0.213700f, 0.070237f,  -0.289134f, -0.238225f, 0.256403f,
+  -0.119344f, 0.067782f,  -0.398983f, -0.123975f, -0.200205f, -0.047038f,
+  0.026569f,  0.031037f,  0.094302f,  -0.101239f, 0.433307f,  -0.303612f,
+  0.088537f,  -0.164436f, 0.202471f,  -0.048592f, -0.251904f, 0.122577f,
+  -0.309874f, -0.263405f, -0.292503f, 0.216589f,  0.035378f,  0.136599f,
+  -0.145844f, -0.018211f, 0.174084f,  -0.449941f, -0.001428f, 0.064134f,
+  0.039652f,  0.111083f,  -0.246076f, -0.204733f, 0.056559f,  -0.000123f,
+  0.104049f,  0.138512f,  -0.128309f, 0.087855f,  0.232784f,  0.247138f,
+  0.162766f,  0.154829f,  0.313605f,  -0.164115f, -0.050844f, 0.156549f,
+  0.185279f,  -0.238962f, -0.308281f, -0.179592f, -0.193262f, 0.201670f,
+  -0.203399f, -0.096831f, -0.127867f, 0.310674f,  -0.008181f, 0.004078f,
+  -0.211038f, -0.193480f, -0.185639f, -0.150202f, -0.204858f, -0.240758f,
+  0.114268f,  -0.032535f, -0.052403f, -0.234333f, -0.064072f, -0.208444f,
+  -0.352853f, -0.224001f, -0.156330f, 0.215436f,  0.171846f,  0.291849f,
+  0.108832f,  0.046991f,  -0.127801f, 0.032485f,  0.141493f,  0.123319f,
+  -0.057250f, 0.315346f,  -0.061317f, -0.465086f, -0.130179f, -0.217841f,
+  -0.239089f, -0.073251f, -0.327718f, 0.054905f,  -0.283169f, -0.028900f,
+  0.071450f,  0.270072f,  0.248891f,  0.088052f,  0.253319f,  0.122808f,
+  0.175490f,  -0.147805f, 0.089169f,  -0.045457f, -0.330788f, 0.099791f,
+  -0.137376f, -0.195977f, -0.350942f, -0.284930f, -0.559037f, 0.030504f,
+  0.162554f,  -0.199100f, -0.050453f, -0.131320f, -0.077863f, -0.066253f,
+  -0.379723f, -0.424047f, -0.081182f, -0.252261f, -0.102815f, 0.058240f,
+  -0.182036f, 0.176772f,  -0.070823f, 0.216054f,  -0.211533f, -0.232992f,
+  0.279346f,  0.117984f,  0.236674f,  0.126625f,  -0.046220f, 0.044919f,
+  0.278492f,  0.083944f,  0.180512f,  0.217994f,  0.401170f,  -0.064417f,
+  0.011636f,  -0.139597f, -0.050020f, -0.268438f, -0.032803f, 0.024908f,
+  -0.085713f, -0.012984f, -0.055192f, -0.338657f, 0.045826f,  -0.312849f,
+  -0.023393f, -0.168800f, -0.030886f, -0.131816f, -0.253542f, -0.104812f,
+  -0.354389f, 0.169464f,  0.094151f,  -0.217122f, -0.456397f, 0.211478f,
+  0.219232f,  -0.155519f, -0.353700f, -0.264759f, -0.034709f, 0.034409f,
+  -0.148639f, -0.132850f, -0.216791f, -0.118492f, 0.173721f,  -0.144181f,
+  0.335028f,  0.176439f,  0.105980f,  0.169390f,  0.155615f,  -0.040618f,
+  -0.176029f, 0.155569f,  -0.184833f, -0.171099f, -0.178663f, -0.032051f,
+  -0.434334f, 0.092238f,  -0.263103f, 0.061804f,  -0.172957f, 0.005962f,
+  -0.100176f, 0.125898f,  0.048092f,  -0.088141f, 0.247196f,  -0.221601f,
+  -0.114474f, -0.124410f, -0.156393f, -0.181782f, -0.083562f, 0.034937f,
+  0.403401f,  -0.046200f, 0.322259f,  0.219678f,  0.109850f,  0.051837f,
+  0.196861f,  -0.019118f, 0.248818f,  -0.137567f, 0.127862f,  0.052293f,
+  0.298726f,  0.275788f,  0.015344f,  0.058714f,  0.283691f,  -0.053794f,
+  -0.123270f, -0.227761f, -0.141744f, -0.268515f, -0.007189f, -0.242117f,
+  -0.252396f, -0.069017f, 0.034803f,  -0.003388f, -0.262577f, 0.062115f,
+  -0.298393f, 0.215415f,  -0.153615f, 0.289902f,  0.085886f,  -0.504290f,
+  0.077178f,  0.150861f,  -0.228848f, -0.261020f, 0.198204f,  0.162113f,
+  0.346418f,  -0.286950f, 0.354756f,  -0.226419f, 0.024720f,  0.208037f,
+  0.107286f,  -0.110849f, 0.104415f,  -0.207725f, 0.063932f,  -0.037748f,
+  -0.167037f, -0.068282f, 0.320815f,  -0.051884f, 0.099989f,  -0.078388f,
+  0.127071f,  0.046675f,  -0.336571f, -0.273080f, 0.264694f,  -0.007352f,
+  -0.093828f, 0.094773f,  -0.144434f, 0.091795f,  -0.031615f, 0.056914f,
+  0.064673f,  -0.136669f, 0.344734f,  0.225926f,  0.283451f,  -0.068354f,
+  0.030572f,  0.180784f,  -0.378047f, -0.092962f, -0.083291f, 0.038970f,
+  0.052094f,  -0.017932f, 0.216302f,  -0.184396f, 0.079888f,  0.210406f,
+  -0.020627f, 0.244744f,  0.336972f,  -0.182914f, -0.220976f, -0.304225f,
+  -0.330974f, -0.370868f, -0.084935f, -0.136489f, -0.210082f, -0.188088f,
+  -0.408768f, 0.184693f,
 };
 
-static const float av1_tx_split_nn_bias_8x16_layer0[32] = {
-  0.28200f,  -4.80451f, 0.89210f,  -0.57028f, -0.28017f, -0.29095f, -0.47640f,
-  -0.65244f, -0.15689f, 0.75246f,  0.46751f,  -2.15775f, -1.32624f, 0.00000f,
-  -0.91779f, -1.24749f, -1.02625f, 0.31726f,  -1.04629f, 1.28548f,  -1.10129f,
-  1.53092f,  -0.04115f, -2.17324f, -0.22625f, -0.63461f, -0.51780f, 1.29639f,
-  1.11356f,  0.74084f,  -1.01941f, -0.21135f,
+static const float av1_tx_split_nn_bias_8x16_layer0[64] = {
+  -0.274107f, 0.445751f,  0.234359f,  0.291593f,  0.163298f,  0.183707f,
+  -0.548839f, -0.190779f, -0.163346f, -0.669028f, 0.399209f,  -0.354974f,
+  0.000000f,  -0.254630f, 0.220149f,  0.371104f,  0.789759f,  0.270300f,
+  0.195126f,  -0.206958f, 0.917708f,  -0.256232f, 1.131933f,  1.178944f,
+  0.461270f,  0.246169f,  -0.818614f, -0.111986f, 0.759355f,  0.154889f,
+  0.470299f,  -1.025250f, 0.678678f,  0.959346f,  -0.164105f, 0.544079f,
+  -0.448733f, 0.649221f,  -0.536672f, 0.962758f,  -0.256427f, 0.808664f,
+  -0.118694f, 0.684873f,  -0.015635f, -0.046469f, 0.075481f,  0.412647f,
+  0.454456f,  -0.107169f, 0.775235f,  -0.261629f, -1.194849f, 0.010093f,
+  -0.231289f, 0.658286f,  -0.769320f, 0.564545f,  0.482962f,  -0.131378f,
+  -0.255844f, -0.078400f, 0.476752f,  0.643001f,
 };
 
-static const float av1_tx_split_nn_weights_8x16_layer1[32] = {
-  -2.47039f, 6.28151f,  2.51358f,  2.96845f,  2.26827f,  -0.17043f, -3.09551f,
-  -0.50127f, -2.41836f, -1.09834f, -0.04842f, 2.39667f,  -3.85959f, -0.13768f,
-  1.85736f,  3.77770f,  -0.28978f, 0.06029f,  2.14492f,  1.80605f,  -2.72664f,
-  0.18844f,  1.77425f,  1.68660f,  0.94666f,  -0.22735f, 3.40241f,  1.61752f,
-  -1.65457f, -2.26556f, 1.59808f,  -0.18132f,
+static const float av1_tx_split_nn_weights_8x16_layer1[64] = {
+  -0.145065f, -0.145101f, 0.174786f,  0.196692f,  0.102025f,  -0.087735f,
+  0.386353f,  -0.660539f, -0.183940f, 0.490045f,  -0.276404f, -0.145669f,
+  0.209846f,  -0.085574f, -0.156821f, -0.377450f, -0.950010f, 0.450709f,
+  -0.108545f, -0.261181f, 1.435606f,  -0.176621f, -1.158548f, 2.035680f,
+  0.218069f,  -0.138629f, 0.305958f,  -0.277194f, -0.602468f, 0.203873f,
+  0.120720f,  0.216095f,  -0.434502f, -0.579746f, -0.239450f, 0.755529f,
+  0.545643f,  0.232091f,  0.330169f,  0.988136f,  -0.070465f, -0.345584f,
+  -0.162455f, -0.617064f, 0.123881f,  -0.201098f, 0.222756f,  0.112932f,
+  0.048647f,  -0.147890f, 0.394584f,  -0.262148f, 0.280564f,  -0.195432f,
+  -0.047515f, 1.133410f,  0.255415f,  -0.299032f, -0.397807f, -0.153246f,
+  -0.256734f, 0.177370f,  0.213522f,  -0.530158f,
 };
 
 static const float av1_tx_split_nn_bias_8x16_layer1[1] = {
-  -3.72500f,
+  0.14910713f,
 };
 
 static const NN_CONFIG av1_tx_split_nnconfig_8x16 = {
-  9,  // num_inputs
+  8,  // num_inputs
   1,  // num_outputs
   1,  // num_hidden_layers
   {
-      32,
+      64,
   },  // num_hidden_nodes
   {
       av1_tx_split_nn_weights_8x16_layer0,
@@ -1352,286 +1388,82 @@
 };
 /******************************************************************************/
 
-// Tx split model for 16x8 block.
-static const float av1_tx_split_nn_weights_16x8_layer0[288] = {
-  -0.30988f, 0.89705f,  0.69177f,  0.00918f,  -0.44076f, 0.78649f,  0.39568f,
-  0.01386f,  -1.07152f, -0.35747f, 0.01617f,  -0.13793f, -0.41617f, 0.02432f,
-  -0.32516f, -0.63565f, -1.15714f, 0.52089f,  -0.04905f, 0.19824f,  -0.05926f,
-  0.24904f,  0.24725f,  0.02826f,  -0.11965f, -0.49540f, -0.20747f, 0.03385f,
-  -0.55323f, 0.18648f,  0.42333f,  -2.10646f, -2.63984f, 0.53993f,  -1.25692f,
-  -0.24025f, 0.21869f,  0.34874f,  0.49216f,  0.55550f,  -0.02608f, -0.12440f,
-  0.05494f,  0.11575f,  0.67594f,  -0.68384f, 0.03205f,  0.00527f,  0.20160f,
-  0.13460f,  0.48271f,  -0.15768f, -0.22797f, -0.66164f, -1.78311f, 1.23068f,
-  0.54538f,  -2.14877f, 0.50704f,  1.56410f,  1.36285f,  -1.12270f, 0.24664f,
-  1.29689f,  -0.19484f, 0.39357f,  1.29248f,  -0.43890f, -0.81965f, 1.52669f,
-  -0.60373f, 0.29783f,  -0.05030f, 0.73567f,  -2.03703f, -0.72944f, 0.43790f,
-  0.63765f,  -1.25707f, 0.63311f,  0.58912f,  -1.84147f, -1.45550f, -1.63134f,
-  -1.36352f, -1.88211f, -2.18492f, 2.27752f,  0.01232f,  0.44153f,  -0.49621f,
-  0.26048f,  0.10140f,  0.34128f,  -0.46378f, -0.16409f, 0.53591f,  -0.52306f,
-  1.66744f,  -0.30028f, -0.20330f, -0.61887f, 0.34184f,  0.88228f,  1.41874f,
-  -0.64436f, 0.08548f,  1.31631f,  -0.97002f, -0.41801f, 2.31711f,  -0.47594f,
-  -1.03458f, -0.70169f, 2.10790f,  3.56833f,  0.09159f,  -0.36714f, -0.71317f,
-  -0.07648f, -0.17883f, -0.34857f, -0.20126f, -0.57790f, 0.03437f,  -0.25365f,
-  -1.86669f, -1.49512f, 0.94400f,  -0.49523f, -1.87793f, -1.49879f, 3.72050f,
-  0.79153f,  0.18599f,  2.19499f,  3.04410f,  0.14638f,  -0.07565f, 1.97951f,
-  2.21436f,  -0.02186f, 0.57101f,  0.12945f,  0.56481f,  0.10461f,  0.03206f,
-  -0.39151f, 0.08036f,  -0.29681f, 0.39939f,  -0.29424f, -0.25672f, -0.80800f,
-  0.53524f,  -0.14737f, 0.35326f,  -0.45341f, 0.15798f,  0.73941f,  0.98842f,
-  0.28433f,  0.12557f,  -0.01606f, 0.79575f,  0.26909f,  0.69944f,  0.97837f,
-  -0.22409f, -0.25213f, 0.61629f,  -0.36658f, -0.49956f, 0.30223f,  0.08560f,
-  -0.63470f, 0.38509f,  0.13281f,  -0.10986f, 2.73076f,  1.11713f,  1.60360f,
-  0.38607f,  0.18618f,  2.96707f,  4.08094f,  -0.36882f, 0.86829f,  0.32123f,
-  1.98524f,  -0.12393f, -1.19741f, -0.96718f, -0.34738f, 0.54278f,  0.75701f,
-  -0.33370f, -0.99329f, 0.11300f,  1.62503f,  -0.79704f, 0.87669f,  -0.59378f,
-  0.91501f,  -1.99499f, -0.41999f, -0.52788f, -0.21153f, -0.01666f, -0.79854f,
-  0.62634f,  0.80216f,  0.54574f,  -1.56125f, 0.21361f,  1.70929f,  -0.27834f,
-  0.27556f,  -0.23068f, -0.73371f, 0.09880f,  0.75057f,  0.01522f,  -0.64572f,
-  -0.49848f, 0.22367f,  0.22051f,  0.72267f,  0.74977f,  -0.05481f, -0.39457f,
-  -0.42857f, -0.69357f, -0.25760f, 0.52356f,  0.54430f,  -0.17991f, -0.67622f,
-  -0.25359f, -0.24338f, -0.06314f, -0.32888f, -0.64012f, -0.11035f, -2.97207f,
-  -1.29626f, -0.18367f, 0.19849f,  -3.41530f, -1.36378f, -0.26733f, 0.35637f,
-  -0.16403f, 0.57318f,  0.46560f,  0.20525f,  0.00714f,  0.39762f,  0.82244f,
-  4.00631f,  -0.18352f, 0.77005f,  3.44857f,  -1.51708f, -0.84663f, -0.42995f,
-  -0.05492f, -0.16470f, 0.11422f,  0.41940f,  -0.96526f, -2.14667f, 3.28552f,
-  0.36121f,  -1.16834f, -0.83050f, 0.81684f,  0.22692f,  1.01164f,  -1.63012f,
-  -1.28524f, 1.29725f,  -0.89197f, -1.20488f, -2.00215f, 1.34871f,  2.35261f,
-  0.04536f,
-};
-
-static const float av1_tx_split_nn_bias_16x8_layer0[32] = {
-  -0.84786f, -0.62404f, -0.48502f, 0.88151f,  0.26629f,  -0.29040f, -0.49876f,
-  1.10704f,  0.34171f,  1.25023f,  -0.04490f, 0.17422f,  -2.22701f, 0.00000f,
-  0.88308f,  -0.61498f, -0.78462f, 0.05608f,  0.29389f,  -1.77892f, -1.48080f,
-  -0.51852f, -0.05360f, -0.50509f, -0.28875f, -0.16687f, -0.58397f, 0.19775f,
-  -3.65043f, -0.13175f, -0.21219f, -0.96746f,
-};
-
-static const float av1_tx_split_nn_weights_16x8_layer1[32] = {
-  0.95524f,  0.31578f,  0.27905f,  2.52514f,  -0.11741f, -0.18626f, 1.42636f,
-  -1.93024f, 2.19224f,  -3.61233f, 1.50723f,  1.41080f,  2.59939f,  -0.13768f,
-  3.68902f,  2.69651f,  -0.25476f, -1.33222f, 0.45695f,  0.79734f,  -3.85996f,
-  2.34047f,  1.70438f,  -0.98010f, 0.10091f,  0.43924f,  -0.01962f, 2.82762f,
-  3.79446f,  -2.28532f, -2.18018f, -3.04076f,
-};
-
-static const float av1_tx_split_nn_bias_16x8_layer1[1] = {
-  -1.87185f,
-};
-
-static const NN_CONFIG av1_tx_split_nnconfig_16x8 = {
-  9,  // num_inputs
-  1,  // num_outputs
-  1,  // num_hidden_layers
-  {
-      32,
-  },  // num_hidden_nodes
-  {
-      av1_tx_split_nn_weights_16x8_layer0,
-      av1_tx_split_nn_weights_16x8_layer1,
-  },
-  {
-      av1_tx_split_nn_bias_16x8_layer0,
-      av1_tx_split_nn_bias_16x8_layer1,
-  },
-};
-/******************************************************************************/
-
 // Tx split model for 16x16 block.
-static const float av1_tx_split_nn_weights_16x16_layer0[1088] = {
-  -2.33512f, -3.31371f, -1.76911f, -0.09432f, -0.77541f, -1.24532f, -1.27991f,
-  -0.06711f, -2.87110f, -0.45941f, -2.21170f, 0.22054f,  -2.08454f, -0.83189f,
-  -1.51579f, -0.87875f, 0.41934f,  -0.33679f, -0.23281f, -0.17464f, -0.55863f,
-  0.31429f,  0.05257f,  0.32980f,  -0.53877f, -0.14233f, -0.35298f, -0.07577f,
-  0.00490f,  -0.03767f, -0.48037f, -0.36015f, 0.56203f,  -1.27163f, 0.30367f,
-  0.07610f,  0.27500f,  -0.07006f, 0.61161f,  0.31418f,  0.25491f,  0.01534f,
-  -4.98555f, -1.90110f, -0.46295f, 0.58215f,  -2.15540f, -0.22709f, 0.84783f,
-  -0.41374f, -0.03831f, -0.26255f, -0.01594f, -0.07867f, -0.15332f, -0.13569f,
-  -0.21399f, 0.19977f,  -0.22428f, 0.01776f,  0.29629f,  0.49830f,  -0.38453f,
-  -0.03950f, -0.43206f, -0.54631f, 1.33911f,  0.61361f,  0.73860f,  0.03807f,
-  -0.05452f, -0.40985f, 0.04144f,  0.22968f,  -0.40100f, -0.14033f, -1.18733f,
-  2.17582f,  -0.73620f, -0.58648f, 0.06898f,  -2.63532f, -0.06405f, -1.17498f,
-  -0.89420f, -0.53436f, 0.01252f,  0.00458f,  -0.09173f, -0.48544f, -0.42826f,
-  0.16666f,  0.32184f,  -0.25180f, -0.20395f, 0.13786f,  -0.03049f, -0.25886f,
-  -0.33407f, -0.16972f, -0.25761f, -0.37955f, 0.67919f,  -0.56672f, 0.88734f,
-  -0.19436f, 1.48037f,  2.48978f,  0.79969f,  0.57480f,  1.50500f,  0.73033f,
-  1.64769f,  0.36873f,  -0.84495f, -0.53227f, -0.37862f, -0.22582f, 3.03188f,
-  0.50594f,  0.65847f,  -0.37011f, 1.47523f,  1.03132f,  1.51524f,  1.12154f,
-  -1.30232f, -1.81978f, -3.34859f, -0.24295f, 1.48982f,  -0.39040f, -0.63671f,
-  0.92525f,  -1.05361f, -0.79484f, -3.14987f, -1.15602f, 1.16454f,  1.10114f,
-  -1.00434f, -2.96470f, 1.31625f,  1.02678f,  0.30036f,  -0.39549f, -0.54097f,
-  0.48701f,  0.54787f,  -0.01181f, 0.60000f,  1.64585f,  1.00371f,  -2.71307f,
-  -1.03549f, -2.65811f, -2.28853f, -0.56815f, -0.96702f, -2.64566f, -2.17605f,
-  -1.39469f, -2.52619f, -2.13329f, -1.62011f, -0.18950f, 0.58642f,  0.08398f,
-  -0.31374f, -0.98408f, -0.29162f, 0.02774f,  -0.66895f, 0.03855f,  -0.03334f,
-  -0.07212f, -0.52247f, -0.03846f, -0.02792f, -0.08086f, -0.03364f, 0.21672f,
-  0.38760f,  -0.24623f, -0.15059f, -0.53843f, -0.59208f, 0.65516f,  1.20788f,
-  0.88467f,  2.01372f,  0.79246f,  1.89825f,  -2.23863f, -2.76141f, -1.37515f,
-  -0.20132f, -0.66666f, 1.37773f,  -1.07868f, 1.79213f,  0.65714f,  -0.40879f,
-  -0.25309f, 1.25617f,  0.61719f,  -0.41101f, 0.32894f,  0.97866f,  1.72194f,
-  -0.15114f, -0.01706f, -0.50834f, 0.06508f,  0.49365f,  -0.29428f, 0.06052f,
-  -0.25120f, 0.42977f,  0.29983f,  -0.43788f, -0.11882f, 0.05905f,  0.26469f,
-  -0.30147f, 0.05154f,  -0.14485f, -0.03873f, 0.46109f,  -0.00832f, 0.21570f,
-  0.32781f,  0.00352f,  -0.54660f, 0.09486f,  -0.40345f, 0.20868f,  -4.42580f,
-  0.72275f,  1.04957f,  0.99624f,  0.03210f,  0.06766f,  -0.45590f, -0.08285f,
-  0.78651f,  0.28569f,  1.40545f,  0.39110f,  -0.07548f, -0.33576f, 1.56881f,
-  0.45125f,  3.60580f,  0.21732f,  0.16976f,  -0.11470f, 0.75122f,  1.21495f,
-  0.50204f,  -1.60450f, 0.14497f,  -0.00937f, -2.60240f, -0.50324f, 1.57232f,
-  1.84889f,  0.02458f,  -1.11006f, 0.96480f,  -1.50489f, -1.08920f, 0.21835f,
-  -0.01206f, 0.11513f,  0.28393f,  -0.06832f, 0.28597f,  -0.23074f, 0.19634f,
-  -0.01901f, 0.22133f,  -0.24419f, -0.01560f, 0.16752f,  0.00772f,  0.02161f,
-  -0.43692f, -0.57426f, -1.43245f, -0.77790f, 0.36000f,  -0.13499f, 6.42653f,
-  0.87666f,  -0.94847f, -0.32941f, -0.46009f, -0.33631f, -0.45081f, -0.06085f,
-  -0.66110f, -0.48376f, -0.46241f, 0.16331f,  0.19306f,  -1.37989f, 0.69546f,
-  3.17194f,  -0.39886f, -0.23159f, -1.99281f, 0.54139f,  0.70301f,  -0.37723f,
-  -0.78042f, 0.41053f,  -0.87789f, 1.41124f,  -0.52307f, -0.21651f, -1.14064f,
-  -0.74715f, 0.47405f,  0.55225f,  -0.02987f, -0.34985f, 0.94306f,  1.04305f,
-  -0.10294f, 0.23896f,  -0.96580f, -0.38712f, 0.53116f,  -0.10182f, 0.22020f,
-  0.15310f,  0.03357f,  0.52802f,  0.29718f,  -0.81904f, -0.35359f, 0.42777f,
-  0.40530f,  1.20917f,  -0.07148f, 1.01195f,  -0.17957f, 0.06567f,  -0.90801f,
-  0.66297f,  0.50968f,  -0.07081f, -0.02788f, 0.42831f,  3.55926f,  -0.87908f,
-  -1.01936f, -0.35544f, -0.08288f, -0.38195f, -0.18536f, 0.19022f,  0.08396f,
-  0.00244f,  -0.05982f, 0.04072f,  0.72922f,  -0.50711f, -0.74963f, -0.20814f,
-  -0.88009f, 3.82015f,  1.37695f,  0.03691f,  -0.10811f, 0.66275f,  -0.01252f,
-  -0.58312f, -0.20587f, 0.51406f,  0.61138f,  1.03561f,  0.94708f,  0.08672f,
-  -1.35773f, -0.04229f, -0.90443f, -0.57822f, -1.08403f, 4.47565f,  -0.29846f,
-  0.25272f,  0.23656f,  -0.31507f, 0.41373f,  0.31591f,  0.33692f,  0.00160f,
-  0.28474f,  0.13350f,  -0.05221f, -0.28297f, -0.34498f, -0.21047f, -0.27648f,
-  0.54017f,  0.79063f,  -1.59267f, -1.50795f, -1.70413f, -1.72474f, -1.61887f,
-  -1.77899f, -2.60979f, -1.53344f, -2.03713f, -0.50553f, 3.23190f,  -0.89295f,
-  0.19830f,  -1.12027f, 0.94527f,  0.69205f,  -0.65026f, 0.36370f,  0.05224f,
-  -1.33191f, 0.33571f,  0.37836f,  1.15068f,  2.31161f,  -0.03106f, 0.09218f,
-  2.60355f,  1.12978f,  -2.23842f, 0.34438f,  0.88148f,  -0.76537f, 2.83534f,
-  1.50344f,  2.13674f,  1.68420f,  -0.70187f, -0.26895f, 2.85734f,  3.64933f,
-  -0.53855f, -0.30371f, -0.40932f, 0.62377f,  1.59155f,  -1.21111f, -0.44629f,
-  0.61961f,  0.17024f,  2.47948f,  0.55465f,  0.83448f,  -1.60511f, 0.68983f,
-  -0.91949f, 0.24831f,  -1.59970f, -0.53816f, 0.76906f,  -0.29011f, 0.37242f,
-  0.93621f,  0.16127f,  -0.38060f, 1.11183f,  -0.74169f, -0.94185f, 0.06568f,
-  -0.14310f, 0.04459f,  -0.35945f, -0.52075f, -0.17030f, -0.00960f, -0.68422f,
-  -0.34568f, -0.34345f, 0.09646f,  -0.05917f, -0.03713f, 0.13008f,  0.58439f,
-  0.10846f,  -0.32863f, -0.21670f, -0.08252f, 0.34134f,  -0.48552f, -1.07047f,
-  1.39562f,  0.57768f,  0.88941f,  0.64666f,  -0.23164f, -0.14476f, 0.15838f,
-  -2.10622f, -0.39697f, -1.43269f, -0.65439f, -1.21578f, -0.54751f, -0.23281f,
-  -0.02770f, -0.12364f, -0.38259f, 0.24085f,  -0.59336f, -0.05055f, -0.39094f,
-  0.16277f,  0.41241f,  0.07444f,  -0.21273f, -0.39558f, -0.18603f, 0.29595f,
-  -0.34243f, -0.31262f, -0.73180f, 0.08943f,  -0.23874f, -0.06860f, 0.07157f,
-  -0.43196f, -0.08806f, -0.08236f, -0.26871f, 0.00373f,  -0.25404f, -0.39984f,
-  -0.56368f, 0.26565f,  -0.44527f, -1.52280f, -1.32908f, 0.15051f,  0.20677f,
-  0.63835f,  0.21811f,  0.46198f,  0.91307f,  0.97315f,  0.68176f,  0.24188f,
-  -0.00093f, 0.27706f,  -0.04180f, -0.24926f, 0.01682f,  -0.09650f, 0.81093f,
-  0.53121f,  0.51193f,  -1.89005f, -0.26113f, 0.63162f,  0.18064f,  -0.11625f,
-  0.33407f,  -0.61584f, 0.17743f,  2.22288f,  -0.18528f, -0.50951f, -1.68150f,
-  0.40667f,  -1.97424f, 2.98199f,  1.94396f,  0.02670f,  1.01438f,  -0.84409f,
-  -0.98323f, -2.12406f, 0.50851f,  -0.80447f, 0.15649f,  1.69056f,  1.53438f,
-  2.03117f,  0.64105f,  0.85359f,  -0.31000f, -0.14731f, -1.21840f, -0.54542f,
-  -0.66917f, 0.19683f,  -0.05916f, -0.23448f, -0.21854f, 0.11985f,  -0.11765f,
-  -0.22837f, -0.40467f, 0.49581f,  0.13027f,  0.22608f,  -0.25892f, -0.23515f,
-  -0.43008f, 0.64330f,  -0.15779f, 4.91596f,  3.74172f,  -0.01853f, -0.05633f,
-  3.52828f,  6.45093f,  -0.36485f, 0.18349f,  -0.00450f, -0.22926f, 0.68934f,
-  -0.21531f, 0.05716f,  -0.08060f, 0.11153f,  -0.05991f, -0.12007f, 0.27074f,
-  0.18030f,  0.24757f,  -0.39990f, -0.04836f, -0.28649f, -0.02310f, -0.08648f,
-  -0.28826f, -0.07254f, 0.21345f,  -0.11284f, 0.06600f,  0.49284f,  0.02827f,
-  -0.35973f, -0.28765f, 0.64441f,  -0.07901f, -1.43341f, -1.32239f, 0.07653f,
-  -0.03691f, -1.39370f, 0.44687f,  0.53096f,  1.31946f,  2.14809f,  -2.00421f,
-  -1.26628f, 1.03885f,  -2.60842f, 1.85814f,  0.75869f,  0.46057f,  0.31825f,
-  0.53240f,  -0.47724f, 0.53694f,  1.01443f,  -0.69209f, 0.17691f,  -0.45517f,
-  2.45806f,  -3.66425f, -1.72835f, -1.49468f, 1.32189f,  -0.49305f, -1.24297f,
-  0.60277f,  -1.41445f, 0.16413f,  -0.66027f, -0.85327f, -0.23208f, 0.55539f,
-  -1.25484f, 0.70927f,  0.90246f,  -0.39686f, 3.39510f,  -1.36411f, 0.37148f,
-  -3.24379f, -2.39433f, 0.47144f,  0.08939f,  -0.01514f, 0.80475f,  -1.44397f,
-  -0.56830f, -0.19813f, 1.63175f,  -1.45228f, 1.44804f,  -1.08043f, -2.73050f,
-  0.36157f,  1.43198f,  -0.17064f, 0.04689f,  4.13204f,  -0.17145f, -0.45914f,
-  0.26951f,  -0.43331f, -0.92574f, -0.43302f, -0.76836f, 0.50895f,  -0.56016f,
-  -2.15068f, 0.05734f,  1.57973f,  0.50136f,  -0.58979f, 0.32304f,  -0.20144f,
-  -2.83504f, -1.59596f, 1.14075f,  -3.35506f, -0.91743f, 0.52344f,  0.23030f,
-  0.26531f,  -2.53394f, 0.53946f,  -0.22607f, 0.04608f,  -0.03066f, 2.58096f,
-  1.07551f,  0.35917f,  2.70303f,  -0.39135f, -0.05870f, -0.42456f, 0.65547f,
-  1.17413f,  -1.01273f, 0.41903f,  0.60067f,  0.06475f,  1.40028f,  0.31375f,
-  -1.18827f, -1.79237f, -2.16054f, -0.18552f, 0.40779f,  2.47420f,  1.60598f,
-  2.51905f,  1.43856f,  -1.77980f, -0.89020f, -0.25304f, -1.53063f, -2.07139f,
-  -1.06641f, -1.49733f, 2.07209f,  1.08333f,  -0.38585f, -0.52260f, -3.96459f,
-  -1.11392f, -1.34735f, -1.00715f, -0.08676f, 0.02009f,  -0.04225f, 0.29525f,
-  -0.62457f, 1.25567f,  0.62074f,  -0.10845f, 1.08668f,  -1.72712f, -0.10162f,
-  -3.73208f, -1.36195f, 1.24945f,  0.40479f,  -0.44104f, 1.78835f,  -0.54711f,
-  -0.45704f, 0.13736f,  -0.26916f, 0.40053f,  0.00769f,  0.01737f,  -0.04449f,
-  -0.45853f, 0.32574f,  -0.10066f, -0.20889f, -0.42063f, -0.01880f, 0.02063f,
-  -0.57622f, 0.00220f,  -0.41481f, 0.21500f,  0.77856f,  0.52091f,  -0.37127f,
-  -0.16602f, 1.50396f,  1.28713f,  0.08025f,  0.37687f,  -0.58758f, 0.26340f,
-  0.68237f,  -0.32561f, -0.38597f, -0.03738f, 0.05094f,  0.35864f,  0.29402f,
-  1.97878f,  1.59610f,  0.06686f,  -0.56105f, 3.04528f,  2.98407f,  -2.56387f,
-  -0.14111f, -0.05276f, 0.05093f,  1.43481f,  -0.21868f, -0.03120f, 0.84077f,
-  -0.26040f, 0.83573f,  0.44524f,  -0.38470f, 0.32942f,  0.41419f,  0.03451f,
-  -0.39586f, 0.34182f,  -0.47267f, -0.44133f, 0.03274f,  0.64405f,  0.25461f,
-  0.34606f,  -0.24311f, -0.25747f, -0.42828f, -0.16665f, -0.53530f, 1.60349f,
-  1.71093f,  -1.98463f, -1.76171f, -4.02564f, -0.86771f, -2.01086f, -2.05039f,
-  0.75301f,  -1.58901f, 0.25703f,  -0.47220f, -0.03754f, -0.99208f, -0.34186f,
-  -0.66435f, -0.75609f, 1.97819f,  -1.84172f, -0.49220f, -0.45623f, -2.53327f,
-  0.26828f,  -0.31886f, 1.39814f,  -1.92251f, -0.65512f, -1.00151f, -0.65779f,
-  -1.39199f, 0.52147f,  1.17518f,  -0.79185f, -0.39961f, 0.71962f,  -0.88161f,
-  0.16256f,  -0.25754f, 1.08370f,  -0.92590f, -4.04821f, -0.54154f, 0.16665f,
-  -0.34683f, -1.51049f, -1.52053f, 0.68547f,  -1.71874f, 0.33837f,  -1.04910f,
-  0.29365f,  0.18723f,  0.96826f,  -0.66771f, -1.19261f, -1.88262f, -0.06630f,
-  1.88106f,  -0.80050f, -1.71436f, -0.31941f, 0.63553f,  1.54756f,  -1.23407f,
-  0.52384f,  0.22354f,  -0.34108f, 0.08610f,  0.00699f,  0.37136f,  0.79371f,
-  0.17867f,  0.43125f,  -0.08364f, -0.00536f, 0.38589f,  -0.38192f, 2.46420f,
-  -4.95342f, -0.05129f, 0.24330f,  4.10377f,  -0.09634f, 0.06190f,  -0.10095f,
-  0.10639f,  0.84283f,  -0.66132f, 0.30070f,  -0.27125f, 0.10007f,  0.07156f,
-  0.12596f,  -0.84956f, -0.73166f, 2.29945f,  0.20016f,  -0.52447f, 0.53079f,
-  -5.11437f, -0.14355f, -0.56753f, 0.29894f,  1.36724f,  -4.18788f, -4.54924f,
-  -0.14036f, 1.08707f,  -0.46971f, -0.70524f, 0.40919f,  -0.36412f, 0.61871f,
-  0.36490f,  0.27959f,  0.31333f,  0.72363f,  -0.12954f, -0.29154f, 0.36509f,
-  -0.50947f, -0.16829f, -0.07787f, -0.23850f, 0.56955f,  0.53635f,  -0.51060f,
-  0.40341f,  -0.25305f, -0.24747f, 0.06249f,  0.29373f,  0.16034f,  0.19666f,
-  -0.55598f, -0.51409f, 0.03709f,  -0.40533f, 0.04837f,  -0.01790f, -0.31404f,
-  -0.20858f, -7.44090f, -0.19129f, 0.34522f,  0.32686f,  0.26268f,  -0.14069f,
-  -0.46890f, 0.00656f,  0.99568f,  -0.21409f, -0.04172f, 0.06155f,  -0.58416f,
-  -0.00220f, 0.53917f,  -0.17184f, 0.12604f,  0.14324f,  -0.47364f, -0.44595f,
-  0.03335f,  0.05754f,  -0.10465f, -0.60116f, 0.06808f,  0.74665f,  -0.09468f,
-  -0.22019f, -0.37092f, -0.15980f, 0.24710f,  0.09047f,  1.13834f,  0.98147f,
-  -0.67229f, -0.94558f, -1.07998f, -0.77535f, 0.67678f,  0.91947f,  0.04130f,
-  0.24570f,  -0.23502f, 0.07140f,  5.01414f,  -0.42455f, 0.15214f,  -0.06943f,
-  -0.02245f, 0.55778f,  0.19904f,  -0.11874f, -0.43990f, 0.10878f,  -0.28505f,
-  0.56417f,  -0.03703f, -0.13008f, 0.13934f,  -0.24387f, -1.04753f, -0.71977f,
-  0.03831f,  -0.04141f, 0.07736f,  -0.57109f, -0.13095f, -0.56810f, -0.08898f,
-  -0.35147f, 0.43868f,  0.08960f,  0.10786f,  -0.21675f, 0.13877f,  -0.00299f,
-  0.07219f,  -0.99991f, -0.61501f,
+static const float av1_tx_split_nn_weights_16x16_layer0[12 * 24] = {
+  -0.177215f, -0.297166f, 0.299924f,  0.207878f,  0.216871f,  0.173264f,
+  0.295464f,  0.048395f,  0.154731f,  0.305880f,  0.056787f,  -0.166617f,
+  0.115653f,  -0.529477f, -0.073995f, -0.211746f, -0.018169f, 0.000788f,
+  -0.024940f, -0.007055f, 0.001392f,  0.021678f,  -1.594600f, -0.099593f,
+  0.332930f,  0.103574f,  0.158249f,  0.182601f,  0.332665f,  0.226207f,
+  -0.139566f, 0.185531f,  0.099074f,  -0.185654f, -0.203121f, -0.285678f,
+  -0.313453f, -0.294452f, -0.143707f, -0.031265f, -0.453030f, -0.061874f,
+  -0.066150f, -0.099058f, -0.458879f, 0.127544f,  0.338314f,  -0.161350f,
+  0.030091f,  -0.075528f, 0.004320f,  0.353690f,  -0.013480f, -0.420402f,
+  -0.004659f, -0.329401f, -0.001745f, 0.227384f,  -0.055183f, 0.121405f,
+  0.160340f,  0.143603f,  -0.221813f, 0.079107f,  -0.657639f, -0.084348f,
+  -0.303414f, 0.046774f,  -0.367679f, 0.060005f,  0.168645f,  0.084421f,
+  -0.133625f, 0.301375f,  0.079412f,  -0.419303f, 0.017235f,  0.068637f,
+  0.018384f,  -0.428325f, -0.019753f, 0.149444f,  -0.474836f, -0.287162f,
+  0.198083f,  0.028292f,  -0.299092f, -0.005849f, -0.256245f, 0.233277f,
+  -0.217561f, -0.264003f, 0.269411f,  0.207032f,  -0.339411f, -0.198431f,
+  -0.028521f, 0.158076f,  0.177116f,  0.345702f,  -0.145132f, 0.064623f,
+  -0.090867f, 0.288816f,  -0.263198f, -0.071028f, -0.044546f, 0.380017f,
+  -0.014100f, -0.271192f, -0.318559f, 0.129015f,  -0.050314f, -0.093355f,
+  -0.578498f, 0.099090f,  -0.133080f, -0.029975f, -0.059828f, -0.157765f,
+  -0.321153f, -0.343671f, -0.242959f, 0.128304f,  0.017170f,  0.072787f,
+  -0.475838f, -0.003806f, -0.068615f, 0.150556f,  -0.159903f, -0.416513f,
+  0.218794f,  -0.290456f, -0.084569f, -0.170014f, -0.044414f, -0.153069f,
+  -0.077329f, -0.089747f, -0.096526f, 0.537952f,  0.134725f,  -0.006469f,
+  -0.323335f, -0.168183f, -0.107163f, -0.139954f, 0.011286f,  -0.021712f,
+  -0.513992f, 0.259135f,  -0.319808f, 0.077811f,  0.104613f,  0.370571f,
+  0.185244f,  0.065530f,  -0.091098f, -0.573741f, 0.111934f,  0.437417f,
+  -0.123691f, 0.220641f,  -0.024783f, -0.149460f, -0.354185f, -0.134127f,
+  0.038015f,  -0.380596f, 0.250980f,  0.142208f,  0.135170f,  -0.131129f,
+  -0.357556f, -0.530945f, 0.159672f,  -0.147025f, -0.377829f, -0.504508f,
+  -0.492870f, 0.020753f,  0.142818f,  0.025172f,  0.086140f,  0.091283f,
+  0.087491f,  -0.186415f, 0.177785f,  -0.195121f, -1.191148f, -0.477102f,
+  0.023371f,  0.227004f,  -0.023502f, -0.242913f, -0.074398f, -0.153480f,
+  0.162900f,  0.415509f,  -0.162565f, -0.131709f, -0.258852f, -0.252027f,
+  -0.080845f, -0.330274f, 0.021874f,  0.232398f,  0.069277f,  0.220567f,
+  -0.024237f, -0.366771f, 0.081673f,  -0.429906f, -0.302170f, 0.061045f,
+  0.352777f,  -0.230376f, 0.408153f,  0.064758f,  0.142051f,  0.007219f,
+  0.622878f,  0.212577f,  0.036489f,  0.081150f,  -0.284767f, 0.107763f,
+  -0.529786f, -0.072190f, -0.300421f, -0.287959f, -0.568900f, 0.011547f,
+  -0.131696f, -0.356854f, -0.587962f, -0.026598f, 0.405829f,  0.057565f,
+  0.414265f,  -0.159155f, 0.221456f,  0.146314f,  0.265776f,  -0.006516f,
+  0.473978f,  -0.186431f, 0.288672f,  -0.060437f, 0.083380f,  -0.205641f,
+  0.360016f,  0.222041f,  0.420011f,  0.024579f,  0.377546f,  0.250380f,
+  -0.069900f, 0.296743f,  0.073532f,  -0.243225f, -0.374987f, -0.387288f,
+  -0.237255f, -0.287013f, 0.417831f,  -0.252988f, -0.257652f, -0.066775f,
+  -0.253926f, 0.057841f,  0.346133f,  -0.157797f, -0.406028f, -0.286893f,
+  0.274507f,  -0.452561f, 0.143381f,  -0.097755f, 0.021242f,  0.034561f,
+  0.044115f,  0.004065f,  0.066729f,  0.043558f,  0.102991f,  -0.477574f,
 };
 
-static const float av1_tx_split_nn_bias_16x16_layer0[64] = {
-  0.65312f,  -0.83098f, 0.39323f,  -2.75927f, 0.81694f,  -0.28241f, -2.18768f,
-  0.34134f,  1.20591f,  1.22232f,  -0.64396f, -0.58826f, 1.01791f,  0.00321f,
-  -3.13828f, 1.13783f,  -0.86514f, -0.08370f, -0.35267f, 0.37178f,  -2.75818f,
-  -6.59164f, -3.23005f, -1.53321f, 1.42684f,  -4.39138f, 2.05253f,  -0.02781f,
-  -0.76007f, 0.92340f,  -0.08111f, -1.23684f, 0.48422f,  -0.40752f, 0.14077f,
-  -1.72232f, -0.00208f, -1.30060f, -1.78436f, -0.05391f, -0.39061f, -0.63657f,
-  0.49918f,  0.20668f,  -3.85847f, 0.93580f,  0.32614f,  -0.14702f, 0.95100f,
-  0.19870f,  -0.35641f, 0.24500f,  -0.00832f, 0.11008f,  -0.18393f, -0.20785f,
-  0.33332f,  0.24374f,  -0.95761f, 0.33066f,  -0.92643f, -4.62375f, -0.43035f,
-  -0.96366f,
+static const float av1_tx_split_nn_bias_16x16_layer0[24] = {
+  -0.479033f, 1.467402f,  -0.366291f, 0.372511f,  0.715322f,  -0.605500f,
+  0.176848f,  0.032318f,  0.237429f,  -0.046047f, 0.452082f,  0.451805f,
+  -0.822845f, 0.636762f,  -0.057350f, 1.163978f,  0.728287f,  0.603654f,
+  -0.245519f, -0.893569f, -1.428185f, 0.808870f,  -0.076159f, 1.231976f,
 };
 
-static const float av1_tx_split_nn_weights_16x16_layer1[64] = {
-  4.00974f,  2.11254f,  -3.59420f, 0.85364f,  -2.31614f, 0.05530f,  1.73165f,
-  2.48115f,  -3.94476f, 3.64559f,  -0.29305f, 3.76776f,  1.98696f,  3.68108f,
-  1.98553f,  1.41208f,  -0.18020f, -2.48263f, 3.78622f,  1.55076f,  3.51036f,
-  3.33941f,  2.28655f,  1.00124f,  -3.92312f, 3.89978f,  3.90257f,  -2.99901f,
-  -0.93003f, 1.65249f,  -0.11631f, 1.11693f,  0.65334f,  -2.34870f, 2.60394f,
-  2.17219f,  -8.45155f, -0.55153f, -2.00431f, 2.48126f,  2.76832f,  2.62461f,
-  -2.09580f, -2.12298f, 1.69051f,  -2.57117f, -2.58804f, -0.19290f, 1.89817f,
-  4.08995f,  -0.04311f, 5.18602f,  3.90296f,  3.64248f,  3.12903f,  -2.37662f,
-  -2.83318f, -2.91755f, -0.60725f, -3.46475f, -1.31273f, 3.65086f,  0.06778f,
-  -0.43647f,
+static const float av1_tx_split_nn_weights_16x16_layer1[24] = {
+  -0.176161f, 1.670188f, -0.180755f, -0.321326f, 0.249728f,  -0.170504f,
+  -0.538432f, 0.033893f, 0.149842f,  0.404140f,  -0.377812f, 0.338838f,
+  -0.176091f, 0.249844f, -0.362533f, 1.412460f,  0.196862f,  0.278194f,
+  -0.140444f, 0.297746f, 0.172533f,  0.116470f,  -0.151656f, -0.603250f,
 };
 
 static const float av1_tx_split_nn_bias_16x16_layer1[1] = {
-  -3.21793f,
+  0.184803f,
 };
 
 static const NN_CONFIG av1_tx_split_nnconfig_16x16 = {
-  17,  // num_inputs
+  12,  // num_inputs
   1,   // num_outputs
   1,   // num_hidden_layers
   {
-      64,
+      24,
   },  // num_hidden_nodes
   {
       av1_tx_split_nn_weights_16x16_layer0,
@@ -1644,30 +1476,607 @@
 };
 /******************************************************************************/
 
+// Tx split model for 32x32 block.
+static const float av1_tx_split_nn_weights_32x32_layer0[12 * 32] = {
+  -0.439303f, 0.004813f,  -0.365052f, -0.116868f, -0.356716f, -0.196537f,
+  -0.196770f, -0.076096f, 0.357004f,  -0.044909f, -0.112910f, -0.129081f,
+  0.156725f,  -0.386346f, 0.038971f,  0.160696f,  0.204923f,  -0.384333f,
+  -0.319546f, 0.028179f,  -0.250524f, -0.289669f, -0.284138f, -0.258963f,
+  -0.180854f, -0.000807f, -0.029620f, -0.353134f, 0.212408f,  0.141414f,
+  0.303016f,  0.098066f,  0.482455f,  0.036069f,  -0.166279f, 0.210119f,
+  -0.086337f, -0.023550f, -0.250796f, -0.183945f, -0.393856f, 0.170608f,
+  -0.306403f, 0.026318f,  -0.277296f, 0.092684f,  -0.033584f, -0.018371f,
+  -0.025043f, -0.257659f, -0.139163f, -0.206949f, -0.190105f, 0.028053f,
+  0.361851f,  -0.364726f, -0.096771f, -0.184166f, -0.433228f, -0.182191f,
+  -0.097051f, 0.259172f,  0.016432f,  0.259358f,  0.145059f,  0.037196f,
+  0.091581f,  -0.219644f, 0.140384f,  -0.446837f, -0.234531f, 0.149508f,
+  -0.083429f, 0.186189f,  -0.099890f, -0.111277f, 0.495214f,  0.085053f,
+  -0.266613f, -0.051366f, 0.148593f,  0.111875f,  0.077787f,  -0.371653f,
+  -0.146157f, -0.229235f, 0.076203f,  0.488975f,  0.096771f,  -0.009483f,
+  0.192985f,  0.246273f,  -0.192671f, -0.557890f, -0.292650f, -0.088907f,
+  -0.106892f, -0.329659f, 0.012105f,  -0.359326f, 0.170723f,  -0.004357f,
+  0.171593f,  -0.478768f, -0.236016f, -0.035077f, 0.133731f,  0.137962f,
+  -0.397926f, -0.155164f, -0.276709f, -0.186602f, -0.258301f, 0.036965f,
+  -0.649359f, 0.127605f,  0.097930f,  0.182775f,  -0.313324f, 0.053349f,
+  0.204203f,  -0.222948f, -0.059008f, -0.049759f, -0.056848f, 0.087497f,
+  -0.039987f, -0.055042f, -0.041623f, -0.078424f, -0.317291f, -0.191398f,
+  0.632147f,  0.221825f,  0.268394f,  -0.096357f, 0.442545f,  -0.007117f,
+  -0.036125f, 0.000525f,  0.088092f,  -0.203653f, 0.086925f,  0.439141f,
+  0.329889f,  -0.370050f, -0.194306f, -0.207430f, 0.132779f,  -0.217614f,
+  -0.039444f, -0.053019f, -0.260725f, -0.116563f, -0.271048f, 0.283737f,
+  -0.007300f, 0.062257f,  -0.347865f, -0.296767f, -0.359123f, 0.230459f,
+  -0.189117f, -0.087622f, -0.561091f, 0.184182f,  -0.044980f, 0.012643f,
+  0.241672f,  0.050272f,  -0.204851f, -0.159285f, -0.064081f, -0.118666f,
+  -0.269471f, 0.231668f,  0.135749f,  -0.131162f, 0.062760f,  0.100949f,
+  0.074967f,  -0.056918f, 0.251707f,  0.034098f,  0.341290f,  -0.105027f,
+  0.313246f,  -0.092679f, -0.014632f, -0.390967f, 0.136881f,  -0.241554f,
+  0.097674f,  0.110832f,  -0.390245f, 0.017654f,  -0.506222f, 0.065252f,
+  0.244834f,  -0.171352f, -0.331702f, 0.111043f,  0.125217f,  -0.058116f,
+  -0.382595f, -0.052545f, 0.114261f,  -0.493617f, 0.243984f,  -0.171053f,
+  0.165009f,  -0.063020f, 0.096502f,  0.341339f,  -0.013443f, 0.056372f,
+  0.339284f,  0.398376f,  0.389409f,  0.257252f,  0.517368f,  0.078856f,
+  0.087716f,  -0.171092f, 0.227461f,  0.125307f,  -0.054423f, -0.143161f,
+  0.224041f,  -0.086477f, -0.092548f, 0.072392f,  -0.061608f, 0.258347f,
+  0.147033f,  -0.478244f, -0.204869f, 0.038552f,  -0.144563f, 0.224087f,
+  -0.296705f, 0.153889f,  -0.064624f, 0.085265f,  -0.103826f, 0.127971f,
+  0.019965f,  0.111937f,  -0.074187f, -0.029518f, -0.127305f, -0.012210f,
+  0.042714f,  0.070052f,  -0.202360f, 0.348144f,  -0.132097f, -0.209585f,
+  -0.248286f, -0.065774f, -0.089482f, -0.133226f, 0.325430f,  -0.013468f,
+  -0.406090f, -0.144936f, 0.208620f,  0.343445f,  -0.059639f, 0.114857f,
+  -0.069431f, -0.218725f, 0.190575f,  -0.368101f, 0.030030f,  0.062815f,
+  -0.239369f, -0.537852f, 0.022487f,  0.023038f,  0.190788f,  0.040123f,
+  -0.004304f, 0.060749f,  -0.108929f, 0.136796f,  -0.542875f, -0.227074f,
+  -0.182244f, 0.082559f,  0.019149f,  0.178854f,  0.120284f,  0.009070f,
+  0.068268f,  -0.544822f, 0.120536f,  0.354028f,  -0.119890f, -0.122055f,
+  -0.405335f, 0.122341f,  -0.304412f, 0.062405f,  -0.302568f, -0.276505f,
+  -0.120915f, -0.221841f, 0.282007f,  -0.253971f, 0.059517f,  -0.144976f,
+  0.149391f,  -0.047355f, -0.167742f, -0.392333f, -0.041132f, 0.342135f,
+  0.017485f,  0.021038f,  -0.023728f, -0.192181f, -0.103996f, 0.092873f,
+  -0.114365f, -0.397732f, -0.065421f, 0.053084f,  0.035201f,  0.053019f,
+  -0.105377f, -0.039500f, 0.131904f,  -0.123911f, -0.390328f, -0.125198f,
+  -0.000126f, 0.014864f,  -0.220187f, 0.084056f,  -0.492155f, -0.164979f,
+  0.133592f,  0.121519f,  -0.240813f, 0.186680f,  0.118673f,  0.235006f,
+  -0.239894f, -0.185759f, -0.336992f, 0.209620f,  -0.298845f, 0.127803f,
+  -0.083992f, 0.194340f,  -0.245378f, 0.212308f,  0.142512f,  -0.163324f,
+  0.383495f,  0.291065f,  0.286620f,  -0.239957f, 0.225127f,  -0.174424f,
+  0.297231f,  -0.045434f, 0.156444f,  -0.184273f, -0.204567f, 0.202551f,
+  0.370019f,  -0.073910f, 0.344897f,  0.063100f,  0.338547f,  -0.099145f,
+  0.391863f,  -0.214244f, -0.241734f, -0.281851f, -0.035133f, -0.153157f,
+};
+
+static const float av1_tx_split_nn_bias_32x32_layer0[32] = {
+  0.143343f,  -0.021982f, -0.314939f, 0.170867f,  -0.081248f, 0.125758f,
+  -0.355762f, 0.279798f,  1.027712f,  -0.434660f, 1.072005f,  0.668893f,
+  -0.031216f, -0.528650f, 0.328349f,  0.543645f,  -0.188810f, 0.221110f,
+  -1.638637f, 0.058045f,  -1.731105f, -0.444284f, 0.513693f,  0.890025f,
+  0.160288f,  0.393312f,  0.332856f,  -0.080767f, 0.299822f,  0.235876f,
+  0.254942f,  -0.017796f,
+};
+
+static const float av1_tx_split_nn_weights_32x32_layer1[32] = {
+  -0.090326f, -0.267553f, -0.026071f, 0.100912f,  0.279137f,  0.079064f,
+  -0.074885f, 0.053804f,  0.736810f,  -0.031693f, -0.970514f, 0.174069f,
+  0.095940f,  -0.065047f, 0.052911f,  0.176728f,  -0.058274f, 0.148364f,
+  -0.162210f, 0.093875f,  -0.367663f, 0.020876f,  0.137280f,  -1.099116f,
+  0.146854f,  0.075590f,  0.228534f,  0.141993f,  0.072143f,  0.101421f,
+  -0.068547f, -0.154148f,
+};
+
+static const float av1_tx_split_nn_bias_32x32_layer1[1] = {
+  0.316622f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_32x32 = {
+  12,  // num_inputs
+  1,   // num_outputs
+  1,   // num_hidden_layers
+  {
+      32,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_32x32_layer0,
+      av1_tx_split_nn_weights_32x32_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_32x32_layer0,
+      av1_tx_split_nn_bias_32x32_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx split model for 64x64 block.
+static const float av1_tx_split_nn_weights_64x64_layer0[12 * 32] = {
+  -0.006828f, 0.149944f,  -0.017614f, -0.044599f, -0.024517f, 0.507698f,
+  0.001039f,  0.037164f,  0.015091f,  -0.306620f, -0.162047f, -0.369440f,
+  0.396310f,  0.087121f,  0.208609f,  -0.083068f, 0.493774f,  0.217682f,
+  0.377393f,  0.172879f,  0.397422f,  0.078919f,  0.741350f,  0.064169f,
+  -0.099989f, -0.192983f, -0.278230f, -0.310048f, -0.439965f, -0.226698f,
+  -0.436596f, -0.007551f, -0.396721f, 0.153570f,  -0.190838f, -0.071869f,
+  0.048799f,  -0.301301f, -0.005015f, 0.500480f,  -0.030622f, -0.559095f,
+  -0.032634f, -0.054160f, -0.056979f, -0.456545f, 0.306536f,  -0.411323f,
+  -0.005366f, -0.069496f, 0.019990f,  0.327931f,  -0.002516f, 0.393190f,
+  0.001759f,  0.035093f,  -0.030302f, -0.528984f, 0.174781f,  0.241462f,
+  -0.415427f, -0.164502f, 0.143065f,  -0.122595f, 0.082049f,  -0.143346f,
+  0.055642f,  -0.124701f, 0.004050f,  -0.216235f, -2.681730f, 0.101658f,
+  0.381239f,  0.465936f,  0.331154f,  0.301708f,  -0.360171f, 0.054886f,
+  -0.118658f, 0.287921f,  0.277859f,  0.203784f,  0.247809f,  0.656924f,
+  -0.354628f, 0.315081f,  0.105108f,  -0.510179f, 0.059267f,  0.061386f,
+  0.076423f,  0.347119f,  0.100134f,  0.028402f,  -0.118621f, -0.238689f,
+  0.080141f,  -0.138863f, 0.009009f,  -0.100526f, -0.138875f, 0.066992f,
+  0.005949f,  0.564336f,  0.046994f,  0.004655f,  0.366047f,  0.014695f,
+  -0.146928f, -0.024665f, -0.440357f, -0.109395f, 0.527231f,  -0.020925f,
+  -0.227236f, -0.068141f, 0.282009f,  0.040192f,  -0.267100f, 0.229228f,
+  0.133861f,  0.338706f,  -0.030178f, -0.040919f, -0.026343f, -0.330338f,
+  -0.066931f, -0.110580f, -0.072056f, 0.599457f,  -0.020738f, 0.169200f,
+  0.836240f,  -0.157548f, 0.386273f,  0.002404f,  0.329410f,  -0.007020f,
+  0.351705f,  -0.041259f, 0.388861f,  0.003899f,  0.582627f,  0.023572f,
+  0.409912f,  -0.158472f, 0.536383f,  0.525093f,  0.604247f,  0.439159f,
+  0.692832f,  0.046272f,  0.590367f,  -0.082166f, 0.262357f,  0.478671f,
+  0.031935f,  0.042675f,  0.120002f,  0.398616f,  -0.078967f, 0.227986f,
+  -0.044679f, 0.151061f,  -0.085564f, 0.220205f,  -0.265606f, -0.203623f,
+  0.204719f,  -0.125922f, 0.038544f,  -0.269379f, 0.025866f,  0.109967f,
+  0.019064f,  -0.237297f, -0.309746f, -0.329118f, -0.278368f, -0.063859f,
+  0.278496f,  0.018620f,  0.209971f,  0.296250f,  0.142850f,  0.288689f,
+  0.137084f,  0.130517f,  0.128171f,  -0.155396f, -0.008449f, -0.099845f,
+  0.173455f,  -0.059909f, -0.147318f, 0.102851f,  -0.251389f, -0.001448f,
+  0.103907f,  0.297273f,  -0.027846f, 0.028260f,  -0.382601f, 0.346695f,
+  -0.601641f, 0.162366f,  -0.477495f, -0.042731f, -0.387871f, -0.051791f,
+  -0.401498f, -0.048446f, -0.456270f, -0.062287f, 0.493919f,  0.003008f,
+  0.099917f,  -0.358525f, -0.094903f, -0.022811f, -0.062259f, 0.019455f,
+  -0.050644f, 0.020041f,  -0.132912f, -0.061578f, -3.083691f, -0.014961f,
+  -0.129115f, -0.710559f, 0.157213f,  -0.844037f, -0.121991f, -0.943386f,
+  -0.231269f, -0.003462f, 0.331478f,  -0.132703f, -1.285993f, -0.120957f,
+  -0.373755f, -0.322609f, 0.309059f,  -0.131523f, -0.118334f, -0.063805f,
+  -0.104251f, 0.012166f,  -0.094699f, -0.283753f, 0.128168f,  -0.526929f,
+  -0.050331f, 0.186153f,  0.005913f,  -0.221236f, 0.036363f,  0.160909f,
+  -0.001342f, -0.382749f, 0.037820f,  0.281689f,  -0.024275f, 0.028854f,
+  0.318291f,  0.318526f,  0.035778f,  0.034031f,  0.189663f,  -0.293367f,
+  0.082022f,  0.127923f,  0.078866f,  -0.081361f, -0.268117f, 0.246675f,
+  0.248605f,  -0.215479f, -0.073084f, 0.496140f,  -0.067327f, 0.396237f,
+  -0.120739f, 0.033752f,  -0.044120f, -0.218941f, -0.028078f, 0.195132f,
+  -0.040400f, 0.281604f,  -0.100471f, 0.415207f,  -0.258503f, -0.429749f,
+  0.150569f,  -0.010859f, 0.136448f,  0.026589f,  0.148466f,  0.110764f,
+  0.380967f,  0.009177f,  0.103075f,  0.116417f,  0.226273f,  -0.327746f,
+  0.169346f,  0.284553f,  -0.094986f, 0.312745f,  -0.147840f, 0.025062f,
+  -0.494482f, 0.112388f,  -0.213962f, 0.107050f,  -0.433371f, -0.096276f,
+  -0.244835f, -0.003518f, -0.459148f, -0.145080f, 0.017150f,  0.042846f,
+  -0.237479f, 0.104746f,  0.158677f,  0.358937f,  0.099921f,  0.277109f,
+  0.012410f,  -0.062897f, 0.116130f,  0.255309f,  0.341628f,  0.145002f,
+  -0.429344f, -0.016433f, -0.068985f, 0.285194f,  -0.286719f, -0.018298f,
+  -0.179369f, -0.194655f, -0.165380f, 0.026071f,  -0.428268f, -0.379929f,
+  -0.727543f, 0.179610f,  -0.963979f, -0.042026f, -0.616202f, 0.133401f,
+  -0.784966f, 0.061205f,  -0.713357f, 0.129795f,  0.120512f,  -0.339545f,
+  0.353557f,  0.114906f,  -0.329813f, -0.209987f, 0.085410f,  0.214313f,
+  -0.122082f, 0.335770f,  -0.020937f, 0.202456f,  0.289023f,  -0.421186f,
+  0.337905f,  0.407663f,  0.132771f,  0.071734f,  0.213914f,  0.128595f,
+  0.302659f,  -0.209501f, 0.217756f,  0.253079f,  -0.089505f, -0.205614f,
+};
+
+static const float av1_tx_split_nn_bias_64x64_layer0[32] = {
+  0.296914f,  -1.826816f, 0.346130f,  0.969520f,  -0.528154f, 1.175862f,
+  -0.075985f, -0.097323f, -0.233059f, 0.004846f,  0.401279f,  -2.272435f,
+  0.086257f,  0.414162f,  -0.194786f, -0.233887f, -0.113215f, -2.453546f,
+  0.861214f,  0.298361f,  0.267397f,  -0.158557f, -0.119911f, -0.098134f,
+  -0.339263f, 0.385871f,  -0.678123f, 0.263218f,  0.251611f,  -1.155773f,
+  -0.365437f, 0.229255f,
+};
+
+static const float av1_tx_split_nn_weights_64x64_layer1[32] = {
+  0.502104f,  -0.708023f, 0.419648f,  1.583418f,  0.419355f,  -1.462981f,
+  -0.439623f, 0.405691f,  0.823257f,  0.061654f,  0.750875f,  0.775031f,
+  -0.387909f, 0.447385f,  0.284690f,  0.353262f,  -0.224347f, 0.832864f,
+  -1.708491f, -1.042447f, -0.272829f, 0.540640f,  0.310509f,  0.723745f,
+  0.245592f,  -0.218417f, -0.597987f, -0.362301f, 0.702217f,  -0.692614f,
+  0.207812f,  0.513560f,
+};
+
+static const float av1_tx_split_nn_bias_64x64_layer1[1] = { -0.2307045f };
+
+static const NN_CONFIG av1_tx_split_nnconfig_64x64 = {
+  12,  // num_inputs
+  1,   // num_outputs
+  1,   // num_hidden_layers
+  {
+      32,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_64x64_layer0,
+      av1_tx_split_nn_weights_64x64_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_64x64_layer0,
+      av1_tx_split_nn_bias_64x64_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx split model for 4x16 block.
+static const float av1_tx_split_nn_weights_4x16_layer0[8 * 16] = {
+  -1.344184f, -1.454625f, -0.703110f, -0.140570f, -0.841536f, -0.068131f,
+  -2.128968f, -0.655518f, 0.432180f,  0.879752f,  -0.222211f, 0.061615f,
+  -0.230969f, 0.569496f,  1.424188f,  0.598063f,  -0.436005f, -0.737606f,
+  -0.137875f, -0.085730f, -0.076512f, -0.583101f, -0.937377f, -0.203556f,
+  -0.215797f, -0.015361f, -0.124098f, -0.411917f, 0.340441f,  -0.331752f,
+  -0.472607f, -0.097714f, -0.930572f, -1.354713f, -0.550724f, 0.176212f,
+  -0.636060f, 0.183271f,  -0.610212f, 0.345895f,  -1.100906f, -1.605713f,
+  0.111888f,  -0.140937f, 0.063013f,  -0.013315f, -0.273472f, -0.255870f,
+  1.200328f,  0.274002f,  1.005776f,  0.322392f,  1.222373f,  0.158227f,
+  0.408810f,  0.145022f,  0.139842f,  -1.249412f, 0.286672f,  -0.635699f,
+  0.312562f,  -0.495606f, -1.117034f, -0.085107f, -0.097484f, -0.341521f,
+  -0.132199f, -0.863055f, 0.217579f,  -1.161425f, -0.302087f, -1.357271f,
+  -0.520724f, -1.211069f, -1.048729f, -0.333087f, -1.171527f, -0.280824f,
+  -2.057684f, -0.228755f, 0.606278f,  0.101198f,  -0.314847f, -1.303255f,
+  -0.294964f, 1.301923f,  0.041712f,  0.077593f,  -1.152746f, 0.495315f,
+  -0.751566f, 0.230249f,  -0.840661f, 0.100731f,  1.346269f,  0.649898f,
+  -1.432258f, -0.456710f, -1.018123f, -0.348559f, -1.225226f, -0.170717f,
+  -0.354072f, 0.068292f,  -0.234168f, 0.277503f,  0.179134f,  0.907420f,
+  0.354626f,  -0.627210f, 0.905779f,  0.512612f,  0.161190f,  -0.843177f,
+  0.014953f,  -0.354983f, 0.011116f,  -0.429598f, -1.017138f, -0.211432f,
+  0.941840f,  -0.281747f, 0.957776f,  -0.541914f, 1.041880f,  -0.433580f,
+  -1.416451f, -0.166467f,
+};
+
+static const float av1_tx_split_nn_bias_4x16_layer0[16] = {
+  3.086118f,  -3.235095f, 4.830956f,  -0.165706f, 0.955031f,  4.055783f,
+  -0.311489f, 4.660205f,  -0.576277f, -0.248111f, -0.790519f, -1.686412f,
+  -1.191704f, -3.800073f, 4.121552f,  -1.399397f,
+};
+
+static const float av1_tx_split_nn_weights_4x16_layer1[16] = {
+  -0.758677f, 0.388776f,  0.439906f,  0.011390f, -0.084319f, -0.667969f,
+  -0.467316f, -0.875491f, -0.160668f, 0.805292f, 0.114393f,  -0.549682f,
+  0.462109f,  0.343315f,  1.092593f,  0.483152f,
+};
+
+static const float av1_tx_split_nn_bias_4x16_layer1[1] = {
+  0.8205083f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_4x16 = {
+  8,  // num_inputs
+  1,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_4x16_layer0,
+      av1_tx_split_nn_weights_4x16_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_4x16_layer0,
+      av1_tx_split_nn_bias_4x16_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx split model for 16x32 block.
+static const float av1_tx_split_nn_weights_16x32_layer0[8 * 32] = {
+  0.180713f,  0.033211f,  0.607561f,  0.138642f,  0.637204f,  -0.000940f,
+  0.012630f,  0.358109f,  0.022238f,  0.190418f,  0.079088f,  0.065925f,
+  0.038242f,  0.162380f,  -0.122728f, 0.379382f,  -0.303283f, -0.327550f,
+  0.029120f,  -0.284553f, 0.269588f,  -0.309805f, -0.241036f, -0.161103f,
+  -0.304887f, 0.239843f,  -0.149146f, 0.311234f,  -0.073640f, -0.132718f,
+  0.178901f,  0.474712f,  0.020280f,  0.063685f,  -0.609170f, -0.013658f,
+  -0.338074f, 0.250429f,  0.082978f,  -0.186315f, -0.788959f, 0.039859f,
+  -0.426461f, -0.001524f, -0.447211f, 0.378102f,  0.315617f,  0.017428f,
+  0.745494f,  -0.219024f, 0.512836f,  0.200522f,  0.680449f,  0.313686f,
+  -0.412569f, -0.132927f, 0.631120f,  0.042735f,  0.336153f,  0.044772f,
+  0.432606f,  0.175681f,  -0.634411f, -0.073509f, -0.040643f, -0.559260f,
+  -0.104034f, -0.570495f, -0.247365f, 0.063256f,  -0.582021f, -0.492585f,
+  -0.194955f, -0.207934f, -0.506627f, 0.021743f,  -0.416518f, 0.320876f,
+  0.115889f,  0.149399f,  -0.229376f, 0.095505f,  0.115191f,  -0.471921f,
+  0.113068f,  0.343684f,  -0.036831f, 0.021240f,  0.295112f,  0.031166f,
+  0.448201f,  -0.132241f, 0.164032f,  0.355572f,  0.072154f,  0.017335f,
+  -0.046113f, 0.178719f,  -0.026881f, -0.242590f, 0.055073f,  -0.012958f,
+  0.077904f,  0.351356f,  0.107655f,  0.260568f,  -0.080052f, -0.197553f,
+  0.085763f,  0.263416f,  -0.327741f, 0.158855f,  0.056899f,  -0.162121f,
+  0.339518f,  -0.571204f, 0.264966f,  -0.252214f, -0.202560f, -0.134213f,
+  -0.330188f, 0.009470f,  -0.468376f, -0.065240f, -0.307957f, 0.116479f,
+  -0.222238f, -0.458716f, 0.186493f,  -0.391415f, 0.118649f,  -0.104653f,
+  -0.259958f, -0.332081f, -0.403785f, -0.050147f, -0.573511f, 0.177117f,
+  -0.598358f, 0.164947f,  -0.119694f, -0.058520f, 0.203829f,  -0.267404f,
+  -0.048202f, -0.600006f, 0.181594f,  -0.731805f, 0.146417f,  -0.687148f,
+  -1.210525f, -0.450101f, -0.620635f, 0.208825f,  -0.611357f, 0.112202f,
+  -0.309468f, -0.323545f, 0.357770f,  0.308061f,  0.553199f,  0.049012f,
+  0.530093f,  -0.208597f, 0.607882f,  -0.058120f, -0.527634f, 0.018136f,
+  0.060753f,  0.118894f,  0.175649f,  0.014731f,  0.428318f,  -0.106465f,
+  -0.119077f, 0.080179f,  0.524997f,  0.368286f,  0.528286f,  0.213659f,
+  0.639286f,  0.195079f,  -0.049815f, -0.092008f, -0.302958f, 0.298149f,
+  -0.173870f, -0.145205f, -0.233589f, -0.303368f, 0.141275f,  0.325622f,
+  -0.115293f, 0.155188f,  0.047225f,  0.231050f,  -0.167447f, 0.349754f,
+  0.295544f,  -0.319466f, 0.095144f,  0.174612f,  -0.194652f, 0.305915f,
+  -0.239008f, -0.037453f, 0.280696f,  0.125850f,  0.749196f,  -0.101919f,
+  0.791808f,  -0.236811f, 0.064157f,  0.032865f,  -0.225911f, 0.350384f,
+  0.723183f,  -0.103992f, 0.483085f,  -0.123992f, 0.602138f,  0.023895f,
+  -0.692601f, -0.118387f, 0.162527f,  0.145178f,  -0.184702f, -0.017753f,
+  -0.159436f, 0.124105f,  -0.131067f, 0.310275f,  0.151499f,  0.138924f,
+  0.537459f,  0.263212f,  0.615896f,  0.281255f,  0.021293f,  -0.473459f,
+  0.210145f,  -0.056682f, 0.063658f,  0.377254f,  -0.314410f, -0.183487f,
+  0.300384f,  0.328471f,  0.164694f,  -0.159272f, -0.160942f, -0.502861f,
+  -0.129147f, 0.045916f,  -0.606865f, -0.101378f,
+};
+
+static const float av1_tx_split_nn_bias_16x32_layer0[32] = {
+  0.051664f,  -0.212487f, -0.077596f, -0.818467f, 0.638475f,  -0.759937f,
+  0.157198f,  0.989640f,  1.586035f,  0.431144f,  0.041605f,  0.543085f,
+  0.498379f,  0.320504f,  0.134233f,  0.670979f,  -0.105562f, -1.574879f,
+  1.261812f,  -0.287530f, -1.610592f, 0.730899f,  -0.894240f, -0.657790f,
+  0.270806f,  -0.181708f, 0.298578f,  0.817240f,  -0.221508f, -0.201771f,
+  -0.294389f, 1.456413f,
+};
+
+static const float av1_tx_split_nn_weights_16x32_layer1[32] = {
+  1.208914f,  0.324728f,  0.383352f,  -0.874321f, 0.172565f,  -0.580927f,
+  -0.432927f, 0.433698f,  -0.801935f, 0.672028f,  0.563493f,  0.260077f,
+  -0.200557f, -0.121638f, 0.530735f,  -0.525196f, 0.281799f,  0.624204f,
+  -0.662775f, -0.230887f, 0.980989f,  0.223437f,  -0.790591f, 0.600724f,
+  -0.273445f, 0.427635f,  -0.501641f, -0.878390f, 0.234731f,  -0.172550f,
+  0.418904f,  1.792187f,
+};
+
+static const float av1_tx_split_nn_bias_16x32_layer1[1] = {
+  -0.29233751f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_16x32 = {
+  8,  // num_inputs
+  1,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      32,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_16x32_layer0,
+      av1_tx_split_nn_weights_16x32_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_16x32_layer0,
+      av1_tx_split_nn_bias_16x32_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx split model for 32x64 block.
+static const float av1_tx_split_nn_weights_32x64_layer0[8 * 32] = {
+  0.031614f,  -0.110926f, 0.052418f,  -0.702506f, 0.045708f,  0.238329f,
+  -0.021806f, -0.208128f, 0.509745f,  -0.293891f, 0.277788f,  0.113937f,
+  0.741576f,  0.062848f,  0.351878f,  0.212532f,  0.385842f,  0.081517f,
+  0.398502f,  -0.015156f, 0.242616f,  0.214619f,  -0.182678f, -0.170546f,
+  0.110605f,  -0.236749f, -0.023831f, -0.285243f, 0.147156f,  -0.257639f,
+  0.341355f,  -0.571641f, -0.721797f, 0.139588f,  -0.518494f, -0.206526f,
+  -0.570560f, -0.184295f, 0.110271f,  0.210292f,  -0.109132f, -0.001080f,
+  0.129251f,  -0.204230f, -0.396312f, -0.183024f, 0.421243f,  -0.013154f,
+  0.222627f,  0.169826f,  0.226037f,  0.218153f,  -0.343528f, 0.274906f,
+  -0.156632f, 0.250261f,  -0.484020f, 0.019909f,  -0.349575f, -0.286643f,
+  -0.507396f, 0.202446f,  -0.154110f, -0.292644f, 0.122666f,  0.306963f,
+  0.424895f,  0.005579f,  0.494094f,  -0.079551f, 0.473740f,  0.352414f,
+  -0.356917f, 0.264331f,  -0.554487f, 0.119978f,  0.012291f,  -0.141641f,
+  -0.254714f, -0.213723f, -0.116701f, -0.011267f, 0.190025f,  -0.118501f,
+  0.305151f,  -0.316782f, -0.220801f, -0.308420f, -0.324285f, 0.421329f,
+  -0.177066f, -0.055114f, 0.229698f,  -0.199523f, 0.054278f,  0.365020f,
+  -0.060586f, -0.300618f, 0.157563f,  -0.064338f, -0.005711f, -0.176991f,
+  -0.424502f, -0.111914f, 0.092608f,  0.126621f,  0.078547f,  0.148008f,
+  0.024221f,  0.124599f,  0.001343f,  0.059402f,  0.453753f,  0.047102f,
+  0.242544f,  0.055735f,  -0.067451f, -0.170061f, -0.170469f, -0.232173f,
+  0.214908f,  0.248889f,  0.544348f,  -0.084566f, 0.402478f,  0.298031f,
+  0.099038f,  -0.238019f, -0.475085f, -0.070042f, -0.754955f, -0.049095f,
+  -0.783801f, -0.099857f, -0.582008f, -0.055194f, -0.103655f, 0.143689f,
+  0.100219f,  0.293934f,  0.099271f,  -0.036320f, 0.356626f,  -0.261445f,
+  0.879544f,  0.000878f,  0.532920f,  -0.093918f, 0.508867f,  -0.040215f,
+  -0.789042f, -0.145380f, -0.090040f, -0.066636f, 0.015212f,  0.352989f,
+  -0.058831f, -0.164588f, 0.039890f,  0.122861f,  0.222508f,  0.061217f,
+  0.466487f,  0.022666f,  0.423777f,  -0.002200f, -0.656835f, -0.099760f,
+  -0.520606f, 0.303204f,  -0.563620f, -0.160922f, -0.243203f, 0.313354f,
+  -0.336516f, -0.206764f, -0.236040f, 0.325899f,  -0.418748f, 0.163205f,
+  -0.476242f, -0.121928f, 0.139178f,  -0.157193f, -0.531766f, -0.180202f,
+  -0.485254f, 0.187703f,  -0.440072f, 0.137854f,  0.029139f,  0.109530f,
+  -0.078475f, -0.360618f, -0.334672f, -0.350890f, -0.403976f, 0.180336f,
+  -0.304542f, 0.005123f,  0.413995f,  0.314639f,  0.342648f,  -0.293264f,
+  0.358135f,  -0.180425f, -0.369530f, -0.048413f, 0.498366f,  0.121875f,
+  0.270948f,  -0.187966f, 0.342503f,  0.174420f,  -0.352105f, 0.088080f,
+  0.008277f,  0.020275f,  -0.002381f, 0.504389f,  -0.018832f, -0.366047f,
+  -0.090947f, -0.168150f, 0.016184f,  -0.328914f, 0.089579f,  -0.017349f,
+  0.005844f,  -0.005010f, -1.857514f, -0.282426f, 0.010177f,  -0.214727f,
+  -0.182529f, 0.156943f,  -0.162032f, -0.472654f, 0.069432f,  0.016901f,
+  -0.767905f, 0.137129f,  -0.411463f, 0.049056f,  -0.431657f, -0.037641f,
+  0.785500f,  0.046225f,  0.195831f,  0.245204f,  0.368614f,  0.212261f,
+  0.440626f,  -0.158048f, -0.461031f, -0.146280f,
+};
+
+static const float av1_tx_split_nn_bias_32x64_layer0[32] = {
+  0.490777f,  -1.894238f, 0.621333f,  -0.076756f, 0.286298f, 0.286375f,
+  -0.126431f, -0.350034f, -1.017572f, 0.620125f,  0.408128f, 0.238756f,
+  -0.060728f, 0.210912f,  0.043124f,  0.445649f,  0.907025f, 0.360272f,
+  1.083101f,  -0.068952f, 1.062348f,  0.396354f,  0.280075f, 0.501732f,
+  0.328422f,  0.066241f,  0.474697f,  0.126313f,  0.741206f, 0.314796f,
+  0.552712f,  0.299410f,
+};
+
+static const float av1_tx_split_nn_weights_32x64_layer1[32] = {
+  1.033823f,  0.603439f,  0.304591f,  -0.279940f, -0.780909f, -0.132801f,
+  0.154059f,  0.662014f,  -0.718368f, 0.198733f,  0.039766f,  -0.208516f,
+  -0.104909f, -0.394209f, 0.081617f,  0.365041f,  -0.874960f, -0.063315f,
+  -1.189897f, 0.337225f,  0.410893f,  0.307519f,  0.221323f,  0.233895f,
+  0.469536f,  0.438557f,  0.280144f,  0.422423f,  -1.394513f, 0.781900f,
+  0.352981f,  0.111265f,
+};
+
+static const float av1_tx_split_nn_bias_32x64_layer1[1] = {
+  -0.18160765f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_32x64 = {
+  8,  // num_inputs
+  1,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      32,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_32x64_layer0,
+      av1_tx_split_nn_weights_32x64_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_32x64_layer0,
+      av1_tx_split_nn_bias_32x64_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx split model for 8x32 block.
+static const float av1_tx_split_nn_weights_8x32_layer0[8 * 24] = {
+  -0.687846f, 0.121404f,  -0.372905f, 0.126770f,  -0.103298f, -0.101650f,
+  -0.148490f, -0.271740f, 0.682915f,  -0.079765f, 0.634347f,  -0.151503f,
+  0.287692f,  -0.079072f, -0.236948f, 0.065064f,  0.713383f,  0.397123f,
+  0.553621f,  0.368529f,  0.767663f,  -0.046601f, -0.392402f, -0.294822f,
+  -0.292325f, -0.010573f, -0.837945f, 0.050113f,  -0.811360f, 0.199162f,
+  0.150832f,  0.011602f,  0.369694f,  -0.225876f, 0.234113f,  -0.269808f,
+  0.303805f,  -0.190281f, -0.451136f, 0.209755f,  -0.308894f, 0.326956f,
+  0.313591f,  0.089923f,  -0.095754f, 0.390981f,  0.467366f,  0.169670f,
+  0.853322f,  0.054055f,  0.830319f,  -0.121918f, 0.262019f,  -0.093526f,
+  0.385558f,  0.419174f,  0.040198f,  -0.347030f, -0.450492f, -0.106764f,
+  0.487502f,  -0.204188f, 0.430374f,  -0.116388f, 0.236407f,  -0.157376f,
+  0.732294f,  -0.651387f, 0.347446f,  0.342575f,  0.048406f,  0.187657f,
+  0.434899f,  -0.447782f, 0.032728f,  -0.071168f, -0.255327f, 0.104174f,
+  0.095689f,  -0.431743f, 0.725694f,  0.031797f,  0.523171f,  0.061801f,
+  0.469804f,  -0.071068f, -0.059024f, -0.211937f, 0.392134f,  -0.321490f,
+  0.366060f,  -0.427798f, 0.166771f,  0.299652f,  0.044660f,  0.205142f,
+  0.039133f,  -0.051835f, -0.465475f, 0.216976f,  -0.341156f, 0.095358f,
+  0.230807f,  0.201674f,  0.279266f,  -0.713534f, -0.091690f, -0.569708f,
+  -0.119001f, 0.252160f,  -1.544578f, -0.284477f, 0.555348f,  0.226471f,
+  0.347690f,  0.034365f,  0.770835f,  -0.241859f, -0.130241f, 0.292936f,
+  0.396622f,  -0.417916f, 0.492224f,  0.125517f,  0.344824f,  0.232172f,
+  -0.432106f, -0.278745f, 0.035069f,  -0.307247f, -0.120760f, 0.170950f,
+  0.433601f,  0.044286f,  0.141463f,  -0.041382f, 0.529346f,  0.010868f,
+  -0.323674f, 0.185205f,  0.623459f,  0.232842f,  -0.406693f, -0.142944f,
+  0.222988f,  0.343634f,  0.065401f,  0.002621f,  0.805335f,  -0.426926f,
+  0.279181f,  0.131364f,  0.192339f,  -0.402391f, 0.544120f,  -0.060618f,
+  0.467780f,  0.165224f,  -0.373131f, 0.002427f,  0.688064f,  0.322317f,
+  0.259713f,  0.130583f,  0.185032f,  -0.189111f, -0.067821f, 0.010875f,
+  0.644724f,  -0.179291f, 0.463222f,  0.155230f,  0.721384f,  -0.046019f,
+  0.438501f,  0.440027f,  -0.462090f, -0.002039f, -0.468026f, -0.008890f,
+  -0.328530f, 0.370102f,  0.482531f,  0.043471f,  -0.469732f, -0.532663f,
+  0.122081f,  -0.379659f, 0.037219f,  -0.519913f, -0.128975f, -0.404365f,
+};
+
+static const float av1_tx_split_nn_bias_8x32_layer0[24] = {
+  -1.198965f, 0.395204f,  -0.408627f, -0.021654f, -0.658355f, 0.154525f,
+  -0.288354f, 1.207574f,  0.411608f,  0.964678f,  -1.176893f, 1.059006f,
+  -0.472969f, 2.087975f,  1.065536f,  0.595569f,  0.197907f,  -0.349938f,
+  1.013651f,  -0.931093f, -0.973595f, -0.459094f, -1.253062f, 1.624782f,
+};
+
+static const float av1_tx_split_nn_weights_8x32_layer1[24] = {
+  0.815787f,  -0.393465f, -0.483427f, -0.565592f, 0.493494f,  0.430229f,
+  -0.507073f, -0.251379f, -0.353418f, -0.495445f, 0.820029f,  0.649146f,
+  -0.487383f, 1.844503f,  0.480324f,  -0.982705f, -0.501446f, -0.220584f,
+  0.334299f,  0.802238f,  0.805838f,  -0.487848f, 0.300772f,  -1.232857f,
+};
+
+static const float av1_tx_split_nn_bias_8x32_layer1[1] = {
+  0.13435879f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_8x32 = {
+  8,  // num_inputs
+  1,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      24,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_8x32_layer0,
+      av1_tx_split_nn_weights_8x32_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_8x32_layer0,
+      av1_tx_split_nn_bias_8x32_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx split model for 16x32 block.
+static const float av1_tx_split_nn_weights_16x64_layer0[8 * 16] = {
+  -0.378223f, -0.124216f, -0.514089f, -0.110117f, -0.585801f, -0.094838f,
+  -0.455385f, -0.220254f, -0.504568f, -0.082351f, -0.476420f, -0.253993f,
+  -0.454709f, -0.059461f, 0.210313f,  -0.155683f, 0.192968f,  -0.127804f,
+  0.471996f,  0.253377f,  0.472625f,  0.485322f,  0.150560f,  0.164868f,
+  -0.475587f, 0.447559f,  -0.455759f, -0.306665f, -0.194866f, -0.283716f,
+  -0.243897f, 0.293020f,  -0.308298f, -0.191904f, -0.468568f, 0.014053f,
+  -0.618848f, 0.096273f,  -0.444586f, 0.347750f,  -0.280643f, -0.062872f,
+  0.118661f,  0.540099f,  0.104141f,  -0.279300f, -0.098721f, -0.173427f,
+  -0.984558f, -0.424559f, -0.411928f, -0.120875f, -0.488999f, -0.050716f,
+  -0.523103f, 0.093620f,  -0.930396f, -0.431997f, -1.163297f, 0.190384f,
+  -0.422581f, -0.005354f, 0.450552f,  0.369210f,  0.562484f,  0.679922f,
+  0.282099f,  -0.039075f, 0.404196f,  0.006371f,  0.069679f,  -0.196160f,
+  -0.213675f, 0.275187f,  -0.104235f, -0.193090f, 0.003116f,  -0.252454f,
+  -0.094591f, 0.210439f,  -0.137070f, 0.145043f,  0.024558f,  0.121718f,
+  0.010138f,  0.301651f,  -0.377990f, 0.444414f,  0.001845f,  -0.095334f,
+  0.550259f,  0.087603f,  0.792492f,  -0.044584f, 0.641706f,  -0.328458f,
+  -0.447791f, 0.135376f,  0.356385f,  0.135748f,  0.310370f,  0.293757f,
+  -0.062000f, -0.056368f, 0.343930f,  0.312039f,  0.370763f,  0.452381f,
+  -0.023630f, -0.185909f, 0.422277f,  -0.006306f, 0.045166f,  0.423359f,
+  -0.157735f, -0.084901f, 0.219527f,  -0.209510f, 0.575057f,  0.249276f,
+  0.069267f,  0.233898f,  -0.229392f, 0.117197f,  -0.038551f, 0.293976f,
+  0.101996f,  0.120878f,
+};
+
+static const float av1_tx_split_nn_bias_16x64_layer0[16] = {
+  1.036995f,  0.160249f,  0.100264f,  0.694881f,  0.694677f,  0.128379f,
+  -0.843405f, -0.405515f, 0.104139f,  0.182980f,  -0.025472f, 0.901067f,
+  -0.299866f, -0.103079f, -0.190352f, -0.048121f,
+};
+
+static const float av1_tx_split_nn_weights_16x64_layer1[16] = {
+  -1.778868f, 0.174690f,  0.211991f, 0.712138f,  0.589352f,  0.466652f,
+  1.029146f,  -0.490044f, 0.483015f, 0.600215f,  -0.577776f, -0.755546f,
+  0.348337f,  -0.205082f, 0.347129f, -0.322277f,
+};
+
+static const float av1_tx_split_nn_bias_16x64_layer1[1] = {
+  0.04230947f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_16x64 = {
+  8,  // num_inputs
+  1,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_16x64_layer0,
+      av1_tx_split_nn_weights_16x64_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_16x64_layer0,
+      av1_tx_split_nn_bias_16x64_layer1,
+  },
+};
+/******************************************************************************/
+
 // Map block size to its corresponding neural net model for tx split prediction.
-static const NN_CONFIG *av1_tx_split_nnconfig_map[] = {
-  NULL,                          // BLOCK_4X4,
-  &av1_tx_split_nnconfig_4x8,    // BLOCK_4X8,
-  &av1_tx_split_nnconfig_8x4,    // BLOCK_8X4,
-  &av1_tx_split_nnconfig_8x8,    // BLOCK_8X8,
-  &av1_tx_split_nnconfig_8x16,   // BLOCK_8X16,
-  &av1_tx_split_nnconfig_16x8,   // BLOCK_16X8,
-  &av1_tx_split_nnconfig_16x16,  // BLOCK_16X16,
-  NULL,                          // BLOCK_16X32,
-  NULL,                          // BLOCK_32X16,
-  NULL,                          // BLOCK_32X32,
-  NULL,                          // BLOCK_32X64,
-  NULL,                          // BLOCK_64X32,
-  NULL,                          // BLOCK_64X64,
-  NULL,                          // BLOCK_64X128,
-  NULL,                          // BLOCK_128X64,
-  NULL,                          // BLOCK_128X128,
-  NULL,                          // BLOCK_4X16,
-  NULL,                          // BLOCK_16X4,
-  NULL,                          // BLOCK_8X32,
-  NULL,                          // BLOCK_32X8,
-  NULL,                          // BLOCK_16X64,
-  NULL,                          // BLOCK_64X16,
+static const NN_CONFIG *av1_tx_split_nnconfig_map[TX_SIZES_ALL] = {
+  NULL,                          // TX_4X4,
+  &av1_tx_split_nnconfig_8x8,    // TX_8X8,
+  &av1_tx_split_nnconfig_16x16,  // TX_16X16,
+  &av1_tx_split_nnconfig_32x32,  // TX_32X32,
+  &av1_tx_split_nnconfig_64x64,  // TX_64X64,
+  &av1_tx_split_nnconfig_4x8,    // TX_4X8,
+  &av1_tx_split_nnconfig_4x8,    // TX_8X4,
+  &av1_tx_split_nnconfig_8x16,   // TX_8X16,
+  &av1_tx_split_nnconfig_8x16,   // TX_16X8,
+  &av1_tx_split_nnconfig_16x32,  // TX_16X32,
+  &av1_tx_split_nnconfig_16x32,  // TX_32X16,
+  &av1_tx_split_nnconfig_32x64,  // TX_32X64,
+  &av1_tx_split_nnconfig_32x64,  // TX_64X32,
+  &av1_tx_split_nnconfig_4x16,   // TX_4X16,
+  &av1_tx_split_nnconfig_4x16,   // TX_16X4,
+  &av1_tx_split_nnconfig_8x32,   // TX_8X32,
+  &av1_tx_split_nnconfig_8x32,   // TX_32X8,
+  &av1_tx_split_nnconfig_16x64,  // TX_16X64,
+  &av1_tx_split_nnconfig_16x64,  // TX_64X16,
 };
 
 #ifdef __cplusplus