Refactor neural network prediction function

Created a general forward propagation function that works with any
neural network models. The old code only works with specific number of
layers and nodes.

Change-Id: I5edb8aa09479c8d9c105da4b0acc89325c45092e
diff --git a/av1/av1.cmake b/av1/av1.cmake
index 357ecec..9f2191b 100644
--- a/av1/av1.cmake
+++ b/av1/av1.cmake
@@ -134,6 +134,8 @@
     "${AOM_ROOT}/av1/encoder/mbgraph.h"
     "${AOM_ROOT}/av1/encoder/mcomp.c"
     "${AOM_ROOT}/av1/encoder/mcomp.h"
+    "${AOM_ROOT}/av1/encoder/ml.c"
+    "${AOM_ROOT}/av1/encoder/ml.h"
     "${AOM_ROOT}/av1/encoder/palette.c"
     "${AOM_ROOT}/av1/encoder/palette.h"
     "${AOM_ROOT}/av1/encoder/picklpf.c"
diff --git a/av1/encoder/ml.c b/av1/encoder/ml.c
new file mode 100644
index 0000000..3a27e58
--- /dev/null
+++ b/av1/encoder/ml.c
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved
+ *
+ * This source code is subject to the terms of the BSD 2 Clause License and
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
+ * was not distributed with this source code in the LICENSE file, you can
+ * obtain it at www.aomedia.org/license/software. If the Alliance for Open
+ * Media Patent License 1.0 was not distributed with this source code in the
+ * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
+ */
+
+#include <assert.h>
+
+#include "av1/encoder/ml.h"
+
+void av1_nn_predict(const float *features, const NN_CONFIG *nn_config,
+                    float *output) {
+  int num_input_nodes = nn_config->num_inputs;
+  int buf_index = 0;
+  float buf[2][NN_MAX_NODES_PER_LAYER];
+  const float *input_nodes = features;
+
+  // Propagate hidden layers.
+  const int num_layers = nn_config->num_hidden_layers;
+  assert(num_layers <= NN_MAX_HIDDEN_LAYERS);
+  for (int layer = 0; layer < num_layers; ++layer) {
+    const float *weights = nn_config->weights[layer];
+    const float *bias = nn_config->bias[layer];
+    float *output_nodes = buf[buf_index];
+    const int num_output_nodes = nn_config->num_hidden_nodes[layer];
+    assert(num_output_nodes < NN_MAX_NODES_PER_LAYER);
+    for (int node = 0; node < num_output_nodes; ++node) {
+      float val = 0.0f;
+      for (int i = 0; i < num_input_nodes; ++i)
+        val += weights[i] * input_nodes[i];
+      val += bias[node];
+      // ReLU as activation function.
+      val = val > 0.0f ? val : 0.0f;  // Could use AOMMAX().
+      output_nodes[node] = val;
+      weights += num_input_nodes;
+    }
+    num_input_nodes = num_output_nodes;
+    input_nodes = output_nodes;
+    buf_index = 1 - buf_index;
+  }
+
+  // Final output layer.
+  const float *weights = nn_config->weights[num_layers];
+  for (int node = 0; node < nn_config->num_outputs; ++node) {
+    const float *bias = nn_config->bias[num_layers];
+    float val = 0.0f;
+    for (int i = 0; i < num_input_nodes; ++i)
+      val += weights[i] * input_nodes[i];
+    output[node] = val + bias[node];
+    weights += num_input_nodes;
+  }
+}
diff --git a/av1/encoder/ml.h b/av1/encoder/ml.h
new file mode 100644
index 0000000..614cb60
--- /dev/null
+++ b/av1/encoder/ml.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2016, Alliance for Open Media. All rights reserved
+ *
+ * This source code is subject to the terms of the BSD 2 Clause License and
+ * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
+ * was not distributed with this source code in the LICENSE file, you can
+ * obtain it at www.aomedia.org/license/software. If the Alliance for Open
+ * Media Patent License 1.0 was not distributed with this source code in the
+ * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
+ */
+
+#ifndef AV1_ENCODER_ML_H_
+#define AV1_ENCODER_ML_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define NN_MAX_HIDDEN_LAYERS 10
+#define NN_MAX_NODES_PER_LAYER 128
+
+typedef struct {
+  int num_inputs;         // Number of input nodes, i.e. features.
+  int num_outputs;        // Number of output nodes.
+  int num_hidden_layers;  // Number of hidden layers, maximum 10.
+  // Number of nodes for each hidden layer.
+  int num_hidden_nodes[NN_MAX_HIDDEN_LAYERS];
+  // Weight parameters, indexed by layer.
+  const float *weights[NN_MAX_HIDDEN_LAYERS + 1];
+  // Bias parameters, indexed by layer.
+  const float *bias[NN_MAX_HIDDEN_LAYERS + 1];
+} NN_CONFIG;
+
+// Calculate prediction based on the given input features and neural net config.
+// Assume there are no more than NN_MAX_NODES_PER_LAYER nodes in each hidden
+// layer.
+void av1_nn_predict(const float *features, const NN_CONFIG *nn_config,
+                    float *output);
+
+#ifdef __cplusplus
+}  // extern "C"
+#endif
+
+#endif  // AV1_ENCODER_RD_H_
diff --git a/av1/encoder/rdopt.c b/av1/encoder/rdopt.c
index 89560bb..9d0670c 100644
--- a/av1/encoder/rdopt.c
+++ b/av1/encoder/rdopt.c
@@ -48,6 +48,7 @@
 #include "av1/encoder/encodetxb.h"
 #include "av1/encoder/hybrid_fwd_txfm.h"
 #include "av1/encoder/mcomp.h"
+#include "av1/encoder/ml.h"
 #include "av1/encoder/palette.h"
 #include "av1/encoder/ratectrl.h"
 #include "av1/encoder/rd.h"
@@ -1188,57 +1189,109 @@
   for (i = 0; i < 16; i++) scores_2D[i] /= sum;
 }
 
-// Similarly to compute_1D_scores() performs a forward pass through a
-// neural network with two fully-connected layers. The only difference
-// is that it assumes 1 output neuron, as required by the classifier used
-// for TX size pruning.
-static float compute_tx_split_prune_score(float *features, int num_features,
-                                          const float *fc1, const float *b1,
-                                          const float *fc2, float b2,
-                                          int num_hidden_units) {
-  assert(num_hidden_units <= 64);
-  float hidden_layer[64];
-  for (int i = 0; i < num_hidden_units; i++) {
-    const float *cur_coef = fc1 + i * num_features;
-    hidden_layer[i] = 0.0f;
-    for (int j = 0; j < num_features; j++)
-      hidden_layer[i] += cur_coef[j] * features[j];
-    hidden_layer[i] = AOMMAX(hidden_layer[i] + b1[i], 0.0f);
-  }
-  float dst_score = 0.0f;
-  for (int j = 0; j < num_hidden_units; j++)
-    dst_score += fc2[j] * hidden_layer[j];
-  dst_score += b2;
-  return dst_score;
-}
+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) {
-  if (bsize <= BLOCK_4X4 || bsize > BLOCK_16X16) return;
+  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;
-
-  const int bidx = bsize - BLOCK_4X4 - 1;
-  const float *fc1 = av1_prune_tx_split_learned_weights[bidx];
-  const float *b1 =
-      fc1 + av1_prune_tx_split_num_hidden_units[bidx] * feature_num;
-  const float *fc2 = b1 + av1_prune_tx_split_num_hidden_units[bidx];
-  const float b2 = *(fc2 + av1_prune_tx_split_num_hidden_units[bidx]);
-  const float score =
-      compute_tx_split_prune_score(features, feature_num, fc1, b1, fc2, b2,
-                                   av1_prune_tx_split_num_hidden_units[bidx]);
-  x->tx_split_prune_flag = score > av1_prune_tx_split_thresholds[bidx];
+  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
+static const float *prune_2D_adaptive_thresholds[] = {
+  // TX_4X4
+  (float[]){ 0.02014f, 0.02722f, 0.03430f, 0.04114f, 0.04724f, 0.05212f,
+             0.05627f, 0.06018f, 0.06409f, 0.06824f, 0.07312f, 0.07849f,
+             0.08606f, 0.09827f },
+  // TX_8X8
+  (float[]){ 0.00745f, 0.01355f, 0.02039f, 0.02795f, 0.03625f, 0.04407f,
+             0.05042f, 0.05579f, 0.06067f, 0.06604f, 0.07239f, 0.08093f,
+             0.09363f, 0.11682f },
+  // TX_16X16
+  (float[]){ 0.01404f, 0.02820f, 0.04211f, 0.05164f, 0.05798f, 0.06335f,
+             0.06897f, 0.07629f, 0.08875f, 0.11169f },
+  // TX_32X32
+  NULL,
+  // TX_64X64
+  NULL,
+  // TX_4X8
+  (float[]){ 0.01282f, 0.02087f, 0.02844f, 0.03601f, 0.04285f, 0.04871f,
+             0.05359f, 0.05823f, 0.06287f, 0.06799f, 0.07361f, 0.08093f,
+             0.09119f, 0.10828f },
+  // TX_8X4
+  (float[]){ 0.01184f, 0.01941f, 0.02722f, 0.03503f, 0.04187f, 0.04822f,
+             0.05359f, 0.05823f, 0.06287f, 0.06799f, 0.07361f, 0.08093f,
+             0.09167f, 0.10974f },
+  // TX_8X16
+  (float[]){ 0.00525f, 0.01135f, 0.01819f, 0.02576f, 0.03357f, 0.04114f,
+             0.04773f, 0.05383f, 0.05920f, 0.06506f, 0.07190f, 0.08118f,
+             0.09509f, 0.12097f },
+  // TX_16X8
+  (float[]){ 0.00525f, 0.01160f, 0.01819f, 0.02527f, 0.03308f, 0.04065f,
+             0.04773f, 0.05383f, 0.05969f, 0.06531f, 0.07214f, 0.08118f,
+             0.09485f, 0.12048f },
+  // TX_16X32
+  (float[]){ 0.01257f, 0.02576f, 0.03723f, 0.04578f, 0.05212f, 0.05798f,
+             0.06506f, 0.07385f, 0.08606f, 0.10925f },
+  // TX_32X16
+  (float[]){ 0.01233f, 0.02527f, 0.03699f, 0.04602f, 0.05286f, 0.05896f,
+             0.06531f, 0.07336f, 0.08582f, 0.11072f },
+  // TX_32X64
+  NULL,
+  // TX_64X32
+  NULL,
+  // TX_4X16
+  NULL,
+  // TX_16X4
+  NULL,
+  // TX_8X32
+  NULL,
+  // TX_32X8
+  NULL,
+  // TX_16X64
+  NULL,
+  // TX_64X16
+  NULL,
+};
+
 static int prune_tx_2D(MACROBLOCK *x, BLOCK_SIZE bsize, TX_SIZE tx_size,
                        int blk_row, int blk_col, TxSetType tx_set_type,
                        TX_TYPE_PRUNE_MODE prune_mode) {
@@ -1248,14 +1301,12 @@
     FLIPADST_DCT, FLIPADST_ADST, FLIPADST_FLIPADST, V_FLIPADST,
     H_DCT,        H_ADST,        H_FLIPADST,        IDTX
   };
-  static const int model_idx_map[TX_SIZES_ALL] = {
-    0, 3, 6, -1, -1, 1, 2, 4, 5, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1,
-  };
   if (tx_set_type != EXT_TX_SET_ALL16 &&
       tx_set_type != EXT_TX_SET_DTT9_IDTX_1DDCT)
     return 0;
-  const int model_idx = model_idx_map[tx_size];
-  if (model_idx < 0) return 0;  // Model not established yet.
+  const NN_CONFIG *nn_config_hor = av1_tx_type_nnconfig_map_hor[tx_size];
+  const NN_CONFIG *nn_config_ver = av1_tx_type_nnconfig_map_ver[tx_size];
+  if (!nn_config_hor || !nn_config_ver) return 0;  // Model not established yet.
 
   aom_clear_system_state();
   float hfeatures[16], vfeatures[16];
@@ -1276,23 +1327,8 @@
   get_horver_correlation_full(diff, diff_stride, bw, bh,
                               &hfeatures[hfeatures_num - 1],
                               &vfeatures[vfeatures_num - 1]);
-  const float *fc1_hor = av1_prune_2D_learned_weights_hor[model_idx];
-  const float *b1_hor =
-      fc1_hor + av1_prune_2D_num_hidden_units_hor[model_idx] * hfeatures_num;
-  const float *fc2_hor = b1_hor + av1_prune_2D_num_hidden_units_hor[model_idx];
-  const float *b2_hor =
-      fc2_hor + av1_prune_2D_num_hidden_units_hor[model_idx] * 4;
-  compute_1D_scores(hfeatures, hfeatures_num, fc1_hor, b1_hor, fc2_hor, b2_hor,
-                    av1_prune_2D_num_hidden_units_hor[model_idx], hscores);
-
-  const float *fc1_ver = av1_prune_2D_learned_weights_ver[model_idx];
-  const float *b1_ver =
-      fc1_ver + av1_prune_2D_num_hidden_units_ver[model_idx] * vfeatures_num;
-  const float *fc2_ver = b1_ver + av1_prune_2D_num_hidden_units_ver[model_idx];
-  const float *b2_ver =
-      fc2_ver + av1_prune_2D_num_hidden_units_ver[model_idx] * 4;
-  compute_1D_scores(vfeatures, vfeatures_num, fc1_ver, b1_ver, fc2_ver, b2_ver,
-                    av1_prune_2D_num_hidden_units_ver[model_idx], vscores);
+  av1_nn_predict(hfeatures, nn_config_hor, hscores);
+  av1_nn_predict(vfeatures, nn_config_ver, vscores);
 
   float score_2D_average = 0.0f;
   for (int i = 0; i < 4; i++) {
@@ -1332,7 +1368,7 @@
       pruning_aggressiveness = 7;
   }
   const float score_thresh =
-      av1_prune_2D_adaptive_thresholds[model_idx][pruning_aggressiveness - 1];
+      prune_2D_adaptive_thresholds[tx_size][pruning_aggressiveness - 1];
 
   int prune_bitmask = 0;
   for (int i = 0; i < 16; i++) {
diff --git a/av1/encoder/tx_prune_model_weights.h b/av1/encoder/tx_prune_model_weights.h
index 47c73cc..1194562 100644
--- a/av1/encoder/tx_prune_model_weights.h
+++ b/av1/encoder/tx_prune_model_weights.h
@@ -16,1173 +16,1658 @@
 extern "C" {
 #endif
 
-static const int av1_prune_2D_num_hidden_units_hor[9] = { 8,  8,  16, 16, 16,
-                                                          16, 16, 16, 32 };
-static const float *av1_prune_2D_learned_weights_hor[9] = {
-  /* BLOCK_4X4 */
-  (float[]){ 0.72406f,  -0.40019f, 0.51795f,  -0.43881f, -0.49746f, -0.41780f,
-             -0.39409f, -0.16183f, -1.00135f, -0.41733f, -0.96534f, 0.93272f,
-             1.06229f,  0.04188f,  0.60919f,  0.92405f,  -0.39359f, 0.70570f,
-             0.75375f,  1.11966f,  -1.86360f, -0.35421f, 0.18743f,  0.13346f,
-             -0.21262f, 0.07050f,  0.10533f,  -0.47402f, 1.33417f,  1.72899f,
-             1.17983f,  0.10552f,  1.96273f,  -0.69845f, -0.10999f, -1.11311f,
-             1.35101f,  0.43842f,  -0.29264f, -1.15376f, 0.79770f,  0.08520f,
-             0.23298f,  0.05285f,  0.87506f,  -0.90784f, -0.06197f, -1.00580f,
-             0.68639f,  -0.34881f, 0.15366f,  -1.64658f, 0.80755f,  -0.26293f,
-             0.10253f,  -0.23915f, 1.14696f,  -0.10928f, -1.61377f, 0.00863f,
-             0.98599f,  -0.43872f, 0.61196f,  -0.03787f, 1.01060f,  0.17643f,
-             -0.00208f, -0.15738f, 0.06517f,  0.72885f,  0.24387f,  1.28535f,
-             1.23769f,  1.40308f,  0.09871f,  1.82070f },
-  /* BLOCK_4X8 */
-  (float[]){ 0.68355f,  -0.06887f, 0.68525f,  -0.86048f, -0.35906f, -0.28597f,
-             -0.21108f, 0.12591f,  -1.13025f, -0.65695f, -0.25658f, 0.39155f,
-             0.89011f,  0.19258f,  0.28316f,  0.61172f,  0.52587f,  0.99182f,
-             0.75704f,  0.66788f,  -1.61814f, -1.23483f, -0.62868f, -0.11902f,
-             0.33295f,  0.64796f,  0.92345f,  -0.71821f, 0.07575f,  0.34687f,
-             0.20518f,  -0.87850f, 1.14049f,  -0.18583f, 1.92114f,  -0.72057f,
-             1.32715f,  0.96713f,  1.09877f,  -0.64345f, 0.71978f,  0.06896f,
-             1.48617f,  0.97124f,  -0.02487f, -0.95359f, 0.68983f,  -0.16313f,
-             0.51324f,  -0.33770f, 0.45938f,  -1.08238f, 0.72938f,  0.42300f,
-             0.85691f,  -0.03783f, 1.12617f,  -0.04034f, 0.36923f,  0.25638f,
-             1.10167f,  0.41633f,  0.72602f,  -0.14797f, 0.66888f,  0.11437f,
-             -0.99797f, -0.20725f, 1.01163f,  2.06308f,  1.23331f,  -0.15481f,
-             2.14443f,  1.98356f,  0.74616f,  2.58795f },
-  /* BLOCK_8X4 */
-  (float[]){ 0.64828f,  0.61618f,  0.98975f,  -0.14562f, 0.26957f,  1.80872f,
-             0.58299f,  -0.06917f, 0.00937f,  -0.74073f, -0.66045f, -0.04576f,
-             -0.39802f, -0.76960f, -0.85166f, 0.88799f,  -0.70694f, -0.34366f,
-             -0.54906f, -0.39502f, -0.29465f, -0.49650f, -0.32171f, 1.37181f,
-             1.30432f,  0.71843f,  1.01916f,  1.01582f,  0.90999f,  0.86334f,
-             1.04603f,  0.40734f,  0.96187f,  0.53742f,  0.07510f,  0.44167f,
-             0.02049f,  -0.02874f, 0.97191f,  1.03647f,  -2.62751f, -0.01390f,
-             -0.09282f, -0.02522f, -0.30849f, -0.19386f, -0.51356f, 0.52778f,
-             0.77191f,  0.75416f,  0.69067f,  0.93561f,  1.35982f,  0.76193f,
-             0.57869f,  0.00251f,  -0.87244f, -0.26922f, -0.06682f, 0.07176f,
-             0.51142f,  0.58948f,  0.13914f,  0.71165f,  -0.40329f, -0.33201f,
-             0.35293f,  0.33437f,  -0.01812f, -0.24765f, 0.26810f,  -0.77088f,
-             1.35707f,  0.22243f,  0.78402f,  0.66191f,  0.79890f,  1.90669f,
-             0.73189f,  0.24222f,  -0.34682f, 0.66990f,  0.19554f,  0.58414f,
-             0.05060f,  -0.21271f, 0.11656f,  -0.74907f, 0.68837f,  -0.39147f,
-             -1.78263f, -0.69918f, -0.06838f, -0.26927f, 0.38502f,  0.08305f,
-             1.29848f,  0.67328f,  0.67269f,  0.65805f,  -0.47778f, -1.02617f,
-             0.16523f,  0.12223f,  -0.35294f, -0.15866f, -0.56224f, 1.25895f,
-             -0.21422f, -0.33518f, -0.33519f, -0.37414f, 0.55122f,  0.14806f,
-             0.44312f,  -0.07865f, 0.75295f,  0.10766f,  0.59922f,  0.48837f,
-             -0.19099f, -2.07991f, 0.35755f,  0.87813f,  0.07559f,  1.00724f,
-             0.25223f,  -0.06761f, -0.54227f, 0.08599f,  -0.77447f, -1.10920f,
-             0.89298f,  0.05454f,  -0.73681f, 0.21048f,  -0.41041f, 1.25690f,
-             -0.60918f, 0.14661f,  -0.65392f, -0.25881f, 1.67995f,  -0.03550f,
-             -0.22312f, 0.73552f,  0.48399f,  -0.66996f, 0.36527f,  -0.42228f,
-             -1.10793f, 0.31167f,  0.16177f,  1.69315f,  -0.06287f, -0.35804f,
-             -0.24889f, 0.80824f,  1.08952f,  -0.62838f, 0.30066f,  -0.19043f,
-             -0.00518f, -1.31005f, 0.65797f,  1.07714f,  -0.24253f, 0.49779f,
-             0.05848f,  1.08914f,  0.08015f,  -0.38853f, 0.35108f,  -0.11026f,
-             0.64528f,  -0.37615f, 0.39995f,  -0.58117f, -1.29627f, 1.74169f,
-             0.75558f,  -0.04910f, 0.35020f,  0.04556f,  0.12634f,  1.27223f,
-             0.02608f,  -0.19687f, -0.78649f, -0.22746f, 1.02589f,  -0.28411f,
-             1.42443f,  -0.42115f, -0.21153f, -0.01733f, 0.62001f,  0.87167f,
-             1.66008f,  -0.39179f, -0.06293f, 0.27012f,  0.16871f,  0.64597f,
-             0.67358f,  -0.20053f, 0.95830f,  0.44232f,  0.14889f,  1.74197f,
-             0.53696f,  2.87574f },
-  /* BLOCK_8X8 */
-  (float[]){ 0.98214f,  1.05643f,  0.91173f,  0.24165f,  0.39961f,  0.25736f,
-             0.68593f,  0.10553f,  0.13353f,  -0.49687f, -1.66413f, 1.16584f,
-             2.25147f,  -0.72247f, -2.65486f, -0.03628f, -1.47746f, -1.07644f,
-             -1.25551f, -0.91260f, -1.26199f, -1.06022f, -1.42138f, 1.10500f,
-             2.96552f,  -0.40638f, 0.02258f,  -0.23137f, 0.34922f,  -0.01454f,
-             0.41251f,  0.35944f,  -1.56742f, 0.01406f,  0.88114f,  1.42462f,
-             0.87243f,  0.02439f,  0.07035f,  0.34303f,  -3.16843f, 0.25798f,
-             0.07494f,  0.38926f,  -0.12267f, 0.09049f,  -0.36711f, 0.01551f,
-             1.41269f,  1.33505f,  1.43627f,  1.41909f,  1.44605f,  1.43008f,
-             1.36721f,  0.19443f,  -0.08606f, 0.17285f,  0.63692f,  0.92092f,
-             0.61007f,  0.87100f,  -0.33631f, 1.98025f,  -0.40686f, -0.33808f,
-             0.34919f,  0.33817f,  -0.01807f, -0.25259f, 0.26442f,  -0.76979f,
-             1.07788f,  -1.38747f, 1.34315f,  2.79947f,  2.02838f,  -0.25062f,
-             0.00174f,  1.25888f,  0.17344f,  0.20897f,  1.28765f,  1.95749f,
-             1.62351f,  1.04556f,  0.43858f,  0.12463f,  1.66399f,  0.03971f,
-             0.36614f,  0.56932f,  0.15982f,  0.11587f,  0.21402f,  1.89386f,
-             -0.91267f, -0.79781f, 1.79155f,  0.60147f,  -0.90118f, -4.32718f,
-             -0.58154f, -0.02181f, -0.40734f, -0.11409f, -0.79470f, 0.69697f,
-             -0.16588f, -0.16090f, -0.21236f, -0.52776f, -0.64455f, 0.09173f,
-             0.80766f,  0.76097f,  0.20295f,  -0.93467f, -0.43509f, 0.59659f,
-             0.07788f,  -3.79459f, 0.16268f,  0.47343f,  0.05106f,  -0.24880f,
-             1.18941f,  0.10346f,  0.75780f,  0.25628f,  0.19911f,  -0.41384f,
-             1.33909f,  0.31498f,  -1.37171f, -1.09561f, -0.44056f, 0.49001f,
-             -0.65804f, -1.96031f, 0.64806f,  -0.52520f, 1.38838f,  0.15519f,
-             -0.63856f, -2.02670f, -0.92947f, 0.00216f,  1.47710f,  -2.01099f,
-             -2.11289f, -0.92288f, 0.19296f,  1.37866f,  -0.85975f, -0.78624f,
-             -2.10392f, 0.13976f,  1.06968f,  -2.04120f, 0.57991f,  -1.84941f,
-             -0.81512f, -2.08254f, -0.47334f, 0.12256f,  -1.39594f, -1.02829f,
-             0.06134f,  2.25646f,  -1.25196f, -2.65317f, -1.94473f, 0.10989f,
-             0.55446f,  -1.76557f, 0.33455f,  -1.85556f, -3.01878f, -0.25100f,
-             1.65520f,  -1.61409f, 1.16336f,  -1.15560f, 0.13631f,  1.50733f,
-             -1.07538f, -0.91200f, -1.93132f, 0.09271f,  0.24425f,  -1.80655f,
-             -0.01138f, -1.36421f, -0.62970f, -0.84766f, -0.34714f, -0.50531f,
-             1.91005f,  -1.60316f, -0.02495f, 1.04938f,  0.28411f,  -0.79809f,
-             -1.48232f, 0.00766f,  0.94016f,  -1.11974f, 0.53574f,  1.57736f,
-             -0.13698f, 2.64613f },
-  /* BLOCK_8X16 */
-  (float[]){ 1.36274f,  1.37313f,  1.26859f,  1.26459f,  1.37979f,  1.47217f,
-             1.29710f,  0.15765f,  0.31552f,  -0.05727f, 0.25562f,  0.47925f,
-             -0.32913f, -0.55757f, -0.98010f, 0.08568f,  -0.62754f, 0.12834f,
-             -0.03717f, 0.06286f,  0.26159f,  0.26023f,  -0.62605f, 1.34500f,
-             1.47720f,  0.47937f,  0.84793f,  0.87866f,  0.81260f,  0.74761f,
-             0.84217f,  0.53321f,  -0.78232f, 0.35321f,  0.41240f,  0.45002f,
-             0.88973f,  0.51055f,  0.91115f,  -0.45512f, -2.37418f, -0.25205f,
-             0.05893f,  -0.15685f, -0.25156f, -0.17104f, -0.12230f, 0.17802f,
-             0.18796f,  -0.05797f, 0.26484f,  1.23515f,  1.70393f,  0.46022f,
-             -0.14354f, 0.08501f,  -0.84625f, -0.42578f, -0.29345f, -0.51797f,
-             -0.56515f, -0.47465f, 0.23970f,  1.59912f,  -0.40332f, -0.33209f,
-             0.37274f,  0.36831f,  -0.00248f, -0.24295f, 0.29539f,  -0.76136f,
-             -0.22531f, 0.12371f,  0.37889f,  1.02639f,  1.73330f,  1.09686f,
-             1.04111f,  0.69006f,  -1.27157f, 0.94013f,  0.61621f,  0.62274f,
-             0.48759f,  0.55672f,  0.62597f,  -0.38846f, 1.72124f,  0.08214f,
-             -0.06650f, 0.32617f,  0.10958f,  0.24650f,  0.10740f,  1.16861f,
-             0.50701f,  0.45383f,  0.90016f,  -0.00695f, -0.11986f, -0.07834f,
-             0.20346f,  0.25863f,  -0.40889f, -0.11344f, -0.79108f, 0.76259f,
-             -0.14562f, -0.15459f, -0.20954f, -0.51306f, 0.02743f,  -0.82456f,
-             -0.00861f, -0.27274f, 0.28762f,  0.07282f,  0.26410f,  0.53413f,
-             -0.22208f, -0.85031f, -1.39129f, -0.74519f, 0.09771f,  0.80313f,
-             1.07698f,  0.02531f,  -1.30434f, -1.19259f, -0.43467f, -0.85386f,
-             0.96584f,  0.29276f,  -0.41990f, -0.96924f, -0.30933f, 0.95264f,
-             -0.25330f, -1.19584f, 1.46564f,  -0.42959f, 1.55720f,  0.18479f,
-             -1.72959f, -0.21670f, 0.10616f,  -0.02006f, 0.15084f,  -0.85303f,
-             -0.27535f, 0.58704f,  0.23683f,  1.19743f,  0.77971f,  0.49874f,
-             0.19508f,  0.19641f,  1.47895f,  -0.52173f, -0.56746f, -0.50761f,
-             0.15864f,  -0.95168f, 0.48103f,  0.91904f,  -0.11700f, 0.62863f,
-             0.06526f,  1.63803f,  -0.72325f, -1.80449f, 0.66373f,  0.12831f,
-             0.27139f,  -0.26346f, 1.50852f,  0.25079f,  -0.54255f, 1.78815f,
-             1.39691f,  -0.44989f, -0.18511f, -1.52903f, 0.13983f,  1.06906f,
-             -0.30184f, 0.37566f,  0.46209f,  0.10440f,  0.64695f,  -0.34002f,
-             1.96990f,  0.21189f,  -0.91248f, -0.11263f, 0.26708f,  1.27405f,
-             1.89776f,  0.02081f,  -0.06977f, -0.02584f, 0.47733f,  0.27117f,
-             1.33315f,  -0.09175f, 0.48747f,  1.16772f,  1.25783f,  1.19452f,
-             0.69964f,  2.41982f },
-  /* BLOCK_16X8 */
-  (float[]){ 0.89821f,  0.90804f,  1.13052f,  0.74855f,  1.02053f,  0.91260f,
-             0.97102f,  0.16808f,  -0.19982f, -0.33296f, -0.22490f, -0.22481f,
-             -0.09332f, -2.44338f, -0.12236f, -0.03158f, -1.43561f, 0.07794f,
-             0.16586f,  0.09731f,  0.12967f,  0.09725f,  -0.16826f, 1.26640f,
-             0.88004f,  0.27312f,  -0.07993f, 0.33640f,  0.11732f,  0.33384f,
-             0.97066f,  -0.61744f, -0.48545f, 0.44622f,  0.73744f,  0.32262f,
-             -0.05713f, 0.42280f,  1.10378f,  0.18540f,  -2.07906f, 0.11443f,
-             0.37877f,  0.24136f,  -0.12524f, -0.12434f, 0.02116f,  0.11716f,
-             1.28267f,  1.01508f,  1.26184f,  1.22545f,  1.29582f,  1.18855f,
-             1.27564f,  0.42001f,  -0.41481f, 0.06725f,  -0.13133f, -0.24801f,
-             0.16515f,  0.16228f,  0.35197f,  0.53610f,  -0.39805f, -0.32584f,
-             0.40096f,  0.38621f,  -0.00030f, -0.23434f, 0.29149f,  -0.76542f,
-             0.04996f,  -0.30036f, 1.48687f,  0.90852f,  -0.03083f, -0.15953f,
-             1.19259f,  0.87690f,  -1.08977f, 0.78757f,  0.81149f,  0.54089f,
-             0.35400f,  0.37919f,  0.84997f,  -0.20449f, 0.39601f,  -0.37596f,
-             0.64748f,  0.26021f,  0.37354f,  0.23593f,  0.16335f,  1.70681f,
-             0.31800f,  -0.00964f, 0.82687f,  -0.78372f, -1.47438f, 0.32410f,
-             1.37436f,  0.07476f,  -0.40574f, -0.10353f, -0.79300f, 0.74381f,
-             -0.15601f, -0.14380f, -0.20961f, -0.52697f, 0.04669f,  -0.00870f,
-             0.05624f,  -0.09036f, 0.25701f,  0.30336f,  0.24199f,  0.45579f,
-             0.66330f,  -1.81834f, 0.74965f,  1.22747f,  0.25072f,  0.25100f,
-             0.43289f,  -0.00362f, -0.87643f, 0.36754f,  -0.86409f, 1.37761f,
-             1.22688f,  0.09074f,  -1.47139f, -1.06100f, -0.24087f, 1.10382f,
-             -0.32837f, -1.39592f, -0.14741f, -0.43954f, 1.72137f,  -0.21704f,
-             -0.81860f, -0.80745f, -0.43612f, 0.58656f,  0.37455f,  -0.56519f,
-             -1.71536f, 0.23278f,  0.23951f,  1.09610f,  0.49986f,  0.43375f,
-             -0.53182f, 0.17376f,  1.05626f,  -0.61743f, -0.71777f, -0.66943f,
-             1.40091f,  0.34426f,  1.14295f,  0.45571f,  -0.52504f, -0.00303f,
-             0.06044f,  0.66119f,  -0.60340f, -1.14344f, -0.28045f, 0.12742f,
-             0.61484f,  -0.41016f, 1.36102f,  -0.86969f, -0.52728f, 1.01725f,
-             0.67083f,  -0.10138f, 1.36406f,  0.34066f,  0.12498f,  0.86595f,
-             -0.39636f, -0.27888f, -0.40244f, 0.09847f,  0.81178f,  -0.45313f,
-             1.39127f,  0.99865f,  -0.57908f, 0.55072f,  0.49638f,  1.11524f,
-             1.85504f,  -0.28316f, -0.05195f, -0.23284f, 0.26461f,  -1.28120f,
-             0.60707f,  -0.06110f, 0.74085f,  0.63304f,  0.71765f,  1.40400f,
-             0.32221f,  3.07234f },
-  /* BLOCK_16X16 */
-  (float[]){ 1.26592f,  1.36313f,  1.30956f,  1.29926f,  1.48816f,  1.68851f,
-             1.32000f,  0.13321f,  -0.22477f, -0.88906f, -0.19622f, 1.69605f,
-             1.22180f,  -1.57771f, -1.15765f, 0.05710f,  -1.13355f, -0.85486f,
-             -0.99971f, -0.91571f, -1.06031f, -0.77952f, -1.15723f, 1.17809f,
-             1.35602f,  -0.05243f, -0.37596f, 0.26108f,  0.17611f,  -0.10323f,
-             0.77279f,  -0.48911f, -0.79308f, 0.55112f,  0.43918f,  0.27872f,
-             0.28714f,  0.45830f,  1.05689f,  0.03705f,  -2.49975f, -0.01940f,
-             0.05709f,  0.07942f,  -0.13290f, -0.10359f, 0.00143f,  0.37303f,
-             0.96470f,  0.53293f,  1.14459f,  0.89185f,  0.43378f,  0.47764f,
-             0.90924f,  0.15279f,  -0.15361f, 0.02949f,  0.42240f,  0.68143f,
-             0.89588f,  0.73754f,  0.10974f,  1.57755f,  -0.39870f, -0.32914f,
-             0.35638f,  0.34991f,  -0.00003f, -0.23373f, 0.29630f,  -0.76699f,
-             -0.01356f, 0.04234f,  0.84253f,  1.92078f,  0.93160f,  0.71993f,
-             0.71604f,  0.76455f,  -1.59782f, 0.32332f,  1.11628f,  0.33062f,
-             -0.03728f, -0.05710f, 0.80447f,  -0.14719f, 1.34658f,  -0.05718f,
-             0.64015f,  0.21926f,  0.41653f,  0.12720f,  0.54092f,  1.39411f,
-             1.81819f,  -0.24513f, 0.00955f,  0.38011f,  -0.57787f, -0.41759f,
-             0.68834f,  -0.31783f, -0.40607f, -0.10107f, -0.79374f, 0.75599f,
-             -0.16282f, -0.14490f, -0.20783f, -0.55019f, -0.13793f, -0.22293f,
-             0.18305f,  0.12445f,  0.56830f,  0.24567f,  0.09278f,  0.70803f,
-             0.35803f,  -1.52676f, -0.89624f, 0.77665f,  0.19877f,  0.77175f,
-             0.50355f,  0.08592f,  -1.31834f, 0.14346f,  -0.10062f, 0.84489f,
-             0.95617f,  -0.06720f, -0.68502f, -0.91442f, -0.31932f, 0.25276f,
-             -0.15138f, -1.57661f, -0.14062f, -0.42120f, 0.94573f,  -0.09287f,
-             -1.80333f, -1.06353f, 0.55139f,  0.74644f,  0.13747f,  -0.93018f,
-             -0.10286f, 0.67133f,  0.24460f,  1.44583f,  0.02173f,  0.26037f,
-             -0.73687f, 0.19566f,  0.61846f,  -0.58601f, -1.03196f, -0.74415f,
-             0.30041f,  -0.41967f, 1.08740f,  0.96224f,  -0.59139f, 0.03813f,
-             0.05403f,  1.33427f,  -0.54375f, -1.92181f, 0.54704f,  0.13608f,
-             0.22151f,  -0.38076f, 1.18390f,  -0.77508f, -1.84283f, 1.00894f,
-             0.62318f,  -0.15296f, 1.27600f,  0.22822f,  0.12751f,  0.93910f,
-             -0.28502f, 0.53912f,  -0.96889f, 0.10182f,  0.81508f,  -0.43028f,
-             2.67386f,  0.52204f,  0.49820f,  -0.41711f, 1.05038f,  1.12192f,
-             0.74349f,  -0.75417f, -0.03718f, -0.35769f, 0.89651f,  0.63236f,
-             0.54215f,  -0.07894f, 0.48274f,  1.08829f,  0.81986f,  1.26865f,
-             0.11118f,  2.48404f },
-  /* BLOCK_16X32 */
-  (float[]){ 0.30140f,  0.39406f,  -0.19744f, -0.10104f, 2.42411f,  0.89819f,
-             0.27560f,  0.08046f,  -0.30775f, -0.93515f, -0.13412f, 1.23948f,
-             0.15424f,  -1.29600f, -0.96712f, -0.00516f, -1.30380f, -1.12473f,
-             -1.19137f, -1.19748f, -1.15924f, -1.04546f, -1.59570f, 0.66358f,
-             0.39689f,  0.96537f,  0.88150f,  0.43628f,  -0.22878f, -0.34508f,
-             0.23692f,  0.24525f,  -0.11620f, 0.36959f,  -0.15445f, -0.17937f,
-             0.45886f,  0.90869f,  1.28246f,  1.25333f,  -2.06164f, 0.68766f,
-             0.36063f,  -0.14759f, -0.25263f, -0.40648f, -0.17043f, 0.08319f,
-             1.56421f,  1.54225f,  1.68978f,  1.65009f,  1.45687f,  1.66145f,
-             1.58078f,  0.02850f,  -0.24267f, 0.06681f,  -0.22073f, -0.29346f,
-             0.08393f,  0.08711f,  0.15048f,  0.55734f,  -0.07409f, 0.09503f,
-             -0.04849f, -0.20602f, 0.09664f,  -0.08754f, 0.11868f,  -1.40413f,
-             0.09535f,  0.45622f,  0.69816f,  1.37175f,  2.51363f,  0.97103f,
-             0.47842f,  1.42278f,  -0.24650f, 0.54641f,  0.16362f,  0.46940f,
-             0.05521f,  -0.14445f, 0.09255f,  -0.53930f, 2.41176f,  -0.61636f,
-             0.28043f,  0.00225f,  0.21527f,  -0.03092f, 0.25363f,  0.94178f,
-             2.45706f,  -0.16060f, 0.23327f,  -0.34139f, -0.08324f, -1.00550f,
-             -0.20040f, 0.47350f,  -0.28356f, -0.07268f, -0.55303f, 0.57731f,
-             -0.09676f, -0.09871f, -0.14537f, -0.38874f, -0.77735f, 0.03828f,
-             0.05054f,  -0.07838f, -0.09850f, 0.05051f,  -0.09136f, 1.31964f,
-             -0.42404f, -3.08627f, -0.02612f, 0.02422f,  -0.00648f, 0.29391f,
-             0.13165f,  -0.06021f, -0.46698f, 0.27562f,  0.59268f,  0.75571f,
-             1.37102f,  0.20589f,  -1.45271f, -1.35846f, 0.35810f,  0.35364f,
-             -0.24357f, -0.95703f, -0.48689f, -0.21970f, 1.70975f,  0.14430f,
-             -0.20381f, -0.79014f, 0.89649f,  0.61071f,  0.54543f,  -0.91716f,
-             -1.81600f, 0.80135f,  0.48895f,  1.20584f,  0.02937f,  1.18019f,
-             -0.52189f, 0.15721f,  1.56998f,  -0.79806f, -0.43664f, -0.52996f,
-             1.06188f,  -0.16927f, 1.02203f,  1.08992f,  -1.34226f, 0.49381f,
-             0.33171f,  1.47611f,  0.07077f,  -1.81458f, 1.03734f,  0.10983f,
-             0.73986f,  0.06257f,  -0.04044f, -0.58245f, -2.52539f, 1.01150f,
-             1.25570f,  -0.62696f, 1.39118f,  -0.03495f, 0.34744f,  1.33131f,
-             0.05457f,  1.00802f,  -0.42181f, 0.08927f,  0.44150f,  0.15936f,
-             1.66295f,  1.14283f,  0.66050f,  0.21840f,  1.19783f,  0.95851f,
-             2.93831f,  -0.17926f, -0.92622f, -0.53891f, 0.15700f,  -0.32312f,
-             1.01730f,  -0.11783f, 1.13293f,  2.38684f,  0.62542f,  1.60172f,
-             0.62130f,  3.11771f },
-  /* BLOCK_32X16 */
-  (float[]){ -0.07289f, 0.30798f,  0.41881f,  0.33434f,  -0.01599f, 0.85307f,
-             -0.16060f, -0.07922f, -0.04693f, 0.29186f,  0.44117f,  1.02417f,
-             0.12447f,  0.46321f,  0.40060f,  0.50140f,  0.48338f,  0.47298f,
-             0.36585f,  0.42821f,  0.41289f,  0.47534f,  0.42900f,  0.26061f,
-             0.45887f,  0.38163f,  0.17302f,  1.00888f,  1.79910f,  1.36140f,
-             0.24471f,  0.04557f,  1.10823f,  0.74325f,  0.91210f,  0.81387f,
-             0.98865f,  -0.09874f, 0.55146f,  0.19385f,  -0.50752f, -0.17249f,
-             0.27261f,  -0.02763f, -0.03286f, 0.09122f,  0.07015f,  0.20012f,
-             0.68983f,  -1.25345f, -0.00145f, 0.71567f,  0.54948f,  -0.56154f,
-             -0.28918f, 0.11997f,  -0.09907f, 0.09195f,  0.05768f,  0.15558f,
-             0.11284f,  -0.35195f, -0.08723f, -0.03571f, 0.94031f,  0.63737f,
-             0.98202f,  0.93826f,  0.87126f,  0.88530f,  0.97697f,  0.55283f,
-             0.58670f,  0.86502f,  0.97008f,  0.99709f,  0.66214f,  0.96660f,
-             0.99890f,  0.31945f,  -1.00301f, 0.13215f,  -0.03950f, 0.21148f,
-             0.05128f,  0.10955f,  0.44839f,  -0.33438f, -2.09773f, 0.13908f,
-             0.58669f,  0.25268f,  -0.24006f, 0.01286f,  -0.05732f, 0.03401f,
-             -0.06896f, 0.35397f,  0.05133f,  -0.21449f, -0.38437f, -0.32326f,
-             -0.38731f, -0.44419f, 0.25968f,  -0.29422f, -0.12553f, -0.08896f,
-             -0.16400f, -0.22309f, 0.21380f,  -0.26912f, 0.06866f,  -0.25694f,
-             0.17632f,  0.32032f,  -0.10666f, 0.26278f,  0.31877f,  -0.09338f,
-             -0.14289f, 0.54232f,  0.46070f,  0.00059f,  -0.27914f, 0.45177f,
-             0.16274f,  -0.08811f, -0.45791f, 0.53946f,  -0.16794f, 0.16229f,
-             0.11840f,  -0.24435f, 0.26894f,  -0.33180f, -0.47314f, 0.34061f,
-             -0.13939f, 0.13321f,  -0.05208f, -0.18139f, -0.35234f, 1.37298f,
-             -0.19360f, 0.21728f,  0.26088f,  0.04045f,  -0.10763f, -0.40470f,
-             0.50026f,  -0.06726f, -0.12871f, -0.20963f, -0.14583f, -0.04711f,
-             -0.35988f, 0.03091f,  0.06491f,  -0.31668f, -0.52190f, 0.23397f,
-             -0.13984f, -0.15207f, -0.49977f, 0.51205f,  0.12559f,  -0.03631f,
-             0.33447f,  -0.36684f, 0.17533f,  0.15671f,  -0.00096f, 0.06817f,
-             0.20922f,  0.34006f,  0.71260f,  0.45024f,  0.53033f,  0.15645f,
-             0.76019f,  0.56870f,  0.83066f,  0.63022f,  1.74436f,  -0.24798f,
-             0.06795f,  -0.00749f, 0.17795f,  0.10371f,  0.06527f,  0.41054f,
-             0.49003f,  0.34630f,  0.02615f,  0.30320f,  -0.47133f, -0.49584f,
-             0.21775f,  0.27530f,  -0.29977f, -0.64269f, 0.52627f,  -0.02492f,
-             0.08077f,  0.40786f,  -0.36015f, -0.70714f, -1.98185f, -0.28187f,
-             0.35018f,  -0.06105f, -0.12710f, 0.06606f,  -0.27805f, 0.44630f,
-             -0.84731f, -0.26699f, 0.25856f,  0.06194f,  -0.18674f, -0.11560f,
-             -0.43277f, 1.10579f,  0.95876f,  0.17415f,  0.56386f,  0.68426f,
-             0.50180f,  0.24844f,  0.12347f,  0.15281f,  -0.19089f, 0.52279f,
-             0.41860f,  -0.05270f, -0.17029f, -0.03542f, 0.10621f,  -0.25088f,
-             0.24070f,  -0.08951f, 0.29950f,  -0.36720f, 0.02151f,  0.20129f,
-             -0.70066f, -0.23144f, -0.20070f, -0.39262f, -0.01597f, -0.05591f,
-             0.23814f,  -0.25991f, 0.05812f,  0.60554f,  -0.06106f, -0.58326f,
-             0.28762f,  -0.18747f, 0.08232f,  -0.04243f, -0.03293f, 0.14722f,
-             -0.13017f, -0.67263f, 0.38698f,  -0.18207f, -0.11496f, -0.27976f,
-             -0.55345f, 1.42872f,  0.04684f,  0.04214f,  0.00030f,  0.02410f,
-             0.19966f,  -0.04246f, 0.00442f,  0.23121f,  0.13364f,  0.21548f,
-             -0.12748f, -0.14066f, -0.28354f, 0.59937f,  -0.27553f, 1.57503f,
-             -0.01050f, -0.17724f, 0.44110f,  -0.80334f, 0.72064f,  1.00501f,
-             -0.72638f, 0.02774f,  0.48540f,  -0.72016f, -0.27721f, 0.31559f,
-             0.07322f,  0.20279f,  -0.19647f, 0.02352f,  0.12662f,  0.19743f,
-             0.30543f,  0.25712f,  0.44702f,  0.16417f,  0.17888f,  -2.58469f,
-             0.20555f,  0.57782f,  -0.10892f, 0.14527f,  0.82251f,  0.04200f,
-             0.44626f,  0.10818f,  0.71204f,  0.62903f,  0.69178f,  0.73603f,
-             0.52717f,  0.83020f,  0.48824f,  1.03270f,  -0.00152f, 0.07958f,
-             0.24181f,  -0.78839f, -0.74214f, -0.72998f, -1.58694f, 0.17735f,
-             0.56318f,  0.32580f,  -0.58503f, -0.33673f, -0.00838f, 0.48924f,
-             0.43362f,  0.12750f,  0.00295f,  0.38624f,  0.17037f,  0.00729f,
-             -0.26256f, -0.41669f, 0.36847f,  0.22424f,  1.33334f,  0.18112f,
-             0.37682f,  0.49173f,  -0.45240f, -0.04857f, -0.35038f, -0.83099f,
-             -0.01988f, 0.03497f,  0.38033f,  0.13685f,  0.17597f,  0.28668f,
-             0.31193f,  -0.43281f, 0.43267f,  -0.50495f, 0.01969f,  0.14131f,
-             -0.09326f, -0.39425f, -0.62048f, -0.09119f, -0.28306f, -0.52671f,
-             -0.38584f, -0.10953f, 0.19669f,  0.34540f,  -0.49941f, 0.04605f,
-             -0.43535f, 0.27519f,  0.03659f,  -0.31961f, 0.13330f,  0.87009f,
-             0.20101f,  -0.70392f, -0.27883f, 0.33874f,  -0.34308f, 0.67760f,
-             0.88195f,  0.55752f,  -0.26563f, 0.17875f,  0.06964f,  0.87607f,
-             1.47616f,  0.46747f,  -0.56408f, -0.39352f, -0.16427f, -0.41185f,
-             0.14187f,  0.19265f,  -0.58613f, 0.56345f,  -0.17729f, -0.11320f,
-             0.08752f,  -0.01329f, 1.20981f,  0.45170f,  -0.20571f, -0.01150f,
-             0.26476f,  0.13508f,  0.22020f,  -0.42684f, -0.22499f, -1.51212f,
-             0.86648f,  0.21776f,  0.24666f,  0.71339f,  0.42742f,  -0.00952f,
-             0.14762f,  0.07693f,  -0.19599f, 0.03075f,  -0.09703f, -0.32483f,
-             -0.11616f, -0.40461f, -0.11693f, 0.10038f,  -0.30038f, 0.14686f,
-             0.00548f,  0.20350f,  0.00763f,  -0.43756f, -0.01997f, 0.00902f,
-             0.07470f,  -0.41441f, -0.20605f, 0.07626f,  -0.34973f, 0.47455f,
-             -0.15251f, -0.05325f, 0.04964f,  0.32477f,  -0.54604f, 0.25273f,
-             -0.18461f, -0.30841f, 0.64908f,  0.60752f,  0.64148f,  0.72788f,
-             0.71232f,  0.58597f,  0.73017f,  0.58857f,  0.71908f,  0.59860f,
-             0.61849f,  0.99398f,  0.39572f,  -0.36165f, -1.88646f, 0.14384f,
-             -0.60541f, -0.21380f, -0.55498f, -0.50960f, -0.08801f, 0.51892f,
-             0.19126f,  0.57879f,  1.19447f,  0.25673f,  -0.21631f, -0.43562f,
-             -0.27497f, -0.02206f, -0.56169f, 0.58952f,  -0.60983f, -0.64088f,
-             -0.69087f, -0.56261f, -0.74089f, -0.65063f, -0.66978f, -0.60836f,
-             -0.92770f, -0.77182f, -1.61031f, -0.70007f, -0.68402f, -0.42242f,
-             -0.66722f, -0.14533f, 1.53781f,  -0.49320f, -0.31646f, 0.02826f,
-             -1.05554f, 0.06559f,  -0.12399f, -0.61671f, -0.28956f, -0.15419f,
-             0.87189f,  -0.43375f, -1.08477f, -0.66006f, 0.36233f,  0.82678f,
-             -0.92342f, -1.47101f, -0.02937f, -0.16497f, -0.75457f, 0.50173f,
-             -0.07560f, 0.71598f,  1.50795f,  -0.04745f, -0.14008f, -0.18510f,
-             -0.14988f, -0.67044f, 0.79659f,  0.70610f,  0.84983f,  -0.62530f,
-             -0.82600f, -0.52563f, -0.11942f, -0.50279f, -0.13425f, -0.02850f,
-             0.50767f,  0.10252f,  0.24540f,  0.67748f,  -0.43483f, -0.22242f,
-             0.23431f,  0.57287f,  0.69560f,  1.13814f,  -0.47427f, -0.55858f,
-             -1.47072f, 0.26587f,  -0.36335f, 0.83060f,  1.01645f,  -0.52895f,
-             -0.11614f, 0.17390f,  -0.13664f, -0.83098f, -0.07985f, -1.36820f,
-             0.47759f,  -0.55612f, 0.46852f,  0.07406f,  -0.80467f, 0.23059f,
-             0.09992f,  -0.06164f, 0.13541f,  0.06135f,  0.83605f,  -0.53224f,
-             -0.13867f, 0.93838f,  -0.61290f, 0.27732f,  -0.46688f, -0.41810f,
-             0.12885f,  0.13619f,  -0.24612f, 0.07215f,  0.98866f,  0.10993f,
-             1.05799f,  -0.27146f, -0.00079f, -0.08585f, 0.08322f,  -0.33809f,
-             0.67598f,  -1.06515f, 1.28866f,  0.61028f,  -0.31704f, -0.59905f,
-             1.62151f,  0.10969f,  0.20671f,  -0.17818f, 0.14170f,  0.19322f,
-             0.30602f,  0.93111f,  0.19011f,  -0.45609f, 0.82506f,  0.32936f,
-             -0.07858f, -0.27106f, -0.31638f, 0.23299f,  0.81491f,  0.32584f,
-             -0.52093f, -0.32472f, 0.53643f,  -0.42605f, 0.01641f,  0.09002f,
-             0.15832f,  -0.08790f, 0.05511f,  1.00730f,  0.46309f,  0.68166f,
-             -0.18835f, 0.64512f,  -1.00540f, 0.86802f,  0.18981f,  -0.06982f,
-             -0.24514f, -0.08027f, 0.61199f,  -0.20830f, 0.72001f,  0.17477f,
-             0.06511f,  0.00801f,  -0.43590f, 0.37257f,  0.70323f,  0.60233f,
-             1.62541f,  0.74383f,  -0.22254f, -0.33892f, 0.22881f,  0.62817f,
-             0.68915f,  -0.06417f, 0.00969f,  1.65869f,  0.89060f,  0.75948f,
-             0.95359f,  1.56043f,  1.06017f,  2.54520f },
-};
-static const int av1_prune_2D_num_hidden_units_ver[9] = { 8,  16, 8,  16, 16,
-                                                          16, 16, 32, 16 };
-static const float *av1_prune_2D_learned_weights_ver[9] = {
-  /* BLOCK_4X4 */
-  (float[]){ 0.72406f,  -0.40019f, 0.51795f,  -0.43881f, -0.49746f, -0.41780f,
-             -0.39409f, -0.16183f, -1.00135f, -0.41733f, -0.96534f, 0.93272f,
-             1.06229f,  0.04188f,  0.60919f,  0.92405f,  -0.39359f, 0.70570f,
-             0.75375f,  1.11966f,  -1.86360f, -0.35421f, 0.18743f,  0.13346f,
-             -0.21262f, 0.07050f,  0.10533f,  -0.47402f, 1.33417f,  1.72899f,
-             1.17983f,  0.10552f,  1.96273f,  -0.69845f, -0.10999f, -1.11311f,
-             1.35101f,  0.43842f,  -0.29264f, -1.15376f, 0.79770f,  0.08520f,
-             0.23298f,  0.05285f,  0.87506f,  -0.90784f, -0.06197f, -1.00580f,
-             0.68639f,  -0.34881f, 0.15366f,  -1.64658f, 0.80755f,  -0.26293f,
-             0.10253f,  -0.23915f, 1.14696f,  -0.10928f, -1.61377f, 0.00863f,
-             0.98599f,  -0.43872f, 0.61196f,  -0.03787f, 1.01060f,  0.17643f,
-             -0.00208f, -0.15738f, 0.06517f,  0.72885f,  0.24387f,  1.28535f,
-             1.23769f,  1.40308f,  0.09871f,  1.82070f },
-  /* BLOCK_4X8 */
-  (float[]){ 0.88859f,  1.02796f,  1.15509f,  0.61719f,  0.85804f,  1.17581f,
-             0.93524f,  0.06546f,  0.08018f,  -0.78562f, -0.36614f, 0.14149f,
-             -0.30069f, -0.52647f, -0.82789f, 0.60527f,  -1.74026f, -0.20271f,
-             0.09875f,  0.03708f,  0.09430f,  -0.24043f, -0.38433f, 1.21014f,
-             1.42443f,  0.69586f,  1.07812f,  1.21748f,  1.10989f,  0.93122f,
-             1.04127f,  0.39424f,  0.95592f,  0.12904f,  0.46330f,  0.49722f,
-             0.46303f,  0.36979f,  0.60227f,  0.39345f,  -2.01632f, -0.05706f,
-             0.07766f,  -0.01271f, -0.16577f, -0.21957f, -0.14800f, 0.24898f,
-             0.27662f,  0.42028f,  0.44748f,  1.14585f,  1.38805f,  0.46182f,
-             -0.22982f, -0.07324f, 0.29886f,  -0.46959f, -0.04228f, -0.01064f,
-             0.24260f,  -0.32282f, -0.23804f, 1.44466f,  -0.42190f, -0.36385f,
-             0.39746f,  0.38557f,  -0.09624f, -0.21540f, 0.57385f,  -0.72878f,
-             -0.39677f, -0.00717f, 0.60499f,  1.33849f,  1.05337f,  1.11947f,
-             0.38487f,  0.86534f,  -0.33970f, 0.71140f,  0.20772f,  0.61132f,
-             0.06181f,  -0.20027f, 0.13736f,  -0.72321f, 0.64586f,  -0.56740f,
-             -0.90912f, -0.20452f, 0.15381f,  -0.84346f, 0.19550f,  0.63164f,
-             1.35441f,  0.63218f,  0.82883f,  0.38803f,  -0.23874f, -0.02962f,
-             0.23846f,  -0.06822f, -0.40159f, -0.17850f, -0.69524f, 1.12299f,
-             -0.08286f, -0.14150f, -0.28456f, -0.41519f, -0.12792f, -0.55286f,
-             0.51655f,  0.06636f,  0.73759f,  0.70072f,  0.12616f,  0.31282f,
-             0.17130f,  -1.34233f, 0.37221f,  0.95838f,  0.16286f,  1.04301f,
-             0.73600f,  -0.11233f, -0.89131f, 0.09124f,  -0.71678f, -1.19929f,
-             0.98963f,  0.16896f,  -0.44943f, -0.97532f, -0.13997f, 1.07136f,
-             -0.46362f, -0.45253f, -0.63015f, -0.20008f, 1.24048f,  -0.21265f,
-             -0.79795f, 0.45973f,  -0.54188f, -1.05095f, 0.64404f,  -0.56470f,
-             -0.57018f, 0.61644f,  0.50229f,  1.14006f,  0.13805f,  -0.42058f,
-             -0.07468f, 0.66203f,  0.93180f,  -0.59662f, -0.25152f, 0.00336f,
-             1.09769f,  -1.11921f, 0.15151f,  0.58750f,  -0.42480f, -0.95908f,
-             -0.10980f, 1.31715f,  0.06665f,  -0.52371f, 0.37228f,  -0.12364f,
-             0.54876f,  -0.32698f, 0.39863f,  -0.97669f, -1.06351f, 1.82755f,
-             1.02851f,  0.10322f,  -0.08322f, 0.08891f,  -0.05715f, 0.93503f,
-             0.02096f,  -0.39506f, -0.99330f, -0.09407f, 0.75108f,  -0.30104f,
-             1.78314f,  -0.01786f, -0.17392f, 0.00461f,  0.41394f,  0.92566f,
-             1.11251f,  -0.71380f, -0.04907f, 0.12736f,  0.00208f,  0.94451f,
-             -0.31783f, -0.19655f, 0.64619f,  0.50359f,  0.39274f,  1.27276f,
-             0.30322f,  2.55238f },
-  /* BLOCK_8X4 */
-  (float[]){ 0.81919f,  0.15527f,  0.60055f,  -0.54617f, -0.35510f, -0.28223f,
-             -0.20478f, 0.15001f,  -1.84806f, -0.30274f, -0.00865f, 0.33939f,
-             1.11970f,  0.44630f,  0.32074f,  0.39637f,  0.08149f,  1.28070f,
-             0.86703f,  0.76503f,  -1.83991f, -1.13575f, -0.68605f, -0.23690f,
-             0.07099f,  0.64960f,  0.82543f,  -0.72028f, 0.08220f,  0.34338f,
-             0.20245f,  -0.88920f, 1.14995f,  -0.16021f, 2.38325f,  -0.65179f,
-             1.09624f,  1.07662f,  0.63837f,  -0.64847f, 0.10278f,  0.06819f,
-             1.73885f,  1.29889f,  -0.18482f, -1.06132f, 0.67003f,  -0.23280f,
-             0.50181f,  -0.33890f, 0.43524f,  -1.03147f, 1.09640f,  0.66332f,
-             0.47652f,  -0.02251f, 0.94245f,  -0.03861f, 0.84776f,  0.28377f,
-             0.92044f,  0.23572f,  0.52082f,  -0.16266f, 0.45290f,  0.11342f,
-             -0.50310f, -0.92633f, 1.46345f,  1.84714f,  1.06804f,  -0.13610f,
-             2.41028f,  1.95675f,  0.82387f,  2.41923f },
-  /* BLOCK_8X8 */
-  (float[]){ 0.98214f,  1.05643f,  0.91173f,  0.24165f,  0.39961f,  0.25736f,
-             0.68593f,  0.10553f,  0.13353f,  -0.49687f, -1.66413f, 1.16584f,
-             2.25147f,  -0.72247f, -2.65486f, -0.03628f, -1.47746f, -1.07644f,
-             -1.25551f, -0.91260f, -1.26199f, -1.06022f, -1.42138f, 1.10500f,
-             2.96552f,  -0.40638f, 0.02258f,  -0.23137f, 0.34922f,  -0.01454f,
-             0.41251f,  0.35944f,  -1.56742f, 0.01406f,  0.88114f,  1.42462f,
-             0.87243f,  0.02439f,  0.07035f,  0.34303f,  -3.16843f, 0.25798f,
-             0.07494f,  0.38926f,  -0.12267f, 0.09049f,  -0.36711f, 0.01551f,
-             1.41269f,  1.33505f,  1.43627f,  1.41909f,  1.44605f,  1.43008f,
-             1.36721f,  0.19443f,  -0.08606f, 0.17285f,  0.63692f,  0.92092f,
-             0.61007f,  0.87100f,  -0.33631f, 1.98025f,  -0.40686f, -0.33808f,
-             0.34919f,  0.33817f,  -0.01807f, -0.25259f, 0.26442f,  -0.76979f,
-             1.07788f,  -1.38747f, 1.34315f,  2.79947f,  2.02838f,  -0.25062f,
-             0.00174f,  1.25888f,  0.17344f,  0.20897f,  1.28765f,  1.95749f,
-             1.62351f,  1.04556f,  0.43858f,  0.12463f,  1.66399f,  0.03971f,
-             0.36614f,  0.56932f,  0.15982f,  0.11587f,  0.21402f,  1.89386f,
-             -0.91267f, -0.79781f, 1.79155f,  0.60147f,  -0.90118f, -4.32718f,
-             -0.58154f, -0.02181f, -0.40734f, -0.11409f, -0.79470f, 0.69697f,
-             -0.16588f, -0.16090f, -0.21236f, -0.52776f, -0.64455f, 0.09173f,
-             0.80766f,  0.76097f,  0.20295f,  -0.93467f, -0.43509f, 0.59659f,
-             0.07788f,  -3.79459f, 0.16268f,  0.47343f,  0.05106f,  -0.24880f,
-             1.18941f,  0.10346f,  0.75780f,  0.25628f,  0.19911f,  -0.41384f,
-             1.33909f,  0.31498f,  -1.37171f, -1.09561f, -0.44056f, 0.49001f,
-             -0.65804f, -1.96031f, 0.64806f,  -0.52520f, 1.38838f,  0.15519f,
-             -0.63856f, -2.02670f, -0.92947f, 0.00216f,  1.47710f,  -2.01099f,
-             -2.11289f, -0.92288f, 0.19296f,  1.37866f,  -0.85975f, -0.78624f,
-             -2.10392f, 0.13976f,  1.06968f,  -2.04120f, 0.57991f,  -1.84941f,
-             -0.81512f, -2.08254f, -0.47334f, 0.12256f,  -1.39594f, -1.02829f,
-             0.06134f,  2.25646f,  -1.25196f, -2.65317f, -1.94473f, 0.10989f,
-             0.55446f,  -1.76557f, 0.33455f,  -1.85556f, -3.01878f, -0.25100f,
-             1.65520f,  -1.61409f, 1.16336f,  -1.15560f, 0.13631f,  1.50733f,
-             -1.07538f, -0.91200f, -1.93132f, 0.09271f,  0.24425f,  -1.80655f,
-             -0.01138f, -1.36421f, -0.62970f, -0.84766f, -0.34714f, -0.50531f,
-             1.91005f,  -1.60316f, -0.02495f, 1.04938f,  0.28411f,  -0.79809f,
-             -1.48232f, 0.00766f,  0.94016f,  -1.11974f, 0.53574f,  1.57736f,
-             -0.13698f, 2.64613f },
-  /* BLOCK_8X16 */
-  (float[]){ 0.90888f,  0.86305f,  0.81674f,  0.75352f,  1.07834f,  0.99048f,
-             0.96355f,  0.13836f,  -0.51334f, 0.19906f,  1.84608f,  0.67828f,
-             0.45876f,  0.08325f,  0.28190f,  -0.01958f, -1.96553f, 0.27837f,
-             -0.05929f, 0.13491f,  0.21036f,  0.05797f,  -0.01373f, 0.73765f,
-             1.39603f,  -0.53767f, 0.10362f,  0.03420f,  0.41909f,  0.09510f,
-             0.32284f,  0.83860f,  0.13954f,  0.48434f,  1.47762f,  0.45891f,
-             0.23613f,  0.13013f,  0.82097f,  -0.03251f, -1.89757f, 0.21589f,
-             -0.10370f, 0.02530f,  -0.25659f, 0.01466f,  -0.23661f, 0.22783f,
-             0.92100f,  1.02915f,  1.20358f,  1.17251f,  0.97749f,  1.04696f,
-             0.91333f,  0.54576f,  -0.52792f, 0.02217f,  0.25652f,  0.31405f,
-             -0.18398f, 0.04572f,  -0.81359f, 1.82883f,  -0.40047f, -0.33056f,
-             0.35255f,  0.34448f,  -0.00339f, -0.23857f, 0.28925f,  -0.77175f,
-             -0.24325f, -0.21420f, 1.11451f,  1.39553f,  0.51573f,  0.05476f,
-             1.13791f,  0.94959f,  -0.35710f, 0.67467f,  0.16722f,  0.61213f,
-             0.07683f,  -0.20613f, 0.13440f,  -0.72131f, -0.15418f, -0.17688f,
-             -0.16510f, -0.19226f, 0.09270f,  -2.43559f, -0.12669f, 0.05074f,
-             0.30414f,  0.00927f,  0.60630f,  0.00801f,  -1.07310f, -0.06227f,
-             2.10607f,  0.02382f,  -0.39891f, -0.09149f, -0.78596f, 0.83966f,
-             -0.14802f, -0.14083f, -0.20831f, -0.55136f, 0.08566f,  -0.00647f,
-             0.07044f,  0.53408f,  0.85720f,  -0.07393f, 0.24476f,  0.43767f,
-             0.30519f,  -1.89430f, 0.23252f,  1.63790f,  0.17316f,  -0.03903f,
-             0.25269f,  0.01562f,  -0.83370f, -0.20704f, -0.60437f, -0.81664f,
-             1.16998f,  0.16745f,  -1.34680f, -1.07083f, -0.34649f, 0.65598f,
-             -0.56278f, 0.22660f,  -0.25956f, -0.29608f, 1.24359f,  -0.09167f,
-             -0.71147f, -0.63964f, -0.69220f, 0.22326f,  0.67191f,  -0.58894f,
-             -0.98464f, 0.23583f,  0.22824f,  1.39838f,  0.09920f,  -0.59411f,
-             -0.67101f, 0.19088f,  0.83025f,  -0.66991f, -0.42889f, -0.49969f,
-             1.39532f,  -1.02000f, 0.62101f,  0.57175f,  -0.83226f, 0.01551f,
-             0.05604f,  1.23028f,  0.02030f,  -0.55995f, -0.42349f, 0.15375f,
-             0.52132f,  -0.52421f, 0.89586f,  -0.73778f, -0.10911f, 0.22447f,
-             1.16858f,  -0.48169f, 1.73890f,  -0.69860f, 0.12504f,  1.10492f,
-             0.04391f,  -0.85670f, -0.49257f, 0.09616f,  0.76518f,  -0.44854f,
-             1.50938f,  0.62246f,  -0.40366f, -0.11182f, -0.01680f, 0.59724f,
-             1.32170f,  -1.09061f, -0.04278f, -0.02449f, 0.25024f,  1.26239f,
-             0.42345f,  -0.10031f, 0.80871f,  0.44198f,  0.68329f,  1.33555f,
-             0.25943f,  3.23439f },
-  /* BLOCK_16X8 */
-  (float[]){ 1.20497f,  1.23691f,  1.23738f,  1.07773f,  1.15264f,  1.31959f,
-             1.15365f,  0.17179f,  0.68612f,  0.55636f,  0.57145f,  0.67022f,
-             0.19636f,  -1.27420f, -1.36428f, -0.16706f, -1.20934f, -0.87794f,
-             -0.97146f, -0.74722f, -1.14493f, -1.02689f, -0.88153f, 0.83857f,
-             1.53355f,  0.13601f,  0.35451f,  0.53750f,  0.62381f,  0.32438f,
-             0.59405f,  0.33090f,  -1.52948f, -0.46094f, 0.42634f,  0.48763f,
-             0.30707f,  0.52553f,  0.71427f,  -0.31287f, -2.37106f, -0.18756f,
-             0.16561f,  -0.00431f, -0.13747f, -0.09336f, -0.16511f, 0.13454f,
-             0.45010f,  -0.00317f, -0.06403f, 0.95442f,  1.59636f,  0.30602f,
-             -0.05515f, 0.05467f,  -0.21758f, -0.19192f, -0.17935f, -0.00545f,
-             0.35409f,  0.26141f,  -0.32174f, 1.78129f,  -0.40161f, -0.33158f,
-             0.38084f,  0.38081f,  0.01053f,  -0.23567f, 0.29239f,  -0.76159f,
-             -0.19373f, 0.13649f,  0.66949f,  1.19733f,  1.92557f,  1.16691f,
-             0.94955f,  0.62324f,  -0.85434f, -0.07699f, 0.87683f,  0.95911f,
-             0.86106f,  0.57959f,  0.40146f,  -0.35851f, 1.55427f,  0.15349f,
-             -0.01582f, 0.32517f,  0.03784f,  0.15916f,  0.09024f,  1.43187f,
-             0.56160f,  0.11521f,  0.52476f,  -0.26107f, -0.38167f, -0.31596f,
-             0.31304f,  -0.65366f, -0.40680f, -0.11082f, -0.78585f, 0.77906f,
-             -0.13322f, -0.13747f, -0.21001f, -0.53204f, -0.06752f, -0.84741f,
-             -0.53442f, -0.16284f, 0.54027f,  0.13586f,  -0.42001f, 0.85388f,
-             0.08300f,  -0.89325f, -1.73681f, -0.70473f, 0.23151f,  0.69549f,
-             0.72124f,  0.12769f,  -1.15644f, -0.31062f, 0.20697f,  -0.60304f,
-             -1.19498f, 0.21451f,  -0.42825f, -0.71800f, -0.25816f, 1.47408f,
-             -0.24423f, -1.45773f, -0.55834f, -0.36938f, 1.56759f,  0.07238f,
-             -1.45227f, -0.67141f, 0.75237f,  0.32681f,  -0.70528f, -0.76730f,
-             -0.49777f, 0.02418f,  0.25096f,  1.14840f,  0.23548f,  0.48755f,
-             0.33164f,  0.21050f,  1.41651f,  -0.28888f, -0.76668f, 0.04439f,
-             0.67538f,  -1.06438f, 0.68128f,  0.95824f,  0.08530f,  -0.03635f,
-             0.06820f,  1.38621f,  -0.50424f, -1.72992f, -0.20949f, 0.13400f,
-             0.93366f,  -0.05324f, 1.41593f,  -0.75119f, -1.80912f, 1.05440f,
-             0.62580f,  -0.30867f, -0.07025f, -0.34654f, 0.13621f,  1.74426f,
-             -0.22417f, 0.47031f,  -0.08142f, 0.10151f,  0.42498f,  0.06635f,
-             1.50623f,  1.04130f,  0.85107f,  0.23382f,  0.69800f,  1.10856f,
-             1.18767f,  -0.69395f, -0.07985f, 0.50412f,  0.46019f,  0.49214f,
-             0.44219f,  -0.09502f, 0.75745f,  0.99208f,  0.68774f,  0.88572f,
-             0.77462f,  3.05667f },
-  /* BLOCK_16X16 */
-  (float[]){ 1.26592f,  1.36313f,  1.30956f,  1.29926f,  1.48816f,  1.68851f,
-             1.32000f,  0.13321f,  -0.22477f, -0.88906f, -0.19622f, 1.69605f,
-             1.22180f,  -1.57771f, -1.15765f, 0.05710f,  -1.13355f, -0.85486f,
-             -0.99971f, -0.91571f, -1.06031f, -0.77952f, -1.15723f, 1.17809f,
-             1.35602f,  -0.05243f, -0.37596f, 0.26108f,  0.17611f,  -0.10323f,
-             0.77279f,  -0.48911f, -0.79308f, 0.55112f,  0.43918f,  0.27872f,
-             0.28714f,  0.45830f,  1.05689f,  0.03705f,  -2.49975f, -0.01940f,
-             0.05709f,  0.07942f,  -0.13290f, -0.10359f, 0.00143f,  0.37303f,
-             0.96470f,  0.53293f,  1.14459f,  0.89185f,  0.43378f,  0.47764f,
-             0.90924f,  0.15279f,  -0.15361f, 0.02949f,  0.42240f,  0.68143f,
-             0.89588f,  0.73754f,  0.10974f,  1.57755f,  -0.39870f, -0.32914f,
-             0.35638f,  0.34991f,  -0.00003f, -0.23373f, 0.29630f,  -0.76699f,
-             -0.01356f, 0.04234f,  0.84253f,  1.92078f,  0.93160f,  0.71993f,
-             0.71604f,  0.76455f,  -1.59782f, 0.32332f,  1.11628f,  0.33062f,
-             -0.03728f, -0.05710f, 0.80447f,  -0.14719f, 1.34658f,  -0.05718f,
-             0.64015f,  0.21926f,  0.41653f,  0.12720f,  0.54092f,  1.39411f,
-             1.81819f,  -0.24513f, 0.00955f,  0.38011f,  -0.57787f, -0.41759f,
-             0.68834f,  -0.31783f, -0.40607f, -0.10107f, -0.79374f, 0.75599f,
-             -0.16282f, -0.14490f, -0.20783f, -0.55019f, -0.13793f, -0.22293f,
-             0.18305f,  0.12445f,  0.56830f,  0.24567f,  0.09278f,  0.70803f,
-             0.35803f,  -1.52676f, -0.89624f, 0.77665f,  0.19877f,  0.77175f,
-             0.50355f,  0.08592f,  -1.31834f, 0.14346f,  -0.10062f, 0.84489f,
-             0.95617f,  -0.06720f, -0.68502f, -0.91442f, -0.31932f, 0.25276f,
-             -0.15138f, -1.57661f, -0.14062f, -0.42120f, 0.94573f,  -0.09287f,
-             -1.80333f, -1.06353f, 0.55139f,  0.74644f,  0.13747f,  -0.93018f,
-             -0.10286f, 0.67133f,  0.24460f,  1.44583f,  0.02173f,  0.26037f,
-             -0.73687f, 0.19566f,  0.61846f,  -0.58601f, -1.03196f, -0.74415f,
-             0.30041f,  -0.41967f, 1.08740f,  0.96224f,  -0.59139f, 0.03813f,
-             0.05403f,  1.33427f,  -0.54375f, -1.92181f, 0.54704f,  0.13608f,
-             0.22151f,  -0.38076f, 1.18390f,  -0.77508f, -1.84283f, 1.00894f,
-             0.62318f,  -0.15296f, 1.27600f,  0.22822f,  0.12751f,  0.93910f,
-             -0.28502f, 0.53912f,  -0.96889f, 0.10182f,  0.81508f,  -0.43028f,
-             2.67386f,  0.52204f,  0.49820f,  -0.41711f, 1.05038f,  1.12192f,
-             0.74349f,  -0.75417f, -0.03718f, -0.35769f, 0.89651f,  0.63236f,
-             0.54215f,  -0.07894f, 0.48274f,  1.08829f,  0.81986f,  1.26865f,
-             0.11118f,  2.48404f },
-  /* BLOCK_16X32 */
-  (float[]){ -0.01219f, 0.51494f,  0.25450f,  0.45788f,  -0.87277f, 0.32954f,
-             -0.04851f, -0.24321f, -0.40000f, 0.21915f,  0.14108f,  0.98268f,
-             0.18989f,  0.54298f,  0.36349f,  0.38931f,  1.08124f,  0.87199f,
-             1.03553f,  1.14777f,  1.04254f,  1.11336f,  0.92198f,  0.84715f,
-             1.89363f,  1.21587f,  0.72377f,  1.25097f,  0.84231f,  0.95529f,
-             1.12346f,  0.19113f,  -0.04559f, 0.56859f,  0.59747f,  0.60176f,
-             0.82465f,  0.59009f,  0.67240f,  1.58674f,  -0.92951f, -0.23449f,
-             0.11923f,  -0.19151f, -0.15914f, 0.03146f,  -0.16541f, 0.17181f,
-             -0.21834f, 0.21906f,  0.96708f,  0.36085f,  -0.42380f, -2.25681f,
-             -0.48812f, 0.72875f,  0.06585f,  0.18818f,  -0.02109f, -0.10996f,
-             0.00187f,  -0.02078f, 0.04484f,  -0.07171f, 0.94773f,  -0.33466f,
-             0.28484f,  0.14791f,  0.30274f,  0.13377f,  0.40970f,  0.45133f,
-             1.69265f,  -0.36422f, -0.15889f, 0.07670f,  0.44675f,  -0.28665f,
-             -0.07097f, 1.03803f,  -0.83274f, -0.24571f, 0.08039f,  -0.23790f,
-             -0.23276f, -0.28031f, 0.26451f,  -0.18513f, -2.23336f, -0.62073f,
-             0.32495f,  -0.67644f, -0.08559f, -0.36382f, -0.24515f, -0.01899f,
-             0.09012f,  0.19723f,  0.04017f,  0.31624f,  0.58369f,  0.30411f,
-             -0.81165f, -2.58541f, -0.20491f, 0.68089f,  -0.14799f, 0.13925f,
-             0.12867f,  0.15229f,  0.06887f,  -0.03784f, 0.02288f,  -0.28712f,
-             0.14107f,  0.29485f,  -0.11662f, 0.25239f,  0.30311f,  -0.07377f,
-             -0.10962f, 0.59856f,  0.47967f,  0.01847f,  -0.27889f, 0.46786f,
-             0.18118f,  0.09355f,  -2.10076f, 0.38823f,  0.28202f,  0.29104f,
-             0.86977f,  0.52377f,  0.21161f,  0.72888f,  -0.00952f, 0.15982f,
-             -0.14651f, 0.28763f,  -0.14155f, 0.00093f,  0.08351f,  0.34685f,
-             -0.22066f, 0.20378f,  0.25416f,  0.03423f,  -0.11068f, -0.41612f,
-             0.56913f,  -0.06697f, -0.12585f, -0.21033f, -0.14513f, -0.04477f,
-             -0.35778f, 0.03437f,  0.06956f,  -0.25356f, -1.46010f, -0.08142f,
-             0.11926f,  -0.63551f, -0.13882f, 0.34164f,  0.10821f,  1.07323f,
-             -0.62435f, -0.27116f, 0.25971f,  0.11952f,  -0.39480f, -0.05474f,
-             -0.12582f, 0.28289f,  0.13723f,  0.58369f,  0.41865f,  0.28574f,
-             1.01357f,  0.46661f,  0.61717f,  0.85708f,  -0.03930f, -0.38013f,
-             -0.33888f, -0.20561f, -0.19087f, -0.01041f, 0.12119f,  -0.20786f,
-             0.55915f,  0.67511f,  0.55554f,  0.56540f,  0.76647f,  0.54766f,
-             0.45166f,  0.61384f,  0.95407f,  -0.06811f, -0.62132f, 0.12713f,
-             0.63713f,  2.04090f,  1.17054f,  0.00469f,  -0.93692f, -0.24136f,
-             -0.04281f, -0.15787f, 0.37956f,  -0.09174f, -0.72494f, 0.55285f,
-             -1.40996f, -0.54077f, 0.38445f,  -0.08258f, 0.64259f,  -0.54058f,
-             -0.49865f, 1.41371f,  0.89014f,  0.78788f,  0.37919f,  0.87447f,
-             -0.00760f, -0.00947f, 0.16323f,  -0.36632f, -1.38115f, -0.24619f,
-             0.40490f,  -0.08871f, -0.25365f, -0.60842f, 0.11128f,  0.18658f,
-             -0.86001f, -0.28271f, 0.39572f,  -0.29930f, -0.10110f, 0.33706f,
-             0.21731f,  0.15383f,  -0.01707f, 0.02812f,  0.31192f,  0.39742f,
-             0.38260f,  -0.48263f, 0.57385f,  0.53239f,  -0.60013f, -0.63211f,
-             -0.45140f, -0.73520f, -0.95260f, -0.70633f, -0.96190f, 0.01747f,
-             -0.05195f, -0.07138f, -1.09535f, -0.63548f, -1.55700f, -0.35721f,
-             -0.18923f, 0.77568f,  0.09419f,  0.36919f,  -0.32761f, -0.06597f,
-             -0.38988f, -0.43674f, -0.24284f, 0.36906f,  0.28414f,  0.19273f,
-             -0.68516f, 0.09514f,  -0.45381f, 0.19917f,  -0.32377f, 1.32549f,
-             0.08244f,  -0.64405f, 0.13195f,  2.85307f,  0.47631f,  -0.33408f,
-             0.04168f,  0.18585f,  -0.18029f, 0.07986f,  -0.08816f, -0.00703f,
-             -0.01515f, -0.13164f, 0.00571f,  0.05676f,  1.51425f,  0.73360f,
-             0.43486f,  -0.08223f, -0.06183f, -0.57098f, -0.29948f, 0.05945f,
-             0.19238f,  -0.47980f, -0.35902f, -0.19931f, 0.43443f,  0.67436f,
-             0.78573f,  0.25703f,  1.01863f,  0.99047f,  0.95228f,  1.02429f,
-             1.19264f,  0.29935f,  -0.26583f, -0.98749f, -0.46167f, -0.29727f,
-             -0.10515f, -0.39790f, -0.59321f, -0.61925f, -0.95452f, 0.04292f,
-             -0.48273f, -0.91195f, -0.45971f, -0.46355f, -0.88319f, -0.51712f,
-             -0.47682f, -0.86110f, -0.59178f, -0.57163f, -0.94946f, 0.19627f,
-             -0.18699f, 0.11037f,  1.39110f,  0.05715f,  3.00762f,  1.52243f,
-             0.25028f,  0.12779f,  -0.12871f, 0.04764f,  0.08288f,  -0.16572f,
-             -0.06580f, 0.05845f,  -0.01474f, 0.04886f,  -0.10000f, 0.12911f,
-             -0.01416f, -0.12472f, 0.14358f,  0.16554f,  0.08853f,  0.13418f,
-             -0.05408f, -0.13871f, -0.00049f, 0.20725f,  -0.05603f, 0.27885f,
-             -0.14277f, 0.29653f,  -0.24739f, 0.10101f,  -0.17068f, -2.43802f,
-             0.41834f,  0.49784f,  0.34949f,  0.98487f,  0.16792f,  1.07355f,
-             0.32546f,  1.32377f,  -0.08584f, 0.85214f,  -0.05721f, 0.90307f,
-             0.20167f,  0.52664f,  -0.14478f, 0.64997f,  0.06846f,  0.32475f,
-             0.64453f,  0.70143f,  -0.03091f, -0.24958f, -0.39021f, -0.57693f,
-             -0.18319f, 0.11793f,  -0.05948f, 0.36670f,  -0.27932f, 0.14800f,
-             -0.55459f, -0.89673f, 0.65922f,  0.54308f,  -0.16731f, -0.59731f,
-             -0.20705f, -0.18183f, -0.05645f, -0.06829f, -0.40210f, -0.27955f,
-             0.28054f,  0.57665f,  0.14171f,  0.54693f,  -0.22144f, -0.59664f,
-             0.13295f,  0.07057f,  -0.19698f, 0.03328f,  -0.09687f, -0.32390f,
-             -0.11506f, -0.40406f, -0.11473f, 0.10399f,  -0.29824f, 0.16028f,
-             0.00053f,  0.22699f,  0.04203f,  -0.43880f, -0.12654f, 0.12172f,
-             0.21087f,  -0.46350f, -0.22081f, -0.06173f, -0.23287f, 0.90314f,
-             0.04466f,  -0.06149f, 0.32682f,  0.16609f,  -0.58991f, -0.03786f,
-             -0.41329f, 0.02632f,  0.23411f,  0.25344f,  0.16468f,  0.31007f,
-             0.21845f,  0.32462f,  0.33945f,  0.11527f,  -0.35926f, -0.18584f,
-             0.29340f,  0.78199f,  2.39287f,  0.53838f,  -1.55085f, 0.02238f,
-             -0.26153f, -0.42498f, -0.02460f, 0.19261f,  -0.10870f, -0.08453f,
-             -0.39561f, 0.08600f,  0.36310f,  0.58439f,  -0.59526f, 0.13104f,
-             -0.06703f, -0.17529f, -0.41431f, -0.23121f, -0.32394f, -0.33324f,
-             -0.21405f, -0.41702f, -0.29236f, -0.31766f, -0.33512f, -0.22679f,
-             -0.13680f, -0.00118f, -1.81744f, -2.34798f, -1.08048f, -0.29883f,
-             -0.29123f, -0.01752f, 1.02458f,  -1.02185f, -0.18978f, 0.05981f,
-             -0.94931f, 0.34544f,  0.04415f,  -0.60036f, -0.11368f, -0.14154f,
-             1.23438f,  0.51640f,  -0.57587f, -0.91380f, 0.95720f,  0.68298f,
-             -0.06353f, -2.14960f, -0.11080f, 0.79380f,  -0.94199f, 0.43040f,
-             0.01358f,  0.07201f,  -0.49689f, -0.14839f, -0.80132f, -0.13925f,
-             -0.11834f, -0.24998f, -0.33976f, 0.35497f,  0.87367f,  -1.06469f,
-             -0.50829f, -0.70540f, 1.14596f,  -1.12346f, -0.94467f, 0.01380f,
-             -0.18911f, 0.07961f,  -0.18626f, 0.61902f,  -0.64423f, 1.21545f,
-             1.01149f,  0.26309f,  1.50380f,  1.93940f,  -0.64064f, 1.03987f,
-             -1.88000f, -0.44574f, -1.53303f, 1.36307f,  1.00292f,  0.37031f,
-             0.21594f,  0.16758f,  0.02592f,  -0.77431f, -0.31797f, -1.53826f,
-             1.14013f,  -1.21957f, 0.04571f,  -0.22168f, 0.32299f,  0.25949f,
-             -0.13306f, 0.17850f,  0.92494f,  0.19999f,  0.07494f,  -0.03362f,
-             -0.53453f, 1.02970f,  -0.22947f, 0.73964f,  1.08445f,  0.16855f,
-             -0.02686f, 0.25254f,  0.05952f,  0.02194f,  0.05649f,  0.39195f,
-             0.14139f,  0.53843f,  -0.06959f, -0.06993f, -0.14151f, -0.53147f,
-             0.17481f,  -1.21977f, 0.62932f,  1.07173f,  0.24049f,  -0.51574f,
-             0.97492f,  -0.28169f, -0.15406f, -0.05441f, -0.25415f, 0.16583f,
-             0.43674f,  -0.00593f, -0.09277f, 0.61402f,  1.35562f,  -0.03926f,
-             0.18967f,  -0.29548f, -0.55509f, 0.23661f,  0.05023f,  0.36226f,
-             -0.83314f, 0.39357f,  0.19943f,  -0.63431f, -0.03847f, 0.12213f,
-             0.62024f,  -0.11704f, -0.22483f, 0.96624f,  0.18518f,  0.09181f,
-             -0.63068f, 0.66797f,  0.74107f,  0.40624f,  0.70636f,  -0.06921f,
-             0.34175f,  -0.15513f, 2.07844f,  0.22126f,  0.52919f,  0.26793f,
-             -0.50018f, 1.10549f,  0.10970f,  0.05831f,  0.82842f,  -1.22975f,
-             1.78377f,  0.92679f,  2.01480f,  -1.19011f, -0.53381f, 0.38533f,
-             0.45579f,  -0.10683f, -0.40828f, 0.31398f,  0.14978f,  0.91325f,
-             1.03659f,  1.80249f,  1.25710f,  1.32000f },
-  /* BLOCK_32X16 */
-  (float[]){ 1.30219f,  1.30548f,  1.33334f,  1.20560f,  1.01572f,  1.38100f,
-             1.37504f,  0.12599f,  -0.96957f, 0.19400f,  0.75734f,  0.11295f,
-             -0.40447f, -1.53062f, -0.82980f, 0.02168f,  -1.11289f, -0.66861f,
-             -0.83663f, -0.91455f, -0.78618f, -0.87176f, -1.10711f, 0.71207f,
-             1.49689f,  -0.12715f, 0.29357f,  0.35234f,  0.61016f,  0.80708f,
-             0.83564f,  1.05961f,  -0.99842f, 0.82004f,  0.02638f,  0.44606f,
-             0.32298f,  0.21321f,  0.47290f,  -0.71442f, -2.81050f, -0.02520f,
-             -0.08919f, 0.00369f,  -0.05257f, -0.07011f, -0.16394f, 0.06290f,
-             0.80086f,  0.32349f,  0.47411f,  1.36126f,  1.68162f,  0.91325f,
-             -0.27495f, 0.00262f,  0.06025f,  0.42832f,  0.36965f,  0.38063f,
-             0.32772f,  0.40914f,  0.44510f,  3.02239f,  -1.84077f, 0.49536f,
-             -0.27340f, -0.10437f, -0.34293f, -0.08047f, -0.29651f, -0.97111f,
-             -0.34187f, 0.52869f,  1.27240f,  1.20306f,  1.19121f,  1.28742f,
-             0.26393f,  -0.62319f, 0.92285f,  -0.08303f, -0.33118f, -0.13053f,
-             0.24875f,  -0.52089f, 0.44691f,  -1.08908f, 1.20921f,  0.36538f,
-             -0.46792f, -0.18855f, -0.13443f, -0.28472f, -0.10353f, 0.06911f,
-             0.68519f,  0.08228f,  -0.49027f, -0.34381f, 0.04719f,  -0.33298f,
-             0.72525f,  0.09538f,  -0.29216f, -0.07260f, -0.55827f, 0.54542f,
-             -0.10144f, -0.09292f, -0.14427f, -0.38361f, -0.41559f, 0.75338f,
-             -0.04530f, 0.27944f,  0.06932f,  -0.11537f, 0.29568f,  1.92155f,
-             -0.98996f, -0.08841f, 0.49386f,  0.15947f,  0.53290f,  1.46747f,
-             0.59360f,  0.25468f,  -1.19673f, 0.33043f,  0.24408f,  0.46221f,
-             2.00646f,  0.19031f,  -0.64944f, -0.43452f, 1.04400f,  1.47371f,
-             0.52460f,  -1.39577f, 0.83852f,  -0.25536f, 1.33200f,  -0.24444f,
-             -1.31447f, -0.86455f, 0.85217f,  1.00048f,  0.37395f,  -1.35713f,
-             -0.54032f, 0.82803f,  0.89606f,  1.57696f,  0.68067f,  0.42512f,
-             -0.26250f, 0.14621f,  0.93249f,  -0.77690f, -0.93652f, -0.44488f,
-             0.68360f,  -0.88178f, 1.89111f,  0.67700f,  -0.29310f, 0.91604f,
-             -1.21881f, 1.11188f,  0.45045f,  -0.86119f, -0.09294f, 0.09360f,
-             0.80794f,  0.41027f,  1.80399f,  -0.50362f, -1.44689f, 0.85148f,
-             0.90707f,  -0.18458f, 0.14165f,  1.17367f,  0.70869f,  1.57147f,
-             0.24692f,  0.16626f,  0.56794f,  0.07313f,  0.14728f,  -0.74296f,
-             1.74127f,  1.26560f,  0.17753f,  1.10194f,  0.56435f,  1.73779f,
-             1.42841f,  -1.16773f, 0.24584f,  0.10813f,  -0.60187f, 0.79802f,
-             0.75229f,  -0.06112f, 1.77282f,  1.01058f,  0.83082f,  2.03845f,
-             0.59627f,  2.31341f },
+#include "av1/encoder/ml.h"
+
+// Tx type model for 4x4 block.
+static const float av1_tx_type_nn_weights_4x4_layer0[32] = {
+  0.72406f,  -0.40019f, 0.51795f,  -0.43881f, -0.49746f, -0.41780f, -0.39409f,
+  -0.16183f, -1.00135f, -0.41733f, -0.96534f, 0.93272f,  1.06229f,  0.04188f,
+  0.60919f,  0.92405f,  -0.39359f, 0.70570f,  0.75375f,  1.11966f,  -1.86360f,
+  -0.35421f, 0.18743f,  0.13346f,  -0.21262f, 0.07050f,  0.10533f,  -0.47402f,
+  1.33417f,  1.72899f,  1.17983f,  0.10552f,
 };
 
-// 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
-static const float *av1_prune_2D_adaptive_thresholds[9] = {
-  /* BLOCK_4X4 */
-  (float[]){ 0.02014f, 0.02722f, 0.03430f, 0.04114f, 0.04724f, 0.05212f,
-             0.05627f, 0.06018f, 0.06409f, 0.06824f, 0.07312f, 0.07849f,
-             0.08606f, 0.09827f },
-  /* BLOCK_4X8 */
-  (float[]){ 0.01282f, 0.02087f, 0.02844f, 0.03601f, 0.04285f, 0.04871f,
-             0.05359f, 0.05823f, 0.06287f, 0.06799f, 0.07361f, 0.08093f,
-             0.09119f, 0.10828f },
-  /* BLOCK_8X4 */
-  (float[]){ 0.01184f, 0.01941f, 0.02722f, 0.03503f, 0.04187f, 0.04822f,
-             0.05359f, 0.05823f, 0.06287f, 0.06799f, 0.07361f, 0.08093f,
-             0.09167f, 0.10974f },
-  /* BLOCK_8X8 */
-  (float[]){ 0.00745f, 0.01355f, 0.02039f, 0.02795f, 0.03625f, 0.04407f,
-             0.05042f, 0.05579f, 0.06067f, 0.06604f, 0.07239f, 0.08093f,
-             0.09363f, 0.11682f },
-  /* BLOCK_8X16 */
-  (float[]){ 0.00525f, 0.01135f, 0.01819f, 0.02576f, 0.03357f, 0.04114f,
-             0.04773f, 0.05383f, 0.05920f, 0.06506f, 0.07190f, 0.08118f,
-             0.09509f, 0.12097f },
-  /* BLOCK_16X8 */
-  (float[]){ 0.00525f, 0.01160f, 0.01819f, 0.02527f, 0.03308f, 0.04065f,
-             0.04773f, 0.05383f, 0.05969f, 0.06531f, 0.07214f, 0.08118f,
-             0.09485f, 0.12048f },
-  /* BLOCK_16X16 */
-  (float[]){ 0.01404f, 0.02820f, 0.04211f, 0.05164f, 0.05798f, 0.06335f,
-             0.06897f, 0.07629f, 0.08875f, 0.11169f },
-  /* BLOCK_16X32 */
-  (float[]){ 0.01257f, 0.02576f, 0.03723f, 0.04578f, 0.05212f, 0.05798f,
-             0.06506f, 0.07385f, 0.08606f, 0.10925f },
-  /* BLOCK_32X16 */
-  (float[]){ 0.01233f, 0.02527f, 0.03699f, 0.04602f, 0.05286f, 0.05896f,
-             0.06531f, 0.07336f, 0.08582f, 0.11072f },
+static const float av1_tx_type_nn_bias_4x4_layer0[8] = {
+  1.96273f, -0.69845f, -0.10999f, -1.11311f,
+  1.35101f, 0.43842f,  -0.29264f, -1.15376f,
 };
 
-static const int av1_prune_tx_split_num_hidden_units[6] = { 16, 16, 16,
-                                                            32, 32, 64 };
-static const float *av1_prune_tx_split_learned_weights[6] = {
-  /* BLOCK_4X8 */
-  (float[]){ 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,
-             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.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, -1.23037f },
-  /* BLOCK_8X4 */
-  (float[]){ -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,
-             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, 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,  -0.26996f },
-  /* BLOCK_8X8 */
-  (float[]){ -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,  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,
-             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,  -3.58924f },
-  /* BLOCK_8X16 */
-  (float[]){ -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,
-             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, -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, -3.72500f },
-  /* BLOCK_16X8 */
-  (float[]){ -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,
-             -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, 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, -1.87185f },
-  /* BLOCK_16X16 */
-  (float[]){ -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, 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,
-             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, -3.21793f },
+static const float av1_tx_type_nn_weights_4x4_layer1[32] = {
+  0.79770f,  0.08520f,  0.23298f,  0.05285f,  0.87506f,  -0.90784f, -0.06197f,
+  -1.00580f, 0.68639f,  -0.34881f, 0.15366f,  -1.64658f, 0.80755f,  -0.26293f,
+  0.10253f,  -0.23915f, 1.14696f,  -0.10928f, -1.61377f, 0.00863f,  0.98599f,
+  -0.43872f, 0.61196f,  -0.03787f, 1.01060f,  0.17643f,  -0.00208f, -0.15738f,
+  0.06517f,  0.72885f,  0.24387f,  1.28535f,
 };
-static const float av1_prune_tx_split_thresholds[6] = {
-  /* BLOCK_4X8 */
-  1.00f,
-  /* BLOCK_8X4 */
-  1.22f,
-  /* BLOCK_8X8 */
-  1.26f,
-  /* BLOCK_8X16 */
-  0.28f,
-  /* BLOCK_16X8 */
-  0.52f,
-  /* BLOCK_16X16 */
-  0.65f
+
+static const float av1_tx_type_nn_bias_4x4_layer1[4] = {
+  1.23769f,
+  1.40308f,
+  0.09871f,
+  1.82070f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_4x4 = {
+  4,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      8,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_4x4_layer0,
+      av1_tx_type_nn_weights_4x4_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_4x4_layer0,
+      av1_tx_type_nn_bias_4x4_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx type model for 4x8 block.
+static const float av1_tx_type_nn_weights_4x8_hor_layer0[32] = {
+  0.68355f,  -0.06887f, 0.68525f,  -0.86048f, -0.35906f, -0.28597f, -0.21108f,
+  0.12591f,  -1.13025f, -0.65695f, -0.25658f, 0.39155f,  0.89011f,  0.19258f,
+  0.28316f,  0.61172f,  0.52587f,  0.99182f,  0.75704f,  0.66788f,  -1.61814f,
+  -1.23483f, -0.62868f, -0.11902f, 0.33295f,  0.64796f,  0.92345f,  -0.71821f,
+  0.07575f,  0.34687f,  0.20518f,  -0.87850f,
+};
+
+static const float av1_tx_type_nn_bias_4x8_hor_layer0[8] = {
+  1.14049f, -0.18583f, 1.92114f, -0.72057f,
+  1.32715f, 0.96713f,  1.09877f, -0.64345f,
+};
+
+static const float av1_tx_type_nn_weights_4x8_hor_layer1[32] = {
+  0.71978f,  0.06896f,  1.48617f,  0.97124f,  -0.02487f, -0.95359f, 0.68983f,
+  -0.16313f, 0.51324f,  -0.33770f, 0.45938f,  -1.08238f, 0.72938f,  0.42300f,
+  0.85691f,  -0.03783f, 1.12617f,  -0.04034f, 0.36923f,  0.25638f,  1.10167f,
+  0.41633f,  0.72602f,  -0.14797f, 0.66888f,  0.11437f,  -0.99797f, -0.20725f,
+  1.01163f,  2.06308f,  1.23331f,  -0.15481f,
+};
+
+static const float av1_tx_type_nn_bias_4x8_hor_layer1[4] = {
+  2.14443f,
+  1.98356f,
+  0.74616f,
+  2.58795f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_4x8_hor = {
+  4,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      8,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_4x8_hor_layer0,
+      av1_tx_type_nn_weights_4x8_hor_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_4x8_hor_layer0,
+      av1_tx_type_nn_bias_4x8_hor_layer1,
+  },
+};
+
+static const float av1_tx_type_nn_weights_4x8_ver_layer0[128] = {
+  0.88859f,  1.02796f,  1.15509f,  0.61719f,  0.85804f,  1.17581f,  0.93524f,
+  0.06546f,  0.08018f,  -0.78562f, -0.36614f, 0.14149f,  -0.30069f, -0.52647f,
+  -0.82789f, 0.60527f,  -1.74026f, -0.20271f, 0.09875f,  0.03708f,  0.09430f,
+  -0.24043f, -0.38433f, 1.21014f,  1.42443f,  0.69586f,  1.07812f,  1.21748f,
+  1.10989f,  0.93122f,  1.04127f,  0.39424f,  0.95592f,  0.12904f,  0.46330f,
+  0.49722f,  0.46303f,  0.36979f,  0.60227f,  0.39345f,  -2.01632f, -0.05706f,
+  0.07766f,  -0.01271f, -0.16577f, -0.21957f, -0.14800f, 0.24898f,  0.27662f,
+  0.42028f,  0.44748f,  1.14585f,  1.38805f,  0.46182f,  -0.22982f, -0.07324f,
+  0.29886f,  -0.46959f, -0.04228f, -0.01064f, 0.24260f,  -0.32282f, -0.23804f,
+  1.44466f,  -0.42190f, -0.36385f, 0.39746f,  0.38557f,  -0.09624f, -0.21540f,
+  0.57385f,  -0.72878f, -0.39677f, -0.00717f, 0.60499f,  1.33849f,  1.05337f,
+  1.11947f,  0.38487f,  0.86534f,  -0.33970f, 0.71140f,  0.20772f,  0.61132f,
+  0.06181f,  -0.20027f, 0.13736f,  -0.72321f, 0.64586f,  -0.56740f, -0.90912f,
+  -0.20452f, 0.15381f,  -0.84346f, 0.19550f,  0.63164f,  1.35441f,  0.63218f,
+  0.82883f,  0.38803f,  -0.23874f, -0.02962f, 0.23846f,  -0.06822f, -0.40159f,
+  -0.17850f, -0.69524f, 1.12299f,  -0.08286f, -0.14150f, -0.28456f, -0.41519f,
+  -0.12792f, -0.55286f, 0.51655f,  0.06636f,  0.73759f,  0.70072f,  0.12616f,
+  0.31282f,  0.17130f,  -1.34233f, 0.37221f,  0.95838f,  0.16286f,  1.04301f,
+  0.73600f,  -0.11233f,
+};
+
+static const float av1_tx_type_nn_bias_4x8_ver_layer0[16] = {
+  -0.89131f, 0.09124f,  -0.71678f, -1.19929f, 0.98963f,  0.16896f,
+  -0.44943f, -0.97532f, -0.13997f, 1.07136f,  -0.46362f, -0.45253f,
+  -0.63015f, -0.20008f, 1.24048f,  -0.21265f,
+};
+
+static const float av1_tx_type_nn_weights_4x8_ver_layer1[64] = {
+  -0.79795f, 0.45973f,  -0.54188f, -1.05095f, 0.64404f,  -0.56470f, -0.57018f,
+  0.61644f,  0.50229f,  1.14006f,  0.13805f,  -0.42058f, -0.07468f, 0.66203f,
+  0.93180f,  -0.59662f, -0.25152f, 0.00336f,  1.09769f,  -1.11921f, 0.15151f,
+  0.58750f,  -0.42480f, -0.95908f, -0.10980f, 1.31715f,  0.06665f,  -0.52371f,
+  0.37228f,  -0.12364f, 0.54876f,  -0.32698f, 0.39863f,  -0.97669f, -1.06351f,
+  1.82755f,  1.02851f,  0.10322f,  -0.08322f, 0.08891f,  -0.05715f, 0.93503f,
+  0.02096f,  -0.39506f, -0.99330f, -0.09407f, 0.75108f,  -0.30104f, 1.78314f,
+  -0.01786f, -0.17392f, 0.00461f,  0.41394f,  0.92566f,  1.11251f,  -0.71380f,
+  -0.04907f, 0.12736f,  0.00208f,  0.94451f,  -0.31783f, -0.19655f, 0.64619f,
+  0.50359f,
+};
+
+static const float av1_tx_type_nn_bias_4x8_ver_layer1[4] = {
+  0.39274f,
+  1.27276f,
+  0.30322f,
+  2.55238f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_4x8_ver = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_4x8_ver_layer0,
+      av1_tx_type_nn_weights_4x8_ver_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_4x8_ver_layer0,
+      av1_tx_type_nn_bias_4x8_ver_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx type model for 8x4 block.
+static const float av1_tx_type_nn_weights_8x4_hor_layer0[128] = {
+  0.64828f,  0.61618f,  0.98975f,  -0.14562f, 0.26957f,  1.80872f,  0.58299f,
+  -0.06917f, 0.00937f,  -0.74073f, -0.66045f, -0.04576f, -0.39802f, -0.76960f,
+  -0.85166f, 0.88799f,  -0.70694f, -0.34366f, -0.54906f, -0.39502f, -0.29465f,
+  -0.49650f, -0.32171f, 1.37181f,  1.30432f,  0.71843f,  1.01916f,  1.01582f,
+  0.90999f,  0.86334f,  1.04603f,  0.40734f,  0.96187f,  0.53742f,  0.07510f,
+  0.44167f,  0.02049f,  -0.02874f, 0.97191f,  1.03647f,  -2.62751f, -0.01390f,
+  -0.09282f, -0.02522f, -0.30849f, -0.19386f, -0.51356f, 0.52778f,  0.77191f,
+  0.75416f,  0.69067f,  0.93561f,  1.35982f,  0.76193f,  0.57869f,  0.00251f,
+  -0.87244f, -0.26922f, -0.06682f, 0.07176f,  0.51142f,  0.58948f,  0.13914f,
+  0.71165f,  -0.40329f, -0.33201f, 0.35293f,  0.33437f,  -0.01812f, -0.24765f,
+  0.26810f,  -0.77088f, 1.35707f,  0.22243f,  0.78402f,  0.66191f,  0.79890f,
+  1.90669f,  0.73189f,  0.24222f,  -0.34682f, 0.66990f,  0.19554f,  0.58414f,
+  0.05060f,  -0.21271f, 0.11656f,  -0.74907f, 0.68837f,  -0.39147f, -1.78263f,
+  -0.69918f, -0.06838f, -0.26927f, 0.38502f,  0.08305f,  1.29848f,  0.67328f,
+  0.67269f,  0.65805f,  -0.47778f, -1.02617f, 0.16523f,  0.12223f,  -0.35294f,
+  -0.15866f, -0.56224f, 1.25895f,  -0.21422f, -0.33518f, -0.33519f, -0.37414f,
+  0.55122f,  0.14806f,  0.44312f,  -0.07865f, 0.75295f,  0.10766f,  0.59922f,
+  0.48837f,  -0.19099f, -2.07991f, 0.35755f,  0.87813f,  0.07559f,  1.00724f,
+  0.25223f,  -0.06761f,
+};
+
+static const float av1_tx_type_nn_bias_8x4_hor_layer0[16] = {
+  -0.54227f, 0.08599f,  -0.77447f, -1.10920f, 0.89298f,  0.05454f,
+  -0.73681f, 0.21048f,  -0.41041f, 1.25690f,  -0.60918f, 0.14661f,
+  -0.65392f, -0.25881f, 1.67995f,  -0.03550f,
+};
+
+static const float av1_tx_type_nn_weights_8x4_hor_layer1[64] = {
+  -0.22312f, 0.73552f,  0.48399f,  -0.66996f, 0.36527f,  -0.42228f, -1.10793f,
+  0.31167f,  0.16177f,  1.69315f,  -0.06287f, -0.35804f, -0.24889f, 0.80824f,
+  1.08952f,  -0.62838f, 0.30066f,  -0.19043f, -0.00518f, -1.31005f, 0.65797f,
+  1.07714f,  -0.24253f, 0.49779f,  0.05848f,  1.08914f,  0.08015f,  -0.38853f,
+  0.35108f,  -0.11026f, 0.64528f,  -0.37615f, 0.39995f,  -0.58117f, -1.29627f,
+  1.74169f,  0.75558f,  -0.04910f, 0.35020f,  0.04556f,  0.12634f,  1.27223f,
+  0.02608f,  -0.19687f, -0.78649f, -0.22746f, 1.02589f,  -0.28411f, 1.42443f,
+  -0.42115f, -0.21153f, -0.01733f, 0.62001f,  0.87167f,  1.66008f,  -0.39179f,
+  -0.06293f, 0.27012f,  0.16871f,  0.64597f,  0.67358f,  -0.20053f, 0.95830f,
+  0.44232f,
+};
+
+static const float av1_tx_type_nn_bias_8x4_hor_layer1[4] = {
+  0.14889f,
+  1.74197f,
+  0.53696f,
+  2.87574f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_8x4_hor = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_8x4_hor_layer0,
+      av1_tx_type_nn_weights_8x4_hor_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_8x4_hor_layer0,
+      av1_tx_type_nn_bias_8x4_hor_layer1,
+  },
+};
+
+static const float av1_tx_type_nn_weights_8x4_ver_layer0[32] = {
+  0.81919f,  0.15527f,  0.60055f,  -0.54617f, -0.35510f, -0.28223f, -0.20478f,
+  0.15001f,  -1.84806f, -0.30274f, -0.00865f, 0.33939f,  1.11970f,  0.44630f,
+  0.32074f,  0.39637f,  0.08149f,  1.28070f,  0.86703f,  0.76503f,  -1.83991f,
+  -1.13575f, -0.68605f, -0.23690f, 0.07099f,  0.64960f,  0.82543f,  -0.72028f,
+  0.08220f,  0.34338f,  0.20245f,  -0.88920f,
+};
+
+static const float av1_tx_type_nn_bias_8x4_ver_layer0[8] = {
+  1.14995f, -0.16021f, 2.38325f, -0.65179f,
+  1.09624f, 1.07662f,  0.63837f, -0.64847f,
+};
+
+static const float av1_tx_type_nn_weights_8x4_ver_layer1[32] = {
+  0.10278f,  0.06819f,  1.73885f,  1.29889f,  -0.18482f, -1.06132f, 0.67003f,
+  -0.23280f, 0.50181f,  -0.33890f, 0.43524f,  -1.03147f, 1.09640f,  0.66332f,
+  0.47652f,  -0.02251f, 0.94245f,  -0.03861f, 0.84776f,  0.28377f,  0.92044f,
+  0.23572f,  0.52082f,  -0.16266f, 0.45290f,  0.11342f,  -0.50310f, -0.92633f,
+  1.46345f,  1.84714f,  1.06804f,  -0.13610f,
+};
+
+static const float av1_tx_type_nn_bias_8x4_ver_layer1[4] = {
+  2.41028f,
+  1.95675f,
+  0.82387f,
+  2.41923f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_8x4_ver = {
+  4,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      8,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_8x4_ver_layer0,
+      av1_tx_type_nn_weights_8x4_ver_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_8x4_ver_layer0,
+      av1_tx_type_nn_bias_8x4_ver_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx type model for 8x8 block.
+static const float av1_tx_type_nn_weights_8x8_layer0[128] = {
+  0.98214f,  1.05643f,  0.91173f,  0.24165f,  0.39961f,  0.25736f,  0.68593f,
+  0.10553f,  0.13353f,  -0.49687f, -1.66413f, 1.16584f,  2.25147f,  -0.72247f,
+  -2.65486f, -0.03628f, -1.47746f, -1.07644f, -1.25551f, -0.91260f, -1.26199f,
+  -1.06022f, -1.42138f, 1.10500f,  2.96552f,  -0.40638f, 0.02258f,  -0.23137f,
+  0.34922f,  -0.01454f, 0.41251f,  0.35944f,  -1.56742f, 0.01406f,  0.88114f,
+  1.42462f,  0.87243f,  0.02439f,  0.07035f,  0.34303f,  -3.16843f, 0.25798f,
+  0.07494f,  0.38926f,  -0.12267f, 0.09049f,  -0.36711f, 0.01551f,  1.41269f,
+  1.33505f,  1.43627f,  1.41909f,  1.44605f,  1.43008f,  1.36721f,  0.19443f,
+  -0.08606f, 0.17285f,  0.63692f,  0.92092f,  0.61007f,  0.87100f,  -0.33631f,
+  1.98025f,  -0.40686f, -0.33808f, 0.34919f,  0.33817f,  -0.01807f, -0.25259f,
+  0.26442f,  -0.76979f, 1.07788f,  -1.38747f, 1.34315f,  2.79947f,  2.02838f,
+  -0.25062f, 0.00174f,  1.25888f,  0.17344f,  0.20897f,  1.28765f,  1.95749f,
+  1.62351f,  1.04556f,  0.43858f,  0.12463f,  1.66399f,  0.03971f,  0.36614f,
+  0.56932f,  0.15982f,  0.11587f,  0.21402f,  1.89386f,  -0.91267f, -0.79781f,
+  1.79155f,  0.60147f,  -0.90118f, -4.32718f, -0.58154f, -0.02181f, -0.40734f,
+  -0.11409f, -0.79470f, 0.69697f,  -0.16588f, -0.16090f, -0.21236f, -0.52776f,
+  -0.64455f, 0.09173f,  0.80766f,  0.76097f,  0.20295f,  -0.93467f, -0.43509f,
+  0.59659f,  0.07788f,  -3.79459f, 0.16268f,  0.47343f,  0.05106f,  -0.24880f,
+  1.18941f,  0.10346f,
+};
+
+static const float av1_tx_type_nn_bias_8x8_layer0[16] = {
+  0.75780f,  0.25628f,  0.19911f,  -0.41384f, 1.33909f,  0.31498f,
+  -1.37171f, -1.09561f, -0.44056f, 0.49001f,  -0.65804f, -1.96031f,
+  0.64806f,  -0.52520f, 1.38838f,  0.15519f,
+};
+
+static const float av1_tx_type_nn_weights_8x8_layer1[64] = {
+  -0.63856f, -2.02670f, -0.92947f, 0.00216f,  1.47710f,  -2.01099f, -2.11289f,
+  -0.92288f, 0.19296f,  1.37866f,  -0.85975f, -0.78624f, -2.10392f, 0.13976f,
+  1.06968f,  -2.04120f, 0.57991f,  -1.84941f, -0.81512f, -2.08254f, -0.47334f,
+  0.12256f,  -1.39594f, -1.02829f, 0.06134f,  2.25646f,  -1.25196f, -2.65317f,
+  -1.94473f, 0.10989f,  0.55446f,  -1.76557f, 0.33455f,  -1.85556f, -3.01878f,
+  -0.25100f, 1.65520f,  -1.61409f, 1.16336f,  -1.15560f, 0.13631f,  1.50733f,
+  -1.07538f, -0.91200f, -1.93132f, 0.09271f,  0.24425f,  -1.80655f, -0.01138f,
+  -1.36421f, -0.62970f, -0.84766f, -0.34714f, -0.50531f, 1.91005f,  -1.60316f,
+  -0.02495f, 1.04938f,  0.28411f,  -0.79809f, -1.48232f, 0.00766f,  0.94016f,
+  -1.11974f,
+};
+
+static const float av1_tx_type_nn_bias_8x8_layer1[4] = {
+  0.53574f,
+  1.57736f,
+  -0.13698f,
+  2.64613f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_8x8 = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_8x8_layer0,
+      av1_tx_type_nn_weights_8x8_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_8x8_layer0,
+      av1_tx_type_nn_bias_8x8_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx type model for 8x16 block.
+static const float av1_tx_type_nn_weights_8x16_hor_layer0[128] = {
+  1.36274f,  1.37313f,  1.26859f,  1.26459f,  1.37979f,  1.47217f,  1.29710f,
+  0.15765f,  0.31552f,  -0.05727f, 0.25562f,  0.47925f,  -0.32913f, -0.55757f,
+  -0.98010f, 0.08568f,  -0.62754f, 0.12834f,  -0.03717f, 0.06286f,  0.26159f,
+  0.26023f,  -0.62605f, 1.34500f,  1.47720f,  0.47937f,  0.84793f,  0.87866f,
+  0.81260f,  0.74761f,  0.84217f,  0.53321f,  -0.78232f, 0.35321f,  0.41240f,
+  0.45002f,  0.88973f,  0.51055f,  0.91115f,  -0.45512f, -2.37418f, -0.25205f,
+  0.05893f,  -0.15685f, -0.25156f, -0.17104f, -0.12230f, 0.17802f,  0.18796f,
+  -0.05797f, 0.26484f,  1.23515f,  1.70393f,  0.46022f,  -0.14354f, 0.08501f,
+  -0.84625f, -0.42578f, -0.29345f, -0.51797f, -0.56515f, -0.47465f, 0.23970f,
+  1.59912f,  -0.40332f, -0.33209f, 0.37274f,  0.36831f,  -0.00248f, -0.24295f,
+  0.29539f,  -0.76136f, -0.22531f, 0.12371f,  0.37889f,  1.02639f,  1.73330f,
+  1.09686f,  1.04111f,  0.69006f,  -1.27157f, 0.94013f,  0.61621f,  0.62274f,
+  0.48759f,  0.55672f,  0.62597f,  -0.38846f, 1.72124f,  0.08214f,  -0.06650f,
+  0.32617f,  0.10958f,  0.24650f,  0.10740f,  1.16861f,  0.50701f,  0.45383f,
+  0.90016f,  -0.00695f, -0.11986f, -0.07834f, 0.20346f,  0.25863f,  -0.40889f,
+  -0.11344f, -0.79108f, 0.76259f,  -0.14562f, -0.15459f, -0.20954f, -0.51306f,
+  0.02743f,  -0.82456f, -0.00861f, -0.27274f, 0.28762f,  0.07282f,  0.26410f,
+  0.53413f,  -0.22208f, -0.85031f, -1.39129f, -0.74519f, 0.09771f,  0.80313f,
+  1.07698f,  0.02531f,
+};
+
+static const float av1_tx_type_nn_bias_8x16_hor_layer0[16] = {
+  -1.30434f, -1.19259f, -0.43467f, -0.85386f, 0.96584f,  0.29276f,
+  -0.41990f, -0.96924f, -0.30933f, 0.95264f,  -0.25330f, -1.19584f,
+  1.46564f,  -0.42959f, 1.55720f,  0.18479f,
+};
+
+static const float av1_tx_type_nn_weights_8x16_hor_layer1[64] = {
+  -1.72959f, -0.21670f, 0.10616f,  -0.02006f, 0.15084f,  -0.85303f, -0.27535f,
+  0.58704f,  0.23683f,  1.19743f,  0.77971f,  0.49874f,  0.19508f,  0.19641f,
+  1.47895f,  -0.52173f, -0.56746f, -0.50761f, 0.15864f,  -0.95168f, 0.48103f,
+  0.91904f,  -0.11700f, 0.62863f,  0.06526f,  1.63803f,  -0.72325f, -1.80449f,
+  0.66373f,  0.12831f,  0.27139f,  -0.26346f, 1.50852f,  0.25079f,  -0.54255f,
+  1.78815f,  1.39691f,  -0.44989f, -0.18511f, -1.52903f, 0.13983f,  1.06906f,
+  -0.30184f, 0.37566f,  0.46209f,  0.10440f,  0.64695f,  -0.34002f, 1.96990f,
+  0.21189f,  -0.91248f, -0.11263f, 0.26708f,  1.27405f,  1.89776f,  0.02081f,
+  -0.06977f, -0.02584f, 0.47733f,  0.27117f,  1.33315f,  -0.09175f, 0.48747f,
+  1.16772f,
+};
+
+static const float av1_tx_type_nn_bias_8x16_hor_layer1[4] = {
+  1.25783f,
+  1.19452f,
+  0.69964f,
+  2.41982f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_8x16_hor = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_8x16_hor_layer0,
+      av1_tx_type_nn_weights_8x16_hor_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_8x16_hor_layer0,
+      av1_tx_type_nn_bias_8x16_hor_layer1,
+  },
+};
+
+static const float av1_tx_type_nn_weights_8x16_ver_layer0[128] = {
+  0.90888f,  0.86305f,  0.81674f,  0.75352f,  1.07834f,  0.99048f,  0.96355f,
+  0.13836f,  -0.51334f, 0.19906f,  1.84608f,  0.67828f,  0.45876f,  0.08325f,
+  0.28190f,  -0.01958f, -1.96553f, 0.27837f,  -0.05929f, 0.13491f,  0.21036f,
+  0.05797f,  -0.01373f, 0.73765f,  1.39603f,  -0.53767f, 0.10362f,  0.03420f,
+  0.41909f,  0.09510f,  0.32284f,  0.83860f,  0.13954f,  0.48434f,  1.47762f,
+  0.45891f,  0.23613f,  0.13013f,  0.82097f,  -0.03251f, -1.89757f, 0.21589f,
+  -0.10370f, 0.02530f,  -0.25659f, 0.01466f,  -0.23661f, 0.22783f,  0.92100f,
+  1.02915f,  1.20358f,  1.17251f,  0.97749f,  1.04696f,  0.91333f,  0.54576f,
+  -0.52792f, 0.02217f,  0.25652f,  0.31405f,  -0.18398f, 0.04572f,  -0.81359f,
+  1.82883f,  -0.40047f, -0.33056f, 0.35255f,  0.34448f,  -0.00339f, -0.23857f,
+  0.28925f,  -0.77175f, -0.24325f, -0.21420f, 1.11451f,  1.39553f,  0.51573f,
+  0.05476f,  1.13791f,  0.94959f,  -0.35710f, 0.67467f,  0.16722f,  0.61213f,
+  0.07683f,  -0.20613f, 0.13440f,  -0.72131f, -0.15418f, -0.17688f, -0.16510f,
+  -0.19226f, 0.09270f,  -2.43559f, -0.12669f, 0.05074f,  0.30414f,  0.00927f,
+  0.60630f,  0.00801f,  -1.07310f, -0.06227f, 2.10607f,  0.02382f,  -0.39891f,
+  -0.09149f, -0.78596f, 0.83966f,  -0.14802f, -0.14083f, -0.20831f, -0.55136f,
+  0.08566f,  -0.00647f, 0.07044f,  0.53408f,  0.85720f,  -0.07393f, 0.24476f,
+  0.43767f,  0.30519f,  -1.89430f, 0.23252f,  1.63790f,  0.17316f,  -0.03903f,
+  0.25269f,  0.01562f,
+};
+
+static const float av1_tx_type_nn_bias_8x16_ver_layer0[16] = {
+  -0.83370f, -0.20704f, -0.60437f, -0.81664f, 1.16998f,  0.16745f,
+  -1.34680f, -1.07083f, -0.34649f, 0.65598f,  -0.56278f, 0.22660f,
+  -0.25956f, -0.29608f, 1.24359f,  -0.09167f,
+};
+
+static const float av1_tx_type_nn_weights_8x16_ver_layer1[64] = {
+  -0.71147f, -0.63964f, -0.69220f, 0.22326f,  0.67191f,  -0.58894f, -0.98464f,
+  0.23583f,  0.22824f,  1.39838f,  0.09920f,  -0.59411f, -0.67101f, 0.19088f,
+  0.83025f,  -0.66991f, -0.42889f, -0.49969f, 1.39532f,  -1.02000f, 0.62101f,
+  0.57175f,  -0.83226f, 0.01551f,  0.05604f,  1.23028f,  0.02030f,  -0.55995f,
+  -0.42349f, 0.15375f,  0.52132f,  -0.52421f, 0.89586f,  -0.73778f, -0.10911f,
+  0.22447f,  1.16858f,  -0.48169f, 1.73890f,  -0.69860f, 0.12504f,  1.10492f,
+  0.04391f,  -0.85670f, -0.49257f, 0.09616f,  0.76518f,  -0.44854f, 1.50938f,
+  0.62246f,  -0.40366f, -0.11182f, -0.01680f, 0.59724f,  1.32170f,  -1.09061f,
+  -0.04278f, -0.02449f, 0.25024f,  1.26239f,  0.42345f,  -0.10031f, 0.80871f,
+  0.44198f,
+};
+
+static const float av1_tx_type_nn_bias_8x16_ver_layer1[4] = {
+  0.68329f,
+  1.33555f,
+  0.25943f,
+  3.23439f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_8x16_ver = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_8x16_ver_layer0,
+      av1_tx_type_nn_weights_8x16_ver_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_8x16_ver_layer0,
+      av1_tx_type_nn_bias_8x16_ver_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx type model for 16x8 block.
+static const float av1_tx_type_nn_weights_16x8_hor_layer0[128] = {
+  0.89821f,  0.90804f,  1.13052f,  0.74855f,  1.02053f,  0.91260f,  0.97102f,
+  0.16808f,  -0.19982f, -0.33296f, -0.22490f, -0.22481f, -0.09332f, -2.44338f,
+  -0.12236f, -0.03158f, -1.43561f, 0.07794f,  0.16586f,  0.09731f,  0.12967f,
+  0.09725f,  -0.16826f, 1.26640f,  0.88004f,  0.27312f,  -0.07993f, 0.33640f,
+  0.11732f,  0.33384f,  0.97066f,  -0.61744f, -0.48545f, 0.44622f,  0.73744f,
+  0.32262f,  -0.05713f, 0.42280f,  1.10378f,  0.18540f,  -2.07906f, 0.11443f,
+  0.37877f,  0.24136f,  -0.12524f, -0.12434f, 0.02116f,  0.11716f,  1.28267f,
+  1.01508f,  1.26184f,  1.22545f,  1.29582f,  1.18855f,  1.27564f,  0.42001f,
+  -0.41481f, 0.06725f,  -0.13133f, -0.24801f, 0.16515f,  0.16228f,  0.35197f,
+  0.53610f,  -0.39805f, -0.32584f, 0.40096f,  0.38621f,  -0.00030f, -0.23434f,
+  0.29149f,  -0.76542f, 0.04996f,  -0.30036f, 1.48687f,  0.90852f,  -0.03083f,
+  -0.15953f, 1.19259f,  0.87690f,  -1.08977f, 0.78757f,  0.81149f,  0.54089f,
+  0.35400f,  0.37919f,  0.84997f,  -0.20449f, 0.39601f,  -0.37596f, 0.64748f,
+  0.26021f,  0.37354f,  0.23593f,  0.16335f,  1.70681f,  0.31800f,  -0.00964f,
+  0.82687f,  -0.78372f, -1.47438f, 0.32410f,  1.37436f,  0.07476f,  -0.40574f,
+  -0.10353f, -0.79300f, 0.74381f,  -0.15601f, -0.14380f, -0.20961f, -0.52697f,
+  0.04669f,  -0.00870f, 0.05624f,  -0.09036f, 0.25701f,  0.30336f,  0.24199f,
+  0.45579f,  0.66330f,  -1.81834f, 0.74965f,  1.22747f,  0.25072f,  0.25100f,
+  0.43289f,  -0.00362f,
+};
+
+static const float av1_tx_type_nn_bias_16x8_hor_layer0[16] = {
+  -0.87643f, 0.36754f,  -0.86409f, 1.37761f,  1.22688f,  0.09074f,
+  -1.47139f, -1.06100f, -0.24087f, 1.10382f,  -0.32837f, -1.39592f,
+  -0.14741f, -0.43954f, 1.72137f,  -0.21704f,
+};
+
+static const float av1_tx_type_nn_weights_16x8_hor_layer1[64] = {
+  -0.81860f, -0.80745f, -0.43612f, 0.58656f,  0.37455f, -0.56519f, -1.71536f,
+  0.23278f,  0.23951f,  1.09610f,  0.49986f,  0.43375f, -0.53182f, 0.17376f,
+  1.05626f,  -0.61743f, -0.71777f, -0.66943f, 1.40091f, 0.34426f,  1.14295f,
+  0.45571f,  -0.52504f, -0.00303f, 0.06044f,  0.66119f, -0.60340f, -1.14344f,
+  -0.28045f, 0.12742f,  0.61484f,  -0.41016f, 1.36102f, -0.86969f, -0.52728f,
+  1.01725f,  0.67083f,  -0.10138f, 1.36406f,  0.34066f, 0.12498f,  0.86595f,
+  -0.39636f, -0.27888f, -0.40244f, 0.09847f,  0.81178f, -0.45313f, 1.39127f,
+  0.99865f,  -0.57908f, 0.55072f,  0.49638f,  1.11524f, 1.85504f,  -0.28316f,
+  -0.05195f, -0.23284f, 0.26461f,  -1.28120f, 0.60707f, -0.06110f, 0.74085f,
+  0.63304f,
+};
+
+static const float av1_tx_type_nn_bias_16x8_hor_layer1[4] = {
+  0.71765f,
+  1.40400f,
+  0.32221f,
+  3.07234f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_16x8_hor = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_16x8_hor_layer0,
+      av1_tx_type_nn_weights_16x8_hor_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_16x8_hor_layer0,
+      av1_tx_type_nn_bias_16x8_hor_layer1,
+  },
+};
+
+static const float av1_tx_type_nn_weights_16x8_ver_layer0[128] = {
+  1.20497f,  1.23691f,  1.23738f,  1.07773f,  1.15264f,  1.31959f,  1.15365f,
+  0.17179f,  0.68612f,  0.55636f,  0.57145f,  0.67022f,  0.19636f,  -1.27420f,
+  -1.36428f, -0.16706f, -1.20934f, -0.87794f, -0.97146f, -0.74722f, -1.14493f,
+  -1.02689f, -0.88153f, 0.83857f,  1.53355f,  0.13601f,  0.35451f,  0.53750f,
+  0.62381f,  0.32438f,  0.59405f,  0.33090f,  -1.52948f, -0.46094f, 0.42634f,
+  0.48763f,  0.30707f,  0.52553f,  0.71427f,  -0.31287f, -2.37106f, -0.18756f,
+  0.16561f,  -0.00431f, -0.13747f, -0.09336f, -0.16511f, 0.13454f,  0.45010f,
+  -0.00317f, -0.06403f, 0.95442f,  1.59636f,  0.30602f,  -0.05515f, 0.05467f,
+  -0.21758f, -0.19192f, -0.17935f, -0.00545f, 0.35409f,  0.26141f,  -0.32174f,
+  1.78129f,  -0.40161f, -0.33158f, 0.38084f,  0.38081f,  0.01053f,  -0.23567f,
+  0.29239f,  -0.76159f, -0.19373f, 0.13649f,  0.66949f,  1.19733f,  1.92557f,
+  1.16691f,  0.94955f,  0.62324f,  -0.85434f, -0.07699f, 0.87683f,  0.95911f,
+  0.86106f,  0.57959f,  0.40146f,  -0.35851f, 1.55427f,  0.15349f,  -0.01582f,
+  0.32517f,  0.03784f,  0.15916f,  0.09024f,  1.43187f,  0.56160f,  0.11521f,
+  0.52476f,  -0.26107f, -0.38167f, -0.31596f, 0.31304f,  -0.65366f, -0.40680f,
+  -0.11082f, -0.78585f, 0.77906f,  -0.13322f, -0.13747f, -0.21001f, -0.53204f,
+  -0.06752f, -0.84741f, -0.53442f, -0.16284f, 0.54027f,  0.13586f,  -0.42001f,
+  0.85388f,  0.08300f,  -0.89325f, -1.73681f, -0.70473f, 0.23151f,  0.69549f,
+  0.72124f,  0.12769f,
+};
+
+static const float av1_tx_type_nn_bias_16x8_ver_layer0[16] = {
+  -1.15644f, -0.31062f, 0.20697f,  -0.60304f, -1.19498f, 0.21451f,
+  -0.42825f, -0.71800f, -0.25816f, 1.47408f,  -0.24423f, -1.45773f,
+  -0.55834f, -0.36938f, 1.56759f,  0.07238f,
+};
+
+static const float av1_tx_type_nn_weights_16x8_ver_layer1[64] = {
+  -1.45227f, -0.67141f, 0.75237f,  0.32681f,  -0.70528f, -0.76730f, -0.49777f,
+  0.02418f,  0.25096f,  1.14840f,  0.23548f,  0.48755f,  0.33164f,  0.21050f,
+  1.41651f,  -0.28888f, -0.76668f, 0.04439f,  0.67538f,  -1.06438f, 0.68128f,
+  0.95824f,  0.08530f,  -0.03635f, 0.06820f,  1.38621f,  -0.50424f, -1.72992f,
+  -0.20949f, 0.13400f,  0.93366f,  -0.05324f, 1.41593f,  -0.75119f, -1.80912f,
+  1.05440f,  0.62580f,  -0.30867f, -0.07025f, -0.34654f, 0.13621f,  1.74426f,
+  -0.22417f, 0.47031f,  -0.08142f, 0.10151f,  0.42498f,  0.06635f,  1.50623f,
+  1.04130f,  0.85107f,  0.23382f,  0.69800f,  1.10856f,  1.18767f,  -0.69395f,
+  -0.07985f, 0.50412f,  0.46019f,  0.49214f,  0.44219f,  -0.09502f, 0.75745f,
+  0.99208f,
+};
+
+static const float av1_tx_type_nn_bias_16x8_ver_layer1[4] = {
+  0.68774f,
+  0.88572f,
+  0.77462f,
+  3.05667f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_16x8_ver = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_16x8_ver_layer0,
+      av1_tx_type_nn_weights_16x8_ver_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_16x8_ver_layer0,
+      av1_tx_type_nn_bias_16x8_ver_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx type model for 16x16 block.
+static const float av1_tx_type_nn_weights_16x16_layer0[128] = {
+  1.26592f,  1.36313f,  1.30956f,  1.29926f,  1.48816f,  1.68851f,  1.32000f,
+  0.13321f,  -0.22477f, -0.88906f, -0.19622f, 1.69605f,  1.22180f,  -1.57771f,
+  -1.15765f, 0.05710f,  -1.13355f, -0.85486f, -0.99971f, -0.91571f, -1.06031f,
+  -0.77952f, -1.15723f, 1.17809f,  1.35602f,  -0.05243f, -0.37596f, 0.26108f,
+  0.17611f,  -0.10323f, 0.77279f,  -0.48911f, -0.79308f, 0.55112f,  0.43918f,
+  0.27872f,  0.28714f,  0.45830f,  1.05689f,  0.03705f,  -2.49975f, -0.01940f,
+  0.05709f,  0.07942f,  -0.13290f, -0.10359f, 0.00143f,  0.37303f,  0.96470f,
+  0.53293f,  1.14459f,  0.89185f,  0.43378f,  0.47764f,  0.90924f,  0.15279f,
+  -0.15361f, 0.02949f,  0.42240f,  0.68143f,  0.89588f,  0.73754f,  0.10974f,
+  1.57755f,  -0.39870f, -0.32914f, 0.35638f,  0.34991f,  -0.00003f, -0.23373f,
+  0.29630f,  -0.76699f, -0.01356f, 0.04234f,  0.84253f,  1.92078f,  0.93160f,
+  0.71993f,  0.71604f,  0.76455f,  -1.59782f, 0.32332f,  1.11628f,  0.33062f,
+  -0.03728f, -0.05710f, 0.80447f,  -0.14719f, 1.34658f,  -0.05718f, 0.64015f,
+  0.21926f,  0.41653f,  0.12720f,  0.54092f,  1.39411f,  1.81819f,  -0.24513f,
+  0.00955f,  0.38011f,  -0.57787f, -0.41759f, 0.68834f,  -0.31783f, -0.40607f,
+  -0.10107f, -0.79374f, 0.75599f,  -0.16282f, -0.14490f, -0.20783f, -0.55019f,
+  -0.13793f, -0.22293f, 0.18305f,  0.12445f,  0.56830f,  0.24567f,  0.09278f,
+  0.70803f,  0.35803f,  -1.52676f, -0.89624f, 0.77665f,  0.19877f,  0.77175f,
+  0.50355f,  0.08592f,
+};
+
+static const float av1_tx_type_nn_bias_16x16_layer0[16] = {
+  -1.31834f, 0.14346f,  -0.10062f, 0.84489f,  0.95617f,  -0.06720f,
+  -0.68502f, -0.91442f, -0.31932f, 0.25276f,  -0.15138f, -1.57661f,
+  -0.14062f, -0.42120f, 0.94573f,  -0.09287f,
+};
+
+static const float av1_tx_type_nn_weights_16x16_layer1[64] = {
+  -1.80333f, -1.06353f, 0.55139f,  0.74644f,  0.13747f, -0.93018f, -0.10286f,
+  0.67133f,  0.24460f,  1.44583f,  0.02173f,  0.26037f, -0.73687f, 0.19566f,
+  0.61846f,  -0.58601f, -1.03196f, -0.74415f, 0.30041f, -0.41967f, 1.08740f,
+  0.96224f,  -0.59139f, 0.03813f,  0.05403f,  1.33427f, -0.54375f, -1.92181f,
+  0.54704f,  0.13608f,  0.22151f,  -0.38076f, 1.18390f, -0.77508f, -1.84283f,
+  1.00894f,  0.62318f,  -0.15296f, 1.27600f,  0.22822f, 0.12751f,  0.93910f,
+  -0.28502f, 0.53912f,  -0.96889f, 0.10182f,  0.81508f, -0.43028f, 2.67386f,
+  0.52204f,  0.49820f,  -0.41711f, 1.05038f,  1.12192f, 0.74349f,  -0.75417f,
+  -0.03718f, -0.35769f, 0.89651f,  0.63236f,  0.54215f, -0.07894f, 0.48274f,
+  1.08829f,
+};
+
+static const float av1_tx_type_nn_bias_16x16_layer1[4] = {
+  0.81986f,
+  1.26865f,
+  0.11118f,
+  2.48404f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_16x16 = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_16x16_layer0,
+      av1_tx_type_nn_weights_16x16_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_16x16_layer0,
+      av1_tx_type_nn_bias_16x16_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx type model for 16x32 block.
+static const float av1_tx_type_nn_weights_16x32_hor_layer0[128] = {
+  0.89821f,  0.90804f,  1.13052f,  0.74855f,  1.02053f,  0.91260f,  0.97102f,
+  0.16808f,  -0.19982f, -0.33296f, -0.22490f, -0.22481f, -0.09332f, -2.44338f,
+  -0.12236f, -0.03158f, -1.43561f, 0.07794f,  0.16586f,  0.09731f,  0.12967f,
+  0.09725f,  -0.16826f, 1.26640f,  0.88004f,  0.27312f,  -0.07993f, 0.33640f,
+  0.11732f,  0.33384f,  0.97066f,  -0.61744f, -0.48545f, 0.44622f,  0.73744f,
+  0.32262f,  -0.05713f, 0.42280f,  1.10378f,  0.18540f,  -2.07906f, 0.11443f,
+  0.37877f,  0.24136f,  -0.12524f, -0.12434f, 0.02116f,  0.11716f,  1.28267f,
+  1.01508f,  1.26184f,  1.22545f,  1.29582f,  1.18855f,  1.27564f,  0.42001f,
+  -0.41481f, 0.06725f,  -0.13133f, -0.24801f, 0.16515f,  0.16228f,  0.35197f,
+  0.53610f,  -0.39805f, -0.32584f, 0.40096f,  0.38621f,  -0.00030f, -0.23434f,
+  0.29149f,  -0.76542f, 0.04996f,  -0.30036f, 1.48687f,  0.90852f,  -0.03083f,
+  -0.15953f, 1.19259f,  0.87690f,  -1.08977f, 0.78757f,  0.81149f,  0.54089f,
+  0.35400f,  0.37919f,  0.84997f,  -0.20449f, 0.39601f,  -0.37596f, 0.64748f,
+  0.26021f,  0.37354f,  0.23593f,  0.16335f,  1.70681f,  0.31800f,  -0.00964f,
+  0.82687f,  -0.78372f, -1.47438f, 0.32410f,  1.37436f,  0.07476f,  -0.40574f,
+  -0.10353f, -0.79300f, 0.74381f,  -0.15601f, -0.14380f, -0.20961f, -0.52697f,
+  0.04669f,  -0.00870f, 0.05624f,  -0.09036f, 0.25701f,  0.30336f,  0.24199f,
+  0.45579f,  0.66330f,  -1.81834f, 0.74965f,  1.22747f,  0.25072f,  0.25100f,
+  0.43289f,  -0.00362f,
+};
+
+static const float av1_tx_type_nn_bias_16x32_hor_layer0[16] = {
+  -0.87643f, 0.36754f,  -0.86409f, 1.37761f,  1.22688f,  0.09074f,
+  -1.47139f, -1.06100f, -0.24087f, 1.10382f,  -0.32837f, -1.39592f,
+  -0.14741f, -0.43954f, 1.72137f,  -0.21704f,
+};
+
+static const float av1_tx_type_nn_weights_16x32_hor_layer1[64] = {
+  -0.81860f, -0.80745f, -0.43612f, 0.58656f,  0.37455f, -0.56519f, -1.71536f,
+  0.23278f,  0.23951f,  1.09610f,  0.49986f,  0.43375f, -0.53182f, 0.17376f,
+  1.05626f,  -0.61743f, -0.71777f, -0.66943f, 1.40091f, 0.34426f,  1.14295f,
+  0.45571f,  -0.52504f, -0.00303f, 0.06044f,  0.66119f, -0.60340f, -1.14344f,
+  -0.28045f, 0.12742f,  0.61484f,  -0.41016f, 1.36102f, -0.86969f, -0.52728f,
+  1.01725f,  0.67083f,  -0.10138f, 1.36406f,  0.34066f, 0.12498f,  0.86595f,
+  -0.39636f, -0.27888f, -0.40244f, 0.09847f,  0.81178f, -0.45313f, 1.39127f,
+  0.99865f,  -0.57908f, 0.55072f,  0.49638f,  1.11524f, 1.85504f,  -0.28316f,
+  -0.05195f, -0.23284f, 0.26461f,  -1.28120f, 0.60707f, -0.06110f, 0.74085f,
+  0.63304f,
+};
+
+static const float av1_tx_type_nn_bias_16x32_hor_layer1[4] = {
+  0.71765f,
+  1.40400f,
+  0.32221f,
+  3.07234f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_16x32_hor = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_16x32_hor_layer0,
+      av1_tx_type_nn_weights_16x32_hor_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_16x32_hor_layer0,
+      av1_tx_type_nn_bias_16x32_hor_layer1,
+  },
+};
+
+static const float av1_tx_type_nn_weights_16x32_ver_layer0[512] = {
+  -0.01219f, 0.51494f,  0.25450f,  0.45788f,  -0.87277f, 0.32954f,  -0.04851f,
+  -0.24321f, -0.40000f, 0.21915f,  0.14108f,  0.98268f,  0.18989f,  0.54298f,
+  0.36349f,  0.38931f,  1.08124f,  0.87199f,  1.03553f,  1.14777f,  1.04254f,
+  1.11336f,  0.92198f,  0.84715f,  1.89363f,  1.21587f,  0.72377f,  1.25097f,
+  0.84231f,  0.95529f,  1.12346f,  0.19113f,  -0.04559f, 0.56859f,  0.59747f,
+  0.60176f,  0.82465f,  0.59009f,  0.67240f,  1.58674f,  -0.92951f, -0.23449f,
+  0.11923f,  -0.19151f, -0.15914f, 0.03146f,  -0.16541f, 0.17181f,  -0.21834f,
+  0.21906f,  0.96708f,  0.36085f,  -0.42380f, -2.25681f, -0.48812f, 0.72875f,
+  0.06585f,  0.18818f,  -0.02109f, -0.10996f, 0.00187f,  -0.02078f, 0.04484f,
+  -0.07171f, 0.94773f,  -0.33466f, 0.28484f,  0.14791f,  0.30274f,  0.13377f,
+  0.40970f,  0.45133f,  1.69265f,  -0.36422f, -0.15889f, 0.07670f,  0.44675f,
+  -0.28665f, -0.07097f, 1.03803f,  -0.83274f, -0.24571f, 0.08039f,  -0.23790f,
+  -0.23276f, -0.28031f, 0.26451f,  -0.18513f, -2.23336f, -0.62073f, 0.32495f,
+  -0.67644f, -0.08559f, -0.36382f, -0.24515f, -0.01899f, 0.09012f,  0.19723f,
+  0.04017f,  0.31624f,  0.58369f,  0.30411f,  -0.81165f, -2.58541f, -0.20491f,
+  0.68089f,  -0.14799f, 0.13925f,  0.12867f,  0.15229f,  0.06887f,  -0.03784f,
+  0.02288f,  -0.28712f, 0.14107f,  0.29485f,  -0.11662f, 0.25239f,  0.30311f,
+  -0.07377f, -0.10962f, 0.59856f,  0.47967f,  0.01847f,  -0.27889f, 0.46786f,
+  0.18118f,  0.09355f,  -2.10076f, 0.38823f,  0.28202f,  0.29104f,  0.86977f,
+  0.52377f,  0.21161f,  0.72888f,  -0.00952f, 0.15982f,  -0.14651f, 0.28763f,
+  -0.14155f, 0.00093f,  0.08351f,  0.34685f,  -0.22066f, 0.20378f,  0.25416f,
+  0.03423f,  -0.11068f, -0.41612f, 0.56913f,  -0.06697f, -0.12585f, -0.21033f,
+  -0.14513f, -0.04477f, -0.35778f, 0.03437f,  0.06956f,  -0.25356f, -1.46010f,
+  -0.08142f, 0.11926f,  -0.63551f, -0.13882f, 0.34164f,  0.10821f,  1.07323f,
+  -0.62435f, -0.27116f, 0.25971f,  0.11952f,  -0.39480f, -0.05474f, -0.12582f,
+  0.28289f,  0.13723f,  0.58369f,  0.41865f,  0.28574f,  1.01357f,  0.46661f,
+  0.61717f,  0.85708f,  -0.03930f, -0.38013f, -0.33888f, -0.20561f, -0.19087f,
+  -0.01041f, 0.12119f,  -0.20786f, 0.55915f,  0.67511f,  0.55554f,  0.56540f,
+  0.76647f,  0.54766f,  0.45166f,  0.61384f,  0.95407f,  -0.06811f, -0.62132f,
+  0.12713f,  0.63713f,  2.04090f,  1.17054f,  0.00469f,  -0.93692f, -0.24136f,
+  -0.04281f, -0.15787f, 0.37956f,  -0.09174f, -0.72494f, 0.55285f,  -1.40996f,
+  -0.54077f, 0.38445f,  -0.08258f, 0.64259f,  -0.54058f, -0.49865f, 1.41371f,
+  0.89014f,  0.78788f,  0.37919f,  0.87447f,  -0.00760f, -0.00947f, 0.16323f,
+  -0.36632f, -1.38115f, -0.24619f, 0.40490f,  -0.08871f, -0.25365f, -0.60842f,
+  0.11128f,  0.18658f,  -0.86001f, -0.28271f, 0.39572f,  -0.29930f, -0.10110f,
+  0.33706f,  0.21731f,  0.15383f,  -0.01707f, 0.02812f,  0.31192f,  0.39742f,
+  0.38260f,  -0.48263f, 0.57385f,  0.53239f,  -0.60013f, -0.63211f, -0.45140f,
+  -0.73520f, -0.95260f, -0.70633f, -0.96190f, 0.01747f,  -0.05195f, -0.07138f,
+  -1.09535f, -0.63548f, -1.55700f, -0.35721f, -0.18923f, 0.77568f,  0.09419f,
+  0.36919f,  -0.32761f, -0.06597f, -0.38988f, -0.43674f, -0.24284f, 0.36906f,
+  0.28414f,  0.19273f,  -0.68516f, 0.09514f,  -0.45381f, 0.19917f,  -0.32377f,
+  1.32549f,  0.08244f,  -0.64405f, 0.13195f,  2.85307f,  0.47631f,  -0.33408f,
+  0.04168f,  0.18585f,  -0.18029f, 0.07986f,  -0.08816f, -0.00703f, -0.01515f,
+  -0.13164f, 0.00571f,  0.05676f,  1.51425f,  0.73360f,  0.43486f,  -0.08223f,
+  -0.06183f, -0.57098f, -0.29948f, 0.05945f,  0.19238f,  -0.47980f, -0.35902f,
+  -0.19931f, 0.43443f,  0.67436f,  0.78573f,  0.25703f,  1.01863f,  0.99047f,
+  0.95228f,  1.02429f,  1.19264f,  0.29935f,  -0.26583f, -0.98749f, -0.46167f,
+  -0.29727f, -0.10515f, -0.39790f, -0.59321f, -0.61925f, -0.95452f, 0.04292f,
+  -0.48273f, -0.91195f, -0.45971f, -0.46355f, -0.88319f, -0.51712f, -0.47682f,
+  -0.86110f, -0.59178f, -0.57163f, -0.94946f, 0.19627f,  -0.18699f, 0.11037f,
+  1.39110f,  0.05715f,  3.00762f,  1.52243f,  0.25028f,  0.12779f,  -0.12871f,
+  0.04764f,  0.08288f,  -0.16572f, -0.06580f, 0.05845f,  -0.01474f, 0.04886f,
+  -0.10000f, 0.12911f,  -0.01416f, -0.12472f, 0.14358f,  0.16554f,  0.08853f,
+  0.13418f,  -0.05408f, -0.13871f, -0.00049f, 0.20725f,  -0.05603f, 0.27885f,
+  -0.14277f, 0.29653f,  -0.24739f, 0.10101f,  -0.17068f, -2.43802f, 0.41834f,
+  0.49784f,  0.34949f,  0.98487f,  0.16792f,  1.07355f,  0.32546f,  1.32377f,
+  -0.08584f, 0.85214f,  -0.05721f, 0.90307f,  0.20167f,  0.52664f,  -0.14478f,
+  0.64997f,  0.06846f,  0.32475f,  0.64453f,  0.70143f,  -0.03091f, -0.24958f,
+  -0.39021f, -0.57693f, -0.18319f, 0.11793f,  -0.05948f, 0.36670f,  -0.27932f,
+  0.14800f,  -0.55459f, -0.89673f, 0.65922f,  0.54308f,  -0.16731f, -0.59731f,
+  -0.20705f, -0.18183f, -0.05645f, -0.06829f, -0.40210f, -0.27955f, 0.28054f,
+  0.57665f,  0.14171f,  0.54693f,  -0.22144f, -0.59664f, 0.13295f,  0.07057f,
+  -0.19698f, 0.03328f,  -0.09687f, -0.32390f, -0.11506f, -0.40406f, -0.11473f,
+  0.10399f,  -0.29824f, 0.16028f,  0.00053f,  0.22699f,  0.04203f,  -0.43880f,
+  -0.12654f, 0.12172f,  0.21087f,  -0.46350f, -0.22081f, -0.06173f, -0.23287f,
+  0.90314f,  0.04466f,  -0.06149f, 0.32682f,  0.16609f,  -0.58991f, -0.03786f,
+  -0.41329f, 0.02632f,  0.23411f,  0.25344f,  0.16468f,  0.31007f,  0.21845f,
+  0.32462f,  0.33945f,  0.11527f,  -0.35926f, -0.18584f, 0.29340f,  0.78199f,
+  2.39287f,  0.53838f,  -1.55085f, 0.02238f,  -0.26153f, -0.42498f, -0.02460f,
+  0.19261f,  -0.10870f, -0.08453f, -0.39561f, 0.08600f,  0.36310f,  0.58439f,
+  -0.59526f, 0.13104f,  -0.06703f, -0.17529f, -0.41431f, -0.23121f, -0.32394f,
+  -0.33324f, -0.21405f, -0.41702f, -0.29236f, -0.31766f, -0.33512f, -0.22679f,
+  -0.13680f, -0.00118f, -1.81744f, -2.34798f, -1.08048f, -0.29883f, -0.29123f,
+  -0.01752f,
+};
+
+static const float av1_tx_type_nn_bias_16x32_ver_layer0[32] = {
+  1.02458f,  -1.02185f, -0.18978f, 0.05981f,  -0.94931f, 0.34544f,  0.04415f,
+  -0.60036f, -0.11368f, -0.14154f, 1.23438f,  0.51640f,  -0.57587f, -0.91380f,
+  0.95720f,  0.68298f,  -0.06353f, -2.14960f, -0.11080f, 0.79380f,  -0.94199f,
+  0.43040f,  0.01358f,  0.07201f,  -0.49689f, -0.14839f, -0.80132f, -0.13925f,
+  -0.11834f, -0.24998f, -0.33976f, 0.35497f,
+};
+
+static const float av1_tx_type_nn_weights_16x32_ver_layer1[128] = {
+  0.87367f,  -1.06469f, -0.50829f, -0.70540f, 1.14596f,  -1.12346f, -0.94467f,
+  0.01380f,  -0.18911f, 0.07961f,  -0.18626f, 0.61902f,  -0.64423f, 1.21545f,
+  1.01149f,  0.26309f,  1.50380f,  1.93940f,  -0.64064f, 1.03987f,  -1.88000f,
+  -0.44574f, -1.53303f, 1.36307f,  1.00292f,  0.37031f,  0.21594f,  0.16758f,
+  0.02592f,  -0.77431f, -0.31797f, -1.53826f, 1.14013f,  -1.21957f, 0.04571f,
+  -0.22168f, 0.32299f,  0.25949f,  -0.13306f, 0.17850f,  0.92494f,  0.19999f,
+  0.07494f,  -0.03362f, -0.53453f, 1.02970f,  -0.22947f, 0.73964f,  1.08445f,
+  0.16855f,  -0.02686f, 0.25254f,  0.05952f,  0.02194f,  0.05649f,  0.39195f,
+  0.14139f,  0.53843f,  -0.06959f, -0.06993f, -0.14151f, -0.53147f, 0.17481f,
+  -1.21977f, 0.62932f,  1.07173f,  0.24049f,  -0.51574f, 0.97492f,  -0.28169f,
+  -0.15406f, -0.05441f, -0.25415f, 0.16583f,  0.43674f,  -0.00593f, -0.09277f,
+  0.61402f,  1.35562f,  -0.03926f, 0.18967f,  -0.29548f, -0.55509f, 0.23661f,
+  0.05023f,  0.36226f,  -0.83314f, 0.39357f,  0.19943f,  -0.63431f, -0.03847f,
+  0.12213f,  0.62024f,  -0.11704f, -0.22483f, 0.96624f,  0.18518f,  0.09181f,
+  -0.63068f, 0.66797f,  0.74107f,  0.40624f,  0.70636f,  -0.06921f, 0.34175f,
+  -0.15513f, 2.07844f,  0.22126f,  0.52919f,  0.26793f,  -0.50018f, 1.10549f,
+  0.10970f,  0.05831f,  0.82842f,  -1.22975f, 1.78377f,  0.92679f,  2.01480f,
+  -1.19011f, -0.53381f, 0.38533f,  0.45579f,  -0.10683f, -0.40828f, 0.31398f,
+  0.14978f,  0.91325f,
+};
+
+static const float av1_tx_type_nn_bias_16x32_ver_layer1[4] = {
+  1.03659f,
+  1.80249f,
+  1.25710f,
+  1.32000f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_16x32_ver = {
+  16,  // num_inputs
+  4,   // num_outputs
+  1,   // num_hidden_layers
+  {
+      32,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_16x32_ver_layer0,
+      av1_tx_type_nn_weights_16x32_ver_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_16x32_ver_layer0,
+      av1_tx_type_nn_bias_16x32_ver_layer1,
+  },
+};
+/******************************************************************************/
+
+// Tx type model for 32x16 block.
+static const float av1_tx_type_nn_weights_32x16_hor_layer0[512] = {
+  -0.07289f, 0.30798f,  0.41881f,  0.33434f,  -0.01599f, 0.85307f,  -0.16060f,
+  -0.07922f, -0.04693f, 0.29186f,  0.44117f,  1.02417f,  0.12447f,  0.46321f,
+  0.40060f,  0.50140f,  0.48338f,  0.47298f,  0.36585f,  0.42821f,  0.41289f,
+  0.47534f,  0.42900f,  0.26061f,  0.45887f,  0.38163f,  0.17302f,  1.00888f,
+  1.79910f,  1.36140f,  0.24471f,  0.04557f,  1.10823f,  0.74325f,  0.91210f,
+  0.81387f,  0.98865f,  -0.09874f, 0.55146f,  0.19385f,  -0.50752f, -0.17249f,
+  0.27261f,  -0.02763f, -0.03286f, 0.09122f,  0.07015f,  0.20012f,  0.68983f,
+  -1.25345f, -0.00145f, 0.71567f,  0.54948f,  -0.56154f, -0.28918f, 0.11997f,
+  -0.09907f, 0.09195f,  0.05768f,  0.15558f,  0.11284f,  -0.35195f, -0.08723f,
+  -0.03571f, 0.94031f,  0.63737f,  0.98202f,  0.93826f,  0.87126f,  0.88530f,
+  0.97697f,  0.55283f,  0.58670f,  0.86502f,  0.97008f,  0.99709f,  0.66214f,
+  0.96660f,  0.99890f,  0.31945f,  -1.00301f, 0.13215f,  -0.03950f, 0.21148f,
+  0.05128f,  0.10955f,  0.44839f,  -0.33438f, -2.09773f, 0.13908f,  0.58669f,
+  0.25268f,  -0.24006f, 0.01286f,  -0.05732f, 0.03401f,  -0.06896f, 0.35397f,
+  0.05133f,  -0.21449f, -0.38437f, -0.32326f, -0.38731f, -0.44419f, 0.25968f,
+  -0.29422f, -0.12553f, -0.08896f, -0.16400f, -0.22309f, 0.21380f,  -0.26912f,
+  0.06866f,  -0.25694f, 0.17632f,  0.32032f,  -0.10666f, 0.26278f,  0.31877f,
+  -0.09338f, -0.14289f, 0.54232f,  0.46070f,  0.00059f,  -0.27914f, 0.45177f,
+  0.16274f,  -0.08811f, -0.45791f, 0.53946f,  -0.16794f, 0.16229f,  0.11840f,
+  -0.24435f, 0.26894f,  -0.33180f, -0.47314f, 0.34061f,  -0.13939f, 0.13321f,
+  -0.05208f, -0.18139f, -0.35234f, 1.37298f,  -0.19360f, 0.21728f,  0.26088f,
+  0.04045f,  -0.10763f, -0.40470f, 0.50026f,  -0.06726f, -0.12871f, -0.20963f,
+  -0.14583f, -0.04711f, -0.35988f, 0.03091f,  0.06491f,  -0.31668f, -0.52190f,
+  0.23397f,  -0.13984f, -0.15207f, -0.49977f, 0.51205f,  0.12559f,  -0.03631f,
+  0.33447f,  -0.36684f, 0.17533f,  0.15671f,  -0.00096f, 0.06817f,  0.20922f,
+  0.34006f,  0.71260f,  0.45024f,  0.53033f,  0.15645f,  0.76019f,  0.56870f,
+  0.83066f,  0.63022f,  1.74436f,  -0.24798f, 0.06795f,  -0.00749f, 0.17795f,
+  0.10371f,  0.06527f,  0.41054f,  0.49003f,  0.34630f,  0.02615f,  0.30320f,
+  -0.47133f, -0.49584f, 0.21775f,  0.27530f,  -0.29977f, -0.64269f, 0.52627f,
+  -0.02492f, 0.08077f,  0.40786f,  -0.36015f, -0.70714f, -1.98185f, -0.28187f,
+  0.35018f,  -0.06105f, -0.12710f, 0.06606f,  -0.27805f, 0.44630f,  -0.84731f,
+  -0.26699f, 0.25856f,  0.06194f,  -0.18674f, -0.11560f, -0.43277f, 1.10579f,
+  0.95876f,  0.17415f,  0.56386f,  0.68426f,  0.50180f,  0.24844f,  0.12347f,
+  0.15281f,  -0.19089f, 0.52279f,  0.41860f,  -0.05270f, -0.17029f, -0.03542f,
+  0.10621f,  -0.25088f, 0.24070f,  -0.08951f, 0.29950f,  -0.36720f, 0.02151f,
+  0.20129f,  -0.70066f, -0.23144f, -0.20070f, -0.39262f, -0.01597f, -0.05591f,
+  0.23814f,  -0.25991f, 0.05812f,  0.60554f,  -0.06106f, -0.58326f, 0.28762f,
+  -0.18747f, 0.08232f,  -0.04243f, -0.03293f, 0.14722f,  -0.13017f, -0.67263f,
+  0.38698f,  -0.18207f, -0.11496f, -0.27976f, -0.55345f, 1.42872f,  0.04684f,
+  0.04214f,  0.00030f,  0.02410f,  0.19966f,  -0.04246f, 0.00442f,  0.23121f,
+  0.13364f,  0.21548f,  -0.12748f, -0.14066f, -0.28354f, 0.59937f,  -0.27553f,
+  1.57503f,  -0.01050f, -0.17724f, 0.44110f,  -0.80334f, 0.72064f,  1.00501f,
+  -0.72638f, 0.02774f,  0.48540f,  -0.72016f, -0.27721f, 0.31559f,  0.07322f,
+  0.20279f,  -0.19647f, 0.02352f,  0.12662f,  0.19743f,  0.30543f,  0.25712f,
+  0.44702f,  0.16417f,  0.17888f,  -2.58469f, 0.20555f,  0.57782f,  -0.10892f,
+  0.14527f,  0.82251f,  0.04200f,  0.44626f,  0.10818f,  0.71204f,  0.62903f,
+  0.69178f,  0.73603f,  0.52717f,  0.83020f,  0.48824f,  1.03270f,  -0.00152f,
+  0.07958f,  0.24181f,  -0.78839f, -0.74214f, -0.72998f, -1.58694f, 0.17735f,
+  0.56318f,  0.32580f,  -0.58503f, -0.33673f, -0.00838f, 0.48924f,  0.43362f,
+  0.12750f,  0.00295f,  0.38624f,  0.17037f,  0.00729f,  -0.26256f, -0.41669f,
+  0.36847f,  0.22424f,  1.33334f,  0.18112f,  0.37682f,  0.49173f,  -0.45240f,
+  -0.04857f, -0.35038f, -0.83099f, -0.01988f, 0.03497f,  0.38033f,  0.13685f,
+  0.17597f,  0.28668f,  0.31193f,  -0.43281f, 0.43267f,  -0.50495f, 0.01969f,
+  0.14131f,  -0.09326f, -0.39425f, -0.62048f, -0.09119f, -0.28306f, -0.52671f,
+  -0.38584f, -0.10953f, 0.19669f,  0.34540f,  -0.49941f, 0.04605f,  -0.43535f,
+  0.27519f,  0.03659f,  -0.31961f, 0.13330f,  0.87009f,  0.20101f,  -0.70392f,
+  -0.27883f, 0.33874f,  -0.34308f, 0.67760f,  0.88195f,  0.55752f,  -0.26563f,
+  0.17875f,  0.06964f,  0.87607f,  1.47616f,  0.46747f,  -0.56408f, -0.39352f,
+  -0.16427f, -0.41185f, 0.14187f,  0.19265f,  -0.58613f, 0.56345f,  -0.17729f,
+  -0.11320f, 0.08752f,  -0.01329f, 1.20981f,  0.45170f,  -0.20571f, -0.01150f,
+  0.26476f,  0.13508f,  0.22020f,  -0.42684f, -0.22499f, -1.51212f, 0.86648f,
+  0.21776f,  0.24666f,  0.71339f,  0.42742f,  -0.00952f, 0.14762f,  0.07693f,
+  -0.19599f, 0.03075f,  -0.09703f, -0.32483f, -0.11616f, -0.40461f, -0.11693f,
+  0.10038f,  -0.30038f, 0.14686f,  0.00548f,  0.20350f,  0.00763f,  -0.43756f,
+  -0.01997f, 0.00902f,  0.07470f,  -0.41441f, -0.20605f, 0.07626f,  -0.34973f,
+  0.47455f,  -0.15251f, -0.05325f, 0.04964f,  0.32477f,  -0.54604f, 0.25273f,
+  -0.18461f, -0.30841f, 0.64908f,  0.60752f,  0.64148f,  0.72788f,  0.71232f,
+  0.58597f,  0.73017f,  0.58857f,  0.71908f,  0.59860f,  0.61849f,  0.99398f,
+  0.39572f,  -0.36165f, -1.88646f, 0.14384f,  -0.60541f, -0.21380f, -0.55498f,
+  -0.50960f, -0.08801f, 0.51892f,  0.19126f,  0.57879f,  1.19447f,  0.25673f,
+  -0.21631f, -0.43562f, -0.27497f, -0.02206f, -0.56169f, 0.58952f,  -0.60983f,
+  -0.64088f, -0.69087f, -0.56261f, -0.74089f, -0.65063f, -0.66978f, -0.60836f,
+  -0.92770f, -0.77182f, -1.61031f, -0.70007f, -0.68402f, -0.42242f, -0.66722f,
+  -0.14533f,
+};
+
+static const float av1_tx_type_nn_bias_32x16_hor_layer0[32] = {
+  1.53781f,  -0.49320f, -0.31646f, 0.02826f,  -1.05554f, 0.06559f,  -0.12399f,
+  -0.61671f, -0.28956f, -0.15419f, 0.87189f,  -0.43375f, -1.08477f, -0.66006f,
+  0.36233f,  0.82678f,  -0.92342f, -1.47101f, -0.02937f, -0.16497f, -0.75457f,
+  0.50173f,  -0.07560f, 0.71598f,  1.50795f,  -0.04745f, -0.14008f, -0.18510f,
+  -0.14988f, -0.67044f, 0.79659f,  0.70610f,
+};
+
+static const float av1_tx_type_nn_weights_32x16_hor_layer1[128] = {
+  0.84983f,  -0.62530f, -0.82600f, -0.52563f, -0.11942f, -0.50279f, -0.13425f,
+  -0.02850f, 0.50767f,  0.10252f,  0.24540f,  0.67748f,  -0.43483f, -0.22242f,
+  0.23431f,  0.57287f,  0.69560f,  1.13814f,  -0.47427f, -0.55858f, -1.47072f,
+  0.26587f,  -0.36335f, 0.83060f,  1.01645f,  -0.52895f, -0.11614f, 0.17390f,
+  -0.13664f, -0.83098f, -0.07985f, -1.36820f, 0.47759f,  -0.55612f, 0.46852f,
+  0.07406f,  -0.80467f, 0.23059f,  0.09992f,  -0.06164f, 0.13541f,  0.06135f,
+  0.83605f,  -0.53224f, -0.13867f, 0.93838f,  -0.61290f, 0.27732f,  -0.46688f,
+  -0.41810f, 0.12885f,  0.13619f,  -0.24612f, 0.07215f,  0.98866f,  0.10993f,
+  1.05799f,  -0.27146f, -0.00079f, -0.08585f, 0.08322f,  -0.33809f, 0.67598f,
+  -1.06515f, 1.28866f,  0.61028f,  -0.31704f, -0.59905f, 1.62151f,  0.10969f,
+  0.20671f,  -0.17818f, 0.14170f,  0.19322f,  0.30602f,  0.93111f,  0.19011f,
+  -0.45609f, 0.82506f,  0.32936f,  -0.07858f, -0.27106f, -0.31638f, 0.23299f,
+  0.81491f,  0.32584f,  -0.52093f, -0.32472f, 0.53643f,  -0.42605f, 0.01641f,
+  0.09002f,  0.15832f,  -0.08790f, 0.05511f,  1.00730f,  0.46309f,  0.68166f,
+  -0.18835f, 0.64512f,  -1.00540f, 0.86802f,  0.18981f,  -0.06982f, -0.24514f,
+  -0.08027f, 0.61199f,  -0.20830f, 0.72001f,  0.17477f,  0.06511f,  0.00801f,
+  -0.43590f, 0.37257f,  0.70323f,  0.60233f,  1.62541f,  0.74383f,  -0.22254f,
+  -0.33892f, 0.22881f,  0.62817f,  0.68915f,  -0.06417f, 0.00969f,  1.65869f,
+  0.89060f,  0.75948f,
+};
+
+static const float av1_tx_type_nn_bias_32x16_hor_layer1[4] = {
+  0.95359f,
+  1.56043f,
+  1.06017f,
+  2.54520f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_32x16_hor = {
+  16,  // num_inputs
+  4,   // num_outputs
+  1,   // num_hidden_layers
+  {
+      32,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_32x16_hor_layer0,
+      av1_tx_type_nn_weights_32x16_hor_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_32x16_hor_layer0,
+      av1_tx_type_nn_bias_32x16_hor_layer1,
+  },
+};
+
+static const float av1_tx_type_nn_weights_32x16_ver_layer0[128] = {
+  1.30219f,  1.30548f,  1.33334f,  1.20560f,  1.01572f,  1.38100f,  1.37504f,
+  0.12599f,  -0.96957f, 0.19400f,  0.75734f,  0.11295f,  -0.40447f, -1.53062f,
+  -0.82980f, 0.02168f,  -1.11289f, -0.66861f, -0.83663f, -0.91455f, -0.78618f,
+  -0.87176f, -1.10711f, 0.71207f,  1.49689f,  -0.12715f, 0.29357f,  0.35234f,
+  0.61016f,  0.80708f,  0.83564f,  1.05961f,  -0.99842f, 0.82004f,  0.02638f,
+  0.44606f,  0.32298f,  0.21321f,  0.47290f,  -0.71442f, -2.81050f, -0.02520f,
+  -0.08919f, 0.00369f,  -0.05257f, -0.07011f, -0.16394f, 0.06290f,  0.80086f,
+  0.32349f,  0.47411f,  1.36126f,  1.68162f,  0.91325f,  -0.27495f, 0.00262f,
+  0.06025f,  0.42832f,  0.36965f,  0.38063f,  0.32772f,  0.40914f,  0.44510f,
+  3.02239f,  -1.84077f, 0.49536f,  -0.27340f, -0.10437f, -0.34293f, -0.08047f,
+  -0.29651f, -0.97111f, -0.34187f, 0.52869f,  1.27240f,  1.20306f,  1.19121f,
+  1.28742f,  0.26393f,  -0.62319f, 0.92285f,  -0.08303f, -0.33118f, -0.13053f,
+  0.24875f,  -0.52089f, 0.44691f,  -1.08908f, 1.20921f,  0.36538f,  -0.46792f,
+  -0.18855f, -0.13443f, -0.28472f, -0.10353f, 0.06911f,  0.68519f,  0.08228f,
+  -0.49027f, -0.34381f, 0.04719f,  -0.33298f, 0.72525f,  0.09538f,  -0.29216f,
+  -0.07260f, -0.55827f, 0.54542f,  -0.10144f, -0.09292f, -0.14427f, -0.38361f,
+  -0.41559f, 0.75338f,  -0.04530f, 0.27944f,  0.06932f,  -0.11537f, 0.29568f,
+  1.92155f,  -0.98996f, -0.08841f, 0.49386f,  0.15947f,  0.53290f,  1.46747f,
+  0.59360f,  0.25468f,
+};
+
+static const float av1_tx_type_nn_bias_32x16_ver_layer0[16] = {
+  -1.19673f, 0.33043f,  0.24408f, 0.46221f,  2.00646f, 0.19031f,
+  -0.64944f, -0.43452f, 1.04400f, 1.47371f,  0.52460f, -1.39577f,
+  0.83852f,  -0.25536f, 1.33200f, -0.24444f,
+};
+
+static const float av1_tx_type_nn_weights_32x16_ver_layer1[64] = {
+  -1.31447f, -0.86455f, 0.85217f,  1.00048f,  0.37395f, -1.35713f, -0.54032f,
+  0.82803f,  0.89606f,  1.57696f,  0.68067f,  0.42512f, -0.26250f, 0.14621f,
+  0.93249f,  -0.77690f, -0.93652f, -0.44488f, 0.68360f, -0.88178f, 1.89111f,
+  0.67700f,  -0.29310f, 0.91604f,  -1.21881f, 1.11188f, 0.45045f,  -0.86119f,
+  -0.09294f, 0.09360f,  0.80794f,  0.41027f,  1.80399f, -0.50362f, -1.44689f,
+  0.85148f,  0.90707f,  -0.18458f, 0.14165f,  1.17367f, 0.70869f,  1.57147f,
+  0.24692f,  0.16626f,  0.56794f,  0.07313f,  0.14728f, -0.74296f, 1.74127f,
+  1.26560f,  0.17753f,  1.10194f,  0.56435f,  1.73779f, 1.42841f,  -1.16773f,
+  0.24584f,  0.10813f,  -0.60187f, 0.79802f,  0.75229f, -0.06112f, 1.77282f,
+  1.01058f,
+};
+
+static const float av1_tx_type_nn_bias_32x16_ver_layer1[4] = {
+  0.83082f,
+  2.03845f,
+  0.59627f,
+  2.31341f,
+};
+
+static const NN_CONFIG av1_tx_type_nnconfig_32x16_ver = {
+  8,  // num_inputs
+  4,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_type_nn_weights_32x16_ver_layer0,
+      av1_tx_type_nn_weights_32x16_ver_layer1,
+  },
+  {
+      av1_tx_type_nn_bias_32x16_ver_layer0,
+      av1_tx_type_nn_bias_32x16_ver_layer1,
+  },
+};
+/******************************************************************************/
+
+// Map tx_size to its corresponding neural net model for tx type prediction.
+static const NN_CONFIG *av1_tx_type_nnconfig_map_hor[] = {
+  &av1_tx_type_nnconfig_4x4,        // 4x4
+  &av1_tx_type_nnconfig_8x8,        // 8x8
+  &av1_tx_type_nnconfig_16x16,      // 16x16
+  NULL,                             // 32x32
+  NULL,                             // 64x64
+  &av1_tx_type_nnconfig_4x8_hor,    // 4x8
+  &av1_tx_type_nnconfig_8x4_hor,    // 8x4
+  &av1_tx_type_nnconfig_8x16_hor,   // 8x16
+  &av1_tx_type_nnconfig_16x8_hor,   // 16x8
+  &av1_tx_type_nnconfig_16x32_hor,  // 16x32
+  &av1_tx_type_nnconfig_32x16_hor,  // 32x16
+  NULL,                             // 32x64
+  NULL,                             // 64x32
+  NULL,                             // 4x16
+  NULL,                             // 16x4
+  NULL,                             // 8x32
+  NULL,                             // 32x8
+  NULL,                             // 16x64
+  NULL,                             // 64x16
+};
+
+static const NN_CONFIG *av1_tx_type_nnconfig_map_ver[] = {
+  &av1_tx_type_nnconfig_4x4,        // 4x4 transform
+  &av1_tx_type_nnconfig_8x8,        // 8x8 transform
+  &av1_tx_type_nnconfig_16x16,      // 16x16 transform
+  NULL,                             // 32x32 transform
+  NULL,                             // 64x64 transform
+  &av1_tx_type_nnconfig_4x8_ver,    // 4x8 transform
+  &av1_tx_type_nnconfig_8x4_ver,    // 8x4 transform
+  &av1_tx_type_nnconfig_8x16_ver,   // 8x16 transform
+  &av1_tx_type_nnconfig_16x8_ver,   // 16x8 transform
+  &av1_tx_type_nnconfig_16x32_ver,  // 16x32 transform
+  &av1_tx_type_nnconfig_32x16_ver,  // 32x16 transform
+  NULL,                             // 32x64 transform
+  NULL,                             // 64x32 transform
+  NULL,                             // 4x16 transform
+  NULL,                             // 16x4 transform
+  NULL,                             // 8x32 transform
+  NULL,                             // 32x8 transform
+  NULL,                             // 16x64 transform
+  NULL,                             // 64x16 transform
+};
+
+// 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_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,
+};
+
+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,
+};
+
+static const float av1_tx_split_nn_bias_4x8_layer1[1] = {
+  -1.23037f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_4x8 = {
+  3,  // num_inputs
+  1,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_4x8_layer0,
+      av1_tx_split_nn_weights_4x8_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_4x8_layer0,
+      av1_tx_split_nn_bias_4x8_layer1,
+  },
+};
+/******************************************************************************/
+
+// 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_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_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_bias_8x8_layer1[1] = {
+  -3.58924f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_8x8 = {
+  5,  // num_inputs
+  1,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      16,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_8x8_layer0,
+      av1_tx_split_nn_weights_8x8_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_8x8_layer0,
+      av1_tx_split_nn_bias_8x8_layer1,
+  },
+};
+/******************************************************************************/
+
+// 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_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_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_bias_8x16_layer1[1] = {
+  -3.72500f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_8x16 = {
+  9,  // num_inputs
+  1,  // num_outputs
+  1,  // num_hidden_layers
+  {
+      32,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_8x16_layer0,
+      av1_tx_split_nn_weights_8x16_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_8x16_layer0,
+      av1_tx_split_nn_bias_8x16_layer1,
+  },
+};
+/******************************************************************************/
+
+// 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_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_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_bias_16x16_layer1[1] = {
+  -3.21793f,
+};
+
+static const NN_CONFIG av1_tx_split_nnconfig_16x16 = {
+  17,  // num_inputs
+  1,   // num_outputs
+  1,   // num_hidden_layers
+  {
+      64,
+  },  // num_hidden_nodes
+  {
+      av1_tx_split_nn_weights_16x16_layer0,
+      av1_tx_split_nn_weights_16x16_layer1,
+  },
+  {
+      av1_tx_split_nn_bias_16x16_layer0,
+      av1_tx_split_nn_bias_16x16_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,
 };
 
 #ifdef __cplusplus