tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

tx_prune_model_weights.h (160555B)


      1 /*
      2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
      3 *
      4 * This source code is subject to the terms of the BSD 2 Clause License and
      5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
      6 * was not distributed with this source code in the LICENSE file, you can
      7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
      8 * Media Patent License 1.0 was not distributed with this source code in the
      9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
     10 */
     11 
     12 /*! \file
     13 * Contains the details of the ML models used for pruning transform size. This
     14 * file is only included by av1/encoder/tx_search.c.
     15 */
     16 #ifndef AOM_AV1_ENCODER_TX_PRUNE_MODEL_WEIGHTS_H_
     17 #define AOM_AV1_ENCODER_TX_PRUNE_MODEL_WEIGHTS_H_
     18 
     19 #ifdef __cplusplus
     20 extern "C" {
     21 #endif
     22 
     23 #include "av1/encoder/ml.h"
     24 
     25 /***************************CONFIG_NN_V2 (New)********************************/
     26 #if CONFIG_NN_V2
     27 // Tx type model for 4x4 block.
     28 static float av1_tx_type_nn_4x4_hor_layer0_weights[32] = {
     29  -1.64947f, -1.54497f, -1.62832f, -0.17774f, -2.89498f, -0.72498f, 0.72036f,
     30  0.17996f,  1.20000f,  -0.27654f, 0.77396f,  1.21684f,  -1.75909f, -0.51272f,
     31  -1.25923f, 0.35005f,  -0.04257f, -0.23389f, -0.41841f, -0.08229f, 0.09503f,
     32  2.73144f,  -0.16875f, -0.23482f, 0.02194f,  -0.26427f, 0.28049f,  0.21260f,
     33  1.35792f,  0.27733f,  0.88660f,  -0.68304f,
     34 };
     35 
     36 static float av1_tx_type_nn_4x4_hor_layer0_bias[8] = {
     37  1.38742f, 0.59540f,  -1.37622f, 1.92114f,
     38  0.00000f, -0.38998f, -0.32726f, -0.15650f,
     39 };
     40 
     41 static float av1_tx_type_nn_4x4_hor_layer1_weights[32] = {
     42  1.65254f,  1.00915f,  -0.89318f, -2.05142f, -0.23235f, 0.96781f,  -0.37145f,
     43  -0.21056f, 1.13891f,  0.38675f,  0.87739f,  -1.42697f, 0.48015f,  0.61883f,
     44  -0.03979f, 0.11487f,  0.48042f,  0.45200f,  -0.23242f, 0.75166f,  0.55458f,
     45  0.39452f,  -0.35285f, 1.59120f,  -1.49221f, -0.48349f, -0.64692f, 1.49297f,
     46  -0.26782f, -0.65416f, -0.10648f, 0.05568f,
     47 };
     48 
     49 static float av1_tx_type_nn_4x4_hor_layer1_bias[4] = {
     50  4.07177f,
     51  3.26961f,
     52  0.58083f,
     53  1.21199f,
     54 };
     55 
     56 static float av1_tx_type_nn_4x4_hor_layer0_out[8] = { 0 };
     57 static float av1_tx_type_nn_4x4_hor_layer1_out[4] = { 0 };
     58 
     59 static NN_CONFIG_V2 av1_tx_type_nnconfig_4x4_hor = {
     60  1,  // num_hidden_layers
     61  {
     62      // fc layer setting
     63      {
     64          // layer 0
     65          4,                                      // num_inputs
     66          8,                                      // num_outputs
     67          av1_tx_type_nn_4x4_hor_layer0_weights,  // weights
     68          av1_tx_type_nn_4x4_hor_layer0_bias,     // bias
     69          RELU,                                   // activation
     70          av1_tx_type_nn_4x4_hor_layer0_out,      // output
     71          NULL,
     72          NULL,
     73          NULL,
     74      },
     75      {
     76          8,  // num_inputs (!!same as num_outputs of last layer)
     77          4,
     78          av1_tx_type_nn_4x4_hor_layer1_weights,
     79          av1_tx_type_nn_4x4_hor_layer1_bias,
     80          NONE,
     81          av1_tx_type_nn_4x4_hor_layer1_out,
     82          NULL,
     83          NULL,
     84          NULL,
     85      },
     86  },
     87  4,                                  // num_outputs
     88  av1_tx_type_nn_4x4_hor_layer1_out,  // logits (!!same as last layer output)
     89  SOFTMAX_CROSS_ENTROPY,
     90 };
     91 
     92 static float av1_tx_type_nn_4x4_ver_layer0_weights[32] = {
     93  -0.02032f, 2.61610f,  0.02098f,  -0.30217f, 0.12637f,  0.11017f,  -3.01996f,
     94  0.35144f,  1.93776f,  -0.20463f, 1.64102f,  -1.41986f, -3.66717f, -0.51655f,
     95  0.43910f,  0.37778f,  -1.02634f, 0.85337f,  -0.69753f, 1.00206f,  2.11784f,
     96  1.89427f,  1.92919f,  0.43201f,  -1.67358f, -1.67035f, -1.54623f, 0.16714f,
     97  -0.06589f, -0.28142f, -0.33118f, 1.72227f,
     98 };
     99 
    100 static float av1_tx_type_nn_4x4_ver_layer0_bias[8] = {
    101  -0.33685f, 0.22025f,  0.28140f, 0.56138f,
    102  0.93489f,  -1.77048f, 1.34989f, -0.93747f,
    103 };
    104 
    105 static float av1_tx_type_nn_4x4_ver_layer1_weights[32] = {
    106  -1.39506f, -1.06271f, -1.10886f, -1.69719f, 0.19699f,  -2.39850f, -1.26457f,
    107  0.75328f,  -1.26005f, -0.82738f, -0.12015f, -1.02702f, 1.40828f,  -2.37739f,
    108  -0.65639f, -0.71992f, -0.90453f, -1.12510f, -2.41362f, -1.16061f, -1.85577f,
    109  -0.99165f, -1.91366f, 0.16785f,  0.34776f,  0.58154f,  -0.18217f, -0.29257f,
    110  -0.86315f, -0.53336f, 0.30320f,  -1.32331f,
    111 };
    112 
    113 static float av1_tx_type_nn_4x4_ver_layer1_bias[4] = {
    114  -1.31519f,
    115  -3.26321f,
    116  1.71794f,
    117  -1.90778f,
    118 };
    119 
    120 static float av1_tx_type_nn_4x4_ver_layer0_out[8] = { 0 };
    121 static float av1_tx_type_nn_4x4_ver_layer1_out[4] = { 0 };
    122 
    123 static NN_CONFIG_V2 av1_tx_type_nnconfig_4x4_ver = {
    124  1,  // num_hidden_layers
    125  {
    126      // fc layer setting
    127      {
    128          // layer 0
    129          4,                                      // num_inputs
    130          8,                                      // num_outputs
    131          av1_tx_type_nn_4x4_ver_layer0_weights,  // weights
    132          av1_tx_type_nn_4x4_ver_layer0_bias,     // bias
    133          RELU,                                   // activation
    134          av1_tx_type_nn_4x4_ver_layer0_out,      // output
    135          NULL,
    136          NULL,
    137          NULL,
    138      },
    139      {
    140          8,  // num_inputs (!!same as num_outputs of last layer)
    141          4,
    142          av1_tx_type_nn_4x4_ver_layer1_weights,
    143          av1_tx_type_nn_4x4_ver_layer1_bias,
    144          NONE,
    145          av1_tx_type_nn_4x4_ver_layer1_out,
    146          NULL,
    147          NULL,
    148          NULL,
    149      },
    150  },
    151  4,                                  // num_outputs
    152  av1_tx_type_nn_4x4_ver_layer1_out,  // logits (!!same as last layer output)
    153  SOFTMAX_CROSS_ENTROPY,
    154 };
    155 /******************************************************************************/
    156 
    157 // Tx type model for 4x8 block.
    158 static float av1_tx_type_nn_4x8_hor_layer0_weights[32] = {
    159  0.00218f,  -0.41880f, -0.61215f, -0.92588f, 0.54291f,  -0.10898f, 0.70691f,
    160  0.46819f,  -1.61598f, -0.08834f, -0.96839f, 1.18489f,  -0.45171f, -0.65445f,
    161  -0.32179f, -0.10399f, 1.04379f,  0.91895f,  0.85589f,  0.08267f,  1.35388f,
    162  -2.03096f, 0.08168f,  -0.06372f, -0.26732f, -0.48262f, -0.08682f, 2.44071f,
    163  -1.35896f, -1.17121f, 1.68866f,  0.10357f,
    164 };
    165 
    166 static float av1_tx_type_nn_4x8_hor_layer0_bias[8] = {
    167  2.93391f,  0.66831f, -0.21419f, 0.00000f,
    168  -0.72878f, 0.15127f, -1.46755f, 0.16658f,
    169 };
    170 
    171 static float av1_tx_type_nn_4x8_hor_layer1_weights[32] = {
    172  -1.52077f, -1.06243f, 0.35319f,  -0.49207f, 0.54524f,  0.44271f, 1.37117f,
    173  -0.38957f, -1.28889f, -0.57133f, 0.04658f,  0.62278f,  0.37984f, 0.33247f,
    174  1.65547f,  -0.56806f, -1.38645f, -0.76258f, 0.67926f,  0.08783f, -0.01443f,
    175  0.34950f,  1.45812f,  -0.51332f, -1.41331f, -0.16453f, 0.05755f, 0.31405f,
    176  -0.50191f, 0.18219f,  1.83664f,  -0.75276f,
    177 };
    178 
    179 static float av1_tx_type_nn_4x8_hor_layer1_bias[4] = {
    180  -1.17455f,
    181  -2.26089f,
    182  -1.79863f,
    183  -2.26333f,
    184 };
    185 
    186 static float av1_tx_type_nn_4x8_hor_layer0_out[8] = { 0 };
    187 static float av1_tx_type_nn_4x8_hor_layer1_out[4] = { 0 };
    188 
    189 static NN_CONFIG_V2 av1_tx_type_nnconfig_4x8_hor = {
    190  1,  // num_hidden_layers
    191  {
    192      // fc layer setting
    193      {
    194          // layer 0
    195          4,                                      // num_inputs
    196          8,                                      // num_outputs
    197          av1_tx_type_nn_4x8_hor_layer0_weights,  // weights
    198          av1_tx_type_nn_4x8_hor_layer0_bias,     // bias
    199          RELU,                                   // activation
    200          av1_tx_type_nn_4x8_hor_layer0_out,      // output
    201          NULL,
    202          NULL,
    203          NULL,
    204      },
    205      {
    206          8,  // num_inputs (!!same as num_outputs of last layer)
    207          4,
    208          av1_tx_type_nn_4x8_hor_layer1_weights,
    209          av1_tx_type_nn_4x8_hor_layer1_bias,
    210          NONE,
    211          av1_tx_type_nn_4x8_hor_layer1_out,
    212          NULL,
    213          NULL,
    214          NULL,
    215      },
    216  },
    217  4,                                  // num_outputs
    218  av1_tx_type_nn_4x8_hor_layer1_out,  // logits (!!same as last layer output)
    219  SOFTMAX_CROSS_ENTROPY,
    220 };
    221 
    222 static float av1_tx_type_nn_4x8_ver_layer0_weights[128] = {
    223  -0.00952f, -0.98858f, -0.93181f, 1.39594f,  0.96559f,  0.18162f,  -0.76064f,
    224  -0.06066f, 0.07907f,  -0.09365f, -0.21313f, -0.02187f, -2.61707f, -2.68702f,
    225  -0.10982f, 0.18559f,  1.17049f,  1.11387f,  1.12697f,  1.05804f,  1.12764f,
    226  1.06318f,  1.12052f,  0.17406f,  1.83157f,  0.19362f,  0.46910f,  0.39608f,
    227  0.33342f,  0.40083f,  0.27645f,  1.06864f,  -4.06645f, -0.38775f, -0.11070f,
    228  0.03781f,  -0.09141f, 0.06185f,  -0.04852f, 0.20163f,  0.16784f,  0.16641f,
    229  -0.50941f, -0.61087f, 2.07008f,  -0.82381f, -0.85558f, 0.05528f,  -0.10535f,
    230  -2.81150f, 0.67038f,  0.43643f,  0.49062f,  -0.04465f, 0.90438f,  0.00977f,
    231  0.46272f,  1.59751f,  0.95234f,  0.35086f,  0.85624f,  0.73149f,  1.67779f,
    232  -2.21511f, -1.24746f, -1.09014f, -0.92441f, -1.22591f, -1.06961f, -0.95897f,
    233  -1.24956f, 0.73797f,  1.23275f,  -0.60064f, -0.07851f, 0.14397f,  0.22110f,
    234  -0.04422f, 0.14350f,  0.75926f,  0.35032f,  0.48104f,  2.81408f,  0.34662f,
    235  0.42090f,  0.35521f,  -1.36804f, -0.14974f, -0.47696f, -0.07892f, 0.36910f,
    236  0.32299f,  0.23916f,  0.06032f,  -0.17844f, -0.17558f, -1.42746f, -0.55828f,
    237  -1.00418f, -0.64823f, -0.73654f, -0.85197f, -1.50989f, 1.69385f,  -0.04973f,
    238  -0.09273f, 1.04249f,  0.79235f,  1.13229f,  0.99617f,  0.03851f,  0.56334f,
    239  0.90795f,  1.08296f,  0.58519f,  1.74765f,  0.63971f,  1.35951f,  0.07803f,
    240  -0.05127f, 0.26514f,  -0.84629f, -0.66343f, -2.10630f, 0.11017f,  2.18528f,
    241  -0.21958f, 0.05970f,
    242 };
    243 
    244 static float av1_tx_type_nn_4x8_ver_layer0_bias[16] = {
    245  0.04205f, 0.22260f, -1.03870f, -1.19568f, 0.44283f,  0.01143f,
    246  0.00235f, 4.26772f, 0.44364f,  -0.33199f, -0.39076f, -0.35129f,
    247  0.08288f, 0.18195f, -0.79890f, 0.10047f,
    248 };
    249 
    250 static float av1_tx_type_nn_4x8_ver_layer1_weights[64] = {
    251  -0.38193f, -0.12095f, 1.57802f,  0.34932f,  -0.47333f, -0.12304f, -0.01736f,
    252  -2.52445f, 0.18983f,  -0.64707f, -0.60889f, -0.53750f, 0.91666f,  -0.62823f,
    253  -0.13377f, -0.43594f, -0.38618f, -0.01328f, 0.97457f,  1.48589f,  -1.03238f,
    254  -0.33459f, -0.35108f, -2.42417f, 0.60229f,  0.06824f,  -0.75495f, 0.26902f,
    255  0.65311f,  -0.23887f, -0.44604f, -0.55800f, -0.33842f, 0.04259f,  -0.59589f,
    256  0.49738f,  -0.62301f, -0.30896f, -0.29602f, -2.57052f, 2.00943f,  -0.66490f,
    257  -0.76312f, 0.28256f,  1.06311f,  -0.38364f, -0.63508f, -0.57609f, -0.88765f,
    258  -1.04403f, -0.46531f, 0.34084f,  -1.20498f, -0.68352f, -0.72251f, -2.63242f,
    259  -0.68736f, -0.37904f, -1.32371f, 0.47288f,  1.51904f,  0.78372f,  -1.01830f,
    260  -1.01848f,
    261 };
    262 
    263 static float av1_tx_type_nn_4x8_ver_layer1_bias[4] = {
    264  -1.45955f,
    265  -2.08949f,
    266  -1.24813f,
    267  -1.55368f,
    268 };
    269 
    270 static float av1_tx_type_nn_4x8_ver_layer0_out[16] = { 0 };
    271 static float av1_tx_type_nn_4x8_ver_layer1_out[4] = { 0 };
    272 
    273 static NN_CONFIG_V2 av1_tx_type_nnconfig_4x8_ver = {
    274  1,  // num_hidden_layers
    275  {
    276      // fc layer setting
    277      {
    278          // layer 0
    279          8,                                      // num_inputs
    280          16,                                     // num_outputs
    281          av1_tx_type_nn_4x8_ver_layer0_weights,  // weights
    282          av1_tx_type_nn_4x8_ver_layer0_bias,     // bias
    283          RELU,                                   // activation
    284          av1_tx_type_nn_4x8_ver_layer0_out,      // output
    285          NULL,
    286          NULL,
    287          NULL,
    288      },
    289      {
    290          16,  // num_inputs (!!same as num_outputs of last layer)
    291          4,
    292          av1_tx_type_nn_4x8_ver_layer1_weights,
    293          av1_tx_type_nn_4x8_ver_layer1_bias,
    294          NONE,
    295          av1_tx_type_nn_4x8_ver_layer1_out,
    296          NULL,
    297          NULL,
    298          NULL,
    299      },
    300  },
    301  4,                                  // num_outputs
    302  av1_tx_type_nn_4x8_ver_layer1_out,  // logits (!!same as last layer output)
    303  SOFTMAX_CROSS_ENTROPY,
    304 };
    305 
    306 /******************************************************************************/
    307 
    308 // Tx type model for 8x4 block.
    309 static float av1_tx_type_nn_8x4_hor_layer0_weights[128] = {
    310  -0.22492f, 0.13341f,  -4.03243f, -0.64015f, 0.02783f,  0.60466f,  -0.13335f,
    311  0.16828f,  0.12336f,  0.52904f,  1.18455f,  -0.32425f, 0.13052f,  0.93810f,
    312  -3.71165f, 0.02990f,  -4.63558f, 0.05666f,  0.03524f,  -0.07449f, -0.44006f,
    313  -0.33215f, -0.33713f, 0.08097f,  0.60873f,  0.29582f,  0.21696f,  -0.78729f,
    314  -0.16757f, -0.26567f, -0.00720f, -1.11226f, 1.58189f,  1.58463f,  1.48536f,
    315  1.54374f,  1.60069f,  1.46125f,  1.53932f,  0.05974f,  -1.82192f, 0.47043f,
    316  0.38090f,  0.20833f,  -0.05637f, 0.05183f,  0.01323f,  -0.25662f, 0.78634f,
    317  -0.55069f, -0.02975f, -1.29294f, -0.77192f, -2.34299f, -1.28074f, 0.77894f,
    318  -1.69740f, -1.66032f, -1.44323f, -1.55063f, -1.50845f, -1.23690f, -1.80663f,
    319  0.75079f,  2.32551f,  0.05878f,  0.80438f,  0.88584f,  0.69153f,  0.89060f,
    320  0.73660f,  0.87259f,  -0.00745f, -1.30044f, -0.59430f, 2.07270f,  1.03307f,
    321  -0.84697f, -1.19393f, 0.17549f,  -0.24978f, -3.67234f, 0.20781f,  -0.53946f,
    322  -0.05068f, 0.88274f,  1.30371f,  0.10288f,  0.07585f,  0.12259f,  -0.30815f,
    323  0.25437f,  -2.82096f, -2.69482f, 0.02370f,  0.12500f,  -0.21019f, -0.49220f,
    324  0.03638f,  -0.29795f, 0.28645f,  -0.48432f, -0.38584f, -0.32148f, -0.47197f,
    325  0.32437f,  0.32528f,  -0.19437f, 0.30383f,  -0.31879f, 0.26359f,  -0.12164f,
    326  -0.43647f, -0.08288f, -0.33438f, -0.63608f, -0.46647f, -0.46574f, 0.47806f,
    327  -0.49012f, -1.51234f, -1.13502f, -1.20470f, -1.02913f, -1.09182f, -0.93921f,
    328  -1.85523f, 0.92532f,
    329 };
    330 
    331 static float av1_tx_type_nn_8x4_hor_layer0_bias[16] = {
    332  0.36631f,  0.02901f,  0.64305f,  1.53074f, -1.40229f, 0.03852f,
    333  -0.05043f, 0.89632f,  -1.23312f, 0.07036f, 0.17070f,  0.56250f,
    334  -0.28958f, -0.32869f, -0.01704f, 0.68171f,
    335 };
    336 
    337 static float av1_tx_type_nn_8x4_hor_layer1_weights[64] = {
    338  -0.49441f, -0.31960f, -0.84946f, -0.85800f, -2.37767f, 0.81373f,  -0.73172f,
    339  -0.69337f, 0.88807f,  -0.49242f, -0.44717f, -0.11436f, 0.09978f,  0.15393f,
    340  0.17083f,  1.44850f,  -0.20582f, -0.04906f, 0.42990f,  -0.61939f, -1.09692f,
    341  -1.14885f, -1.36879f, -1.30828f, -0.59558f, -0.30903f, -0.08906f, 0.06953f,
    342  0.15383f,  -0.04193f, -0.54858f, 1.82676f,  -0.22411f, 0.05264f,  -0.45848f,
    343  -0.72985f, 0.87553f,  0.04116f,  -1.29774f, -2.63018f, 1.09089f,  -0.36048f,
    344  -0.16725f, 0.11627f,  0.49918f,  0.07539f,  0.00763f,  0.73706f,  0.87800f,
    345  0.57049f,  0.60969f,  1.02779f,  1.53339f,  -0.35915f, 0.06410f,  1.44582f,
    346  0.09698f,  0.71888f,  0.60594f,  0.84103f,  -0.50440f, -0.38825f, 0.15626f,
    347  -1.10654f,
    348 };
    349 
    350 static float av1_tx_type_nn_8x4_hor_layer1_bias[4] = {
    351  -0.92861f,
    352  -1.45151f,
    353  -1.33588f,
    354  -4.33853f,
    355 };
    356 
    357 static float av1_tx_type_nn_8x4_hor_layer0_out[16] = { 0 };
    358 static float av1_tx_type_nn_8x4_hor_layer1_out[4] = { 0 };
    359 
    360 static NN_CONFIG_V2 av1_tx_type_nnconfig_8x4_hor = {
    361  1,  // num_hidden_layers
    362  {
    363      // fc layer setting
    364      {
    365          // layer 0
    366          8,                                      // num_inputs
    367          16,                                     // num_outputs
    368          av1_tx_type_nn_8x4_hor_layer0_weights,  // weights
    369          av1_tx_type_nn_8x4_hor_layer0_bias,     // bias
    370          RELU,                                   // activation
    371          av1_tx_type_nn_8x4_hor_layer0_out,      // output
    372          NULL,
    373          NULL,
    374          NULL,
    375      },
    376      {
    377          16,  // num_inputs (!!same as num_outputs of last layer)
    378          4,
    379          av1_tx_type_nn_8x4_hor_layer1_weights,
    380          av1_tx_type_nn_8x4_hor_layer1_bias,
    381          NONE,
    382          av1_tx_type_nn_8x4_hor_layer1_out,
    383          NULL,
    384          NULL,
    385          NULL,
    386      },
    387  },
    388  4,                                  // num_outputs
    389  av1_tx_type_nn_8x4_hor_layer1_out,  // logits (!!same as last layer output)
    390  SOFTMAX_CROSS_ENTROPY,
    391 };
    392 
    393 static float av1_tx_type_nn_8x4_ver_layer0_weights[32] = {
    394  -1.10946f, 1.86574f,  -1.59343f, 0.27018f, -1.70676f, -0.73982f, -0.19021f,
    395  -1.94208f, -2.29759f, -1.44402f, 0.28700f, -1.18340f, -1.50158f, -0.44175f,
    396  -1.36831f, 1.00374f,  2.59312f,  0.50291f, -0.71042f, -0.12238f, -0.15901f,
    397  -0.22807f, -0.67376f, -0.30215f, 0.54407f, -0.45538f, 1.18262f,  2.28687f,
    398  1.66212f,  1.70826f,  1.55182f,  0.12230f,
    399 };
    400 
    401 static float av1_tx_type_nn_8x4_ver_layer0_bias[8] = {
    402  0.10943f,  2.09789f, 2.16578f, 0.15766f,
    403  -0.42461f, 0.00000f, 1.22090f, -1.28717f,
    404 };
    405 
    406 static float av1_tx_type_nn_8x4_ver_layer1_weights[32] = {
    407  1.20426f,  -1.23237f, 2.41053f, -0.72488f, 1.25249f,  0.18018f,  -0.09586f,
    408  2.17901f,  0.15364f,  1.21535f, -0.38263f, -0.74309f, 0.50551f,  -0.54208f,
    409  0.59139f,  1.16095f,  0.55919f, -0.60183f, 1.18949f,  1.60787f,  0.54002f,
    410  -0.10712f, -0.16153f, 0.16207f, -0.32338f, 2.68712f,  -2.83483f, -0.27086f,
    411  -1.15005f, -0.39311f, 1.51236f, -1.68973f,
    412 };
    413 
    414 static float av1_tx_type_nn_8x4_ver_layer1_bias[4] = {
    415  1.81013f,
    416  1.10517f,
    417  2.90059f,
    418  0.95391f,
    419 };
    420 
    421 static float av1_tx_type_nn_8x4_ver_layer0_out[8] = { 0 };
    422 static float av1_tx_type_nn_8x4_ver_layer1_out[4] = { 0 };
    423 
    424 static NN_CONFIG_V2 av1_tx_type_nnconfig_8x4_ver = {
    425  1,  // num_hidden_layers
    426  {
    427      // fc layer setting
    428      {
    429          // layer 0
    430          4,                                      // num_inputs
    431          8,                                      // num_outputs
    432          av1_tx_type_nn_8x4_ver_layer0_weights,  // weights
    433          av1_tx_type_nn_8x4_ver_layer0_bias,     // bias
    434          RELU,                                   // activation
    435          av1_tx_type_nn_8x4_ver_layer0_out,      // output
    436          NULL,
    437          NULL,
    438          NULL,
    439      },
    440      {
    441          8,  // num_inputs (!!same as num_outputs of last layer)
    442          4,
    443          av1_tx_type_nn_8x4_ver_layer1_weights,
    444          av1_tx_type_nn_8x4_ver_layer1_bias,
    445          NONE,
    446          av1_tx_type_nn_8x4_ver_layer1_out,
    447          NULL,
    448          NULL,
    449          NULL,
    450      },
    451  },
    452  4,                                  // num_outputs
    453  av1_tx_type_nn_8x4_ver_layer1_out,  // logits (!!same as last layer output)
    454  SOFTMAX_CROSS_ENTROPY,
    455 };
    456 /******************************************************************************/
    457 
    458 // Tx type model for 8x8 block.
    459 static float av1_tx_type_nn_8x8_hor_layer0_weights[128] = {
    460  -0.85529f, 0.37619f,  0.12754f,  0.08622f,  0.45278f,  0.54929f,  1.60651f,
    461  -0.62654f, -0.54929f, -0.10131f, -0.17569f, 0.13948f,  0.31695f,  -0.05616f,
    462  0.20483f,  -0.36448f, 2.27203f,  -0.33087f, 0.47679f,  0.86888f,  0.39370f,
    463  0.46239f,  0.01113f,  1.50327f,  -1.48226f, -1.69621f, -1.49777f, -1.38885f,
    464  -1.37753f, -1.22681f, -1.70576f, 0.51329f,  -1.65662f, 1.74197f,  -0.13579f,
    465  -0.13133f, -0.58396f, -0.55510f, -1.10709f, -2.34975f, 0.22445f,  -0.56491f,
    466  -0.83432f, 0.13492f,  1.32147f,  2.85285f,  0.13819f,  0.03792f,  -1.30792f,
    467  0.04155f,  -0.70644f, -0.43430f, -0.16212f, -0.86945f, -1.16976f, 1.68339f,
    468  0.29540f,  0.01137f,  -0.25335f, -0.16856f, 0.12028f,  0.05207f,  0.39357f,
    469  -0.01545f, -0.21980f, -1.94091f, -1.01315f, -0.68270f, -0.40590f, -0.67111f,
    470  2.08283f,  0.19291f,  -4.81426f, -0.65044f, -0.24598f, 0.06371f,  -0.10272f,
    471  -0.14502f, -0.06821f, 0.45202f,  0.21091f,  -0.80864f, 0.39255f,  1.79189f,
    472  1.80453f,  1.10484f,  1.17608f,  0.96901f,  -0.35871f, -0.94311f, 0.63147f,
    473  2.95157f,  0.45917f,  -0.42849f, -0.55643f, -0.06097f, 3.49299f,  -0.50972f,
    474  0.11075f,  -0.08405f, -0.09274f, -0.22694f, -0.42426f, 0.48632f,  -1.61074f,
    475  1.82998f,  0.37623f,  -1.20330f, -0.01142f, -1.33307f, -0.27492f, -2.23621f,
    476  1.38846f,  1.42085f,  1.42568f,  1.36152f,  1.46910f,  1.27473f,  1.34752f,
    477  0.12753f,  -1.08197f, -1.08280f, -0.79489f, -1.12338f, -1.06795f, -0.87857f,
    478  -0.99892f, 1.09823f,
    479 };
    480 
    481 static float av1_tx_type_nn_8x8_hor_layer0_bias[16] = {
    482  -0.49232f, -0.29685f, -1.44020f, 1.10940f,  1.16452f, -0.34862f,
    483  -0.38761f, -0.36243f, 0.21776f,  0.28234f,  2.34269f, -0.04104f,
    484  -0.26319f, 2.65579f,  -1.30137f, -0.01487f,
    485 };
    486 
    487 static float av1_tx_type_nn_8x8_hor_layer1_weights[64] = {
    488  -0.38058f, -0.41295f, -1.26884f, -0.75560f, -1.57450f, 0.56072f,  -1.42322f,
    489  -0.29106f, 0.07228f,  0.04391f,  1.61388f,  -0.03055f, 0.81637f,  2.06045f,
    490  0.27119f,  -0.48328f, -0.45528f, -0.60534f, -1.61209f, -0.78157f, -1.65034f,
    491  0.60958f,  -1.30523f, 0.25143f,  0.11398f,  0.37860f,  1.54829f,  0.02309f,
    492  0.67288f,  2.11447f,  0.44845f,  -0.70406f, -0.67897f, -0.38759f, -1.30383f,
    493  -1.22646f, -1.54571f, 0.60552f,  -1.52565f, 0.11469f,  0.17344f,  0.08622f,
    494  1.57906f,  -0.00909f, 0.81634f,  2.04909f,  1.26466f,  -1.45741f, -0.75229f,
    495  0.06200f,  -1.05835f, -0.66257f, -1.73766f, 0.99923f,  -1.87082f, 0.14580f,
    496  0.49525f,  0.46839f,  1.32203f,  0.33923f,  0.97001f,  2.38584f,  1.58811f,
    497  0.06161f,
    498 };
    499 
    500 static float av1_tx_type_nn_8x8_hor_layer1_bias[4] = {
    501  1.70385f,
    502  1.82373f,
    503  1.78496f,
    504  1.80826f,
    505 };
    506 
    507 static float av1_tx_type_nn_8x8_hor_layer0_out[16] = { 0 };
    508 static float av1_tx_type_nn_8x8_hor_layer1_out[4] = { 0 };
    509 
    510 static NN_CONFIG_V2 av1_tx_type_nnconfig_8x8_hor = {
    511  1,  // num_hidden_layers
    512  {
    513      // fc layer setting
    514      {
    515          // layer 0
    516          8,                                      // num_inputs
    517          16,                                     // num_outputs
    518          av1_tx_type_nn_8x8_hor_layer0_weights,  // weights
    519          av1_tx_type_nn_8x8_hor_layer0_bias,     // bias
    520          RELU,                                   // activation
    521          av1_tx_type_nn_8x8_hor_layer0_out,      // output
    522          NULL,
    523          NULL,
    524          NULL,
    525      },
    526      {
    527          16,  // num_inputs (!!same as num_outputs of last layer)
    528          4,
    529          av1_tx_type_nn_8x8_hor_layer1_weights,
    530          av1_tx_type_nn_8x8_hor_layer1_bias,
    531          NONE,
    532          av1_tx_type_nn_8x8_hor_layer1_out,
    533          NULL,
    534          NULL,
    535          NULL,
    536      },
    537  },
    538  4,                                  // num_outputs
    539  av1_tx_type_nn_8x8_hor_layer1_out,  // logits (!!same as last layer output)
    540  SOFTMAX_CROSS_ENTROPY,
    541 };
    542 
    543 static float av1_tx_type_nn_8x8_ver_layer0_weights[128] = {
    544  -0.67016f, -1.72366f, -1.86576f, -1.50962f, -1.70419f, -1.73964f, -1.84615f,
    545  2.09681f,  -0.05081f, -0.61030f, 2.02541f,  0.60222f,  0.99936f,  2.02114f,
    546  -0.53893f, -0.23757f, 0.73566f,  0.25443f,  0.00132f,  -0.74036f, -0.75351f,
    547  -0.76964f, -1.71007f, -0.15770f, 1.60982f,  2.17638f,  0.90681f,  0.64973f,
    548  0.85914f,  0.58786f,  -1.46228f, 0.05187f,  1.18804f,  0.30850f,  0.29512f,
    549  0.40526f,  0.37635f,  0.32311f,  0.37471f,  1.12346f,  3.41856f,  -0.36653f,
    550  0.42537f,  -0.19240f, 0.00155f,  0.30826f,  -0.02116f, -0.53435f, -0.34829f,
    551  -0.52466f, -0.11521f, -0.29163f, -2.05689f, -2.87372f, -0.62626f, 0.09585f,
    552  -0.75257f, 0.10057f,  1.43474f,  0.89450f,  0.75900f,  1.11147f,  1.00558f,
    553  0.25886f,  2.22095f,  -0.17926f, 0.57161f,  0.39546f,  0.47846f,  0.40452f,
    554  0.54298f,  0.45814f,  -3.62788f, -3.02374f, 0.03716f,  -0.13937f, -0.09415f,
    555  -0.12463f, 0.05682f,  0.03672f,  1.20746f,  1.25003f,  1.27071f,  1.31883f,
    556  1.27473f,  1.34943f,  1.23158f,  0.09039f,  0.19388f,  0.63420f,  2.79612f,
    557  0.93803f,  -0.11323f, -0.02027f, 0.41286f,  -0.05979f, -3.80705f, -0.52451f,
    558  -0.77098f, -0.68132f, -0.65559f, -0.60975f, -1.26165f, 0.25582f,  0.05346f,
    559  0.61403f,  0.32140f,  -2.39831f, -1.42355f, 1.30541f,  1.02361f,  0.12930f,
    560  -1.61469f, -0.77036f, -0.59144f, 1.27769f,  1.52068f,  0.82137f,  1.83159f,
    561  -0.66626f, -0.69806f, -1.00564f, -0.85995f, -0.90889f, -0.84412f, -0.85712f,
    562  -1.29848f, 0.39308f,
    563 };
    564 
    565 static float av1_tx_type_nn_8x8_ver_layer0_bias[16] = {
    566  -0.14868f, -0.48343f, 3.94416f,  -0.78037f, -1.33789f, -0.60611f,
    567  0.51793f,  0.44030f,  -0.71563f, 0.22561f,  -1.19083f, -0.46149f,
    568  0.83015f,  0.06024f,  1.17180f,  0.65122f,
    569 };
    570 
    571 static float av1_tx_type_nn_8x8_ver_layer1_weights[64] = {
    572  -1.42711f, -0.21683f, 2.12061f,  0.20489f,  -0.50228f, -0.24770f, 0.23391f,
    573  1.03470f,  -0.44847f, -0.63225f, -0.21583f, -0.06467f, -0.21892f, -0.07786f,
    574  1.43322f,  0.00280f,  -1.53057f, -0.18912f, 1.95333f,  0.31151f,  -2.07601f,
    575  0.06776f,  0.25529f,  0.94800f,  -1.11453f, -0.20594f, -0.13281f, 0.01485f,
    576  0.17650f,  -0.07955f, 1.43734f,  -0.23193f, -2.06463f, -0.21238f, 2.13707f,
    577  0.30351f,  0.27594f,  -0.36245f, 0.19539f,  0.91045f,  -0.24068f, -0.37616f,
    578  0.88792f,  0.02947f,  -0.16903f, -0.04932f, 1.51293f,  -0.95967f, -1.62903f,
    579  0.05326f,  2.30703f,  0.64445f,  -1.09464f, -0.16623f, 1.00240f,  0.07548f,
    580  -0.50406f, 0.63854f,  1.02340f,  0.49833f,  0.13671f,  0.26722f,  2.09516f,
    581  -0.41305f,
    582 };
    583 
    584 static float av1_tx_type_nn_8x8_ver_layer1_bias[4] = {
    585  2.14067f,
    586  2.76699f,
    587  2.04233f,
    588  1.34803f,
    589 };
    590 
    591 static float av1_tx_type_nn_8x8_ver_layer0_out[16] = { 0 };
    592 static float av1_tx_type_nn_8x8_ver_layer1_out[4] = { 0 };
    593 
    594 static NN_CONFIG_V2 av1_tx_type_nnconfig_8x8_ver = {
    595  1,  // num_hidden_layers
    596  {
    597      // fc layer setting
    598      {
    599          // layer 0
    600          8,                                      // num_inputs
    601          16,                                     // num_outputs
    602          av1_tx_type_nn_8x8_ver_layer0_weights,  // weights
    603          av1_tx_type_nn_8x8_ver_layer0_bias,     // bias
    604          RELU,                                   // activation
    605          av1_tx_type_nn_8x8_ver_layer0_out,      // output
    606          NULL,
    607          NULL,
    608          NULL,
    609      },
    610      {
    611          16,  // num_inputs (!!same as num_outputs of last layer)
    612          4,
    613          av1_tx_type_nn_8x8_ver_layer1_weights,
    614          av1_tx_type_nn_8x8_ver_layer1_bias,
    615          NONE,
    616          av1_tx_type_nn_8x8_ver_layer1_out,
    617          NULL,
    618          NULL,
    619          NULL,
    620      },
    621  },
    622  4,                                  // num_outputs
    623  av1_tx_type_nn_8x8_ver_layer1_out,  // logits (!!same as last layer output)
    624  SOFTMAX_CROSS_ENTROPY,
    625 };
    626 /******************************************************************************/
    627 
    628 // Tx type model for 8x16 block.
    629 static float av1_tx_type_nn_8x16_hor_layer0_weights[128] = {
    630  -1.61872f, -1.58520f, -1.41236f, -1.53255f, -1.59794f, -1.25769f, -1.90043f,
    631  0.73431f,  1.10135f,  0.47054f,  0.43230f,  -0.43009f, -0.09135f, -0.07289f,
    632  -0.38785f, 1.23775f,  -0.35312f, 0.73789f,  0.88864f,  0.75957f,  0.62579f,
    633  0.46974f,  0.21851f,  1.63821f,  -2.27289f, -0.68522f, -0.69814f, -0.84368f,
    634  -0.91320f, -0.63055f, -1.03296f, 0.55778f,  -0.00071f, 1.27539f,  1.60068f,
    635  1.40975f,  0.97372f,  0.92843f,  1.90853f,  0.12626f,  1.71953f,  1.41978f,
    636  -0.12234f, -1.27058f, 0.76207f,  0.02495f,  -0.67038f, -0.05255f, 1.72923f,
    637  1.47630f,  1.47058f,  1.47614f,  1.49354f,  1.66131f,  1.50801f,  0.17145f,
    638  -2.30947f, -2.10850f, -1.25636f, -0.24900f, 0.72602f,  1.26572f,  0.97865f,
    639  -0.65466f, 1.31129f,  0.26916f,  0.12139f,  -0.12761f, -0.39143f, -0.28134f,
    640  0.06584f,  2.24418f,  0.22516f,  0.05011f,  -0.01671f, -0.29476f, -0.40326f,
    641  0.21138f,  -0.11573f, -0.31154f, -0.36828f, 0.03694f,  -0.07172f, -0.63419f,
    642  -3.14351f, -1.23125f, 0.65311f,  -0.11406f, 1.97287f,  -0.10422f, 0.83896f,
    643  0.85033f,  0.49724f,  0.80482f,  0.51454f,  1.06447f,  0.76693f,  0.72599f,
    644  -0.78573f, -0.53950f, 0.40894f,  0.00086f,  0.10784f,  -0.70498f, 1.16395f,
    645  1.14597f,  1.13496f,  1.12177f,  1.02100f,  -1.37574f, -2.97144f, 0.33899f,
    646  0.42013f,  0.86327f,  2.31983f,  2.04008f,  0.95503f,  0.15081f,  0.11530f,
    647  -0.02574f, -4.77119f, 0.13257f,  -0.01704f, -0.23087f, -0.00825f, 0.07029f,
    648  -0.28136f, 0.42556f,
    649 };
    650 
    651 static float av1_tx_type_nn_8x16_hor_layer0_bias[16] = {
    652  0.93617f,  -0.24000f, -1.26821f, 0.78780f,  0.13690f, -0.21948f,
    653  -1.45162f, 0.44584f,  -1.92582f, -0.23169f, 0.56004f, -1.19937f,
    654  1.81560f,  -1.02643f, -0.81690f, 0.08302f,
    655 };
    656 
    657 static float av1_tx_type_nn_8x16_hor_layer1_weights[64] = {
    658  0.06696f,  -0.11538f, -1.42029f, 0.32965f,  0.81046f,  0.01146f,  1.20945f,
    659  -0.16899f, 0.53224f,  -0.40232f, 0.01786f,  -0.73242f, 1.29750f,  1.95185f,
    660  0.70143f,  1.43287f,  0.76220f,  0.79937f,  -1.79011f, -1.15178f, 0.42526f,
    661  -0.67519f, 0.77267f,  -0.30697f, 2.46004f,  -0.49828f, 0.02875f,  1.09972f,
    662  1.47662f,  0.61719f,  0.61417f,  -0.12363f, 2.53048f,  0.00418f,  -1.38964f,
    663  0.88117f,  0.39239f,  -0.19347f, -2.58600f, -0.33715f, 1.09323f,  -0.32127f,
    664  0.02456f,  -0.19125f, 1.12728f,  0.66502f,  0.34296f,  1.14897f,  0.29967f,
    665  1.19209f,  0.22108f,  -0.11975f, 1.49776f,  -1.34624f, -2.58478f, -1.34632f,
    666  1.53207f,  0.45634f,  -1.48476f, 0.17489f,  0.71790f,  -2.12086f, -1.21778f,
    667  -1.31243f,
    668 };
    669 
    670 static float av1_tx_type_nn_8x16_hor_layer1_bias[4] = {
    671  0.83359f,
    672  1.06875f,
    673  1.77645f,
    674  1.49570f,
    675 };
    676 
    677 static float av1_tx_type_nn_8x16_hor_layer0_out[16] = { 0 };
    678 static float av1_tx_type_nn_8x16_hor_layer1_out[4] = { 0 };
    679 
    680 static NN_CONFIG_V2 av1_tx_type_nnconfig_8x16_hor = {
    681  1,  // num_hidden_layers
    682  {
    683      // fc layer setting
    684      {
    685          // layer 0
    686          8,                                       // num_inputs
    687          16,                                      // num_outputs
    688          av1_tx_type_nn_8x16_hor_layer0_weights,  // weights
    689          av1_tx_type_nn_8x16_hor_layer0_bias,     // bias
    690          RELU,                                    // activation
    691          av1_tx_type_nn_8x16_hor_layer0_out,      // output
    692          NULL,
    693          NULL,
    694          NULL,
    695      },
    696      {
    697          16,  // num_inputs (!!same as num_outputs of last layer)
    698          4,
    699          av1_tx_type_nn_8x16_hor_layer1_weights,
    700          av1_tx_type_nn_8x16_hor_layer1_bias,
    701          NONE,
    702          av1_tx_type_nn_8x16_hor_layer1_out,
    703          NULL,
    704          NULL,
    705          NULL,
    706      },
    707  },
    708  4,                                   // num_outputs
    709  av1_tx_type_nn_8x16_hor_layer1_out,  // logits (!!same as last layer output)
    710  SOFTMAX_CROSS_ENTROPY,
    711 };
    712 
    713 static float av1_tx_type_nn_8x16_ver_layer0_weights[128] = {
    714  0.32858f,  -1.28887f, 0.25632f,  -0.05262f, 2.69203f,  -0.07004f, 1.37337f,
    715  -0.05725f, -0.05659f, 0.05592f,  0.01039f,  -0.29343f, 1.58628f,  -0.30003f,
    716  -3.43118f, 0.00272f,  1.70928f,  -0.76348f, 0.05889f,  -0.03263f, -0.07724f,
    717  0.03523f,  -0.19890f, 1.18005f,  -0.03605f, -0.20530f, -4.00733f, 0.10210f,
    718  -0.05368f, -0.17650f, -0.15317f, 0.06499f,  0.56705f,  1.04341f,  0.62890f,
    719  0.73451f,  -0.22199f, 0.86659f,  0.78443f,  -0.61664f, -0.50606f, 0.30247f,
    720  0.14455f,  0.39276f,  0.49203f,  0.65019f,  0.12269f,  1.64080f,  1.68289f,
    721  1.42694f,  1.60825f,  1.58501f,  1.47252f,  1.62589f,  1.48218f,  0.17726f,
    722  -0.04884f, 0.35376f,  -0.04796f, 0.32589f,  0.35087f,  0.35258f,  -0.46103f,
    723  -0.31176f, -0.05203f, 0.07247f,  -0.26756f, 0.22019f,  0.03412f,  0.33773f,
    724  0.29811f,  -0.11140f, 0.12831f,  -0.44673f, -0.09858f, 0.07889f,  0.15137f,
    725  0.00347f,  -0.23394f, 0.08886f,  -0.31201f, -0.79912f, -0.51092f, 0.14123f,
    726  -1.09599f, -4.26020f, -0.68675f, -0.02842f, -1.54538f, -1.28977f, -1.30558f,
    727  -1.21074f, -1.37142f, -1.14743f, -1.85397f, 0.82985f,  -0.30681f, 0.04494f,
    728  -0.24023f, -4.18053f, -0.16096f, -0.55492f, -0.27882f, 0.05829f,  -0.41224f,
    729  -2.52088f, -0.56162f, -1.04547f, -1.70685f, -0.28842f, -1.43673f, -0.01468f,
    730  -3.20585f, -0.69120f, -0.43931f, -0.46270f, -0.65885f, -0.55884f, -0.75138f,
    731  0.36381f,  -5.70858f, -0.14548f, -0.15745f, -0.11812f, -0.07605f, -0.07693f,
    732  -0.12236f, 0.16075f,
    733 };
    734 
    735 static float av1_tx_type_nn_8x16_ver_layer0_bias[16] = {
    736  -0.35385f, 0.30491f,  -0.90011f, 0.42941f,  1.20928f, -0.88331f,
    737  -1.48818f, -0.34785f, -0.32668f, -0.22695f, 0.89188f, 0.65521f,
    738  0.57598f,  0.99819f,  0.75175f,  0.17044f,
    739 };
    740 
    741 static float av1_tx_type_nn_8x16_ver_layer1_weights[64] = {
    742  -0.62913f, -0.34304f, 0.42963f,  -0.17440f, -1.44092f, 0.69142f,  -1.36067f,
    743  0.52211f,  0.44658f,  -0.26501f, -0.41657f, 0.34428f,  -0.34390f, -0.58567f,
    744  -0.84097f, -1.96311f, -0.37215f, -0.22250f, -1.23811f, -0.07247f, -0.81731f,
    745  0.58755f,  -1.30559f, 0.39551f,  0.41743f,  -0.09940f, -0.33230f, 0.14458f,
    746  -0.25139f, -0.54517f, 0.13469f,  -0.38157f, -0.39109f, -0.18205f, 0.06834f,
    747  -0.08395f, -0.92187f, 0.56724f,  1.44381f,  0.53226f,  -0.22356f, 0.12285f,
    748  -0.29418f, -1.86749f, -0.22372f, -0.60204f, -0.87746f, -1.16936f, 0.56884f,
    749  0.62641f,  -0.11823f, 1.00395f,  1.64794f,  -0.64535f, 2.29322f,  -0.23397f,
    750  0.17251f,  -0.35927f, 0.65631f,  -0.26812f, 0.80128f,  0.85748f,  0.47404f,
    751  2.20547f,
    752 };
    753 
    754 static float av1_tx_type_nn_8x16_ver_layer1_bias[4] = {
    755  -0.44080f,
    756  -1.67455f,
    757  -1.46332f,
    758  -6.13206f,
    759 };
    760 
    761 static float av1_tx_type_nn_8x16_ver_layer0_out[16] = { 0 };
    762 static float av1_tx_type_nn_8x16_ver_layer1_out[4] = { 0 };
    763 
    764 static NN_CONFIG_V2 av1_tx_type_nnconfig_8x16_ver = {
    765  1,  // num_hidden_layers
    766  {
    767      // fc layer setting
    768      {
    769          // layer 0
    770          8,                                       // num_inputs
    771          16,                                      // num_outputs
    772          av1_tx_type_nn_8x16_ver_layer0_weights,  // weights
    773          av1_tx_type_nn_8x16_ver_layer0_bias,     // bias
    774          RELU,                                    // activation
    775          av1_tx_type_nn_8x16_ver_layer0_out,      // output
    776          NULL,
    777          NULL,
    778          NULL,
    779      },
    780      {
    781          16,  // num_inputs (!!same as num_outputs of last layer)
    782          4,
    783          av1_tx_type_nn_8x16_ver_layer1_weights,
    784          av1_tx_type_nn_8x16_ver_layer1_bias,
    785          NONE,
    786          av1_tx_type_nn_8x16_ver_layer1_out,
    787          NULL,
    788          NULL,
    789          NULL,
    790      },
    791  },
    792  4,                                   // num_outputs
    793  av1_tx_type_nn_8x16_ver_layer1_out,  // logits (!!same as last layer output)
    794  SOFTMAX_CROSS_ENTROPY,
    795 };
    796 /******************************************************************************/
    797 
    798 // Tx type model for 16x8 block.
    799 static float av1_tx_type_nn_16x8_hor_layer0_weights[128] = {
    800  0.02600f,  0.09786f,  -1.05107f, -0.35594f, -0.15658f, 2.99828f,  -0.07106f,
    801  -0.10101f, -0.14412f, -0.83790f, -0.19434f, 2.28368f,  1.91727f,  -0.00956f,
    802  -0.90640f, 0.09174f,  1.58895f,  1.38945f,  1.49431f,  1.51381f,  1.44803f,
    803  1.53544f,  1.44694f,  0.17753f,  1.69735f,  -0.78652f, 0.31092f,  -0.23736f,
    804  0.02231f,  -0.09884f, -0.00493f, 1.21189f,  -1.94382f, -0.34629f, -0.58309f,
    805  0.72291f,  -0.30056f, 0.90660f,  -0.57495f, 3.07809f,  0.73644f,  1.43050f,
    806  1.34356f,  -0.66554f, 0.50102f,  -0.64305f, 0.42044f,  -1.66165f, -0.05733f,
    807  -2.51402f, -1.01067f, -0.33390f, -0.32986f, -0.92431f, 1.86281f,  -0.07290f,
    808  -0.26290f, -0.68941f, 1.81156f,  0.66125f,  -2.09974f, 0.17032f,  -0.67461f,
    809  -0.00876f, -1.50154f, 1.17153f,  1.00377f,  0.33022f,  0.74689f,  0.42878f,
    810  0.61725f,  -0.83967f, 0.09467f,  -0.39892f, 0.33863f,  0.10656f,  -0.09249f,
    811  -0.39757f, 0.48481f,  -0.35162f, 1.47014f,  1.67827f,  -1.84051f, 0.16291f,
    812  -0.50135f, -2.29911f, -0.42217f, -0.13358f, 1.45899f,  -0.14743f, -0.02763f,
    813  -0.28003f, -0.01364f, 0.21014f,  -0.29026f, -0.20198f, 1.38782f,  0.56731f,
    814  0.27489f,  0.43227f,  0.41326f,  0.42721f,  0.87720f,  -1.90067f, -5.04951f,
    815  -0.17638f, -0.58119f, -0.08954f, -0.13692f, -0.12325f, -0.38548f, 0.66462f,
    816  -1.42377f, -1.21917f, -1.38193f, -1.36539f, -1.39378f, -1.19629f, -1.59812f,
    817  0.28689f,  0.32394f,  0.52128f,  0.01013f,  -0.28948f, -0.26293f, -0.44331f,
    818  -0.36570f, -0.50757f,
    819 };
    820 
    821 static float av1_tx_type_nn_16x8_hor_layer0_bias[16] = {
    822  -0.08696f, -0.22110f, -1.43604f, -1.00451f, -1.51029f, 0.63736f,
    823  0.45260f,  0.16229f,  4.01393f,  -0.21748f, 0.36411f,  -0.08764f,
    824  -0.12329f, 0.08986f,  1.08117f,  -0.00220f,
    825 };
    826 
    827 static float av1_tx_type_nn_16x8_hor_layer1_weights[64] = {
    828  0.55824f,  -0.14648f, 0.81947f,  -0.45867f, -1.86078f, -0.17291f, 0.34849f,
    829  0.15153f,  1.75625f,  -0.25760f, 0.72015f,  -0.30059f, -0.57975f, 0.07609f,
    830  -0.02036f, 0.07912f,  0.57080f,  -0.13792f, 0.74184f,  -0.87669f, -1.87572f,
    831  -0.27270f, 0.39751f,  0.19652f,  2.03514f,  -0.32944f, 0.76251f,  0.04399f,
    832  -0.63175f, 0.37420f,  0.08309f,  0.04466f,  0.60255f,  -0.12820f, 1.66065f,
    833  -0.59496f, -1.94794f, -0.14847f, 0.39424f,  0.16273f,  1.80587f,  0.41197f,
    834  0.74691f,  -0.21217f, -0.63173f, 0.09510f,  -0.35538f, -0.04407f, 0.92847f,
    835  0.20141f,  1.68680f,  -0.56528f, -2.26960f, 0.12978f,  0.73748f,  0.42438f,
    836  2.00673f,  -0.40189f, 0.95423f,  0.23234f,  -0.80953f, 0.65814f,  0.49444f,
    837  -0.23347f,
    838 };
    839 
    840 static float av1_tx_type_nn_16x8_hor_layer1_bias[4] = {
    841  3.57175f,
    842  2.42612f,
    843  3.31259f,
    844  2.08287f,
    845 };
    846 
    847 static float av1_tx_type_nn_16x8_hor_layer0_out[16] = { 0 };
    848 static float av1_tx_type_nn_16x8_hor_layer1_out[4] = { 0 };
    849 
    850 static NN_CONFIG_V2 av1_tx_type_nnconfig_16x8_hor = {
    851  1,  // num_hidden_layers
    852  {
    853      // fc layer setting
    854      {
    855          // layer 0
    856          8,                                       // num_inputs
    857          16,                                      // num_outputs
    858          av1_tx_type_nn_16x8_hor_layer0_weights,  // weights
    859          av1_tx_type_nn_16x8_hor_layer0_bias,     // bias
    860          RELU,                                    // activation
    861          av1_tx_type_nn_16x8_hor_layer0_out,      // output
    862          NULL,
    863          NULL,
    864          NULL,
    865      },
    866      {
    867          16,  // num_inputs (!!same as num_outputs of last layer)
    868          4,
    869          av1_tx_type_nn_16x8_hor_layer1_weights,
    870          av1_tx_type_nn_16x8_hor_layer1_bias,
    871          NONE,
    872          av1_tx_type_nn_16x8_hor_layer1_out,
    873          NULL,
    874          NULL,
    875          NULL,
    876      },
    877  },
    878  4,                                   // num_outputs
    879  av1_tx_type_nn_16x8_hor_layer1_out,  // logits (!!same as last layer output)
    880  SOFTMAX_CROSS_ENTROPY,
    881 };
    882 
    883 static float av1_tx_type_nn_16x8_ver_layer0_weights[128] = {
    884  0.46633f,  1.55328f,  -0.11230f, -0.29571f, 0.18814f,  -1.52430f, -2.34660f,
    885  0.08644f,  -1.97718f, -1.29140f, -1.12262f, -1.12985f, -1.25911f, -0.96506f,
    886  -1.57129f, 0.96021f,  1.34192f,  1.28623f,  1.21655f,  1.28758f,  1.25482f,
    887  1.30195f,  1.19190f,  0.09310f,  0.52072f,  0.91487f,  1.24100f,  1.61236f,
    888  1.72166f,  2.20750f,  1.62379f,  -1.43936f, 0.50665f,  0.40213f,  0.66502f,
    889  -1.66699f, -3.07618f, 0.05877f,  0.60987f,  -0.09995f, -0.10916f, 0.48049f,
    890  0.23812f,  0.39847f,  -0.21682f, -0.63455f, 0.33453f,  -0.67939f, -4.14355f,
    891  -0.62756f, -0.22502f, -0.17215f, 0.01062f,  0.27049f,  -0.10748f, 0.30945f,
    892  2.72445f,  -0.89181f, -0.06800f, 0.20595f,  -0.73385f, 0.04071f,  -1.30294f,
    893  1.83507f,  0.92570f,  0.69609f,  0.76285f,  0.69892f,  0.76409f,  0.63104f,
    894  0.73397f,  1.09575f,  -0.20129f, -0.24022f, -0.24599f, -0.59107f, -0.88755f,
    895  -0.68987f, -0.75495f, -1.31002f, -1.30237f, -0.94093f, -2.15678f, -1.49303f,
    896  -1.17498f, -1.39952f, -0.91270f, -0.05587f, 1.02381f,  -0.75580f, -0.65263f,
    897  -0.78996f, -0.71075f, -0.71018f, -0.70350f, -1.26196f, 2.34208f,  -0.53611f,
    898  0.19752f,  -0.16842f, -0.24828f, 0.21857f,  0.08222f,  -2.55894f, -1.75702f,
    899  0.11394f,  1.03083f,  0.79972f,  -1.54112f, -1.82341f, -0.57597f, -0.02077f,
    900  -0.39616f, -0.00995f, -0.12809f, 0.01188f,  -0.25117f, 0.09202f,  0.09336f,
    901  -0.05614f, -0.30039f, 0.25834f,  1.19944f,  1.22533f,  0.92330f,  0.75967f,
    902  -0.81945f, -0.41647f,
    903 };
    904 
    905 static float av1_tx_type_nn_16x8_ver_layer0_bias[16] = {
    906  0.17841f,  0.67315f,  -1.24450f, 3.13859f,  0.16203f, -0.14992f,
    907  0.29553f,  -1.15567f, -0.71421f, 1.15977f,  1.14585f, 3.02460f,
    908  -0.04510f, 0.48000f,  -0.09354f, -0.42422f,
    909 };
    910 
    911 static float av1_tx_type_nn_16x8_ver_layer1_weights[64] = {
    912  0.29912f,  -0.10009f, -1.11478f, 1.76812f,  -0.27719f, 0.52148f,  0.17622f,
    913  -1.17116f, 0.73397f,  -0.69279f, -0.11080f, 1.53751f,  -1.42003f, 0.14731f,
    914  0.13592f,  -0.04883f, 0.39186f,  -0.13655f, -0.43994f, 1.82759f,  -0.25601f,
    915  -0.15018f, 0.51920f,  -1.56070f, 0.31683f,  -0.79367f, -0.02904f, 1.28637f,
    916  -1.15203f, 0.26627f,  0.42828f,  -0.24258f, 0.38647f,  -0.83352f, 0.32553f,
    917  2.09522f,  -0.26822f, -0.42191f, 0.32825f,  -1.30748f, 1.50551f,  -0.52669f,
    918  0.20045f,  1.69318f,  -1.47839f, 0.30802f,  -0.07290f, -0.28106f, 0.68192f,
    919  -0.15522f, 1.12579f,  2.21921f,  0.09720f,  -0.50265f, 0.83165f,  -1.31721f,
    920  0.72422f,  -1.24952f, 0.61653f,  2.04117f,  -1.42406f, 0.52568f,  -0.46180f,
    921  -0.00873f,
    922 };
    923 
    924 static float av1_tx_type_nn_16x8_ver_layer1_bias[4] = {
    925  3.34981f,
    926  3.74710f,
    927  1.38339f,
    928  0.45176f,
    929 };
    930 
    931 static float av1_tx_type_nn_16x8_ver_layer0_out[16] = { 0 };
    932 static float av1_tx_type_nn_16x8_ver_layer1_out[4] = { 0 };
    933 
    934 static NN_CONFIG_V2 av1_tx_type_nnconfig_16x8_ver = {
    935  1,  // num_hidden_layers
    936  {
    937      // fc layer setting
    938      {
    939          // layer 0
    940          8,                                       // num_inputs
    941          16,                                      // num_outputs
    942          av1_tx_type_nn_16x8_ver_layer0_weights,  // weights
    943          av1_tx_type_nn_16x8_ver_layer0_bias,     // bias
    944          RELU,                                    // activation
    945          av1_tx_type_nn_16x8_ver_layer0_out,      // output
    946          NULL,
    947          NULL,
    948          NULL,
    949      },
    950      {
    951          16,  // num_inputs (!!same as num_outputs of last layer)
    952          4,
    953          av1_tx_type_nn_16x8_ver_layer1_weights,
    954          av1_tx_type_nn_16x8_ver_layer1_bias,
    955          NONE,
    956          av1_tx_type_nn_16x8_ver_layer1_out,
    957          NULL,
    958          NULL,
    959          NULL,
    960      },
    961  },
    962  4,                                   // num_outputs
    963  av1_tx_type_nn_16x8_ver_layer1_out,  // logits (!!same as last layer output)
    964  SOFTMAX_CROSS_ENTROPY,
    965 };
    966 /******************************************************************************/
    967 
    968 // Tx type model for 16x16 block.
    969 static float av1_tx_type_nn_16x16_layer0_weights[128] = {
    970  1.26592f,  1.36313f,  1.30956f,  1.29926f,  1.48816f,  1.68851f,  1.32000f,
    971  0.13321f,  -0.22477f, -0.88906f, -0.19622f, 1.69605f,  1.22180f,  -1.57771f,
    972  -1.15765f, 0.05710f,  -1.13355f, -0.85486f, -0.99971f, -0.91571f, -1.06031f,
    973  -0.77952f, -1.15723f, 1.17809f,  1.35602f,  -0.05243f, -0.37596f, 0.26108f,
    974  0.17611f,  -0.10323f, 0.77279f,  -0.48911f, -0.79308f, 0.55112f,  0.43918f,
    975  0.27872f,  0.28714f,  0.45830f,  1.05689f,  0.03705f,  -2.49975f, -0.01940f,
    976  0.05709f,  0.07942f,  -0.13290f, -0.10359f, 0.00143f,  0.37303f,  0.96470f,
    977  0.53293f,  1.14459f,  0.89185f,  0.43378f,  0.47764f,  0.90924f,  0.15279f,
    978  -0.15361f, 0.02949f,  0.42240f,  0.68143f,  0.89588f,  0.73754f,  0.10974f,
    979  1.57755f,  -0.39870f, -0.32914f, 0.35638f,  0.34991f,  -0.00003f, -0.23373f,
    980  0.29630f,  -0.76699f, -0.01356f, 0.04234f,  0.84253f,  1.92078f,  0.93160f,
    981  0.71993f,  0.71604f,  0.76455f,  -1.59782f, 0.32332f,  1.11628f,  0.33062f,
    982  -0.03728f, -0.05710f, 0.80447f,  -0.14719f, 1.34658f,  -0.05718f, 0.64015f,
    983  0.21926f,  0.41653f,  0.12720f,  0.54092f,  1.39411f,  1.81819f,  -0.24513f,
    984  0.00955f,  0.38011f,  -0.57787f, -0.41759f, 0.68834f,  -0.31783f, -0.40607f,
    985  -0.10107f, -0.79374f, 0.75599f,  -0.16282f, -0.14490f, -0.20783f, -0.55019f,
    986  -0.13793f, -0.22293f, 0.18305f,  0.12445f,  0.56830f,  0.24567f,  0.09278f,
    987  0.70803f,  0.35803f,  -1.52676f, -0.89624f, 0.77665f,  0.19877f,  0.77175f,
    988  0.50355f,  0.08592f,
    989 };
    990 
    991 static float av1_tx_type_nn_16x16_layer0_bias[16] = {
    992  -1.31834f, 0.14346f,  -0.10062f, 0.84489f,  0.95617f,  -0.06720f,
    993  -0.68502f, -0.91442f, -0.31932f, 0.25276f,  -0.15138f, -1.57661f,
    994  -0.14062f, -0.42120f, 0.94573f,  -0.09287f,
    995 };
    996 
    997 static float av1_tx_type_nn_16x16_layer1_weights[64] = {
    998  -1.80333f, -1.06353f, 0.55139f,  0.74644f,  0.13747f, -0.93018f, -0.10286f,
    999  0.67133f,  0.24460f,  1.44583f,  0.02173f,  0.26037f, -0.73687f, 0.19566f,
   1000  0.61846f,  -0.58601f, -1.03196f, -0.74415f, 0.30041f, -0.41967f, 1.08740f,
   1001  0.96224f,  -0.59139f, 0.03813f,  0.05403f,  1.33427f, -0.54375f, -1.92181f,
   1002  0.54704f,  0.13608f,  0.22151f,  -0.38076f, 1.18390f, -0.77508f, -1.84283f,
   1003  1.00894f,  0.62318f,  -0.15296f, 1.27600f,  0.22822f, 0.12751f,  0.93910f,
   1004  -0.28502f, 0.53912f,  -0.96889f, 0.10182f,  0.81508f, -0.43028f, 2.67386f,
   1005  0.52204f,  0.49820f,  -0.41711f, 1.05038f,  1.12192f, 0.74349f,  -0.75417f,
   1006  -0.03718f, -0.35769f, 0.89651f,  0.63236f,  0.54215f, -0.07894f, 0.48274f,
   1007  1.08829f,
   1008 };
   1009 
   1010 static float av1_tx_type_nn_16x16_layer1_bias[4] = {
   1011  0.81986f,
   1012  1.26865f,
   1013  0.11118f,
   1014  2.48404f,
   1015 };
   1016 
   1017 static float av1_tx_type_nn_16x16_layer0_out[16] = { 0 };
   1018 static float av1_tx_type_nn_16x16_layer1_out[4] = { 0 };
   1019 
   1020 static NN_CONFIG_V2 av1_tx_type_nnconfig_16x16 = {
   1021  1,  // num_hidden_layers
   1022  {
   1023      // fc layer setting
   1024      {
   1025          // layer 0
   1026          8,                                    // num_inputs
   1027          16,                                   // num_outputs
   1028          av1_tx_type_nn_16x16_layer0_weights,  // weights
   1029          av1_tx_type_nn_16x16_layer0_bias,     // bias
   1030          RELU,                                 // activation
   1031          av1_tx_type_nn_16x16_layer0_out,      // output
   1032          NULL,
   1033          NULL,
   1034          NULL,
   1035      },
   1036      {
   1037          16,  // num_inputs (!!same as num_outputs of last layer)
   1038          4,
   1039          av1_tx_type_nn_16x16_layer1_weights,
   1040          av1_tx_type_nn_16x16_layer1_bias,
   1041          NONE,
   1042          av1_tx_type_nn_16x16_layer1_out,
   1043          NULL,
   1044          NULL,
   1045          NULL,
   1046      },
   1047  },
   1048  4,                                // num_outputs
   1049  av1_tx_type_nn_16x16_layer1_out,  // logits (!!same as last layer output)
   1050  SOFTMAX_CROSS_ENTROPY,
   1051 };
   1052 /******************************************************************************/
   1053 
   1054 // Tx type model for 4x16 block.
   1055 static float av1_tx_type_nn_4x16_hor_layer0_weights[32] = {
   1056  0.36539f,  0.25667f,  0.01491f,  -0.21959f, 2.55105f,  0.17615f, 1.79884f,
   1057  1.65936f,  -0.44363f, 0.00706f,  -0.68004f, -0.64360f, 1.75760f, 1.91906f,
   1058  1.47682f,  0.09650f,  -3.59244f, -0.35004f, 0.93295f,  0.25806f, -0.08154f,
   1059  0.79332f,  0.79535f,  1.09467f,  1.57855f,  -0.51359f, 0.90553f, -1.67744f,
   1060  -1.74563f, -0.88830f, -1.77603f, 2.15935f,
   1061 };
   1062 
   1063 static float av1_tx_type_nn_4x16_hor_layer0_bias[8] = {
   1064  -0.36435f, -2.22731f, -0.00837f, -1.34546f,
   1065  0.62806f,  -0.20675f, 4.91940f,  -0.56079f,
   1066 };
   1067 
   1068 static float av1_tx_type_nn_4x16_hor_layer1_weights[32] = {
   1069  -0.57191f, -1.46418f, 0.67331f,  -1.15027f, 0.46288f,  0.81251f,  2.51768f,
   1070  -0.27147f, 0.00761f,  -2.15214f, -0.69650f, -0.50808f, 0.92832f,  0.45668f,
   1071  2.34201f,  -0.52941f, 0.51008f,  -1.55496f, -0.01371f, -0.12356f, 0.66624f,
   1072  0.88043f,  2.64862f,  -1.28024f, -0.17578f, -1.80034f, -0.32217f, 0.89519f,
   1073  1.28413f,  -0.30326f, 2.45329f,  -0.83335f,
   1074 };
   1075 
   1076 static float av1_tx_type_nn_4x16_hor_layer1_bias[4] = {
   1077  2.33198f,
   1078  3.36245f,
   1079  1.62603f,
   1080  2.91056f,
   1081 };
   1082 
   1083 static float av1_tx_type_nn_4x16_hor_layer0_out[8] = { 0 };
   1084 static float av1_tx_type_nn_4x16_hor_layer1_out[4] = { 0 };
   1085 
   1086 static NN_CONFIG_V2 av1_tx_type_nnconfig_4x16_hor = {
   1087  1,  // num_hidden_layers
   1088  {
   1089      // fc layer setting
   1090      {
   1091          // layer 0
   1092          4,                                       // num_inputs
   1093          8,                                       // num_outputs
   1094          av1_tx_type_nn_4x16_hor_layer0_weights,  // weights
   1095          av1_tx_type_nn_4x16_hor_layer0_bias,     // bias
   1096          RELU,                                    // activation
   1097          av1_tx_type_nn_4x16_hor_layer0_out,      // output
   1098          NULL,
   1099          NULL,
   1100          NULL,
   1101      },
   1102      {
   1103          8,  // num_inputs (!!same as num_outputs of last layer)
   1104          4,
   1105          av1_tx_type_nn_4x16_hor_layer1_weights,
   1106          av1_tx_type_nn_4x16_hor_layer1_bias,
   1107          NONE,
   1108          av1_tx_type_nn_4x16_hor_layer1_out,
   1109          NULL,
   1110          NULL,
   1111          NULL,
   1112      },
   1113  },
   1114  4,                                   // num_outputs
   1115  av1_tx_type_nn_4x16_hor_layer1_out,  // logits (!!same as last layer output)
   1116  SOFTMAX_CROSS_ENTROPY,
   1117 };
   1118 
   1119 static float av1_tx_type_nn_4x16_ver_layer0_weights[128] = {
   1120  1.61392f,  1.41239f,  1.47646f,  1.47325f,  1.46110f,  1.49208f,  1.49414f,
   1121  0.12835f,  -0.76986f, 0.07087f,  -0.24572f, -0.93168f, 3.07935f,  -0.18183f,
   1122  -0.09831f, -0.07703f, -0.03222f, -0.25473f, -0.06090f, 2.93713f,  -0.38711f,
   1123  -0.12884f, -0.18329f, -0.06262f, -0.00327f, -0.02930f, -0.01641f, -0.00622f,
   1124  -0.03305f, -4.07069f, -2.76643f, 0.04413f,  -1.03176f, -0.19217f, -0.44980f,
   1125  -2.48615f, -2.58112f, -0.87695f, 0.16187f,  -0.04891f, -0.06854f, 1.08104f,
   1126  0.75245f,  1.49302f,  0.63363f,  1.45715f,  0.92574f,  1.72029f,  0.33326f,
   1127  3.86646f,  0.04422f,  0.41019f,  0.36212f,  0.56600f,  -1.01552f, 0.05128f,
   1128  0.40454f,  -1.05100f, -0.47461f, -1.33168f, -0.46145f, -1.36870f, -0.88838f,
   1129  -1.05358f, -0.18537f, -0.34357f, -0.03698f, 0.68905f,  0.41010f,  0.31223f,
   1130  -0.43382f, -0.74715f, 2.03366f,  -0.30419f, 0.45747f,  0.09526f,  0.31678f,
   1131  0.22915f,  0.21832f,  1.26385f,  -0.06814f, -0.71417f, -1.18947f, 0.03762f,
   1132  0.10936f,  2.97396f,  -0.42638f, -0.03123f, -5.49756f, -0.17029f, -0.11323f,
   1133  0.05173f,  -0.44274f, -0.15738f, 0.11311f,  0.43872f,  0.16837f,  -0.52849f,
   1134  2.90050f,  -0.54735f, -0.29591f, 1.24030f,  0.21696f,  -0.04443f, -1.60877f,
   1135  -1.36365f, -1.27432f, -1.52060f, -1.34397f, -1.13371f, -1.87554f, 0.80123f,
   1136  0.42820f,  -0.14157f, -2.73963f, -0.68040f, -0.35236f, 0.14490f,  2.23477f,
   1137  0.01370f,  -0.20426f, -1.51411f, -0.72293f, 0.64516f,  0.97638f,  0.32616f,
   1138  -0.27975f, -0.01149f,
   1139 };
   1140 
   1141 static float av1_tx_type_nn_4x16_ver_layer0_bias[16] = {
   1142  -1.37863f, -0.05763f, -0.07041f, 0.15306f,  0.96026f,  -1.42105f,
   1143  -0.55822f, 1.04845f,  -0.17662f, -1.25345f, -0.11927f, 0.49845f,
   1144  -0.32530f, 0.73483f,  0.08322f,  -0.23890f,
   1145 };
   1146 
   1147 static float av1_tx_type_nn_4x16_ver_layer1_weights[64] = {
   1148  0.27194f,  0.50607f,  0.49229f,  -0.48192f, 0.15667f,  -1.38891f, 0.38102f,
   1149  -0.58825f, -0.07337f, -0.52909f, 0.36975f,  0.28710f,  0.34992f,  -0.73630f,
   1150  0.30386f,  -0.58822f, 0.36127f,  0.57950f,  0.55878f,  -0.42796f, 0.19967f,
   1151  -1.45517f, 0.42529f,  -0.54630f, -0.38169f, -0.84899f, 0.41622f,  0.46935f,
   1152  0.39077f,  -0.75448f, 0.31698f,  -0.76187f, 0.97765f,  0.57052f,  0.55825f,
   1153  -0.54273f, 0.20466f,  -1.46347f, 0.41813f,  -0.55019f, -0.19948f, -0.57982f,
   1154  0.41206f,  0.32373f,  0.38537f,  -1.11657f, 0.32887f,  -0.76911f, 1.12259f,
   1155  0.72163f,  0.82603f,  0.37786f,  0.34976f,  -1.86642f, 0.59961f,  -0.16329f,
   1156  -0.36631f, -0.56814f, 0.60410f,  0.53158f,  0.56389f,  -0.70508f, 0.51009f,
   1157  -0.56513f,
   1158 };
   1159 
   1160 static float av1_tx_type_nn_4x16_ver_layer1_bias[4] = {
   1161  4.60896f,
   1162  4.53551f,
   1163  4.53124f,
   1164  4.27435f,
   1165 };
   1166 
   1167 static float av1_tx_type_nn_4x16_ver_layer0_out[16] = { 0 };
   1168 static float av1_tx_type_nn_4x16_ver_layer1_out[4] = { 0 };
   1169 
   1170 static NN_CONFIG_V2 av1_tx_type_nnconfig_4x16_ver = {
   1171  1,  // num_hidden_layers
   1172  {
   1173      // fc layer setting
   1174      {
   1175          // layer 0
   1176          8,                                       // num_inputs
   1177          16,                                      // num_outputs
   1178          av1_tx_type_nn_4x16_ver_layer0_weights,  // weights
   1179          av1_tx_type_nn_4x16_ver_layer0_bias,     // bias
   1180          RELU,                                    // activation
   1181          av1_tx_type_nn_4x16_ver_layer0_out,      // output
   1182          NULL,
   1183          NULL,
   1184          NULL,
   1185      },
   1186      {
   1187          16,  // num_inputs (!!same as num_outputs of last layer)
   1188          4,
   1189          av1_tx_type_nn_4x16_ver_layer1_weights,
   1190          av1_tx_type_nn_4x16_ver_layer1_bias,
   1191          NONE,
   1192          av1_tx_type_nn_4x16_ver_layer1_out,
   1193          NULL,
   1194          NULL,
   1195          NULL,
   1196      },
   1197  },
   1198  4,                                   // num_outputs
   1199  av1_tx_type_nn_4x16_ver_layer1_out,  // logits (!!same as last layer output)
   1200  SOFTMAX_CROSS_ENTROPY,
   1201 };
   1202 /******************************************************************************/
   1203 
   1204 // Tx type model for 16x4 block.
   1205 static float av1_tx_type_nn_16x4_hor_layer0_weights[128] = {
   1206  1.45347f,  -0.15743f, 0.44236f,  0.25808f,  0.33944f,  0.38678f,  0.24428f,
   1207  1.67287f,  0.09539f,  -0.42940f, -0.31507f, -0.00154f, -2.98755f, -2.27744f,
   1208  -0.49183f, 0.09333f,  -0.99026f, -0.22157f, 0.53701f,  0.60447f,  0.15686f,
   1209  -0.04646f, 0.26341f,  2.12361f,  0.27090f,  -1.14716f, -0.64146f, -0.91604f,
   1210  -0.75335f, -0.60056f, -1.25084f, 1.68473f,  -3.24075f, -4.03867f, -2.07877f,
   1211  -0.02347f, 0.00333f,  -0.01259f, -0.00465f, 0.02526f,  0.36286f,  -0.10324f,
   1212  2.12780f,  -0.74584f, -1.05052f, 1.78467f,  -0.55065f, -0.03326f, 2.46781f,
   1213  1.18349f,  0.96015f,  1.01696f,  1.10584f,  1.07263f,  1.11531f,  -1.06413f,
   1214  0.32389f,  -1.87360f, -0.14435f, 1.77926f,  1.09966f,  -0.12680f, -0.61386f,
   1215  -0.09724f, -0.33095f, 1.12122f,  1.00791f,  1.52416f,  1.35004f,  1.32657f,
   1216  0.60950f,  -1.13538f, -0.38654f, 0.06473f,  2.10669f,  0.27734f,  -0.38359f,
   1217  -1.91455f, -1.22676f, 0.05786f,  0.97432f,  2.19967f,  0.50457f,  0.78976f,
   1218  0.95183f,  -0.32414f, 0.49437f,  -0.04506f, 0.18993f,  -0.07971f, 0.23889f,
   1219  -0.09872f, -0.66036f, 0.05377f,  2.69638f,  -0.08259f, -0.69210f, -1.08296f,
   1220  -1.96504f, -2.31947f, -0.80161f, -0.80456f, -1.35556f, -0.05323f, -4.42658f,
   1221  -0.30732f, -0.12043f, 0.11126f,  0.10771f,  -0.14956f, -0.02218f, 0.41016f,
   1222  1.16599f,  1.14629f,  1.12881f,  1.18676f,  1.24677f,  1.28695f,  1.11270f,
   1223  0.08233f,  1.75440f,  0.49228f,  -0.34858f, -0.17032f, 0.29288f,  0.47175f,
   1224  0.19055f,  -1.56413f,
   1225 };
   1226 
   1227 static float av1_tx_type_nn_16x4_hor_layer0_bias[16] = {
   1228  -1.71227f, 0.47291f, -0.97536f, -0.66216f, 0.11729f,  -0.21451f,
   1229  2.75281f,  0.04318f, 2.03965f,  0.14618f,  -0.70483f, -0.24517f,
   1230  1.14048f,  0.33308f, -1.10886f, 0.41184f,
   1231 };
   1232 
   1233 static float av1_tx_type_nn_16x4_hor_layer1_weights[64] = {
   1234  -1.17079f, 0.19096f,  -1.05753f, -0.30803f, -1.21680f, -0.67255f, 1.60115f,
   1235  0.05972f,  1.44759f,  -0.04068f, -0.26331f, 0.31400f,  0.96923f,  0.33443f,
   1236  -0.77215f, -0.91316f, -1.78928f, 0.21483f,  -1.24008f, -0.46190f, -0.12127f,
   1237  -0.62144f, 1.37593f,  0.08373f,  1.56215f,  0.00279f,  -0.14556f, 0.38710f,
   1238  0.96228f,  0.66433f,  -0.51798f, -0.80738f, -0.18539f, 0.19377f,  -1.03090f,
   1239  -1.51044f, -0.59485f, -0.62589f, 1.90742f,  0.09078f,  1.49113f,  0.00205f,
   1240  -0.15918f, 0.40827f,  1.08553f,  0.43431f,  0.33519f,  -1.12669f, -1.10274f,
   1241  0.80004f,  -1.83599f, -0.53134f, 2.00515f,  -0.32670f, 1.37124f,  0.51136f,
   1242  1.62563f,  0.24787f,  0.31757f,  0.81751f,  1.57262f,  0.83214f,  1.04661f,
   1243  -0.43819f,
   1244 };
   1245 
   1246 static float av1_tx_type_nn_16x4_hor_layer1_bias[4] = {
   1247  2.32575f,
   1248  2.75703f,
   1249  1.12304f,
   1250  2.15567f,
   1251 };
   1252 
   1253 static float av1_tx_type_nn_16x4_hor_layer0_out[16] = { 0 };
   1254 static float av1_tx_type_nn_16x4_hor_layer1_out[4] = { 0 };
   1255 
   1256 static NN_CONFIG_V2 av1_tx_type_nnconfig_16x4_hor = {
   1257  1,  // num_hidden_layers
   1258  {
   1259      // fc layer setting
   1260      {
   1261          // layer 0
   1262          8,                                       // num_inputs
   1263          16,                                      // num_outputs
   1264          av1_tx_type_nn_16x4_hor_layer0_weights,  // weights
   1265          av1_tx_type_nn_16x4_hor_layer0_bias,     // bias
   1266          RELU,                                    // activation
   1267          av1_tx_type_nn_16x4_hor_layer0_out,      // output
   1268          NULL,
   1269          NULL,
   1270          NULL,
   1271      },
   1272      {
   1273          16,  // num_inputs (!!same as num_outputs of last layer)
   1274          4,
   1275          av1_tx_type_nn_16x4_hor_layer1_weights,
   1276          av1_tx_type_nn_16x4_hor_layer1_bias,
   1277          NONE,
   1278          av1_tx_type_nn_16x4_hor_layer1_out,
   1279          NULL,
   1280          NULL,
   1281          NULL,
   1282      },
   1283  },
   1284  4,                                   // num_outputs
   1285  av1_tx_type_nn_16x4_hor_layer1_out,  // logits (!!same as last layer output)
   1286  SOFTMAX_CROSS_ENTROPY,
   1287 };
   1288 
   1289 static float av1_tx_type_nn_16x4_ver_layer0_weights[32] = {
   1290  0.26047f,  0.99930f,  1.16484f,  -0.28196f, -2.67483f, -0.21456f, -0.16854f,
   1291  0.46375f,  1.47951f,  1.13735f,  1.12356f,  0.27385f,  0.50978f,  2.09967f,
   1292  -1.47386f, 0.01950f,  -0.06362f, 0.26014f,  1.04544f,  -0.03099f, 0.07478f,
   1293  -0.39701f, 0.05545f,  2.73633f,  -0.56305f, -0.02208f, -0.44517f, -0.00897f,
   1294  -0.17967f, -0.96622f, 0.42635f,  -1.04784f,
   1295 };
   1296 
   1297 static float av1_tx_type_nn_16x4_ver_layer0_bias[8] = {
   1298  -0.52088f, 0.52844f,  -1.03655f, -0.30974f,
   1299  2.59952f,  -1.93604f, 0.00000f,  2.51787f,
   1300 };
   1301 
   1302 static float av1_tx_type_nn_16x4_ver_layer1_weights[32] = {
   1303  0.10916f,  -0.21219f, -0.51340f, 0.69161f,  1.45988f,  -1.36942f, -0.40899f,
   1304  1.05136f,  -0.08486f, 0.10008f,  -0.55304f, 0.88012f,  1.61177f,  -1.64507f,
   1305  0.63428f,  1.15130f,  -0.17287f, -0.18592f, -0.01143f, 0.88293f,  1.73326f,
   1306  -1.63624f, 0.09359f,  1.18393f,  0.26531f,  0.22378f,  0.15170f,  1.06965f,
   1307  1.26814f,  -1.93873f, -0.00768f, 1.58309f,
   1308 };
   1309 
   1310 static float av1_tx_type_nn_16x4_ver_layer1_bias[4] = {
   1311  2.34713f,
   1312  1.68667f,
   1313  1.25488f,
   1314  1.69812f,
   1315 };
   1316 
   1317 static float av1_tx_type_nn_16x4_ver_layer0_out[8] = { 0 };
   1318 static float av1_tx_type_nn_16x4_ver_layer1_out[4] = { 0 };
   1319 
   1320 static NN_CONFIG_V2 av1_tx_type_nnconfig_16x4_ver = {
   1321  1,  // num_hidden_layers
   1322  {
   1323      // fc layer setting
   1324      {
   1325          // layer 0
   1326          4,                                       // num_inputs
   1327          8,                                       // num_outputs
   1328          av1_tx_type_nn_16x4_ver_layer0_weights,  // weights
   1329          av1_tx_type_nn_16x4_ver_layer0_bias,     // bias
   1330          RELU,                                    // activation
   1331          av1_tx_type_nn_16x4_ver_layer0_out,      // output
   1332          NULL,
   1333          NULL,
   1334          NULL,
   1335      },
   1336      {
   1337          8,  // num_inputs (!!same as num_outputs of last layer)
   1338          4,
   1339          av1_tx_type_nn_16x4_ver_layer1_weights,
   1340          av1_tx_type_nn_16x4_ver_layer1_bias,
   1341          NONE,
   1342          av1_tx_type_nn_16x4_ver_layer1_out,
   1343          NULL,
   1344          NULL,
   1345          NULL,
   1346      },
   1347  },
   1348  4,                                   // num_outputs
   1349  av1_tx_type_nn_16x4_ver_layer1_out,  // logits (!!same as last layer output)
   1350  SOFTMAX_CROSS_ENTROPY,
   1351 };
   1352 /******************************************************************************/
   1353 
   1354 // Map tx_size to its corresponding neural net model for tx type prediction.
   1355 static NN_CONFIG_V2 *av1_tx_type_nnconfig_map_hor[] = {
   1356  &av1_tx_type_nnconfig_4x4_hor,   // 4x4 transform
   1357  &av1_tx_type_nnconfig_8x8_hor,   // 8x8 transform
   1358  &av1_tx_type_nnconfig_16x16,     // 16x16 transform
   1359  NULL,                            // 32x32 transform
   1360  NULL,                            // 64x64 transform
   1361  &av1_tx_type_nnconfig_4x8_hor,   // 4x8 transform
   1362  &av1_tx_type_nnconfig_8x4_hor,   // 8x4 transform
   1363  &av1_tx_type_nnconfig_8x16_hor,  // 8x16 transform
   1364  &av1_tx_type_nnconfig_16x8_hor,  // 16x8 transform
   1365  NULL,                            // 16x32 transform
   1366  NULL,                            // 32x16 transform
   1367  NULL,                            // 32x64 transform
   1368  NULL,                            // 64x32 transform
   1369  &av1_tx_type_nnconfig_4x16_hor,  // 4x16 transform
   1370  &av1_tx_type_nnconfig_16x4_hor,  // 16x4 transform
   1371  NULL,                            // 8x32 transform
   1372  NULL,                            // 32x8 transform
   1373  NULL,                            // 16x64 transform
   1374  NULL,                            // 64x16 transform
   1375 };
   1376 
   1377 static NN_CONFIG_V2 *av1_tx_type_nnconfig_map_ver[] = {
   1378  &av1_tx_type_nnconfig_4x4_ver,   // 4x4 transform
   1379  &av1_tx_type_nnconfig_8x8_ver,   // 8x8 transform
   1380  &av1_tx_type_nnconfig_16x16,     // 16x16 transform
   1381  NULL,                            // 32x32 transform
   1382  NULL,                            // 64x64 transform
   1383  &av1_tx_type_nnconfig_4x8_ver,   // 4x8 transform
   1384  &av1_tx_type_nnconfig_8x4_ver,   // 8x4 transform
   1385  &av1_tx_type_nnconfig_8x16_ver,  // 8x16 transform
   1386  &av1_tx_type_nnconfig_16x8_ver,  // 16x8 transform
   1387  NULL,                            // 16x32 transform
   1388  NULL,                            // 32x16 transform
   1389  NULL,                            // 32x64 transform
   1390  NULL,                            // 64x32 transform
   1391  &av1_tx_type_nnconfig_4x16_ver,  // 4x16 transform
   1392  &av1_tx_type_nnconfig_16x4_ver,  // 16x4 transform
   1393  NULL,                            // 8x32 transform
   1394  NULL,                            // 32x8 transform
   1395  NULL,                            // 16x64 transform
   1396  NULL,                            // 64x16 transform
   1397 };
   1398 #else
   1399 /******************************CONFIG_NN***************************************/
   1400 // Tx type model for 4x4 block.
   1401 static const float av1_tx_type_nn_weights_4x4_hor_layer0[32] = {
   1402  -1.64947f, -1.54497f, -1.62832f, -0.17774f, -2.89498f, -0.72498f, 0.72036f,
   1403  0.17996f,  1.20000f,  -0.27654f, 0.77396f,  1.21684f,  -1.75909f, -0.51272f,
   1404  -1.25923f, 0.35005f,  -0.04257f, -0.23389f, -0.41841f, -0.08229f, 0.09503f,
   1405  2.73144f,  -0.16875f, -0.23482f, 0.02194f,  -0.26427f, 0.28049f,  0.21260f,
   1406  1.35792f,  0.27733f,  0.88660f,  -0.68304f,
   1407 };
   1408 
   1409 static const float av1_tx_type_nn_bias_4x4_hor_layer0[8] = {
   1410  1.38742f, 0.59540f,  -1.37622f, 1.92114f,
   1411  0.00000f, -0.38998f, -0.32726f, -0.15650f,
   1412 };
   1413 
   1414 static const float av1_tx_type_nn_weights_4x4_hor_layer1[32] = {
   1415  1.65254f,  1.00915f,  -0.89318f, -2.05142f, -0.23235f, 0.96781f,  -0.37145f,
   1416  -0.21056f, 1.13891f,  0.38675f,  0.87739f,  -1.42697f, 0.48015f,  0.61883f,
   1417  -0.03979f, 0.11487f,  0.48042f,  0.45200f,  -0.23242f, 0.75166f,  0.55458f,
   1418  0.39452f,  -0.35285f, 1.59120f,  -1.49221f, -0.48349f, -0.64692f, 1.49297f,
   1419  -0.26782f, -0.65416f, -0.10648f, 0.05568f,
   1420 };
   1421 
   1422 static const float av1_tx_type_nn_bias_4x4_hor_layer1[4] = {
   1423  4.07177f,
   1424  3.26961f,
   1425  0.58083f,
   1426  1.21199f,
   1427 };
   1428 
   1429 static const NN_CONFIG av1_tx_type_nnconfig_4x4_hor = {
   1430  4,  // num_inputs
   1431  4,  // num_outputs
   1432  1,  // num_hidden_layers
   1433  {
   1434      8,
   1435  },  // num_hidden_nodes
   1436  { av1_tx_type_nn_weights_4x4_hor_layer0,
   1437    av1_tx_type_nn_weights_4x4_hor_layer1 },
   1438  { av1_tx_type_nn_bias_4x4_hor_layer0, av1_tx_type_nn_bias_4x4_hor_layer1 }
   1439 };
   1440 
   1441 static const float av1_tx_type_nn_weights_4x4_ver_layer0[32] = {
   1442  -0.02032f, 2.61610f,  0.02098f,  -0.30217f, 0.12637f,  0.11017f,  -3.01996f,
   1443  0.35144f,  1.93776f,  -0.20463f, 1.64102f,  -1.41986f, -3.66717f, -0.51655f,
   1444  0.43910f,  0.37778f,  -1.02634f, 0.85337f,  -0.69753f, 1.00206f,  2.11784f,
   1445  1.89427f,  1.92919f,  0.43201f,  -1.67358f, -1.67035f, -1.54623f, 0.16714f,
   1446  -0.06589f, -0.28142f, -0.33118f, 1.72227f,
   1447 };
   1448 
   1449 static const float av1_tx_type_nn_bias_4x4_ver_layer0[8] = {
   1450  -0.33685f, 0.22025f,  0.28140f, 0.56138f,
   1451  0.93489f,  -1.77048f, 1.34989f, -0.93747f,
   1452 };
   1453 
   1454 static const float av1_tx_type_nn_weights_4x4_ver_layer1[32] = {
   1455  -1.39506f, -1.06271f, -1.10886f, -1.69719f, 0.19699f,  -2.39850f, -1.26457f,
   1456  0.75328f,  -1.26005f, -0.82738f, -0.12015f, -1.02702f, 1.40828f,  -2.37739f,
   1457  -0.65639f, -0.71992f, -0.90453f, -1.12510f, -2.41362f, -1.16061f, -1.85577f,
   1458  -0.99165f, -1.91366f, 0.16785f,  0.34776f,  0.58154f,  -0.18217f, -0.29257f,
   1459  -0.86315f, -0.53336f, 0.30320f,  -1.32331f,
   1460 };
   1461 
   1462 static const float av1_tx_type_nn_bias_4x4_ver_layer1[4] = {
   1463  -1.31519f,
   1464  -3.26321f,
   1465  1.71794f,
   1466  -1.90778f,
   1467 };
   1468 
   1469 static const NN_CONFIG av1_tx_type_nnconfig_4x4_ver = {
   1470  4,  // num_inputs
   1471  4,  // num_outputs
   1472  1,  // num_hidden_layers
   1473  {
   1474      8,
   1475  },  // num_hidden_nodes
   1476  { av1_tx_type_nn_weights_4x4_ver_layer0,
   1477    av1_tx_type_nn_weights_4x4_ver_layer1 },
   1478  { av1_tx_type_nn_bias_4x4_ver_layer0, av1_tx_type_nn_bias_4x4_ver_layer1 }
   1479 };
   1480 /******************************************************************************/
   1481 
   1482 // Tx type model for 4x8 block.
   1483 static const float av1_tx_type_nn_weights_4x8_hor_layer0[32] = {
   1484  0.00218f,  -0.41880f, -0.61215f, -0.92588f, 0.54291f,  -0.10898f, 0.70691f,
   1485  0.46819f,  -1.61598f, -0.08834f, -0.96839f, 1.18489f,  -0.45171f, -0.65445f,
   1486  -0.32179f, -0.10399f, 1.04379f,  0.91895f,  0.85589f,  0.08267f,  1.35388f,
   1487  -2.03096f, 0.08168f,  -0.06372f, -0.26732f, -0.48262f, -0.08682f, 2.44071f,
   1488  -1.35896f, -1.17121f, 1.68866f,  0.10357f,
   1489 };
   1490 
   1491 static const float av1_tx_type_nn_bias_4x8_hor_layer0[8] = {
   1492  2.93391f,  0.66831f, -0.21419f, 0.00000f,
   1493  -0.72878f, 0.15127f, -1.46755f, 0.16658f,
   1494 };
   1495 
   1496 static const float av1_tx_type_nn_weights_4x8_hor_layer1[32] = {
   1497  -1.52077f, -1.06243f, 0.35319f,  -0.49207f, 0.54524f,  0.44271f, 1.37117f,
   1498  -0.38957f, -1.28889f, -0.57133f, 0.04658f,  0.62278f,  0.37984f, 0.33247f,
   1499  1.65547f,  -0.56806f, -1.38645f, -0.76258f, 0.67926f,  0.08783f, -0.01443f,
   1500  0.34950f,  1.45812f,  -0.51332f, -1.41331f, -0.16453f, 0.05755f, 0.31405f,
   1501  -0.50191f, 0.18219f,  1.83664f,  -0.75276f,
   1502 };
   1503 
   1504 static const float av1_tx_type_nn_bias_4x8_hor_layer1[4] = {
   1505  -1.17455f,
   1506  -2.26089f,
   1507  -1.79863f,
   1508  -2.26333f,
   1509 };
   1510 
   1511 static const NN_CONFIG av1_tx_type_nnconfig_4x8_hor = {
   1512  4,  // num_inputs
   1513  4,  // num_outputs
   1514  1,  // num_hidden_layers
   1515  {
   1516      8,
   1517  },  // num_hidden_nodes
   1518  { av1_tx_type_nn_weights_4x8_hor_layer0,
   1519    av1_tx_type_nn_weights_4x8_hor_layer1 },
   1520  { av1_tx_type_nn_bias_4x8_hor_layer0, av1_tx_type_nn_bias_4x8_hor_layer1 }
   1521 };
   1522 
   1523 static const float av1_tx_type_nn_weights_4x8_ver_layer0[128] = {
   1524  -0.00952f, -0.98858f, -0.93181f, 1.39594f,  0.96559f,  0.18162f,  -0.76064f,
   1525  -0.06066f, 0.07907f,  -0.09365f, -0.21313f, -0.02187f, -2.61707f, -2.68702f,
   1526  -0.10982f, 0.18559f,  1.17049f,  1.11387f,  1.12697f,  1.05804f,  1.12764f,
   1527  1.06318f,  1.12052f,  0.17406f,  1.83157f,  0.19362f,  0.46910f,  0.39608f,
   1528  0.33342f,  0.40083f,  0.27645f,  1.06864f,  -4.06645f, -0.38775f, -0.11070f,
   1529  0.03781f,  -0.09141f, 0.06185f,  -0.04852f, 0.20163f,  0.16784f,  0.16641f,
   1530  -0.50941f, -0.61087f, 2.07008f,  -0.82381f, -0.85558f, 0.05528f,  -0.10535f,
   1531  -2.81150f, 0.67038f,  0.43643f,  0.49062f,  -0.04465f, 0.90438f,  0.00977f,
   1532  0.46272f,  1.59751f,  0.95234f,  0.35086f,  0.85624f,  0.73149f,  1.67779f,
   1533  -2.21511f, -1.24746f, -1.09014f, -0.92441f, -1.22591f, -1.06961f, -0.95897f,
   1534  -1.24956f, 0.73797f,  1.23275f,  -0.60064f, -0.07851f, 0.14397f,  0.22110f,
   1535  -0.04422f, 0.14350f,  0.75926f,  0.35032f,  0.48104f,  2.81408f,  0.34662f,
   1536  0.42090f,  0.35521f,  -1.36804f, -0.14974f, -0.47696f, -0.07892f, 0.36910f,
   1537  0.32299f,  0.23916f,  0.06032f,  -0.17844f, -0.17558f, -1.42746f, -0.55828f,
   1538  -1.00418f, -0.64823f, -0.73654f, -0.85197f, -1.50989f, 1.69385f,  -0.04973f,
   1539  -0.09273f, 1.04249f,  0.79235f,  1.13229f,  0.99617f,  0.03851f,  0.56334f,
   1540  0.90795f,  1.08296f,  0.58519f,  1.74765f,  0.63971f,  1.35951f,  0.07803f,
   1541  -0.05127f, 0.26514f,  -0.84629f, -0.66343f, -2.10630f, 0.11017f,  2.18528f,
   1542  -0.21958f, 0.05970f,
   1543 };
   1544 
   1545 static const float av1_tx_type_nn_bias_4x8_ver_layer0[16] = {
   1546  0.04205f, 0.22260f, -1.03870f, -1.19568f, 0.44283f,  0.01143f,
   1547  0.00235f, 4.26772f, 0.44364f,  -0.33199f, -0.39076f, -0.35129f,
   1548  0.08288f, 0.18195f, -0.79890f, 0.10047f,
   1549 };
   1550 
   1551 static const float av1_tx_type_nn_weights_4x8_ver_layer1[64] = {
   1552  -0.38193f, -0.12095f, 1.57802f,  0.34932f,  -0.47333f, -0.12304f, -0.01736f,
   1553  -2.52445f, 0.18983f,  -0.64707f, -0.60889f, -0.53750f, 0.91666f,  -0.62823f,
   1554  -0.13377f, -0.43594f, -0.38618f, -0.01328f, 0.97457f,  1.48589f,  -1.03238f,
   1555  -0.33459f, -0.35108f, -2.42417f, 0.60229f,  0.06824f,  -0.75495f, 0.26902f,
   1556  0.65311f,  -0.23887f, -0.44604f, -0.55800f, -0.33842f, 0.04259f,  -0.59589f,
   1557  0.49738f,  -0.62301f, -0.30896f, -0.29602f, -2.57052f, 2.00943f,  -0.66490f,
   1558  -0.76312f, 0.28256f,  1.06311f,  -0.38364f, -0.63508f, -0.57609f, -0.88765f,
   1559  -1.04403f, -0.46531f, 0.34084f,  -1.20498f, -0.68352f, -0.72251f, -2.63242f,
   1560  -0.68736f, -0.37904f, -1.32371f, 0.47288f,  1.51904f,  0.78372f,  -1.01830f,
   1561  -1.01848f,
   1562 };
   1563 
   1564 static const float av1_tx_type_nn_bias_4x8_ver_layer1[4] = {
   1565  -1.45955f,
   1566  -2.08949f,
   1567  -1.24813f,
   1568  -1.55368f,
   1569 };
   1570 
   1571 static const NN_CONFIG av1_tx_type_nnconfig_4x8_ver = {
   1572  8,  // num_inputs
   1573  4,  // num_outputs
   1574  1,  // num_hidden_layers
   1575  {
   1576      16,
   1577  },  // num_hidden_nodes
   1578  { av1_tx_type_nn_weights_4x8_ver_layer0,
   1579    av1_tx_type_nn_weights_4x8_ver_layer1 },
   1580  { av1_tx_type_nn_bias_4x8_ver_layer0, av1_tx_type_nn_bias_4x8_ver_layer1 }
   1581 };
   1582 /******************************************************************************/
   1583 
   1584 // Tx type model for 8x4 block.
   1585 static const float av1_tx_type_nn_weights_8x4_hor_layer0[128] = {
   1586  -0.22492f, 0.13341f,  -4.03243f, -0.64015f, 0.02783f,  0.60466f,  -0.13335f,
   1587  0.16828f,  0.12336f,  0.52904f,  1.18455f,  -0.32425f, 0.13052f,  0.93810f,
   1588  -3.71165f, 0.02990f,  -4.63558f, 0.05666f,  0.03524f,  -0.07449f, -0.44006f,
   1589  -0.33215f, -0.33713f, 0.08097f,  0.60873f,  0.29582f,  0.21696f,  -0.78729f,
   1590  -0.16757f, -0.26567f, -0.00720f, -1.11226f, 1.58189f,  1.58463f,  1.48536f,
   1591  1.54374f,  1.60069f,  1.46125f,  1.53932f,  0.05974f,  -1.82192f, 0.47043f,
   1592  0.38090f,  0.20833f,  -0.05637f, 0.05183f,  0.01323f,  -0.25662f, 0.78634f,
   1593  -0.55069f, -0.02975f, -1.29294f, -0.77192f, -2.34299f, -1.28074f, 0.77894f,
   1594  -1.69740f, -1.66032f, -1.44323f, -1.55063f, -1.50845f, -1.23690f, -1.80663f,
   1595  0.75079f,  2.32551f,  0.05878f,  0.80438f,  0.88584f,  0.69153f,  0.89060f,
   1596  0.73660f,  0.87259f,  -0.00745f, -1.30044f, -0.59430f, 2.07270f,  1.03307f,
   1597  -0.84697f, -1.19393f, 0.17549f,  -0.24978f, -3.67234f, 0.20781f,  -0.53946f,
   1598  -0.05068f, 0.88274f,  1.30371f,  0.10288f,  0.07585f,  0.12259f,  -0.30815f,
   1599  0.25437f,  -2.82096f, -2.69482f, 0.02370f,  0.12500f,  -0.21019f, -0.49220f,
   1600  0.03638f,  -0.29795f, 0.28645f,  -0.48432f, -0.38584f, -0.32148f, -0.47197f,
   1601  0.32437f,  0.32528f,  -0.19437f, 0.30383f,  -0.31879f, 0.26359f,  -0.12164f,
   1602  -0.43647f, -0.08288f, -0.33438f, -0.63608f, -0.46647f, -0.46574f, 0.47806f,
   1603  -0.49012f, -1.51234f, -1.13502f, -1.20470f, -1.02913f, -1.09182f, -0.93921f,
   1604  -1.85523f, 0.92532f,
   1605 };
   1606 
   1607 static const float av1_tx_type_nn_bias_8x4_hor_layer0[16] = {
   1608  0.36631f,  0.02901f,  0.64305f,  1.53074f, -1.40229f, 0.03852f,
   1609  -0.05043f, 0.89632f,  -1.23312f, 0.07036f, 0.17070f,  0.56250f,
   1610  -0.28958f, -0.32869f, -0.01704f, 0.68171f,
   1611 };
   1612 
   1613 static const float av1_tx_type_nn_weights_8x4_hor_layer1[64] = {
   1614  -0.49441f, -0.31960f, -0.84946f, -0.85800f, -2.37767f, 0.81373f,  -0.73172f,
   1615  -0.69337f, 0.88807f,  -0.49242f, -0.44717f, -0.11436f, 0.09978f,  0.15393f,
   1616  0.17083f,  1.44850f,  -0.20582f, -0.04906f, 0.42990f,  -0.61939f, -1.09692f,
   1617  -1.14885f, -1.36879f, -1.30828f, -0.59558f, -0.30903f, -0.08906f, 0.06953f,
   1618  0.15383f,  -0.04193f, -0.54858f, 1.82676f,  -0.22411f, 0.05264f,  -0.45848f,
   1619  -0.72985f, 0.87553f,  0.04116f,  -1.29774f, -2.63018f, 1.09089f,  -0.36048f,
   1620  -0.16725f, 0.11627f,  0.49918f,  0.07539f,  0.00763f,  0.73706f,  0.87800f,
   1621  0.57049f,  0.60969f,  1.02779f,  1.53339f,  -0.35915f, 0.06410f,  1.44582f,
   1622  0.09698f,  0.71888f,  0.60594f,  0.84103f,  -0.50440f, -0.38825f, 0.15626f,
   1623  -1.10654f,
   1624 };
   1625 
   1626 static const float av1_tx_type_nn_bias_8x4_hor_layer1[4] = {
   1627  -0.92861f,
   1628  -1.45151f,
   1629  -1.33588f,
   1630  -4.33853f,
   1631 };
   1632 
   1633 static const NN_CONFIG av1_tx_type_nnconfig_8x4_hor = {
   1634  8,  // num_inputs
   1635  4,  // num_outputs
   1636  1,  // num_hidden_layers
   1637  {
   1638      16,
   1639  },  // num_hidden_nodes
   1640  { av1_tx_type_nn_weights_8x4_hor_layer0,
   1641    av1_tx_type_nn_weights_8x4_hor_layer1 },
   1642  { av1_tx_type_nn_bias_8x4_hor_layer0, av1_tx_type_nn_bias_8x4_hor_layer1 }
   1643 };
   1644 
   1645 static const float av1_tx_type_nn_weights_8x4_ver_layer0[32] = {
   1646  -1.10946f, 1.86574f,  -1.59343f, 0.27018f, -1.70676f, -0.73982f, -0.19021f,
   1647  -1.94208f, -2.29759f, -1.44402f, 0.28700f, -1.18340f, -1.50158f, -0.44175f,
   1648  -1.36831f, 1.00374f,  2.59312f,  0.50291f, -0.71042f, -0.12238f, -0.15901f,
   1649  -0.22807f, -0.67376f, -0.30215f, 0.54407f, -0.45538f, 1.18262f,  2.28687f,
   1650  1.66212f,  1.70826f,  1.55182f,  0.12230f,
   1651 };
   1652 
   1653 static const float av1_tx_type_nn_bias_8x4_ver_layer0[8] = {
   1654  0.10943f,  2.09789f, 2.16578f, 0.15766f,
   1655  -0.42461f, 0.00000f, 1.22090f, -1.28717f,
   1656 };
   1657 
   1658 static const float av1_tx_type_nn_weights_8x4_ver_layer1[32] = {
   1659  1.20426f,  -1.23237f, 2.41053f, -0.72488f, 1.25249f,  0.18018f,  -0.09586f,
   1660  2.17901f,  0.15364f,  1.21535f, -0.38263f, -0.74309f, 0.50551f,  -0.54208f,
   1661  0.59139f,  1.16095f,  0.55919f, -0.60183f, 1.18949f,  1.60787f,  0.54002f,
   1662  -0.10712f, -0.16153f, 0.16207f, -0.32338f, 2.68712f,  -2.83483f, -0.27086f,
   1663  -1.15005f, -0.39311f, 1.51236f, -1.68973f,
   1664 };
   1665 
   1666 static const float av1_tx_type_nn_bias_8x4_ver_layer1[4] = {
   1667  1.81013f,
   1668  1.10517f,
   1669  2.90059f,
   1670  0.95391f,
   1671 };
   1672 
   1673 static const NN_CONFIG av1_tx_type_nnconfig_8x4_ver = {
   1674  4,  // num_inputs
   1675  4,  // num_outputs
   1676  1,  // num_hidden_layers
   1677  {
   1678      8,
   1679  },  // num_hidden_nodes
   1680  { av1_tx_type_nn_weights_8x4_ver_layer0,
   1681    av1_tx_type_nn_weights_8x4_ver_layer1 },
   1682  { av1_tx_type_nn_bias_8x4_ver_layer0, av1_tx_type_nn_bias_8x4_ver_layer1 }
   1683 };
   1684 /******************************************************************************/
   1685 
   1686 // Tx type model for 8x8 block.
   1687 static const float av1_tx_type_nn_weights_8x8_hor_layer0[128] = {
   1688  -0.85529f, 0.37619f,  0.12754f,  0.08622f,  0.45278f,  0.54929f,  1.60651f,
   1689  -0.62654f, -0.54929f, -0.10131f, -0.17569f, 0.13948f,  0.31695f,  -0.05616f,
   1690  0.20483f,  -0.36448f, 2.27203f,  -0.33087f, 0.47679f,  0.86888f,  0.39370f,
   1691  0.46239f,  0.01113f,  1.50327f,  -1.48226f, -1.69621f, -1.49777f, -1.38885f,
   1692  -1.37753f, -1.22681f, -1.70576f, 0.51329f,  -1.65662f, 1.74197f,  -0.13579f,
   1693  -0.13133f, -0.58396f, -0.55510f, -1.10709f, -2.34975f, 0.22445f,  -0.56491f,
   1694  -0.83432f, 0.13492f,  1.32147f,  2.85285f,  0.13819f,  0.03792f,  -1.30792f,
   1695  0.04155f,  -0.70644f, -0.43430f, -0.16212f, -0.86945f, -1.16976f, 1.68339f,
   1696  0.29540f,  0.01137f,  -0.25335f, -0.16856f, 0.12028f,  0.05207f,  0.39357f,
   1697  -0.01545f, -0.21980f, -1.94091f, -1.01315f, -0.68270f, -0.40590f, -0.67111f,
   1698  2.08283f,  0.19291f,  -4.81426f, -0.65044f, -0.24598f, 0.06371f,  -0.10272f,
   1699  -0.14502f, -0.06821f, 0.45202f,  0.21091f,  -0.80864f, 0.39255f,  1.79189f,
   1700  1.80453f,  1.10484f,  1.17608f,  0.96901f,  -0.35871f, -0.94311f, 0.63147f,
   1701  2.95157f,  0.45917f,  -0.42849f, -0.55643f, -0.06097f, 3.49299f,  -0.50972f,
   1702  0.11075f,  -0.08405f, -0.09274f, -0.22694f, -0.42426f, 0.48632f,  -1.61074f,
   1703  1.82998f,  0.37623f,  -1.20330f, -0.01142f, -1.33307f, -0.27492f, -2.23621f,
   1704  1.38846f,  1.42085f,  1.42568f,  1.36152f,  1.46910f,  1.27473f,  1.34752f,
   1705  0.12753f,  -1.08197f, -1.08280f, -0.79489f, -1.12338f, -1.06795f, -0.87857f,
   1706  -0.99892f, 1.09823f,
   1707 };
   1708 
   1709 static const float av1_tx_type_nn_bias_8x8_hor_layer0[16] = {
   1710  -0.49232f, -0.29685f, -1.44020f, 1.10940f,  1.16452f, -0.34862f,
   1711  -0.38761f, -0.36243f, 0.21776f,  0.28234f,  2.34269f, -0.04104f,
   1712  -0.26319f, 2.65579f,  -1.30137f, -0.01487f,
   1713 };
   1714 
   1715 static const float av1_tx_type_nn_weights_8x8_hor_layer1[64] = {
   1716  -0.38058f, -0.41295f, -1.26884f, -0.75560f, -1.57450f, 0.56072f,  -1.42322f,
   1717  -0.29106f, 0.07228f,  0.04391f,  1.61388f,  -0.03055f, 0.81637f,  2.06045f,
   1718  0.27119f,  -0.48328f, -0.45528f, -0.60534f, -1.61209f, -0.78157f, -1.65034f,
   1719  0.60958f,  -1.30523f, 0.25143f,  0.11398f,  0.37860f,  1.54829f,  0.02309f,
   1720  0.67288f,  2.11447f,  0.44845f,  -0.70406f, -0.67897f, -0.38759f, -1.30383f,
   1721  -1.22646f, -1.54571f, 0.60552f,  -1.52565f, 0.11469f,  0.17344f,  0.08622f,
   1722  1.57906f,  -0.00909f, 0.81634f,  2.04909f,  1.26466f,  -1.45741f, -0.75229f,
   1723  0.06200f,  -1.05835f, -0.66257f, -1.73766f, 0.99923f,  -1.87082f, 0.14580f,
   1724  0.49525f,  0.46839f,  1.32203f,  0.33923f,  0.97001f,  2.38584f,  1.58811f,
   1725  0.06161f,
   1726 };
   1727 
   1728 static const float av1_tx_type_nn_bias_8x8_hor_layer1[4] = {
   1729  1.70385f,
   1730  1.82373f,
   1731  1.78496f,
   1732  1.80826f,
   1733 };
   1734 
   1735 static const NN_CONFIG av1_tx_type_nnconfig_8x8_hor = {
   1736  8,  // num_inputs
   1737  4,  // num_outputs
   1738  1,  // num_hidden_layers
   1739  {
   1740      16,
   1741  },  // num_hidden_nodes
   1742  { av1_tx_type_nn_weights_8x8_hor_layer0,
   1743    av1_tx_type_nn_weights_8x8_hor_layer1 },
   1744  { av1_tx_type_nn_bias_8x8_hor_layer0, av1_tx_type_nn_bias_8x8_hor_layer1 }
   1745 };
   1746 
   1747 static const float av1_tx_type_nn_weights_8x8_ver_layer0[128] = {
   1748  -0.67016f, -1.72366f, -1.86576f, -1.50962f, -1.70419f, -1.73964f, -1.84615f,
   1749  2.09681f,  -0.05081f, -0.61030f, 2.02541f,  0.60222f,  0.99936f,  2.02114f,
   1750  -0.53893f, -0.23757f, 0.73566f,  0.25443f,  0.00132f,  -0.74036f, -0.75351f,
   1751  -0.76964f, -1.71007f, -0.15770f, 1.60982f,  2.17638f,  0.90681f,  0.64973f,
   1752  0.85914f,  0.58786f,  -1.46228f, 0.05187f,  1.18804f,  0.30850f,  0.29512f,
   1753  0.40526f,  0.37635f,  0.32311f,  0.37471f,  1.12346f,  3.41856f,  -0.36653f,
   1754  0.42537f,  -0.19240f, 0.00155f,  0.30826f,  -0.02116f, -0.53435f, -0.34829f,
   1755  -0.52466f, -0.11521f, -0.29163f, -2.05689f, -2.87372f, -0.62626f, 0.09585f,
   1756  -0.75257f, 0.10057f,  1.43474f,  0.89450f,  0.75900f,  1.11147f,  1.00558f,
   1757  0.25886f,  2.22095f,  -0.17926f, 0.57161f,  0.39546f,  0.47846f,  0.40452f,
   1758  0.54298f,  0.45814f,  -3.62788f, -3.02374f, 0.03716f,  -0.13937f, -0.09415f,
   1759  -0.12463f, 0.05682f,  0.03672f,  1.20746f,  1.25003f,  1.27071f,  1.31883f,
   1760  1.27473f,  1.34943f,  1.23158f,  0.09039f,  0.19388f,  0.63420f,  2.79612f,
   1761  0.93803f,  -0.11323f, -0.02027f, 0.41286f,  -0.05979f, -3.80705f, -0.52451f,
   1762  -0.77098f, -0.68132f, -0.65559f, -0.60975f, -1.26165f, 0.25582f,  0.05346f,
   1763  0.61403f,  0.32140f,  -2.39831f, -1.42355f, 1.30541f,  1.02361f,  0.12930f,
   1764  -1.61469f, -0.77036f, -0.59144f, 1.27769f,  1.52068f,  0.82137f,  1.83159f,
   1765  -0.66626f, -0.69806f, -1.00564f, -0.85995f, -0.90889f, -0.84412f, -0.85712f,
   1766  -1.29848f, 0.39308f,
   1767 };
   1768 
   1769 static const float av1_tx_type_nn_bias_8x8_ver_layer0[16] = {
   1770  -0.14868f, -0.48343f, 3.94416f,  -0.78037f, -1.33789f, -0.60611f,
   1771  0.51793f,  0.44030f,  -0.71563f, 0.22561f,  -1.19083f, -0.46149f,
   1772  0.83015f,  0.06024f,  1.17180f,  0.65122f,
   1773 };
   1774 
   1775 static const float av1_tx_type_nn_weights_8x8_ver_layer1[64] = {
   1776  -1.42711f, -0.21683f, 2.12061f,  0.20489f,  -0.50228f, -0.24770f, 0.23391f,
   1777  1.03470f,  -0.44847f, -0.63225f, -0.21583f, -0.06467f, -0.21892f, -0.07786f,
   1778  1.43322f,  0.00280f,  -1.53057f, -0.18912f, 1.95333f,  0.31151f,  -2.07601f,
   1779  0.06776f,  0.25529f,  0.94800f,  -1.11453f, -0.20594f, -0.13281f, 0.01485f,
   1780  0.17650f,  -0.07955f, 1.43734f,  -0.23193f, -2.06463f, -0.21238f, 2.13707f,
   1781  0.30351f,  0.27594f,  -0.36245f, 0.19539f,  0.91045f,  -0.24068f, -0.37616f,
   1782  0.88792f,  0.02947f,  -0.16903f, -0.04932f, 1.51293f,  -0.95967f, -1.62903f,
   1783  0.05326f,  2.30703f,  0.64445f,  -1.09464f, -0.16623f, 1.00240f,  0.07548f,
   1784  -0.50406f, 0.63854f,  1.02340f,  0.49833f,  0.13671f,  0.26722f,  2.09516f,
   1785  -0.41305f,
   1786 };
   1787 
   1788 static const float av1_tx_type_nn_bias_8x8_ver_layer1[4] = {
   1789  2.14067f,
   1790  2.76699f,
   1791  2.04233f,
   1792  1.34803f,
   1793 };
   1794 
   1795 static const NN_CONFIG av1_tx_type_nnconfig_8x8_ver = {
   1796  8,  // num_inputs
   1797  4,  // num_outputs
   1798  1,  // num_hidden_layers
   1799  {
   1800      16,
   1801  },  // num_hidden_nodes
   1802  { av1_tx_type_nn_weights_8x8_ver_layer0,
   1803    av1_tx_type_nn_weights_8x8_ver_layer1 },
   1804  { av1_tx_type_nn_bias_8x8_ver_layer0, av1_tx_type_nn_bias_8x8_ver_layer1 }
   1805 };
   1806 /******************************************************************************/
   1807 
   1808 // Tx type model for 8x16 block.
   1809 static const float av1_tx_type_nn_weights_8x16_hor_layer0[128] = {
   1810  -1.61872f, -1.58520f, -1.41236f, -1.53255f, -1.59794f, -1.25769f, -1.90043f,
   1811  0.73431f,  1.10135f,  0.47054f,  0.43230f,  -0.43009f, -0.09135f, -0.07289f,
   1812  -0.38785f, 1.23775f,  -0.35312f, 0.73789f,  0.88864f,  0.75957f,  0.62579f,
   1813  0.46974f,  0.21851f,  1.63821f,  -2.27289f, -0.68522f, -0.69814f, -0.84368f,
   1814  -0.91320f, -0.63055f, -1.03296f, 0.55778f,  -0.00071f, 1.27539f,  1.60068f,
   1815  1.40975f,  0.97372f,  0.92843f,  1.90853f,  0.12626f,  1.71953f,  1.41978f,
   1816  -0.12234f, -1.27058f, 0.76207f,  0.02495f,  -0.67038f, -0.05255f, 1.72923f,
   1817  1.47630f,  1.47058f,  1.47614f,  1.49354f,  1.66131f,  1.50801f,  0.17145f,
   1818  -2.30947f, -2.10850f, -1.25636f, -0.24900f, 0.72602f,  1.26572f,  0.97865f,
   1819  -0.65466f, 1.31129f,  0.26916f,  0.12139f,  -0.12761f, -0.39143f, -0.28134f,
   1820  0.06584f,  2.24418f,  0.22516f,  0.05011f,  -0.01671f, -0.29476f, -0.40326f,
   1821  0.21138f,  -0.11573f, -0.31154f, -0.36828f, 0.03694f,  -0.07172f, -0.63419f,
   1822  -3.14351f, -1.23125f, 0.65311f,  -0.11406f, 1.97287f,  -0.10422f, 0.83896f,
   1823  0.85033f,  0.49724f,  0.80482f,  0.51454f,  1.06447f,  0.76693f,  0.72599f,
   1824  -0.78573f, -0.53950f, 0.40894f,  0.00086f,  0.10784f,  -0.70498f, 1.16395f,
   1825  1.14597f,  1.13496f,  1.12177f,  1.02100f,  -1.37574f, -2.97144f, 0.33899f,
   1826  0.42013f,  0.86327f,  2.31983f,  2.04008f,  0.95503f,  0.15081f,  0.11530f,
   1827  -0.02574f, -4.77119f, 0.13257f,  -0.01704f, -0.23087f, -0.00825f, 0.07029f,
   1828  -0.28136f, 0.42556f,
   1829 };
   1830 
   1831 static const float av1_tx_type_nn_bias_8x16_hor_layer0[16] = {
   1832  0.93617f,  -0.24000f, -1.26821f, 0.78780f,  0.13690f, -0.21948f,
   1833  -1.45162f, 0.44584f,  -1.92582f, -0.23169f, 0.56004f, -1.19937f,
   1834  1.81560f,  -1.02643f, -0.81690f, 0.08302f,
   1835 };
   1836 
   1837 static const float av1_tx_type_nn_weights_8x16_hor_layer1[64] = {
   1838  0.06696f,  -0.11538f, -1.42029f, 0.32965f,  0.81046f,  0.01146f,  1.20945f,
   1839  -0.16899f, 0.53224f,  -0.40232f, 0.01786f,  -0.73242f, 1.29750f,  1.95185f,
   1840  0.70143f,  1.43287f,  0.76220f,  0.79937f,  -1.79011f, -1.15178f, 0.42526f,
   1841  -0.67519f, 0.77267f,  -0.30697f, 2.46004f,  -0.49828f, 0.02875f,  1.09972f,
   1842  1.47662f,  0.61719f,  0.61417f,  -0.12363f, 2.53048f,  0.00418f,  -1.38964f,
   1843  0.88117f,  0.39239f,  -0.19347f, -2.58600f, -0.33715f, 1.09323f,  -0.32127f,
   1844  0.02456f,  -0.19125f, 1.12728f,  0.66502f,  0.34296f,  1.14897f,  0.29967f,
   1845  1.19209f,  0.22108f,  -0.11975f, 1.49776f,  -1.34624f, -2.58478f, -1.34632f,
   1846  1.53207f,  0.45634f,  -1.48476f, 0.17489f,  0.71790f,  -2.12086f, -1.21778f,
   1847  -1.31243f,
   1848 };
   1849 
   1850 static const float av1_tx_type_nn_bias_8x16_hor_layer1[4] = {
   1851  0.83359f,
   1852  1.06875f,
   1853  1.77645f,
   1854  1.49570f,
   1855 };
   1856 
   1857 static const NN_CONFIG av1_tx_type_nnconfig_8x16_hor = {
   1858  8,  // num_inputs
   1859  4,  // num_outputs
   1860  1,  // num_hidden_layers
   1861  {
   1862      16,
   1863  },  // num_hidden_nodes
   1864  { av1_tx_type_nn_weights_8x16_hor_layer0,
   1865    av1_tx_type_nn_weights_8x16_hor_layer1 },
   1866  { av1_tx_type_nn_bias_8x16_hor_layer0, av1_tx_type_nn_bias_8x16_hor_layer1 }
   1867 };
   1868 
   1869 static const float av1_tx_type_nn_weights_8x16_ver_layer0[128] = {
   1870  0.32858f,  -1.28887f, 0.25632f,  -0.05262f, 2.69203f,  -0.07004f, 1.37337f,
   1871  -0.05725f, -0.05659f, 0.05592f,  0.01039f,  -0.29343f, 1.58628f,  -0.30003f,
   1872  -3.43118f, 0.00272f,  1.70928f,  -0.76348f, 0.05889f,  -0.03263f, -0.07724f,
   1873  0.03523f,  -0.19890f, 1.18005f,  -0.03605f, -0.20530f, -4.00733f, 0.10210f,
   1874  -0.05368f, -0.17650f, -0.15317f, 0.06499f,  0.56705f,  1.04341f,  0.62890f,
   1875  0.73451f,  -0.22199f, 0.86659f,  0.78443f,  -0.61664f, -0.50606f, 0.30247f,
   1876  0.14455f,  0.39276f,  0.49203f,  0.65019f,  0.12269f,  1.64080f,  1.68289f,
   1877  1.42694f,  1.60825f,  1.58501f,  1.47252f,  1.62589f,  1.48218f,  0.17726f,
   1878  -0.04884f, 0.35376f,  -0.04796f, 0.32589f,  0.35087f,  0.35258f,  -0.46103f,
   1879  -0.31176f, -0.05203f, 0.07247f,  -0.26756f, 0.22019f,  0.03412f,  0.33773f,
   1880  0.29811f,  -0.11140f, 0.12831f,  -0.44673f, -0.09858f, 0.07889f,  0.15137f,
   1881  0.00347f,  -0.23394f, 0.08886f,  -0.31201f, -0.79912f, -0.51092f, 0.14123f,
   1882  -1.09599f, -4.26020f, -0.68675f, -0.02842f, -1.54538f, -1.28977f, -1.30558f,
   1883  -1.21074f, -1.37142f, -1.14743f, -1.85397f, 0.82985f,  -0.30681f, 0.04494f,
   1884  -0.24023f, -4.18053f, -0.16096f, -0.55492f, -0.27882f, 0.05829f,  -0.41224f,
   1885  -2.52088f, -0.56162f, -1.04547f, -1.70685f, -0.28842f, -1.43673f, -0.01468f,
   1886  -3.20585f, -0.69120f, -0.43931f, -0.46270f, -0.65885f, -0.55884f, -0.75138f,
   1887  0.36381f,  -5.70858f, -0.14548f, -0.15745f, -0.11812f, -0.07605f, -0.07693f,
   1888  -0.12236f, 0.16075f,
   1889 };
   1890 
   1891 static const float av1_tx_type_nn_bias_8x16_ver_layer0[16] = {
   1892  -0.35385f, 0.30491f,  -0.90011f, 0.42941f,  1.20928f, -0.88331f,
   1893  -1.48818f, -0.34785f, -0.32668f, -0.22695f, 0.89188f, 0.65521f,
   1894  0.57598f,  0.99819f,  0.75175f,  0.17044f,
   1895 };
   1896 
   1897 static const float av1_tx_type_nn_weights_8x16_ver_layer1[64] = {
   1898  -0.62913f, -0.34304f, 0.42963f,  -0.17440f, -1.44092f, 0.69142f,  -1.36067f,
   1899  0.52211f,  0.44658f,  -0.26501f, -0.41657f, 0.34428f,  -0.34390f, -0.58567f,
   1900  -0.84097f, -1.96311f, -0.37215f, -0.22250f, -1.23811f, -0.07247f, -0.81731f,
   1901  0.58755f,  -1.30559f, 0.39551f,  0.41743f,  -0.09940f, -0.33230f, 0.14458f,
   1902  -0.25139f, -0.54517f, 0.13469f,  -0.38157f, -0.39109f, -0.18205f, 0.06834f,
   1903  -0.08395f, -0.92187f, 0.56724f,  1.44381f,  0.53226f,  -0.22356f, 0.12285f,
   1904  -0.29418f, -1.86749f, -0.22372f, -0.60204f, -0.87746f, -1.16936f, 0.56884f,
   1905  0.62641f,  -0.11823f, 1.00395f,  1.64794f,  -0.64535f, 2.29322f,  -0.23397f,
   1906  0.17251f,  -0.35927f, 0.65631f,  -0.26812f, 0.80128f,  0.85748f,  0.47404f,
   1907  2.20547f,
   1908 };
   1909 
   1910 static const float av1_tx_type_nn_bias_8x16_ver_layer1[4] = {
   1911  -0.44080f,
   1912  -1.67455f,
   1913  -1.46332f,
   1914  -6.13206f,
   1915 };
   1916 
   1917 static const NN_CONFIG av1_tx_type_nnconfig_8x16_ver = {
   1918  8,  // num_inputs
   1919  4,  // num_outputs
   1920  1,  // num_hidden_layers
   1921  {
   1922      16,
   1923  },  // num_hidden_nodes
   1924  { av1_tx_type_nn_weights_8x16_ver_layer0,
   1925    av1_tx_type_nn_weights_8x16_ver_layer1 },
   1926  { av1_tx_type_nn_bias_8x16_ver_layer0, av1_tx_type_nn_bias_8x16_ver_layer1 }
   1927 };
   1928 /******************************************************************************/
   1929 
   1930 // Tx type model for 16x8 block.
   1931 static const float av1_tx_type_nn_weights_16x8_hor_layer0[128] = {
   1932  0.02600f,  0.09786f,  -1.05107f, -0.35594f, -0.15658f, 2.99828f,  -0.07106f,
   1933  -0.10101f, -0.14412f, -0.83790f, -0.19434f, 2.28368f,  1.91727f,  -0.00956f,
   1934  -0.90640f, 0.09174f,  1.58895f,  1.38945f,  1.49431f,  1.51381f,  1.44803f,
   1935  1.53544f,  1.44694f,  0.17753f,  1.69735f,  -0.78652f, 0.31092f,  -0.23736f,
   1936  0.02231f,  -0.09884f, -0.00493f, 1.21189f,  -1.94382f, -0.34629f, -0.58309f,
   1937  0.72291f,  -0.30056f, 0.90660f,  -0.57495f, 3.07809f,  0.73644f,  1.43050f,
   1938  1.34356f,  -0.66554f, 0.50102f,  -0.64305f, 0.42044f,  -1.66165f, -0.05733f,
   1939  -2.51402f, -1.01067f, -0.33390f, -0.32986f, -0.92431f, 1.86281f,  -0.07290f,
   1940  -0.26290f, -0.68941f, 1.81156f,  0.66125f,  -2.09974f, 0.17032f,  -0.67461f,
   1941  -0.00876f, -1.50154f, 1.17153f,  1.00377f,  0.33022f,  0.74689f,  0.42878f,
   1942  0.61725f,  -0.83967f, 0.09467f,  -0.39892f, 0.33863f,  0.10656f,  -0.09249f,
   1943  -0.39757f, 0.48481f,  -0.35162f, 1.47014f,  1.67827f,  -1.84051f, 0.16291f,
   1944  -0.50135f, -2.29911f, -0.42217f, -0.13358f, 1.45899f,  -0.14743f, -0.02763f,
   1945  -0.28003f, -0.01364f, 0.21014f,  -0.29026f, -0.20198f, 1.38782f,  0.56731f,
   1946  0.27489f,  0.43227f,  0.41326f,  0.42721f,  0.87720f,  -1.90067f, -5.04951f,
   1947  -0.17638f, -0.58119f, -0.08954f, -0.13692f, -0.12325f, -0.38548f, 0.66462f,
   1948  -1.42377f, -1.21917f, -1.38193f, -1.36539f, -1.39378f, -1.19629f, -1.59812f,
   1949  0.28689f,  0.32394f,  0.52128f,  0.01013f,  -0.28948f, -0.26293f, -0.44331f,
   1950  -0.36570f, -0.50757f,
   1951 };
   1952 
   1953 static const float av1_tx_type_nn_bias_16x8_hor_layer0[16] = {
   1954  -0.08696f, -0.22110f, -1.43604f, -1.00451f, -1.51029f, 0.63736f,
   1955  0.45260f,  0.16229f,  4.01393f,  -0.21748f, 0.36411f,  -0.08764f,
   1956  -0.12329f, 0.08986f,  1.08117f,  -0.00220f,
   1957 };
   1958 
   1959 static const float av1_tx_type_nn_weights_16x8_hor_layer1[64] = {
   1960  0.55824f,  -0.14648f, 0.81947f,  -0.45867f, -1.86078f, -0.17291f, 0.34849f,
   1961  0.15153f,  1.75625f,  -0.25760f, 0.72015f,  -0.30059f, -0.57975f, 0.07609f,
   1962  -0.02036f, 0.07912f,  0.57080f,  -0.13792f, 0.74184f,  -0.87669f, -1.87572f,
   1963  -0.27270f, 0.39751f,  0.19652f,  2.03514f,  -0.32944f, 0.76251f,  0.04399f,
   1964  -0.63175f, 0.37420f,  0.08309f,  0.04466f,  0.60255f,  -0.12820f, 1.66065f,
   1965  -0.59496f, -1.94794f, -0.14847f, 0.39424f,  0.16273f,  1.80587f,  0.41197f,
   1966  0.74691f,  -0.21217f, -0.63173f, 0.09510f,  -0.35538f, -0.04407f, 0.92847f,
   1967  0.20141f,  1.68680f,  -0.56528f, -2.26960f, 0.12978f,  0.73748f,  0.42438f,
   1968  2.00673f,  -0.40189f, 0.95423f,  0.23234f,  -0.80953f, 0.65814f,  0.49444f,
   1969  -0.23347f,
   1970 };
   1971 
   1972 static const float av1_tx_type_nn_bias_16x8_hor_layer1[4] = {
   1973  3.57175f,
   1974  2.42612f,
   1975  3.31259f,
   1976  2.08287f,
   1977 };
   1978 
   1979 static const NN_CONFIG av1_tx_type_nnconfig_16x8_hor = {
   1980  8,  // num_inputs
   1981  4,  // num_outputs
   1982  1,  // num_hidden_layers
   1983  {
   1984      16,
   1985  },  // num_hidden_nodes
   1986  { av1_tx_type_nn_weights_16x8_hor_layer0,
   1987    av1_tx_type_nn_weights_16x8_hor_layer1 },
   1988  { av1_tx_type_nn_bias_16x8_hor_layer0, av1_tx_type_nn_bias_16x8_hor_layer1 }
   1989 };
   1990 
   1991 static const float av1_tx_type_nn_weights_16x8_ver_layer0[128] = {
   1992  0.46633f,  1.55328f,  -0.11230f, -0.29571f, 0.18814f,  -1.52430f, -2.34660f,
   1993  0.08644f,  -1.97718f, -1.29140f, -1.12262f, -1.12985f, -1.25911f, -0.96506f,
   1994  -1.57129f, 0.96021f,  1.34192f,  1.28623f,  1.21655f,  1.28758f,  1.25482f,
   1995  1.30195f,  1.19190f,  0.09310f,  0.52072f,  0.91487f,  1.24100f,  1.61236f,
   1996  1.72166f,  2.20750f,  1.62379f,  -1.43936f, 0.50665f,  0.40213f,  0.66502f,
   1997  -1.66699f, -3.07618f, 0.05877f,  0.60987f,  -0.09995f, -0.10916f, 0.48049f,
   1998  0.23812f,  0.39847f,  -0.21682f, -0.63455f, 0.33453f,  -0.67939f, -4.14355f,
   1999  -0.62756f, -0.22502f, -0.17215f, 0.01062f,  0.27049f,  -0.10748f, 0.30945f,
   2000  2.72445f,  -0.89181f, -0.06800f, 0.20595f,  -0.73385f, 0.04071f,  -1.30294f,
   2001  1.83507f,  0.92570f,  0.69609f,  0.76285f,  0.69892f,  0.76409f,  0.63104f,
   2002  0.73397f,  1.09575f,  -0.20129f, -0.24022f, -0.24599f, -0.59107f, -0.88755f,
   2003  -0.68987f, -0.75495f, -1.31002f, -1.30237f, -0.94093f, -2.15678f, -1.49303f,
   2004  -1.17498f, -1.39952f, -0.91270f, -0.05587f, 1.02381f,  -0.75580f, -0.65263f,
   2005  -0.78996f, -0.71075f, -0.71018f, -0.70350f, -1.26196f, 2.34208f,  -0.53611f,
   2006  0.19752f,  -0.16842f, -0.24828f, 0.21857f,  0.08222f,  -2.55894f, -1.75702f,
   2007  0.11394f,  1.03083f,  0.79972f,  -1.54112f, -1.82341f, -0.57597f, -0.02077f,
   2008  -0.39616f, -0.00995f, -0.12809f, 0.01188f,  -0.25117f, 0.09202f,  0.09336f,
   2009  -0.05614f, -0.30039f, 0.25834f,  1.19944f,  1.22533f,  0.92330f,  0.75967f,
   2010  -0.81945f, -0.41647f,
   2011 };
   2012 
   2013 static const float av1_tx_type_nn_bias_16x8_ver_layer0[16] = {
   2014  0.17841f,  0.67315f,  -1.24450f, 3.13859f,  0.16203f, -0.14992f,
   2015  0.29553f,  -1.15567f, -0.71421f, 1.15977f,  1.14585f, 3.02460f,
   2016  -0.04510f, 0.48000f,  -0.09354f, -0.42422f,
   2017 };
   2018 
   2019 static const float av1_tx_type_nn_weights_16x8_ver_layer1[64] = {
   2020  0.29912f,  -0.10009f, -1.11478f, 1.76812f,  -0.27719f, 0.52148f,  0.17622f,
   2021  -1.17116f, 0.73397f,  -0.69279f, -0.11080f, 1.53751f,  -1.42003f, 0.14731f,
   2022  0.13592f,  -0.04883f, 0.39186f,  -0.13655f, -0.43994f, 1.82759f,  -0.25601f,
   2023  -0.15018f, 0.51920f,  -1.56070f, 0.31683f,  -0.79367f, -0.02904f, 1.28637f,
   2024  -1.15203f, 0.26627f,  0.42828f,  -0.24258f, 0.38647f,  -0.83352f, 0.32553f,
   2025  2.09522f,  -0.26822f, -0.42191f, 0.32825f,  -1.30748f, 1.50551f,  -0.52669f,
   2026  0.20045f,  1.69318f,  -1.47839f, 0.30802f,  -0.07290f, -0.28106f, 0.68192f,
   2027  -0.15522f, 1.12579f,  2.21921f,  0.09720f,  -0.50265f, 0.83165f,  -1.31721f,
   2028  0.72422f,  -1.24952f, 0.61653f,  2.04117f,  -1.42406f, 0.52568f,  -0.46180f,
   2029  -0.00873f,
   2030 };
   2031 
   2032 static const float av1_tx_type_nn_bias_16x8_ver_layer1[4] = {
   2033  3.34981f,
   2034  3.74710f,
   2035  1.38339f,
   2036  0.45176f,
   2037 };
   2038 
   2039 static const NN_CONFIG av1_tx_type_nnconfig_16x8_ver = {
   2040  8,  // num_inputs
   2041  4,  // num_outputs
   2042  1,  // num_hidden_layers
   2043  {
   2044      16,
   2045  },  // num_hidden_nodes
   2046  { av1_tx_type_nn_weights_16x8_ver_layer0,
   2047    av1_tx_type_nn_weights_16x8_ver_layer1 },
   2048  { av1_tx_type_nn_bias_16x8_ver_layer0, av1_tx_type_nn_bias_16x8_ver_layer1 }
   2049 };
   2050 /******************************************************************************/
   2051 
   2052 // Tx type model for 16x16 block.
   2053 static const float av1_tx_type_nn_weights_16x16_layer0[128] = {
   2054  1.26592f,  1.36313f,  1.30956f,  1.29926f,  1.48816f,  1.68851f,  1.32000f,
   2055  0.13321f,  -0.22477f, -0.88906f, -0.19622f, 1.69605f,  1.22180f,  -1.57771f,
   2056  -1.15765f, 0.05710f,  -1.13355f, -0.85486f, -0.99971f, -0.91571f, -1.06031f,
   2057  -0.77952f, -1.15723f, 1.17809f,  1.35602f,  -0.05243f, -0.37596f, 0.26108f,
   2058  0.17611f,  -0.10323f, 0.77279f,  -0.48911f, -0.79308f, 0.55112f,  0.43918f,
   2059  0.27872f,  0.28714f,  0.45830f,  1.05689f,  0.03705f,  -2.49975f, -0.01940f,
   2060  0.05709f,  0.07942f,  -0.13290f, -0.10359f, 0.00143f,  0.37303f,  0.96470f,
   2061  0.53293f,  1.14459f,  0.89185f,  0.43378f,  0.47764f,  0.90924f,  0.15279f,
   2062  -0.15361f, 0.02949f,  0.42240f,  0.68143f,  0.89588f,  0.73754f,  0.10974f,
   2063  1.57755f,  -0.39870f, -0.32914f, 0.35638f,  0.34991f,  -0.00003f, -0.23373f,
   2064  0.29630f,  -0.76699f, -0.01356f, 0.04234f,  0.84253f,  1.92078f,  0.93160f,
   2065  0.71993f,  0.71604f,  0.76455f,  -1.59782f, 0.32332f,  1.11628f,  0.33062f,
   2066  -0.03728f, -0.05710f, 0.80447f,  -0.14719f, 1.34658f,  -0.05718f, 0.64015f,
   2067  0.21926f,  0.41653f,  0.12720f,  0.54092f,  1.39411f,  1.81819f,  -0.24513f,
   2068  0.00955f,  0.38011f,  -0.57787f, -0.41759f, 0.68834f,  -0.31783f, -0.40607f,
   2069  -0.10107f, -0.79374f, 0.75599f,  -0.16282f, -0.14490f, -0.20783f, -0.55019f,
   2070  -0.13793f, -0.22293f, 0.18305f,  0.12445f,  0.56830f,  0.24567f,  0.09278f,
   2071  0.70803f,  0.35803f,  -1.52676f, -0.89624f, 0.77665f,  0.19877f,  0.77175f,
   2072  0.50355f,  0.08592f,
   2073 };
   2074 
   2075 static const float av1_tx_type_nn_bias_16x16_layer0[16] = {
   2076  -1.31834f, 0.14346f,  -0.10062f, 0.84489f,  0.95617f,  -0.06720f,
   2077  -0.68502f, -0.91442f, -0.31932f, 0.25276f,  -0.15138f, -1.57661f,
   2078  -0.14062f, -0.42120f, 0.94573f,  -0.09287f,
   2079 };
   2080 
   2081 static const float av1_tx_type_nn_weights_16x16_layer1[64] = {
   2082  -1.80333f, -1.06353f, 0.55139f,  0.74644f,  0.13747f, -0.93018f, -0.10286f,
   2083  0.67133f,  0.24460f,  1.44583f,  0.02173f,  0.26037f, -0.73687f, 0.19566f,
   2084  0.61846f,  -0.58601f, -1.03196f, -0.74415f, 0.30041f, -0.41967f, 1.08740f,
   2085  0.96224f,  -0.59139f, 0.03813f,  0.05403f,  1.33427f, -0.54375f, -1.92181f,
   2086  0.54704f,  0.13608f,  0.22151f,  -0.38076f, 1.18390f, -0.77508f, -1.84283f,
   2087  1.00894f,  0.62318f,  -0.15296f, 1.27600f,  0.22822f, 0.12751f,  0.93910f,
   2088  -0.28502f, 0.53912f,  -0.96889f, 0.10182f,  0.81508f, -0.43028f, 2.67386f,
   2089  0.52204f,  0.49820f,  -0.41711f, 1.05038f,  1.12192f, 0.74349f,  -0.75417f,
   2090  -0.03718f, -0.35769f, 0.89651f,  0.63236f,  0.54215f, -0.07894f, 0.48274f,
   2091  1.08829f,
   2092 };
   2093 
   2094 static const float av1_tx_type_nn_bias_16x16_layer1[4] = {
   2095  0.81986f,
   2096  1.26865f,
   2097  0.11118f,
   2098  2.48404f,
   2099 };
   2100 
   2101 static const NN_CONFIG av1_tx_type_nnconfig_16x16 = {
   2102  8,  // num_inputs
   2103  4,  // num_outputs
   2104  1,  // num_hidden_layers
   2105  {
   2106      16,
   2107  },  // num_hidden_nodes
   2108  {
   2109      av1_tx_type_nn_weights_16x16_layer0,
   2110      av1_tx_type_nn_weights_16x16_layer1,
   2111  },
   2112  {
   2113      av1_tx_type_nn_bias_16x16_layer0,
   2114      av1_tx_type_nn_bias_16x16_layer1,
   2115  },
   2116 };
   2117 /******************************************************************************/
   2118 
   2119 // Tx type model for 4x16 block.
   2120 static const float av1_tx_type_nn_weights_4x16_hor_layer0[32] = {
   2121  0.36539f,  0.25667f,  0.01491f,  -0.21959f, 2.55105f,  0.17615f, 1.79884f,
   2122  1.65936f,  -0.44363f, 0.00706f,  -0.68004f, -0.64360f, 1.75760f, 1.91906f,
   2123  1.47682f,  0.09650f,  -3.59244f, -0.35004f, 0.93295f,  0.25806f, -0.08154f,
   2124  0.79332f,  0.79535f,  1.09467f,  1.57855f,  -0.51359f, 0.90553f, -1.67744f,
   2125  -1.74563f, -0.88830f, -1.77603f, 2.15935f,
   2126 };
   2127 
   2128 static const float av1_tx_type_nn_bias_4x16_hor_layer0[8] = {
   2129  -0.36435f, -2.22731f, -0.00837f, -1.34546f,
   2130  0.62806f,  -0.20675f, 4.91940f,  -0.56079f,
   2131 };
   2132 
   2133 static const float av1_tx_type_nn_weights_4x16_hor_layer1[32] = {
   2134  -0.57191f, -1.46418f, 0.67331f,  -1.15027f, 0.46288f,  0.81251f,  2.51768f,
   2135  -0.27147f, 0.00761f,  -2.15214f, -0.69650f, -0.50808f, 0.92832f,  0.45668f,
   2136  2.34201f,  -0.52941f, 0.51008f,  -1.55496f, -0.01371f, -0.12356f, 0.66624f,
   2137  0.88043f,  2.64862f,  -1.28024f, -0.17578f, -1.80034f, -0.32217f, 0.89519f,
   2138  1.28413f,  -0.30326f, 2.45329f,  -0.83335f,
   2139 };
   2140 
   2141 static const float av1_tx_type_nn_bias_4x16_hor_layer1[4] = {
   2142  2.33198f,
   2143  3.36245f,
   2144  1.62603f,
   2145  2.91056f,
   2146 };
   2147 
   2148 static const NN_CONFIG av1_tx_type_nnconfig_4x16_hor = {
   2149  4,  // num_inputs
   2150  4,  // num_outputs
   2151  1,  // num_hidden_layers
   2152  {
   2153      8,
   2154  },  // num_hidden_nodes
   2155  { av1_tx_type_nn_weights_4x16_hor_layer0,
   2156    av1_tx_type_nn_weights_4x16_hor_layer1 },
   2157  { av1_tx_type_nn_bias_4x16_hor_layer0, av1_tx_type_nn_bias_4x16_hor_layer1 }
   2158 };
   2159 
   2160 static const float av1_tx_type_nn_weights_4x16_ver_layer0[128] = {
   2161  1.61392f,  1.41239f,  1.47646f,  1.47325f,  1.46110f,  1.49208f,  1.49414f,
   2162  0.12835f,  -0.76986f, 0.07087f,  -0.24572f, -0.93168f, 3.07935f,  -0.18183f,
   2163  -0.09831f, -0.07703f, -0.03222f, -0.25473f, -0.06090f, 2.93713f,  -0.38711f,
   2164  -0.12884f, -0.18329f, -0.06262f, -0.00327f, -0.02930f, -0.01641f, -0.00622f,
   2165  -0.03305f, -4.07069f, -2.76643f, 0.04413f,  -1.03176f, -0.19217f, -0.44980f,
   2166  -2.48615f, -2.58112f, -0.87695f, 0.16187f,  -0.04891f, -0.06854f, 1.08104f,
   2167  0.75245f,  1.49302f,  0.63363f,  1.45715f,  0.92574f,  1.72029f,  0.33326f,
   2168  3.86646f,  0.04422f,  0.41019f,  0.36212f,  0.56600f,  -1.01552f, 0.05128f,
   2169  0.40454f,  -1.05100f, -0.47461f, -1.33168f, -0.46145f, -1.36870f, -0.88838f,
   2170  -1.05358f, -0.18537f, -0.34357f, -0.03698f, 0.68905f,  0.41010f,  0.31223f,
   2171  -0.43382f, -0.74715f, 2.03366f,  -0.30419f, 0.45747f,  0.09526f,  0.31678f,
   2172  0.22915f,  0.21832f,  1.26385f,  -0.06814f, -0.71417f, -1.18947f, 0.03762f,
   2173  0.10936f,  2.97396f,  -0.42638f, -0.03123f, -5.49756f, -0.17029f, -0.11323f,
   2174  0.05173f,  -0.44274f, -0.15738f, 0.11311f,  0.43872f,  0.16837f,  -0.52849f,
   2175  2.90050f,  -0.54735f, -0.29591f, 1.24030f,  0.21696f,  -0.04443f, -1.60877f,
   2176  -1.36365f, -1.27432f, -1.52060f, -1.34397f, -1.13371f, -1.87554f, 0.80123f,
   2177  0.42820f,  -0.14157f, -2.73963f, -0.68040f, -0.35236f, 0.14490f,  2.23477f,
   2178  0.01370f,  -0.20426f, -1.51411f, -0.72293f, 0.64516f,  0.97638f,  0.32616f,
   2179  -0.27975f, -0.01149f,
   2180 };
   2181 
   2182 static const float av1_tx_type_nn_bias_4x16_ver_layer0[16] = {
   2183  -1.37863f, -0.05763f, -0.07041f, 0.15306f,  0.96026f,  -1.42105f,
   2184  -0.55822f, 1.04845f,  -0.17662f, -1.25345f, -0.11927f, 0.49845f,
   2185  -0.32530f, 0.73483f,  0.08322f,  -0.23890f,
   2186 };
   2187 
   2188 static const float av1_tx_type_nn_weights_4x16_ver_layer1[64] = {
   2189  0.27194f,  0.50607f,  0.49229f,  -0.48192f, 0.15667f,  -1.38891f, 0.38102f,
   2190  -0.58825f, -0.07337f, -0.52909f, 0.36975f,  0.28710f,  0.34992f,  -0.73630f,
   2191  0.30386f,  -0.58822f, 0.36127f,  0.57950f,  0.55878f,  -0.42796f, 0.19967f,
   2192  -1.45517f, 0.42529f,  -0.54630f, -0.38169f, -0.84899f, 0.41622f,  0.46935f,
   2193  0.39077f,  -0.75448f, 0.31698f,  -0.76187f, 0.97765f,  0.57052f,  0.55825f,
   2194  -0.54273f, 0.20466f,  -1.46347f, 0.41813f,  -0.55019f, -0.19948f, -0.57982f,
   2195  0.41206f,  0.32373f,  0.38537f,  -1.11657f, 0.32887f,  -0.76911f, 1.12259f,
   2196  0.72163f,  0.82603f,  0.37786f,  0.34976f,  -1.86642f, 0.59961f,  -0.16329f,
   2197  -0.36631f, -0.56814f, 0.60410f,  0.53158f,  0.56389f,  -0.70508f, 0.51009f,
   2198  -0.56513f,
   2199 };
   2200 
   2201 static const float av1_tx_type_nn_bias_4x16_ver_layer1[4] = {
   2202  4.60896f,
   2203  4.53551f,
   2204  4.53124f,
   2205  4.27435f,
   2206 };
   2207 
   2208 static const NN_CONFIG av1_tx_type_nnconfig_4x16_ver = {
   2209  8,  // num_inputs
   2210  4,  // num_outputs
   2211  1,  // num_hidden_layers
   2212  {
   2213      16,
   2214  },  // num_hidden_nodes
   2215  { av1_tx_type_nn_weights_4x16_ver_layer0,
   2216    av1_tx_type_nn_weights_4x16_ver_layer1 },
   2217  { av1_tx_type_nn_bias_4x16_ver_layer0, av1_tx_type_nn_bias_4x16_ver_layer1 }
   2218 };
   2219 /******************************************************************************/
   2220 
   2221 // Tx type model for 16x4 block.
   2222 static const float av1_tx_type_nn_weights_16x4_hor_layer0[128] = {
   2223  1.45347f,  -0.15743f, 0.44236f,  0.25808f,  0.33944f,  0.38678f,  0.24428f,
   2224  1.67287f,  0.09539f,  -0.42940f, -0.31507f, -0.00154f, -2.98755f, -2.27744f,
   2225  -0.49183f, 0.09333f,  -0.99026f, -0.22157f, 0.53701f,  0.60447f,  0.15686f,
   2226  -0.04646f, 0.26341f,  2.12361f,  0.27090f,  -1.14716f, -0.64146f, -0.91604f,
   2227  -0.75335f, -0.60056f, -1.25084f, 1.68473f,  -3.24075f, -4.03867f, -2.07877f,
   2228  -0.02347f, 0.00333f,  -0.01259f, -0.00465f, 0.02526f,  0.36286f,  -0.10324f,
   2229  2.12780f,  -0.74584f, -1.05052f, 1.78467f,  -0.55065f, -0.03326f, 2.46781f,
   2230  1.18349f,  0.96015f,  1.01696f,  1.10584f,  1.07263f,  1.11531f,  -1.06413f,
   2231  0.32389f,  -1.87360f, -0.14435f, 1.77926f,  1.09966f,  -0.12680f, -0.61386f,
   2232  -0.09724f, -0.33095f, 1.12122f,  1.00791f,  1.52416f,  1.35004f,  1.32657f,
   2233  0.60950f,  -1.13538f, -0.38654f, 0.06473f,  2.10669f,  0.27734f,  -0.38359f,
   2234  -1.91455f, -1.22676f, 0.05786f,  0.97432f,  2.19967f,  0.50457f,  0.78976f,
   2235  0.95183f,  -0.32414f, 0.49437f,  -0.04506f, 0.18993f,  -0.07971f, 0.23889f,
   2236  -0.09872f, -0.66036f, 0.05377f,  2.69638f,  -0.08259f, -0.69210f, -1.08296f,
   2237  -1.96504f, -2.31947f, -0.80161f, -0.80456f, -1.35556f, -0.05323f, -4.42658f,
   2238  -0.30732f, -0.12043f, 0.11126f,  0.10771f,  -0.14956f, -0.02218f, 0.41016f,
   2239  1.16599f,  1.14629f,  1.12881f,  1.18676f,  1.24677f,  1.28695f,  1.11270f,
   2240  0.08233f,  1.75440f,  0.49228f,  -0.34858f, -0.17032f, 0.29288f,  0.47175f,
   2241  0.19055f,  -1.56413f,
   2242 };
   2243 
   2244 static const float av1_tx_type_nn_bias_16x4_hor_layer0[16] = {
   2245  -1.71227f, 0.47291f, -0.97536f, -0.66216f, 0.11729f,  -0.21451f,
   2246  2.75281f,  0.04318f, 2.03965f,  0.14618f,  -0.70483f, -0.24517f,
   2247  1.14048f,  0.33308f, -1.10886f, 0.41184f,
   2248 };
   2249 
   2250 static const float av1_tx_type_nn_weights_16x4_hor_layer1[64] = {
   2251  -1.17079f, 0.19096f,  -1.05753f, -0.30803f, -1.21680f, -0.67255f, 1.60115f,
   2252  0.05972f,  1.44759f,  -0.04068f, -0.26331f, 0.31400f,  0.96923f,  0.33443f,
   2253  -0.77215f, -0.91316f, -1.78928f, 0.21483f,  -1.24008f, -0.46190f, -0.12127f,
   2254  -0.62144f, 1.37593f,  0.08373f,  1.56215f,  0.00279f,  -0.14556f, 0.38710f,
   2255  0.96228f,  0.66433f,  -0.51798f, -0.80738f, -0.18539f, 0.19377f,  -1.03090f,
   2256  -1.51044f, -0.59485f, -0.62589f, 1.90742f,  0.09078f,  1.49113f,  0.00205f,
   2257  -0.15918f, 0.40827f,  1.08553f,  0.43431f,  0.33519f,  -1.12669f, -1.10274f,
   2258  0.80004f,  -1.83599f, -0.53134f, 2.00515f,  -0.32670f, 1.37124f,  0.51136f,
   2259  1.62563f,  0.24787f,  0.31757f,  0.81751f,  1.57262f,  0.83214f,  1.04661f,
   2260  -0.43819f,
   2261 };
   2262 
   2263 static const float av1_tx_type_nn_bias_16x4_hor_layer1[4] = {
   2264  2.32575f,
   2265  2.75703f,
   2266  1.12304f,
   2267  2.15567f,
   2268 };
   2269 
   2270 static const NN_CONFIG av1_tx_type_nnconfig_16x4_hor = {
   2271  8,  // num_inputs
   2272  4,  // num_outputs
   2273  1,  // num_hidden_layers
   2274  {
   2275      16,
   2276  },  // num_hidden_nodes
   2277  { av1_tx_type_nn_weights_16x4_hor_layer0,
   2278    av1_tx_type_nn_weights_16x4_hor_layer1 },
   2279  { av1_tx_type_nn_bias_16x4_hor_layer0, av1_tx_type_nn_bias_16x4_hor_layer1 }
   2280 };
   2281 
   2282 static const float av1_tx_type_nn_weights_16x4_ver_layer0[32] = {
   2283  0.26047f,  0.99930f,  1.16484f,  -0.28196f, -2.67483f, -0.21456f, -0.16854f,
   2284  0.46375f,  1.47951f,  1.13735f,  1.12356f,  0.27385f,  0.50978f,  2.09967f,
   2285  -1.47386f, 0.01950f,  -0.06362f, 0.26014f,  1.04544f,  -0.03099f, 0.07478f,
   2286  -0.39701f, 0.05545f,  2.73633f,  -0.56305f, -0.02208f, -0.44517f, -0.00897f,
   2287  -0.17967f, -0.96622f, 0.42635f,  -1.04784f,
   2288 };
   2289 
   2290 static const float av1_tx_type_nn_bias_16x4_ver_layer0[8] = {
   2291  -0.52088f, 0.52844f,  -1.03655f, -0.30974f,
   2292  2.59952f,  -1.93604f, 0.00000f,  2.51787f,
   2293 };
   2294 
   2295 static const float av1_tx_type_nn_weights_16x4_ver_layer1[32] = {
   2296  0.10916f,  -0.21219f, -0.51340f, 0.69161f,  1.45988f,  -1.36942f, -0.40899f,
   2297  1.05136f,  -0.08486f, 0.10008f,  -0.55304f, 0.88012f,  1.61177f,  -1.64507f,
   2298  0.63428f,  1.15130f,  -0.17287f, -0.18592f, -0.01143f, 0.88293f,  1.73326f,
   2299  -1.63624f, 0.09359f,  1.18393f,  0.26531f,  0.22378f,  0.15170f,  1.06965f,
   2300  1.26814f,  -1.93873f, -0.00768f, 1.58309f,
   2301 };
   2302 
   2303 static const float av1_tx_type_nn_bias_16x4_ver_layer1[4] = {
   2304  2.34713f,
   2305  1.68667f,
   2306  1.25488f,
   2307  1.69812f,
   2308 };
   2309 
   2310 static const NN_CONFIG av1_tx_type_nnconfig_16x4_ver = {
   2311  4,  // num_inputs
   2312  4,  // num_outputs
   2313  1,  // num_hidden_layers
   2314  {
   2315      8,
   2316  },  // num_hidden_nodes
   2317  { av1_tx_type_nn_weights_16x4_ver_layer0,
   2318    av1_tx_type_nn_weights_16x4_ver_layer1 },
   2319  { av1_tx_type_nn_bias_16x4_ver_layer0, av1_tx_type_nn_bias_16x4_ver_layer1 }
   2320 };
   2321 /******************************************************************************/
   2322 
   2323 // Map tx_size to its corresponding neural net model for tx type prediction.
   2324 static const NN_CONFIG *const av1_tx_type_nnconfig_map_hor[] = {
   2325  &av1_tx_type_nnconfig_4x4_hor,   // 4x4 transform
   2326  &av1_tx_type_nnconfig_8x8_hor,   // 8x8 transform
   2327  &av1_tx_type_nnconfig_16x16,     // 16x16 transform
   2328  NULL,                            // 32x32 transform
   2329  NULL,                            // 64x64 transform
   2330  &av1_tx_type_nnconfig_4x8_hor,   // 4x8 transform
   2331  &av1_tx_type_nnconfig_8x4_hor,   // 8x4 transform
   2332  &av1_tx_type_nnconfig_8x16_hor,  // 8x16 transform
   2333  &av1_tx_type_nnconfig_16x8_hor,  // 16x8 transform
   2334  NULL,                            // 16x32 transform
   2335  NULL,                            // 32x16 transform
   2336  NULL,                            // 32x64 transform
   2337  NULL,                            // 64x32 transform
   2338  &av1_tx_type_nnconfig_4x16_hor,  // 4x16 transform
   2339  &av1_tx_type_nnconfig_16x4_hor,  // 16x4 transform
   2340  NULL,                            // 8x32 transform
   2341  NULL,                            // 32x8 transform
   2342  NULL,                            // 16x64 transform
   2343  NULL,                            // 64x16 transform
   2344 };
   2345 
   2346 static const NN_CONFIG *const av1_tx_type_nnconfig_map_ver[] = {
   2347  &av1_tx_type_nnconfig_4x4_ver,   // 4x4 transform
   2348  &av1_tx_type_nnconfig_8x8_ver,   // 8x8 transform
   2349  &av1_tx_type_nnconfig_16x16,     // 16x16 transform
   2350  NULL,                            // 32x32 transform
   2351  NULL,                            // 64x64 transform
   2352  &av1_tx_type_nnconfig_4x8_ver,   // 4x8 transform
   2353  &av1_tx_type_nnconfig_8x4_ver,   // 8x4 transform
   2354  &av1_tx_type_nnconfig_8x16_ver,  // 8x16 transform
   2355  &av1_tx_type_nnconfig_16x8_ver,  // 16x8 transform
   2356  NULL,                            // 16x32 transform
   2357  NULL,                            // 32x16 transform
   2358  NULL,                            // 32x64 transform
   2359  NULL,                            // 64x32 transform
   2360  &av1_tx_type_nnconfig_4x16_ver,  // 4x16 transform
   2361  &av1_tx_type_nnconfig_16x4_ver,  // 16x4 transform
   2362  NULL,                            // 8x32 transform
   2363  NULL,                            // 32x8 transform
   2364  NULL,                            // 16x64 transform
   2365  NULL,                            // 64x16 transform
   2366 };
   2367 #endif  // CONFIG_NN_V2
   2368 
   2369 // Tx split model for 4x8 block.
   2370 static const float av1_tx_split_nn_weights_4x8_layer0[8 * 16] = {
   2371  0.068650f,  -0.732073f, -0.040361f, 0.322550f,  -0.021123f, 0.212518f,
   2372  -0.350546f, 0.435987f,  -0.111756f, -0.401568f, 0.069548f,  -0.313000f,
   2373  0.073918f,  -0.373805f, -0.775810f, -0.124753f, 0.181094f,  -0.602641f,
   2374  -0.026219f, -0.350112f, 0.020599f,  -0.311752f, -0.476482f, -0.669465f,
   2375  -0.310921f, 0.348869f,  -0.115984f, 0.154250f,  0.200485f,  -0.016689f,
   2376  0.020392f,  0.413810f,  0.634064f,  -0.627530f, 0.399178f,  -0.012284f,
   2377  0.472030f,  0.091087f,  -0.706100f, -0.447944f, -0.274226f, 0.445656f,
   2378  0.309339f,  0.505522f,  0.038496f,  -0.152809f, 0.408684f,  -0.068151f,
   2379  0.271612f,  0.353233f,  -0.150365f, 0.075212f,  -0.035096f, 0.346615f,
   2380  0.124382f,  0.477072f,  0.216288f,  0.070548f,  -0.106362f, 0.681613f,
   2381  -0.145502f, -0.218631f, -0.099248f, -0.001983f, -0.196819f, -0.969045f,
   2382  0.063009f,  -0.123053f, 0.104875f,  -0.137581f, -0.282933f, -0.003624f,
   2383  -0.315659f, -0.333523f, -0.503000f, -0.100063f, -0.536711f, -0.059978f,
   2384  -0.670248f, -0.353762f, 0.181109f,  0.289715f,  -0.071206f, 0.261141f,
   2385  0.052796f,  -0.114554f, -0.139214f, -0.261380f, 0.075984f,  -0.647925f,
   2386  -0.099528f, -0.677814f, 0.015712f,  -0.389385f, -0.095622f, -0.165117f,
   2387  -0.109454f, -0.175240f, -0.393914f, 0.212330f,  0.037822f,  0.248280f,
   2388  0.180197f,  0.110493f,  -0.525727f, -0.092329f, -0.524029f, -0.407364f,
   2389  -0.542373f, -0.435626f, -0.912194f, 0.062794f,  0.160433f,  0.741485f,
   2390  -0.103659f, -0.119327f, -0.055275f, 0.334358f,  0.014713f,  0.046327f,
   2391  0.831114f,  -0.576682f, 0.354369f,  -0.082088f, 0.452331f,  0.039730f,
   2392  -0.792429f, -0.385862f,
   2393 };
   2394 
   2395 static const float av1_tx_split_nn_bias_4x8_layer0[16] = {
   2396  0.238621f,  2.186830f,  1.383035f,  -0.867139f, 1.257119f, -0.351571f,
   2397  -0.240650f, -0.971692f, 2.744843f,  1.116991f,  0.139062f, -0.165332f,
   2398  0.262171f,  -1.598153f, -1.427340f, -1.602306f,
   2399 };
   2400 
   2401 static const float av1_tx_split_nn_weights_4x8_layer1[16] = {
   2402  -0.367134f, 1.373058f, -0.897039f, -0.326819f, -0.734030f, -0.290413f,
   2403  -0.501249f, 0.505321f, -0.537692f, -0.767893f, 0.268697f,  0.278987f,
   2404  0.085082f,  0.614986f, 0.847904f,  0.637578f,
   2405 };
   2406 
   2407 static const float av1_tx_split_nn_bias_4x8_layer1[1] = {
   2408  0.20586078f,
   2409 };
   2410 
   2411 static const NN_CONFIG av1_tx_split_nnconfig_4x8 = {
   2412  8,  // num_inputs
   2413  1,  // num_outputs
   2414  1,  // num_hidden_layers
   2415  {
   2416      16,
   2417  },  // num_hidden_nodes
   2418  {
   2419      av1_tx_split_nn_weights_4x8_layer0,
   2420      av1_tx_split_nn_weights_4x8_layer1,
   2421  },
   2422  {
   2423      av1_tx_split_nn_bias_4x8_layer0,
   2424      av1_tx_split_nn_bias_4x8_layer1,
   2425  },
   2426 };
   2427 /******************************************************************************/
   2428 
   2429 // Tx split model for 8x8 block.
   2430 static const float av1_tx_split_nn_weights_8x8_layer0[144] = {
   2431  0.177983f,  -0.938386f, -0.074460f, -0.221843f, -0.073182f, -0.295155f,
   2432  -0.098202f, -0.279510f, 0.001054f,  -0.119319f, -1.835282f, -0.581507f,
   2433  -1.222222f, -1.049006f, -0.807508f, -0.454252f, -0.774879f, -0.180607f,
   2434  -0.886976f, -0.231971f, -0.824677f, -0.351872f, -1.323819f, 0.235378f,
   2435  0.015331f,  -0.341818f, 0.145549f,  -0.348362f, 0.147647f,  -0.323400f,
   2436  0.047558f,  -0.553025f, -0.295485f, -0.330368f, -0.530605f, -0.407516f,
   2437  0.447740f,  0.782381f,  -0.179164f, -0.584675f, -0.052645f, 0.038656f,
   2438  -0.096783f, 0.038342f,  -0.170762f, -0.405844f, -0.552665f, -0.509866f,
   2439  0.757204f,  -1.296465f, 0.631015f,  0.009265f,  0.646192f,  0.044523f,
   2440  0.653161f,  0.033820f,  0.849639f,  -0.068555f, -1.036085f, -0.511652f,
   2441  0.104693f,  -1.458690f, 0.286051f,  -0.089800f, 0.381564f,  -0.302640f,
   2442  0.304465f,  -0.268706f, 0.432603f,  -0.117914f, -2.070031f, -0.565696f,
   2443  -0.073027f, -1.783570f, -0.318144f, -0.320990f, -0.343966f, -0.140996f,
   2444  -0.322977f, -0.232147f, -0.373210f, -0.158266f, -1.922305f, -0.634373f,
   2445  0.101894f,  -0.221847f, 0.018412f,  -0.423887f, -0.266684f, -0.444930f,
   2446  -0.196237f, 0.106638f,  -0.065834f, -0.538401f, -0.280772f, -0.620348f,
   2447  1.089957f,  -0.799928f, 0.504112f,  -0.165763f, 0.578741f,  -0.172653f,
   2448  0.547316f,  -0.143484f, 0.717220f,  -0.297190f, -1.237854f, -0.074819f,
   2449  -0.977304f, -0.484092f, -0.646427f, -0.451443f, -0.612126f, -0.224475f,
   2450  -0.731608f, -0.257077f, -0.665857f, -0.346742f, -1.216372f, 0.227267f,
   2451  0.231249f,  -1.693073f, -0.035899f, 0.380845f,  -0.058476f, 0.409405f,
   2452  -0.066679f, 0.406731f,  -0.068501f, 0.396748f,  0.639462f,  0.150834f,
   2453  -0.418659f, -1.421931f, 0.101889f,  0.083573f,  0.129746f,  0.134460f,
   2454  0.081185f,  0.127420f,  0.083664f,  0.051096f,  1.361688f,  0.386093f,
   2455 };
   2456 
   2457 static const float av1_tx_split_nn_bias_8x8_layer0[12] = {
   2458  4.280443f, 2.218902f, -0.256953f, 3.161431f,  2.082548f, 2.506052f,
   2459  2.563224f, 1.421976f, -1.627813f, -1.436085f, 2.297265f, 1.500469f,
   2460 };
   2461 
   2462 static const float av1_tx_split_nn_weights_8x8_layer1[12] = {
   2463  1.178833f,  -0.428527f, -0.078737f, 0.381434f, -0.466895f, -0.901745f,
   2464  -0.766968f, -0.356663f, 0.450146f,  0.509370f, -0.356604f, -0.443506f,
   2465 };
   2466 
   2467 static const float av1_tx_split_nn_bias_8x8_layer1[1] = {
   2468  -0.156294f,
   2469 };
   2470 
   2471 static const NN_CONFIG av1_tx_split_nnconfig_8x8 = {
   2472  12,  // num_inputs
   2473  1,   // num_outputs
   2474  1,   // num_hidden_layers
   2475  {
   2476      12,
   2477  },  // num_hidden_nodes
   2478  {
   2479      av1_tx_split_nn_weights_8x8_layer0,
   2480      av1_tx_split_nn_weights_8x8_layer1,
   2481  },
   2482  {
   2483      av1_tx_split_nn_bias_8x8_layer0,
   2484      av1_tx_split_nn_bias_8x8_layer1,
   2485  },
   2486 };
   2487 /******************************************************************************/
   2488 
   2489 // Tx split model for 8x16 block.
   2490 static const float av1_tx_split_nn_weights_8x16_layer0[8 * 64] = {
   2491  0.374660f,  0.218905f,  -0.139779f, 0.212141f,  0.056517f,  0.051114f,
   2492  0.042860f,  -0.273258f, -0.340809f, 0.138983f,  -0.216996f, -0.241519f,
   2493  -0.123244f, 0.078577f,  -0.472273f, -0.194201f, 0.125056f,  0.239761f,
   2494  -0.332782f, 0.174782f,  -0.211400f, -0.129795f, 0.062195f,  0.113176f,
   2495  -0.008869f, 0.140764f,  0.059833f,  0.163826f,  0.359293f,  -0.109797f,
   2496  -0.022091f, -0.059536f, -0.188226f, 0.179709f,  0.031386f,  0.164790f,
   2497  0.214364f,  0.198555f,  0.152262f,  -0.242980f, 0.319367f,  -0.136902f,
   2498  0.046524f,  -0.043591f, 0.342178f,  -0.011757f, -0.014286f, 0.072871f,
   2499  -0.278314f, -0.345303f, -0.252103f, -0.107154f, -0.235101f, -0.106739f,
   2500  -0.120865f, -0.160042f, 0.240028f,  0.112902f,  -0.141587f, -0.703012f,
   2501  -0.136591f, 0.318993f,  -0.154417f, -0.054668f, 0.192870f,  0.176166f,
   2502  -0.029965f, 0.266942f,  -0.178384f, 0.038680f,  0.134403f,  -0.002426f,
   2503  0.534825f,  -0.070923f, 0.413281f,  0.418148f,  0.093729f,  0.016454f,
   2504  0.305358f,  -0.040512f, 0.069904f,  -0.227588f, -0.362220f, -0.031604f,
   2505  -0.394901f, 0.071506f,  -0.342833f, -0.142550f, -0.164005f, 0.182600f,
   2506  0.213062f,  0.076805f,  0.278758f,  0.125613f,  -0.035552f, 0.040971f,
   2507  0.182785f,  -0.227961f, -0.105413f, -0.074949f, -0.084629f, -0.254767f,
   2508  0.114657f,  0.047121f,  0.195902f,  0.264759f,  0.017799f,  0.210230f,
   2509  0.150749f,  -0.142142f, 0.182494f,  -0.142415f, -0.259782f, -0.114830f,
   2510  -0.198826f, 0.000061f,  -0.375668f, -0.276656f, -0.373202f, 0.210298f,
   2511  0.422680f,  0.066960f,  0.351106f,  -0.209034f, 0.367195f,  -0.110274f,
   2512  0.115573f,  -0.066642f, -0.389673f, -0.260447f, 0.056949f,  -0.180425f,
   2513  0.069922f,  -0.153506f, -0.097053f, -0.111757f, 0.094069f,  0.144837f,
   2514  -0.052984f, -0.506681f, -0.034474f, 0.279057f,  -0.105025f, 0.006656f,
   2515  -0.125017f, -0.114096f, 0.103153f,  -0.117402f, -0.359472f, 0.072534f,
   2516  0.110291f,  0.003088f,  -0.456897f, 0.038331f,  -0.322298f, 0.113942f,
   2517  -0.119916f, -0.194392f, 0.093167f,  0.193459f,  0.074671f,  0.033602f,
   2518  0.004440f,  -0.179578f, -0.036637f, -0.216172f, -0.296530f, -0.318992f,
   2519  0.319160f,  -0.066218f, 0.291246f,  0.181292f,  0.089914f,  0.025273f,
   2520  0.303128f,  0.019063f,  0.078545f,  -0.396919f, 0.014065f,  -0.122121f,
   2521  0.037107f,  -0.151886f, -0.299392f, -0.172207f, -0.124571f, -0.232553f,
   2522  0.102970f,  -0.225040f, 0.061059f,  -0.258188f, -0.469871f, -0.099607f,
   2523  -0.061524f, -0.213700f, 0.070237f,  -0.289134f, -0.238225f, 0.256403f,
   2524  -0.119344f, 0.067782f,  -0.398983f, -0.123975f, -0.200205f, -0.047038f,
   2525  0.026569f,  0.031037f,  0.094302f,  -0.101239f, 0.433307f,  -0.303612f,
   2526  0.088537f,  -0.164436f, 0.202471f,  -0.048592f, -0.251904f, 0.122577f,
   2527  -0.309874f, -0.263405f, -0.292503f, 0.216589f,  0.035378f,  0.136599f,
   2528  -0.145844f, -0.018211f, 0.174084f,  -0.449941f, -0.001428f, 0.064134f,
   2529  0.039652f,  0.111083f,  -0.246076f, -0.204733f, 0.056559f,  -0.000123f,
   2530  0.104049f,  0.138512f,  -0.128309f, 0.087855f,  0.232784f,  0.247138f,
   2531  0.162766f,  0.154829f,  0.313605f,  -0.164115f, -0.050844f, 0.156549f,
   2532  0.185279f,  -0.238962f, -0.308281f, -0.179592f, -0.193262f, 0.201670f,
   2533  -0.203399f, -0.096831f, -0.127867f, 0.310674f,  -0.008181f, 0.004078f,
   2534  -0.211038f, -0.193480f, -0.185639f, -0.150202f, -0.204858f, -0.240758f,
   2535  0.114268f,  -0.032535f, -0.052403f, -0.234333f, -0.064072f, -0.208444f,
   2536  -0.352853f, -0.224001f, -0.156330f, 0.215436f,  0.171846f,  0.291849f,
   2537  0.108832f,  0.046991f,  -0.127801f, 0.032485f,  0.141493f,  0.123319f,
   2538  -0.057250f, 0.315346f,  -0.061317f, -0.465086f, -0.130179f, -0.217841f,
   2539  -0.239089f, -0.073251f, -0.327718f, 0.054905f,  -0.283169f, -0.028900f,
   2540  0.071450f,  0.270072f,  0.248891f,  0.088052f,  0.253319f,  0.122808f,
   2541  0.175490f,  -0.147805f, 0.089169f,  -0.045457f, -0.330788f, 0.099791f,
   2542  -0.137376f, -0.195977f, -0.350942f, -0.284930f, -0.559037f, 0.030504f,
   2543  0.162554f,  -0.199100f, -0.050453f, -0.131320f, -0.077863f, -0.066253f,
   2544  -0.379723f, -0.424047f, -0.081182f, -0.252261f, -0.102815f, 0.058240f,
   2545  -0.182036f, 0.176772f,  -0.070823f, 0.216054f,  -0.211533f, -0.232992f,
   2546  0.279346f,  0.117984f,  0.236674f,  0.126625f,  -0.046220f, 0.044919f,
   2547  0.278492f,  0.083944f,  0.180512f,  0.217994f,  0.401170f,  -0.064417f,
   2548  0.011636f,  -0.139597f, -0.050020f, -0.268438f, -0.032803f, 0.024908f,
   2549  -0.085713f, -0.012984f, -0.055192f, -0.338657f, 0.045826f,  -0.312849f,
   2550  -0.023393f, -0.168800f, -0.030886f, -0.131816f, -0.253542f, -0.104812f,
   2551  -0.354389f, 0.169464f,  0.094151f,  -0.217122f, -0.456397f, 0.211478f,
   2552  0.219232f,  -0.155519f, -0.353700f, -0.264759f, -0.034709f, 0.034409f,
   2553  -0.148639f, -0.132850f, -0.216791f, -0.118492f, 0.173721f,  -0.144181f,
   2554  0.335028f,  0.176439f,  0.105980f,  0.169390f,  0.155615f,  -0.040618f,
   2555  -0.176029f, 0.155569f,  -0.184833f, -0.171099f, -0.178663f, -0.032051f,
   2556  -0.434334f, 0.092238f,  -0.263103f, 0.061804f,  -0.172957f, 0.005962f,
   2557  -0.100176f, 0.125898f,  0.048092f,  -0.088141f, 0.247196f,  -0.221601f,
   2558  -0.114474f, -0.124410f, -0.156393f, -0.181782f, -0.083562f, 0.034937f,
   2559  0.403401f,  -0.046200f, 0.322259f,  0.219678f,  0.109850f,  0.051837f,
   2560  0.196861f,  -0.019118f, 0.248818f,  -0.137567f, 0.127862f,  0.052293f,
   2561  0.298726f,  0.275788f,  0.015344f,  0.058714f,  0.283691f,  -0.053794f,
   2562  -0.123270f, -0.227761f, -0.141744f, -0.268515f, -0.007189f, -0.242117f,
   2563  -0.252396f, -0.069017f, 0.034803f,  -0.003388f, -0.262577f, 0.062115f,
   2564  -0.298393f, 0.215415f,  -0.153615f, 0.289902f,  0.085886f,  -0.504290f,
   2565  0.077178f,  0.150861f,  -0.228848f, -0.261020f, 0.198204f,  0.162113f,
   2566  0.346418f,  -0.286950f, 0.354756f,  -0.226419f, 0.024720f,  0.208037f,
   2567  0.107286f,  -0.110849f, 0.104415f,  -0.207725f, 0.063932f,  -0.037748f,
   2568  -0.167037f, -0.068282f, 0.320815f,  -0.051884f, 0.099989f,  -0.078388f,
   2569  0.127071f,  0.046675f,  -0.336571f, -0.273080f, 0.264694f,  -0.007352f,
   2570  -0.093828f, 0.094773f,  -0.144434f, 0.091795f,  -0.031615f, 0.056914f,
   2571  0.064673f,  -0.136669f, 0.344734f,  0.225926f,  0.283451f,  -0.068354f,
   2572  0.030572f,  0.180784f,  -0.378047f, -0.092962f, -0.083291f, 0.038970f,
   2573  0.052094f,  -0.017932f, 0.216302f,  -0.184396f, 0.079888f,  0.210406f,
   2574  -0.020627f, 0.244744f,  0.336972f,  -0.182914f, -0.220976f, -0.304225f,
   2575  -0.330974f, -0.370868f, -0.084935f, -0.136489f, -0.210082f, -0.188088f,
   2576  -0.408768f, 0.184693f,
   2577 };
   2578 
   2579 static const float av1_tx_split_nn_bias_8x16_layer0[64] = {
   2580  -0.274107f, 0.445751f,  0.234359f,  0.291593f,  0.163298f,  0.183707f,
   2581  -0.548839f, -0.190779f, -0.163346f, -0.669028f, 0.399209f,  -0.354974f,
   2582  0.000000f,  -0.254630f, 0.220149f,  0.371104f,  0.789759f,  0.270300f,
   2583  0.195126f,  -0.206958f, 0.917708f,  -0.256232f, 1.131933f,  1.178944f,
   2584  0.461270f,  0.246169f,  -0.818614f, -0.111986f, 0.759355f,  0.154889f,
   2585  0.470299f,  -1.025250f, 0.678678f,  0.959346f,  -0.164105f, 0.544079f,
   2586  -0.448733f, 0.649221f,  -0.536672f, 0.962758f,  -0.256427f, 0.808664f,
   2587  -0.118694f, 0.684873f,  -0.015635f, -0.046469f, 0.075481f,  0.412647f,
   2588  0.454456f,  -0.107169f, 0.775235f,  -0.261629f, -1.194849f, 0.010093f,
   2589  -0.231289f, 0.658286f,  -0.769320f, 0.564545f,  0.482962f,  -0.131378f,
   2590  -0.255844f, -0.078400f, 0.476752f,  0.643001f,
   2591 };
   2592 
   2593 static const float av1_tx_split_nn_weights_8x16_layer1[64] = {
   2594  -0.145065f, -0.145101f, 0.174786f,  0.196692f,  0.102025f,  -0.087735f,
   2595  0.386353f,  -0.660539f, -0.183940f, 0.490045f,  -0.276404f, -0.145669f,
   2596  0.209846f,  -0.085574f, -0.156821f, -0.377450f, -0.950010f, 0.450709f,
   2597  -0.108545f, -0.261181f, 1.435606f,  -0.176621f, -1.158548f, 2.035680f,
   2598  0.218069f,  -0.138629f, 0.305958f,  -0.277194f, -0.602468f, 0.203873f,
   2599  0.120720f,  0.216095f,  -0.434502f, -0.579746f, -0.239450f, 0.755529f,
   2600  0.545643f,  0.232091f,  0.330169f,  0.988136f,  -0.070465f, -0.345584f,
   2601  -0.162455f, -0.617064f, 0.123881f,  -0.201098f, 0.222756f,  0.112932f,
   2602  0.048647f,  -0.147890f, 0.394584f,  -0.262148f, 0.280564f,  -0.195432f,
   2603  -0.047515f, 1.133410f,  0.255415f,  -0.299032f, -0.397807f, -0.153246f,
   2604  -0.256734f, 0.177370f,  0.213522f,  -0.530158f,
   2605 };
   2606 
   2607 static const float av1_tx_split_nn_bias_8x16_layer1[1] = {
   2608  0.14910713f,
   2609 };
   2610 
   2611 static const NN_CONFIG av1_tx_split_nnconfig_8x16 = {
   2612  8,  // num_inputs
   2613  1,  // num_outputs
   2614  1,  // num_hidden_layers
   2615  {
   2616      64,
   2617  },  // num_hidden_nodes
   2618  {
   2619      av1_tx_split_nn_weights_8x16_layer0,
   2620      av1_tx_split_nn_weights_8x16_layer1,
   2621  },
   2622  {
   2623      av1_tx_split_nn_bias_8x16_layer0,
   2624      av1_tx_split_nn_bias_8x16_layer1,
   2625  },
   2626 };
   2627 /******************************************************************************/
   2628 
   2629 // Tx split model for 16x16 block.
   2630 static const float av1_tx_split_nn_weights_16x16_layer0[12 * 24] = {
   2631  -0.177215f, -0.297166f, 0.299924f,  0.207878f,  0.216871f,  0.173264f,
   2632  0.295464f,  0.048395f,  0.154731f,  0.305880f,  0.056787f,  -0.166617f,
   2633  0.115653f,  -0.529477f, -0.073995f, -0.211746f, -0.018169f, 0.000788f,
   2634  -0.024940f, -0.007055f, 0.001392f,  0.021678f,  -1.594600f, -0.099593f,
   2635  0.332930f,  0.103574f,  0.158249f,  0.182601f,  0.332665f,  0.226207f,
   2636  -0.139566f, 0.185531f,  0.099074f,  -0.185654f, -0.203121f, -0.285678f,
   2637  -0.313453f, -0.294452f, -0.143707f, -0.031265f, -0.453030f, -0.061874f,
   2638  -0.066150f, -0.099058f, -0.458879f, 0.127544f,  0.338314f,  -0.161350f,
   2639  0.030091f,  -0.075528f, 0.004320f,  0.353690f,  -0.013480f, -0.420402f,
   2640  -0.004659f, -0.329401f, -0.001745f, 0.227384f,  -0.055183f, 0.121405f,
   2641  0.160340f,  0.143603f,  -0.221813f, 0.079107f,  -0.657639f, -0.084348f,
   2642  -0.303414f, 0.046774f,  -0.367679f, 0.060005f,  0.168645f,  0.084421f,
   2643  -0.133625f, 0.301375f,  0.079412f,  -0.419303f, 0.017235f,  0.068637f,
   2644  0.018384f,  -0.428325f, -0.019753f, 0.149444f,  -0.474836f, -0.287162f,
   2645  0.198083f,  0.028292f,  -0.299092f, -0.005849f, -0.256245f, 0.233277f,
   2646  -0.217561f, -0.264003f, 0.269411f,  0.207032f,  -0.339411f, -0.198431f,
   2647  -0.028521f, 0.158076f,  0.177116f,  0.345702f,  -0.145132f, 0.064623f,
   2648  -0.090867f, 0.288816f,  -0.263198f, -0.071028f, -0.044546f, 0.380017f,
   2649  -0.014100f, -0.271192f, -0.318559f, 0.129015f,  -0.050314f, -0.093355f,
   2650  -0.578498f, 0.099090f,  -0.133080f, -0.029975f, -0.059828f, -0.157765f,
   2651  -0.321153f, -0.343671f, -0.242959f, 0.128304f,  0.017170f,  0.072787f,
   2652  -0.475838f, -0.003806f, -0.068615f, 0.150556f,  -0.159903f, -0.416513f,
   2653  0.218794f,  -0.290456f, -0.084569f, -0.170014f, -0.044414f, -0.153069f,
   2654  -0.077329f, -0.089747f, -0.096526f, 0.537952f,  0.134725f,  -0.006469f,
   2655  -0.323335f, -0.168183f, -0.107163f, -0.139954f, 0.011286f,  -0.021712f,
   2656  -0.513992f, 0.259135f,  -0.319808f, 0.077811f,  0.104613f,  0.370571f,
   2657  0.185244f,  0.065530f,  -0.091098f, -0.573741f, 0.111934f,  0.437417f,
   2658  -0.123691f, 0.220641f,  -0.024783f, -0.149460f, -0.354185f, -0.134127f,
   2659  0.038015f,  -0.380596f, 0.250980f,  0.142208f,  0.135170f,  -0.131129f,
   2660  -0.357556f, -0.530945f, 0.159672f,  -0.147025f, -0.377829f, -0.504508f,
   2661  -0.492870f, 0.020753f,  0.142818f,  0.025172f,  0.086140f,  0.091283f,
   2662  0.087491f,  -0.186415f, 0.177785f,  -0.195121f, -1.191148f, -0.477102f,
   2663  0.023371f,  0.227004f,  -0.023502f, -0.242913f, -0.074398f, -0.153480f,
   2664  0.162900f,  0.415509f,  -0.162565f, -0.131709f, -0.258852f, -0.252027f,
   2665  -0.080845f, -0.330274f, 0.021874f,  0.232398f,  0.069277f,  0.220567f,
   2666  -0.024237f, -0.366771f, 0.081673f,  -0.429906f, -0.302170f, 0.061045f,
   2667  0.352777f,  -0.230376f, 0.408153f,  0.064758f,  0.142051f,  0.007219f,
   2668  0.622878f,  0.212577f,  0.036489f,  0.081150f,  -0.284767f, 0.107763f,
   2669  -0.529786f, -0.072190f, -0.300421f, -0.287959f, -0.568900f, 0.011547f,
   2670  -0.131696f, -0.356854f, -0.587962f, -0.026598f, 0.405829f,  0.057565f,
   2671  0.414265f,  -0.159155f, 0.221456f,  0.146314f,  0.265776f,  -0.006516f,
   2672  0.473978f,  -0.186431f, 0.288672f,  -0.060437f, 0.083380f,  -0.205641f,
   2673  0.360016f,  0.222041f,  0.420011f,  0.024579f,  0.377546f,  0.250380f,
   2674  -0.069900f, 0.296743f,  0.073532f,  -0.243225f, -0.374987f, -0.387288f,
   2675  -0.237255f, -0.287013f, 0.417831f,  -0.252988f, -0.257652f, -0.066775f,
   2676  -0.253926f, 0.057841f,  0.346133f,  -0.157797f, -0.406028f, -0.286893f,
   2677  0.274507f,  -0.452561f, 0.143381f,  -0.097755f, 0.021242f,  0.034561f,
   2678  0.044115f,  0.004065f,  0.066729f,  0.043558f,  0.102991f,  -0.477574f,
   2679 };
   2680 
   2681 static const float av1_tx_split_nn_bias_16x16_layer0[24] = {
   2682  -0.479033f, 1.467402f,  -0.366291f, 0.372511f,  0.715322f,  -0.605500f,
   2683  0.176848f,  0.032318f,  0.237429f,  -0.046047f, 0.452082f,  0.451805f,
   2684  -0.822845f, 0.636762f,  -0.057350f, 1.163978f,  0.728287f,  0.603654f,
   2685  -0.245519f, -0.893569f, -1.428185f, 0.808870f,  -0.076159f, 1.231976f,
   2686 };
   2687 
   2688 static const float av1_tx_split_nn_weights_16x16_layer1[24] = {
   2689  -0.176161f, 1.670188f, -0.180755f, -0.321326f, 0.249728f,  -0.170504f,
   2690  -0.538432f, 0.033893f, 0.149842f,  0.404140f,  -0.377812f, 0.338838f,
   2691  -0.176091f, 0.249844f, -0.362533f, 1.412460f,  0.196862f,  0.278194f,
   2692  -0.140444f, 0.297746f, 0.172533f,  0.116470f,  -0.151656f, -0.603250f,
   2693 };
   2694 
   2695 static const float av1_tx_split_nn_bias_16x16_layer1[1] = {
   2696  0.184803f,
   2697 };
   2698 
   2699 static const NN_CONFIG av1_tx_split_nnconfig_16x16 = {
   2700  12,  // num_inputs
   2701  1,   // num_outputs
   2702  1,   // num_hidden_layers
   2703  {
   2704      24,
   2705  },  // num_hidden_nodes
   2706  {
   2707      av1_tx_split_nn_weights_16x16_layer0,
   2708      av1_tx_split_nn_weights_16x16_layer1,
   2709  },
   2710  {
   2711      av1_tx_split_nn_bias_16x16_layer0,
   2712      av1_tx_split_nn_bias_16x16_layer1,
   2713  },
   2714 };
   2715 /******************************************************************************/
   2716 
   2717 // Tx split model for 32x32 block.
   2718 static const float av1_tx_split_nn_weights_32x32_layer0[12 * 32] = {
   2719  -0.439303f, 0.004813f,  -0.365052f, -0.116868f, -0.356716f, -0.196537f,
   2720  -0.196770f, -0.076096f, 0.357004f,  -0.044909f, -0.112910f, -0.129081f,
   2721  0.156725f,  -0.386346f, 0.038971f,  0.160696f,  0.204923f,  -0.384333f,
   2722  -0.319546f, 0.028179f,  -0.250524f, -0.289669f, -0.284138f, -0.258963f,
   2723  -0.180854f, -0.000807f, -0.029620f, -0.353134f, 0.212408f,  0.141414f,
   2724  0.303016f,  0.098066f,  0.482455f,  0.036069f,  -0.166279f, 0.210119f,
   2725  -0.086337f, -0.023550f, -0.250796f, -0.183945f, -0.393856f, 0.170608f,
   2726  -0.306403f, 0.026318f,  -0.277296f, 0.092684f,  -0.033584f, -0.018371f,
   2727  -0.025043f, -0.257659f, -0.139163f, -0.206949f, -0.190105f, 0.028053f,
   2728  0.361851f,  -0.364726f, -0.096771f, -0.184166f, -0.433228f, -0.182191f,
   2729  -0.097051f, 0.259172f,  0.016432f,  0.259358f,  0.145059f,  0.037196f,
   2730  0.091581f,  -0.219644f, 0.140384f,  -0.446837f, -0.234531f, 0.149508f,
   2731  -0.083429f, 0.186189f,  -0.099890f, -0.111277f, 0.495214f,  0.085053f,
   2732  -0.266613f, -0.051366f, 0.148593f,  0.111875f,  0.077787f,  -0.371653f,
   2733  -0.146157f, -0.229235f, 0.076203f,  0.488975f,  0.096771f,  -0.009483f,
   2734  0.192985f,  0.246273f,  -0.192671f, -0.557890f, -0.292650f, -0.088907f,
   2735  -0.106892f, -0.329659f, 0.012105f,  -0.359326f, 0.170723f,  -0.004357f,
   2736  0.171593f,  -0.478768f, -0.236016f, -0.035077f, 0.133731f,  0.137962f,
   2737  -0.397926f, -0.155164f, -0.276709f, -0.186602f, -0.258301f, 0.036965f,
   2738  -0.649359f, 0.127605f,  0.097930f,  0.182775f,  -0.313324f, 0.053349f,
   2739  0.204203f,  -0.222948f, -0.059008f, -0.049759f, -0.056848f, 0.087497f,
   2740  -0.039987f, -0.055042f, -0.041623f, -0.078424f, -0.317291f, -0.191398f,
   2741  0.632147f,  0.221825f,  0.268394f,  -0.096357f, 0.442545f,  -0.007117f,
   2742  -0.036125f, 0.000525f,  0.088092f,  -0.203653f, 0.086925f,  0.439141f,
   2743  0.329889f,  -0.370050f, -0.194306f, -0.207430f, 0.132779f,  -0.217614f,
   2744  -0.039444f, -0.053019f, -0.260725f, -0.116563f, -0.271048f, 0.283737f,
   2745  -0.007300f, 0.062257f,  -0.347865f, -0.296767f, -0.359123f, 0.230459f,
   2746  -0.189117f, -0.087622f, -0.561091f, 0.184182f,  -0.044980f, 0.012643f,
   2747  0.241672f,  0.050272f,  -0.204851f, -0.159285f, -0.064081f, -0.118666f,
   2748  -0.269471f, 0.231668f,  0.135749f,  -0.131162f, 0.062760f,  0.100949f,
   2749  0.074967f,  -0.056918f, 0.251707f,  0.034098f,  0.341290f,  -0.105027f,
   2750  0.313246f,  -0.092679f, -0.014632f, -0.390967f, 0.136881f,  -0.241554f,
   2751  0.097674f,  0.110832f,  -0.390245f, 0.017654f,  -0.506222f, 0.065252f,
   2752  0.244834f,  -0.171352f, -0.331702f, 0.111043f,  0.125217f,  -0.058116f,
   2753  -0.382595f, -0.052545f, 0.114261f,  -0.493617f, 0.243984f,  -0.171053f,
   2754  0.165009f,  -0.063020f, 0.096502f,  0.341339f,  -0.013443f, 0.056372f,
   2755  0.339284f,  0.398376f,  0.389409f,  0.257252f,  0.517368f,  0.078856f,
   2756  0.087716f,  -0.171092f, 0.227461f,  0.125307f,  -0.054423f, -0.143161f,
   2757  0.224041f,  -0.086477f, -0.092548f, 0.072392f,  -0.061608f, 0.258347f,
   2758  0.147033f,  -0.478244f, -0.204869f, 0.038552f,  -0.144563f, 0.224087f,
   2759  -0.296705f, 0.153889f,  -0.064624f, 0.085265f,  -0.103826f, 0.127971f,
   2760  0.019965f,  0.111937f,  -0.074187f, -0.029518f, -0.127305f, -0.012210f,
   2761  0.042714f,  0.070052f,  -0.202360f, 0.348144f,  -0.132097f, -0.209585f,
   2762  -0.248286f, -0.065774f, -0.089482f, -0.133226f, 0.325430f,  -0.013468f,
   2763  -0.406090f, -0.144936f, 0.208620f,  0.343445f,  -0.059639f, 0.114857f,
   2764  -0.069431f, -0.218725f, 0.190575f,  -0.368101f, 0.030030f,  0.062815f,
   2765  -0.239369f, -0.537852f, 0.022487f,  0.023038f,  0.190788f,  0.040123f,
   2766  -0.004304f, 0.060749f,  -0.108929f, 0.136796f,  -0.542875f, -0.227074f,
   2767  -0.182244f, 0.082559f,  0.019149f,  0.178854f,  0.120284f,  0.009070f,
   2768  0.068268f,  -0.544822f, 0.120536f,  0.354028f,  -0.119890f, -0.122055f,
   2769  -0.405335f, 0.122341f,  -0.304412f, 0.062405f,  -0.302568f, -0.276505f,
   2770  -0.120915f, -0.221841f, 0.282007f,  -0.253971f, 0.059517f,  -0.144976f,
   2771  0.149391f,  -0.047355f, -0.167742f, -0.392333f, -0.041132f, 0.342135f,
   2772  0.017485f,  0.021038f,  -0.023728f, -0.192181f, -0.103996f, 0.092873f,
   2773  -0.114365f, -0.397732f, -0.065421f, 0.053084f,  0.035201f,  0.053019f,
   2774  -0.105377f, -0.039500f, 0.131904f,  -0.123911f, -0.390328f, -0.125198f,
   2775  -0.000126f, 0.014864f,  -0.220187f, 0.084056f,  -0.492155f, -0.164979f,
   2776  0.133592f,  0.121519f,  -0.240813f, 0.186680f,  0.118673f,  0.235006f,
   2777  -0.239894f, -0.185759f, -0.336992f, 0.209620f,  -0.298845f, 0.127803f,
   2778  -0.083992f, 0.194340f,  -0.245378f, 0.212308f,  0.142512f,  -0.163324f,
   2779  0.383495f,  0.291065f,  0.286620f,  -0.239957f, 0.225127f,  -0.174424f,
   2780  0.297231f,  -0.045434f, 0.156444f,  -0.184273f, -0.204567f, 0.202551f,
   2781  0.370019f,  -0.073910f, 0.344897f,  0.063100f,  0.338547f,  -0.099145f,
   2782  0.391863f,  -0.214244f, -0.241734f, -0.281851f, -0.035133f, -0.153157f,
   2783 };
   2784 
   2785 static const float av1_tx_split_nn_bias_32x32_layer0[32] = {
   2786  0.143343f,  -0.021982f, -0.314939f, 0.170867f,  -0.081248f, 0.125758f,
   2787  -0.355762f, 0.279798f,  1.027712f,  -0.434660f, 1.072005f,  0.668893f,
   2788  -0.031216f, -0.528650f, 0.328349f,  0.543645f,  -0.188810f, 0.221110f,
   2789  -1.638637f, 0.058045f,  -1.731105f, -0.444284f, 0.513693f,  0.890025f,
   2790  0.160288f,  0.393312f,  0.332856f,  -0.080767f, 0.299822f,  0.235876f,
   2791  0.254942f,  -0.017796f,
   2792 };
   2793 
   2794 static const float av1_tx_split_nn_weights_32x32_layer1[32] = {
   2795  -0.090326f, -0.267553f, -0.026071f, 0.100912f,  0.279137f,  0.079064f,
   2796  -0.074885f, 0.053804f,  0.736810f,  -0.031693f, -0.970514f, 0.174069f,
   2797  0.095940f,  -0.065047f, 0.052911f,  0.176728f,  -0.058274f, 0.148364f,
   2798  -0.162210f, 0.093875f,  -0.367663f, 0.020876f,  0.137280f,  -1.099116f,
   2799  0.146854f,  0.075590f,  0.228534f,  0.141993f,  0.072143f,  0.101421f,
   2800  -0.068547f, -0.154148f,
   2801 };
   2802 
   2803 static const float av1_tx_split_nn_bias_32x32_layer1[1] = {
   2804  0.316622f,
   2805 };
   2806 
   2807 static const NN_CONFIG av1_tx_split_nnconfig_32x32 = {
   2808  12,  // num_inputs
   2809  1,   // num_outputs
   2810  1,   // num_hidden_layers
   2811  {
   2812      32,
   2813  },  // num_hidden_nodes
   2814  {
   2815      av1_tx_split_nn_weights_32x32_layer0,
   2816      av1_tx_split_nn_weights_32x32_layer1,
   2817  },
   2818  {
   2819      av1_tx_split_nn_bias_32x32_layer0,
   2820      av1_tx_split_nn_bias_32x32_layer1,
   2821  },
   2822 };
   2823 /******************************************************************************/
   2824 
   2825 // Tx split model for 64x64 block.
   2826 static const float av1_tx_split_nn_weights_64x64_layer0[12 * 32] = {
   2827  -0.006828f, 0.149944f,  -0.017614f, -0.044599f, -0.024517f, 0.507698f,
   2828  0.001039f,  0.037164f,  0.015091f,  -0.306620f, -0.162047f, -0.369440f,
   2829  0.396310f,  0.087121f,  0.208609f,  -0.083068f, 0.493774f,  0.217682f,
   2830  0.377393f,  0.172879f,  0.397422f,  0.078919f,  0.741350f,  0.064169f,
   2831  -0.099989f, -0.192983f, -0.278230f, -0.310048f, -0.439965f, -0.226698f,
   2832  -0.436596f, -0.007551f, -0.396721f, 0.153570f,  -0.190838f, -0.071869f,
   2833  0.048799f,  -0.301301f, -0.005015f, 0.500480f,  -0.030622f, -0.559095f,
   2834  -0.032634f, -0.054160f, -0.056979f, -0.456545f, 0.306536f,  -0.411323f,
   2835  -0.005366f, -0.069496f, 0.019990f,  0.327931f,  -0.002516f, 0.393190f,
   2836  0.001759f,  0.035093f,  -0.030302f, -0.528984f, 0.174781f,  0.241462f,
   2837  -0.415427f, -0.164502f, 0.143065f,  -0.122595f, 0.082049f,  -0.143346f,
   2838  0.055642f,  -0.124701f, 0.004050f,  -0.216235f, -2.681730f, 0.101658f,
   2839  0.381239f,  0.465936f,  0.331154f,  0.301708f,  -0.360171f, 0.054886f,
   2840  -0.118658f, 0.287921f,  0.277859f,  0.203784f,  0.247809f,  0.656924f,
   2841  -0.354628f, 0.315081f,  0.105108f,  -0.510179f, 0.059267f,  0.061386f,
   2842  0.076423f,  0.347119f,  0.100134f,  0.028402f,  -0.118621f, -0.238689f,
   2843  0.080141f,  -0.138863f, 0.009009f,  -0.100526f, -0.138875f, 0.066992f,
   2844  0.005949f,  0.564336f,  0.046994f,  0.004655f,  0.366047f,  0.014695f,
   2845  -0.146928f, -0.024665f, -0.440357f, -0.109395f, 0.527231f,  -0.020925f,
   2846  -0.227236f, -0.068141f, 0.282009f,  0.040192f,  -0.267100f, 0.229228f,
   2847  0.133861f,  0.338706f,  -0.030178f, -0.040919f, -0.026343f, -0.330338f,
   2848  -0.066931f, -0.110580f, -0.072056f, 0.599457f,  -0.020738f, 0.169200f,
   2849  0.836240f,  -0.157548f, 0.386273f,  0.002404f,  0.329410f,  -0.007020f,
   2850  0.351705f,  -0.041259f, 0.388861f,  0.003899f,  0.582627f,  0.023572f,
   2851  0.409912f,  -0.158472f, 0.536383f,  0.525093f,  0.604247f,  0.439159f,
   2852  0.692832f,  0.046272f,  0.590367f,  -0.082166f, 0.262357f,  0.478671f,
   2853  0.031935f,  0.042675f,  0.120002f,  0.398616f,  -0.078967f, 0.227986f,
   2854  -0.044679f, 0.151061f,  -0.085564f, 0.220205f,  -0.265606f, -0.203623f,
   2855  0.204719f,  -0.125922f, 0.038544f,  -0.269379f, 0.025866f,  0.109967f,
   2856  0.019064f,  -0.237297f, -0.309746f, -0.329118f, -0.278368f, -0.063859f,
   2857  0.278496f,  0.018620f,  0.209971f,  0.296250f,  0.142850f,  0.288689f,
   2858  0.137084f,  0.130517f,  0.128171f,  -0.155396f, -0.008449f, -0.099845f,
   2859  0.173455f,  -0.059909f, -0.147318f, 0.102851f,  -0.251389f, -0.001448f,
   2860  0.103907f,  0.297273f,  -0.027846f, 0.028260f,  -0.382601f, 0.346695f,
   2861  -0.601641f, 0.162366f,  -0.477495f, -0.042731f, -0.387871f, -0.051791f,
   2862  -0.401498f, -0.048446f, -0.456270f, -0.062287f, 0.493919f,  0.003008f,
   2863  0.099917f,  -0.358525f, -0.094903f, -0.022811f, -0.062259f, 0.019455f,
   2864  -0.050644f, 0.020041f,  -0.132912f, -0.061578f, -3.083691f, -0.014961f,
   2865  -0.129115f, -0.710559f, 0.157213f,  -0.844037f, -0.121991f, -0.943386f,
   2866  -0.231269f, -0.003462f, 0.331478f,  -0.132703f, -1.285993f, -0.120957f,
   2867  -0.373755f, -0.322609f, 0.309059f,  -0.131523f, -0.118334f, -0.063805f,
   2868  -0.104251f, 0.012166f,  -0.094699f, -0.283753f, 0.128168f,  -0.526929f,
   2869  -0.050331f, 0.186153f,  0.005913f,  -0.221236f, 0.036363f,  0.160909f,
   2870  -0.001342f, -0.382749f, 0.037820f,  0.281689f,  -0.024275f, 0.028854f,
   2871  0.318291f,  0.318526f,  0.035778f,  0.034031f,  0.189663f,  -0.293367f,
   2872  0.082022f,  0.127923f,  0.078866f,  -0.081361f, -0.268117f, 0.246675f,
   2873  0.248605f,  -0.215479f, -0.073084f, 0.496140f,  -0.067327f, 0.396237f,
   2874  -0.120739f, 0.033752f,  -0.044120f, -0.218941f, -0.028078f, 0.195132f,
   2875  -0.040400f, 0.281604f,  -0.100471f, 0.415207f,  -0.258503f, -0.429749f,
   2876  0.150569f,  -0.010859f, 0.136448f,  0.026589f,  0.148466f,  0.110764f,
   2877  0.380967f,  0.009177f,  0.103075f,  0.116417f,  0.226273f,  -0.327746f,
   2878  0.169346f,  0.284553f,  -0.094986f, 0.312745f,  -0.147840f, 0.025062f,
   2879  -0.494482f, 0.112388f,  -0.213962f, 0.107050f,  -0.433371f, -0.096276f,
   2880  -0.244835f, -0.003518f, -0.459148f, -0.145080f, 0.017150f,  0.042846f,
   2881  -0.237479f, 0.104746f,  0.158677f,  0.358937f,  0.099921f,  0.277109f,
   2882  0.012410f,  -0.062897f, 0.116130f,  0.255309f,  0.341628f,  0.145002f,
   2883  -0.429344f, -0.016433f, -0.068985f, 0.285194f,  -0.286719f, -0.018298f,
   2884  -0.179369f, -0.194655f, -0.165380f, 0.026071f,  -0.428268f, -0.379929f,
   2885  -0.727543f, 0.179610f,  -0.963979f, -0.042026f, -0.616202f, 0.133401f,
   2886  -0.784966f, 0.061205f,  -0.713357f, 0.129795f,  0.120512f,  -0.339545f,
   2887  0.353557f,  0.114906f,  -0.329813f, -0.209987f, 0.085410f,  0.214313f,
   2888  -0.122082f, 0.335770f,  -0.020937f, 0.202456f,  0.289023f,  -0.421186f,
   2889  0.337905f,  0.407663f,  0.132771f,  0.071734f,  0.213914f,  0.128595f,
   2890  0.302659f,  -0.209501f, 0.217756f,  0.253079f,  -0.089505f, -0.205614f,
   2891 };
   2892 
   2893 static const float av1_tx_split_nn_bias_64x64_layer0[32] = {
   2894  0.296914f,  -1.826816f, 0.346130f,  0.969520f,  -0.528154f, 1.175862f,
   2895  -0.075985f, -0.097323f, -0.233059f, 0.004846f,  0.401279f,  -2.272435f,
   2896  0.086257f,  0.414162f,  -0.194786f, -0.233887f, -0.113215f, -2.453546f,
   2897  0.861214f,  0.298361f,  0.267397f,  -0.158557f, -0.119911f, -0.098134f,
   2898  -0.339263f, 0.385871f,  -0.678123f, 0.263218f,  0.251611f,  -1.155773f,
   2899  -0.365437f, 0.229255f,
   2900 };
   2901 
   2902 static const float av1_tx_split_nn_weights_64x64_layer1[32] = {
   2903  0.502104f,  -0.708023f, 0.419648f,  1.583418f,  0.419355f,  -1.462981f,
   2904  -0.439623f, 0.405691f,  0.823257f,  0.061654f,  0.750875f,  0.775031f,
   2905  -0.387909f, 0.447385f,  0.284690f,  0.353262f,  -0.224347f, 0.832864f,
   2906  -1.708491f, -1.042447f, -0.272829f, 0.540640f,  0.310509f,  0.723745f,
   2907  0.245592f,  -0.218417f, -0.597987f, -0.362301f, 0.702217f,  -0.692614f,
   2908  0.207812f,  0.513560f,
   2909 };
   2910 
   2911 static const float av1_tx_split_nn_bias_64x64_layer1[1] = { -0.2307045f };
   2912 
   2913 static const NN_CONFIG av1_tx_split_nnconfig_64x64 = {
   2914  12,  // num_inputs
   2915  1,   // num_outputs
   2916  1,   // num_hidden_layers
   2917  {
   2918      32,
   2919  },  // num_hidden_nodes
   2920  {
   2921      av1_tx_split_nn_weights_64x64_layer0,
   2922      av1_tx_split_nn_weights_64x64_layer1,
   2923  },
   2924  {
   2925      av1_tx_split_nn_bias_64x64_layer0,
   2926      av1_tx_split_nn_bias_64x64_layer1,
   2927  },
   2928 };
   2929 /******************************************************************************/
   2930 
   2931 // Tx split model for 4x16 block.
   2932 static const float av1_tx_split_nn_weights_4x16_layer0[8 * 16] = {
   2933  -1.344184f, -1.454625f, -0.703110f, -0.140570f, -0.841536f, -0.068131f,
   2934  -2.128968f, -0.655518f, 0.432180f,  0.879752f,  -0.222211f, 0.061615f,
   2935  -0.230969f, 0.569496f,  1.424188f,  0.598063f,  -0.436005f, -0.737606f,
   2936  -0.137875f, -0.085730f, -0.076512f, -0.583101f, -0.937377f, -0.203556f,
   2937  -0.215797f, -0.015361f, -0.124098f, -0.411917f, 0.340441f,  -0.331752f,
   2938  -0.472607f, -0.097714f, -0.930572f, -1.354713f, -0.550724f, 0.176212f,
   2939  -0.636060f, 0.183271f,  -0.610212f, 0.345895f,  -1.100906f, -1.605713f,
   2940  0.111888f,  -0.140937f, 0.063013f,  -0.013315f, -0.273472f, -0.255870f,
   2941  1.200328f,  0.274002f,  1.005776f,  0.322392f,  1.222373f,  0.158227f,
   2942  0.408810f,  0.145022f,  0.139842f,  -1.249412f, 0.286672f,  -0.635699f,
   2943  0.312562f,  -0.495606f, -1.117034f, -0.085107f, -0.097484f, -0.341521f,
   2944  -0.132199f, -0.863055f, 0.217579f,  -1.161425f, -0.302087f, -1.357271f,
   2945  -0.520724f, -1.211069f, -1.048729f, -0.333087f, -1.171527f, -0.280824f,
   2946  -2.057684f, -0.228755f, 0.606278f,  0.101198f,  -0.314847f, -1.303255f,
   2947  -0.294964f, 1.301923f,  0.041712f,  0.077593f,  -1.152746f, 0.495315f,
   2948  -0.751566f, 0.230249f,  -0.840661f, 0.100731f,  1.346269f,  0.649898f,
   2949  -1.432258f, -0.456710f, -1.018123f, -0.348559f, -1.225226f, -0.170717f,
   2950  -0.354072f, 0.068292f,  -0.234168f, 0.277503f,  0.179134f,  0.907420f,
   2951  0.354626f,  -0.627210f, 0.905779f,  0.512612f,  0.161190f,  -0.843177f,
   2952  0.014953f,  -0.354983f, 0.011116f,  -0.429598f, -1.017138f, -0.211432f,
   2953  0.941840f,  -0.281747f, 0.957776f,  -0.541914f, 1.041880f,  -0.433580f,
   2954  -1.416451f, -0.166467f,
   2955 };
   2956 
   2957 static const float av1_tx_split_nn_bias_4x16_layer0[16] = {
   2958  3.086118f,  -3.235095f, 4.830956f,  -0.165706f, 0.955031f,  4.055783f,
   2959  -0.311489f, 4.660205f,  -0.576277f, -0.248111f, -0.790519f, -1.686412f,
   2960  -1.191704f, -3.800073f, 4.121552f,  -1.399397f,
   2961 };
   2962 
   2963 static const float av1_tx_split_nn_weights_4x16_layer1[16] = {
   2964  -0.758677f, 0.388776f,  0.439906f,  0.011390f, -0.084319f, -0.667969f,
   2965  -0.467316f, -0.875491f, -0.160668f, 0.805292f, 0.114393f,  -0.549682f,
   2966  0.462109f,  0.343315f,  1.092593f,  0.483152f,
   2967 };
   2968 
   2969 static const float av1_tx_split_nn_bias_4x16_layer1[1] = {
   2970  0.8205083f,
   2971 };
   2972 
   2973 static const NN_CONFIG av1_tx_split_nnconfig_4x16 = {
   2974  8,  // num_inputs
   2975  1,  // num_outputs
   2976  1,  // num_hidden_layers
   2977  {
   2978      16,
   2979  },  // num_hidden_nodes
   2980  {
   2981      av1_tx_split_nn_weights_4x16_layer0,
   2982      av1_tx_split_nn_weights_4x16_layer1,
   2983  },
   2984  {
   2985      av1_tx_split_nn_bias_4x16_layer0,
   2986      av1_tx_split_nn_bias_4x16_layer1,
   2987  },
   2988 };
   2989 /******************************************************************************/
   2990 
   2991 // Tx split model for 16x32 block.
   2992 static const float av1_tx_split_nn_weights_16x32_layer0[8 * 32] = {
   2993  0.180713f,  0.033211f,  0.607561f,  0.138642f,  0.637204f,  -0.000940f,
   2994  0.012630f,  0.358109f,  0.022238f,  0.190418f,  0.079088f,  0.065925f,
   2995  0.038242f,  0.162380f,  -0.122728f, 0.379382f,  -0.303283f, -0.327550f,
   2996  0.029120f,  -0.284553f, 0.269588f,  -0.309805f, -0.241036f, -0.161103f,
   2997  -0.304887f, 0.239843f,  -0.149146f, 0.311234f,  -0.073640f, -0.132718f,
   2998  0.178901f,  0.474712f,  0.020280f,  0.063685f,  -0.609170f, -0.013658f,
   2999  -0.338074f, 0.250429f,  0.082978f,  -0.186315f, -0.788959f, 0.039859f,
   3000  -0.426461f, -0.001524f, -0.447211f, 0.378102f,  0.315617f,  0.017428f,
   3001  0.745494f,  -0.219024f, 0.512836f,  0.200522f,  0.680449f,  0.313686f,
   3002  -0.412569f, -0.132927f, 0.631120f,  0.042735f,  0.336153f,  0.044772f,
   3003  0.432606f,  0.175681f,  -0.634411f, -0.073509f, -0.040643f, -0.559260f,
   3004  -0.104034f, -0.570495f, -0.247365f, 0.063256f,  -0.582021f, -0.492585f,
   3005  -0.194955f, -0.207934f, -0.506627f, 0.021743f,  -0.416518f, 0.320876f,
   3006  0.115889f,  0.149399f,  -0.229376f, 0.095505f,  0.115191f,  -0.471921f,
   3007  0.113068f,  0.343684f,  -0.036831f, 0.021240f,  0.295112f,  0.031166f,
   3008  0.448201f,  -0.132241f, 0.164032f,  0.355572f,  0.072154f,  0.017335f,
   3009  -0.046113f, 0.178719f,  -0.026881f, -0.242590f, 0.055073f,  -0.012958f,
   3010  0.077904f,  0.351356f,  0.107655f,  0.260568f,  -0.080052f, -0.197553f,
   3011  0.085763f,  0.263416f,  -0.327741f, 0.158855f,  0.056899f,  -0.162121f,
   3012  0.339518f,  -0.571204f, 0.264966f,  -0.252214f, -0.202560f, -0.134213f,
   3013  -0.330188f, 0.009470f,  -0.468376f, -0.065240f, -0.307957f, 0.116479f,
   3014  -0.222238f, -0.458716f, 0.186493f,  -0.391415f, 0.118649f,  -0.104653f,
   3015  -0.259958f, -0.332081f, -0.403785f, -0.050147f, -0.573511f, 0.177117f,
   3016  -0.598358f, 0.164947f,  -0.119694f, -0.058520f, 0.203829f,  -0.267404f,
   3017  -0.048202f, -0.600006f, 0.181594f,  -0.731805f, 0.146417f,  -0.687148f,
   3018  -1.210525f, -0.450101f, -0.620635f, 0.208825f,  -0.611357f, 0.112202f,
   3019  -0.309468f, -0.323545f, 0.357770f,  0.308061f,  0.553199f,  0.049012f,
   3020  0.530093f,  -0.208597f, 0.607882f,  -0.058120f, -0.527634f, 0.018136f,
   3021  0.060753f,  0.118894f,  0.175649f,  0.014731f,  0.428318f,  -0.106465f,
   3022  -0.119077f, 0.080179f,  0.524997f,  0.368286f,  0.528286f,  0.213659f,
   3023  0.639286f,  0.195079f,  -0.049815f, -0.092008f, -0.302958f, 0.298149f,
   3024  -0.173870f, -0.145205f, -0.233589f, -0.303368f, 0.141275f,  0.325622f,
   3025  -0.115293f, 0.155188f,  0.047225f,  0.231050f,  -0.167447f, 0.349754f,
   3026  0.295544f,  -0.319466f, 0.095144f,  0.174612f,  -0.194652f, 0.305915f,
   3027  -0.239008f, -0.037453f, 0.280696f,  0.125850f,  0.749196f,  -0.101919f,
   3028  0.791808f,  -0.236811f, 0.064157f,  0.032865f,  -0.225911f, 0.350384f,
   3029  0.723183f,  -0.103992f, 0.483085f,  -0.123992f, 0.602138f,  0.023895f,
   3030  -0.692601f, -0.118387f, 0.162527f,  0.145178f,  -0.184702f, -0.017753f,
   3031  -0.159436f, 0.124105f,  -0.131067f, 0.310275f,  0.151499f,  0.138924f,
   3032  0.537459f,  0.263212f,  0.615896f,  0.281255f,  0.021293f,  -0.473459f,
   3033  0.210145f,  -0.056682f, 0.063658f,  0.377254f,  -0.314410f, -0.183487f,
   3034  0.300384f,  0.328471f,  0.164694f,  -0.159272f, -0.160942f, -0.502861f,
   3035  -0.129147f, 0.045916f,  -0.606865f, -0.101378f,
   3036 };
   3037 
   3038 static const float av1_tx_split_nn_bias_16x32_layer0[32] = {
   3039  0.051664f,  -0.212487f, -0.077596f, -0.818467f, 0.638475f,  -0.759937f,
   3040  0.157198f,  0.989640f,  1.586035f,  0.431144f,  0.041605f,  0.543085f,
   3041  0.498379f,  0.320504f,  0.134233f,  0.670979f,  -0.105562f, -1.574879f,
   3042  1.261812f,  -0.287530f, -1.610592f, 0.730899f,  -0.894240f, -0.657790f,
   3043  0.270806f,  -0.181708f, 0.298578f,  0.817240f,  -0.221508f, -0.201771f,
   3044  -0.294389f, 1.456413f,
   3045 };
   3046 
   3047 static const float av1_tx_split_nn_weights_16x32_layer1[32] = {
   3048  1.208914f,  0.324728f,  0.383352f,  -0.874321f, 0.172565f,  -0.580927f,
   3049  -0.432927f, 0.433698f,  -0.801935f, 0.672028f,  0.563493f,  0.260077f,
   3050  -0.200557f, -0.121638f, 0.530735f,  -0.525196f, 0.281799f,  0.624204f,
   3051  -0.662775f, -0.230887f, 0.980989f,  0.223437f,  -0.790591f, 0.600724f,
   3052  -0.273445f, 0.427635f,  -0.501641f, -0.878390f, 0.234731f,  -0.172550f,
   3053  0.418904f,  1.792187f,
   3054 };
   3055 
   3056 static const float av1_tx_split_nn_bias_16x32_layer1[1] = {
   3057  -0.29233751f,
   3058 };
   3059 
   3060 static const NN_CONFIG av1_tx_split_nnconfig_16x32 = {
   3061  8,  // num_inputs
   3062  1,  // num_outputs
   3063  1,  // num_hidden_layers
   3064  {
   3065      32,
   3066  },  // num_hidden_nodes
   3067  {
   3068      av1_tx_split_nn_weights_16x32_layer0,
   3069      av1_tx_split_nn_weights_16x32_layer1,
   3070  },
   3071  {
   3072      av1_tx_split_nn_bias_16x32_layer0,
   3073      av1_tx_split_nn_bias_16x32_layer1,
   3074  },
   3075 };
   3076 /******************************************************************************/
   3077 
   3078 // Tx split model for 32x64 block.
   3079 static const float av1_tx_split_nn_weights_32x64_layer0[8 * 32] = {
   3080  0.031614f,  -0.110926f, 0.052418f,  -0.702506f, 0.045708f,  0.238329f,
   3081  -0.021806f, -0.208128f, 0.509745f,  -0.293891f, 0.277788f,  0.113937f,
   3082  0.741576f,  0.062848f,  0.351878f,  0.212532f,  0.385842f,  0.081517f,
   3083  0.398502f,  -0.015156f, 0.242616f,  0.214619f,  -0.182678f, -0.170546f,
   3084  0.110605f,  -0.236749f, -0.023831f, -0.285243f, 0.147156f,  -0.257639f,
   3085  0.341355f,  -0.571641f, -0.721797f, 0.139588f,  -0.518494f, -0.206526f,
   3086  -0.570560f, -0.184295f, 0.110271f,  0.210292f,  -0.109132f, -0.001080f,
   3087  0.129251f,  -0.204230f, -0.396312f, -0.183024f, 0.421243f,  -0.013154f,
   3088  0.222627f,  0.169826f,  0.226037f,  0.218153f,  -0.343528f, 0.274906f,
   3089  -0.156632f, 0.250261f,  -0.484020f, 0.019909f,  -0.349575f, -0.286643f,
   3090  -0.507396f, 0.202446f,  -0.154110f, -0.292644f, 0.122666f,  0.306963f,
   3091  0.424895f,  0.005579f,  0.494094f,  -0.079551f, 0.473740f,  0.352414f,
   3092  -0.356917f, 0.264331f,  -0.554487f, 0.119978f,  0.012291f,  -0.141641f,
   3093  -0.254714f, -0.213723f, -0.116701f, -0.011267f, 0.190025f,  -0.118501f,
   3094  0.305151f,  -0.316782f, -0.220801f, -0.308420f, -0.324285f, 0.421329f,
   3095  -0.177066f, -0.055114f, 0.229698f,  -0.199523f, 0.054278f,  0.365020f,
   3096  -0.060586f, -0.300618f, 0.157563f,  -0.064338f, -0.005711f, -0.176991f,
   3097  -0.424502f, -0.111914f, 0.092608f,  0.126621f,  0.078547f,  0.148008f,
   3098  0.024221f,  0.124599f,  0.001343f,  0.059402f,  0.453753f,  0.047102f,
   3099  0.242544f,  0.055735f,  -0.067451f, -0.170061f, -0.170469f, -0.232173f,
   3100  0.214908f,  0.248889f,  0.544348f,  -0.084566f, 0.402478f,  0.298031f,
   3101  0.099038f,  -0.238019f, -0.475085f, -0.070042f, -0.754955f, -0.049095f,
   3102  -0.783801f, -0.099857f, -0.582008f, -0.055194f, -0.103655f, 0.143689f,
   3103  0.100219f,  0.293934f,  0.099271f,  -0.036320f, 0.356626f,  -0.261445f,
   3104  0.879544f,  0.000878f,  0.532920f,  -0.093918f, 0.508867f,  -0.040215f,
   3105  -0.789042f, -0.145380f, -0.090040f, -0.066636f, 0.015212f,  0.352989f,
   3106  -0.058831f, -0.164588f, 0.039890f,  0.122861f,  0.222508f,  0.061217f,
   3107  0.466487f,  0.022666f,  0.423777f,  -0.002200f, -0.656835f, -0.099760f,
   3108  -0.520606f, 0.303204f,  -0.563620f, -0.160922f, -0.243203f, 0.313354f,
   3109  -0.336516f, -0.206764f, -0.236040f, 0.325899f,  -0.418748f, 0.163205f,
   3110  -0.476242f, -0.121928f, 0.139178f,  -0.157193f, -0.531766f, -0.180202f,
   3111  -0.485254f, 0.187703f,  -0.440072f, 0.137854f,  0.029139f,  0.109530f,
   3112  -0.078475f, -0.360618f, -0.334672f, -0.350890f, -0.403976f, 0.180336f,
   3113  -0.304542f, 0.005123f,  0.413995f,  0.314639f,  0.342648f,  -0.293264f,
   3114  0.358135f,  -0.180425f, -0.369530f, -0.048413f, 0.498366f,  0.121875f,
   3115  0.270948f,  -0.187966f, 0.342503f,  0.174420f,  -0.352105f, 0.088080f,
   3116  0.008277f,  0.020275f,  -0.002381f, 0.504389f,  -0.018832f, -0.366047f,
   3117  -0.090947f, -0.168150f, 0.016184f,  -0.328914f, 0.089579f,  -0.017349f,
   3118  0.005844f,  -0.005010f, -1.857514f, -0.282426f, 0.010177f,  -0.214727f,
   3119  -0.182529f, 0.156943f,  -0.162032f, -0.472654f, 0.069432f,  0.016901f,
   3120  -0.767905f, 0.137129f,  -0.411463f, 0.049056f,  -0.431657f, -0.037641f,
   3121  0.785500f,  0.046225f,  0.195831f,  0.245204f,  0.368614f,  0.212261f,
   3122  0.440626f,  -0.158048f, -0.461031f, -0.146280f,
   3123 };
   3124 
   3125 static const float av1_tx_split_nn_bias_32x64_layer0[32] = {
   3126  0.490777f,  -1.894238f, 0.621333f,  -0.076756f, 0.286298f, 0.286375f,
   3127  -0.126431f, -0.350034f, -1.017572f, 0.620125f,  0.408128f, 0.238756f,
   3128  -0.060728f, 0.210912f,  0.043124f,  0.445649f,  0.907025f, 0.360272f,
   3129  1.083101f,  -0.068952f, 1.062348f,  0.396354f,  0.280075f, 0.501732f,
   3130  0.328422f,  0.066241f,  0.474697f,  0.126313f,  0.741206f, 0.314796f,
   3131  0.552712f,  0.299410f,
   3132 };
   3133 
   3134 static const float av1_tx_split_nn_weights_32x64_layer1[32] = {
   3135  1.033823f,  0.603439f,  0.304591f,  -0.279940f, -0.780909f, -0.132801f,
   3136  0.154059f,  0.662014f,  -0.718368f, 0.198733f,  0.039766f,  -0.208516f,
   3137  -0.104909f, -0.394209f, 0.081617f,  0.365041f,  -0.874960f, -0.063315f,
   3138  -1.189897f, 0.337225f,  0.410893f,  0.307519f,  0.221323f,  0.233895f,
   3139  0.469536f,  0.438557f,  0.280144f,  0.422423f,  -1.394513f, 0.781900f,
   3140  0.352981f,  0.111265f,
   3141 };
   3142 
   3143 static const float av1_tx_split_nn_bias_32x64_layer1[1] = {
   3144  -0.18160765f,
   3145 };
   3146 
   3147 static const NN_CONFIG av1_tx_split_nnconfig_32x64 = {
   3148  8,  // num_inputs
   3149  1,  // num_outputs
   3150  1,  // num_hidden_layers
   3151  {
   3152      32,
   3153  },  // num_hidden_nodes
   3154  {
   3155      av1_tx_split_nn_weights_32x64_layer0,
   3156      av1_tx_split_nn_weights_32x64_layer1,
   3157  },
   3158  {
   3159      av1_tx_split_nn_bias_32x64_layer0,
   3160      av1_tx_split_nn_bias_32x64_layer1,
   3161  },
   3162 };
   3163 /******************************************************************************/
   3164 
   3165 // Tx split model for 8x32 block.
   3166 static const float av1_tx_split_nn_weights_8x32_layer0[8 * 24] = {
   3167  -0.687846f, 0.121404f,  -0.372905f, 0.126770f,  -0.103298f, -0.101650f,
   3168  -0.148490f, -0.271740f, 0.682915f,  -0.079765f, 0.634347f,  -0.151503f,
   3169  0.287692f,  -0.079072f, -0.236948f, 0.065064f,  0.713383f,  0.397123f,
   3170  0.553621f,  0.368529f,  0.767663f,  -0.046601f, -0.392402f, -0.294822f,
   3171  -0.292325f, -0.010573f, -0.837945f, 0.050113f,  -0.811360f, 0.199162f,
   3172  0.150832f,  0.011602f,  0.369694f,  -0.225876f, 0.234113f,  -0.269808f,
   3173  0.303805f,  -0.190281f, -0.451136f, 0.209755f,  -0.308894f, 0.326956f,
   3174  0.313591f,  0.089923f,  -0.095754f, 0.390981f,  0.467366f,  0.169670f,
   3175  0.853322f,  0.054055f,  0.830319f,  -0.121918f, 0.262019f,  -0.093526f,
   3176  0.385558f,  0.419174f,  0.040198f,  -0.347030f, -0.450492f, -0.106764f,
   3177  0.487502f,  -0.204188f, 0.430374f,  -0.116388f, 0.236407f,  -0.157376f,
   3178  0.732294f,  -0.651387f, 0.347446f,  0.342575f,  0.048406f,  0.187657f,
   3179  0.434899f,  -0.447782f, 0.032728f,  -0.071168f, -0.255327f, 0.104174f,
   3180  0.095689f,  -0.431743f, 0.725694f,  0.031797f,  0.523171f,  0.061801f,
   3181  0.469804f,  -0.071068f, -0.059024f, -0.211937f, 0.392134f,  -0.321490f,
   3182  0.366060f,  -0.427798f, 0.166771f,  0.299652f,  0.044660f,  0.205142f,
   3183  0.039133f,  -0.051835f, -0.465475f, 0.216976f,  -0.341156f, 0.095358f,
   3184  0.230807f,  0.201674f,  0.279266f,  -0.713534f, -0.091690f, -0.569708f,
   3185  -0.119001f, 0.252160f,  -1.544578f, -0.284477f, 0.555348f,  0.226471f,
   3186  0.347690f,  0.034365f,  0.770835f,  -0.241859f, -0.130241f, 0.292936f,
   3187  0.396622f,  -0.417916f, 0.492224f,  0.125517f,  0.344824f,  0.232172f,
   3188  -0.432106f, -0.278745f, 0.035069f,  -0.307247f, -0.120760f, 0.170950f,
   3189  0.433601f,  0.044286f,  0.141463f,  -0.041382f, 0.529346f,  0.010868f,
   3190  -0.323674f, 0.185205f,  0.623459f,  0.232842f,  -0.406693f, -0.142944f,
   3191  0.222988f,  0.343634f,  0.065401f,  0.002621f,  0.805335f,  -0.426926f,
   3192  0.279181f,  0.131364f,  0.192339f,  -0.402391f, 0.544120f,  -0.060618f,
   3193  0.467780f,  0.165224f,  -0.373131f, 0.002427f,  0.688064f,  0.322317f,
   3194  0.259713f,  0.130583f,  0.185032f,  -0.189111f, -0.067821f, 0.010875f,
   3195  0.644724f,  -0.179291f, 0.463222f,  0.155230f,  0.721384f,  -0.046019f,
   3196  0.438501f,  0.440027f,  -0.462090f, -0.002039f, -0.468026f, -0.008890f,
   3197  -0.328530f, 0.370102f,  0.482531f,  0.043471f,  -0.469732f, -0.532663f,
   3198  0.122081f,  -0.379659f, 0.037219f,  -0.519913f, -0.128975f, -0.404365f,
   3199 };
   3200 
   3201 static const float av1_tx_split_nn_bias_8x32_layer0[24] = {
   3202  -1.198965f, 0.395204f,  -0.408627f, -0.021654f, -0.658355f, 0.154525f,
   3203  -0.288354f, 1.207574f,  0.411608f,  0.964678f,  -1.176893f, 1.059006f,
   3204  -0.472969f, 2.087975f,  1.065536f,  0.595569f,  0.197907f,  -0.349938f,
   3205  1.013651f,  -0.931093f, -0.973595f, -0.459094f, -1.253062f, 1.624782f,
   3206 };
   3207 
   3208 static const float av1_tx_split_nn_weights_8x32_layer1[24] = {
   3209  0.815787f,  -0.393465f, -0.483427f, -0.565592f, 0.493494f,  0.430229f,
   3210  -0.507073f, -0.251379f, -0.353418f, -0.495445f, 0.820029f,  0.649146f,
   3211  -0.487383f, 1.844503f,  0.480324f,  -0.982705f, -0.501446f, -0.220584f,
   3212  0.334299f,  0.802238f,  0.805838f,  -0.487848f, 0.300772f,  -1.232857f,
   3213 };
   3214 
   3215 static const float av1_tx_split_nn_bias_8x32_layer1[1] = {
   3216  0.13435879f,
   3217 };
   3218 
   3219 static const NN_CONFIG av1_tx_split_nnconfig_8x32 = {
   3220  8,  // num_inputs
   3221  1,  // num_outputs
   3222  1,  // num_hidden_layers
   3223  {
   3224      24,
   3225  },  // num_hidden_nodes
   3226  {
   3227      av1_tx_split_nn_weights_8x32_layer0,
   3228      av1_tx_split_nn_weights_8x32_layer1,
   3229  },
   3230  {
   3231      av1_tx_split_nn_bias_8x32_layer0,
   3232      av1_tx_split_nn_bias_8x32_layer1,
   3233  },
   3234 };
   3235 /******************************************************************************/
   3236 
   3237 // Tx split model for 16x32 block.
   3238 static const float av1_tx_split_nn_weights_16x64_layer0[8 * 16] = {
   3239  -0.378223f, -0.124216f, -0.514089f, -0.110117f, -0.585801f, -0.094838f,
   3240  -0.455385f, -0.220254f, -0.504568f, -0.082351f, -0.476420f, -0.253993f,
   3241  -0.454709f, -0.059461f, 0.210313f,  -0.155683f, 0.192968f,  -0.127804f,
   3242  0.471996f,  0.253377f,  0.472625f,  0.485322f,  0.150560f,  0.164868f,
   3243  -0.475587f, 0.447559f,  -0.455759f, -0.306665f, -0.194866f, -0.283716f,
   3244  -0.243897f, 0.293020f,  -0.308298f, -0.191904f, -0.468568f, 0.014053f,
   3245  -0.618848f, 0.096273f,  -0.444586f, 0.347750f,  -0.280643f, -0.062872f,
   3246  0.118661f,  0.540099f,  0.104141f,  -0.279300f, -0.098721f, -0.173427f,
   3247  -0.984558f, -0.424559f, -0.411928f, -0.120875f, -0.488999f, -0.050716f,
   3248  -0.523103f, 0.093620f,  -0.930396f, -0.431997f, -1.163297f, 0.190384f,
   3249  -0.422581f, -0.005354f, 0.450552f,  0.369210f,  0.562484f,  0.679922f,
   3250  0.282099f,  -0.039075f, 0.404196f,  0.006371f,  0.069679f,  -0.196160f,
   3251  -0.213675f, 0.275187f,  -0.104235f, -0.193090f, 0.003116f,  -0.252454f,
   3252  -0.094591f, 0.210439f,  -0.137070f, 0.145043f,  0.024558f,  0.121718f,
   3253  0.010138f,  0.301651f,  -0.377990f, 0.444414f,  0.001845f,  -0.095334f,
   3254  0.550259f,  0.087603f,  0.792492f,  -0.044584f, 0.641706f,  -0.328458f,
   3255  -0.447791f, 0.135376f,  0.356385f,  0.135748f,  0.310370f,  0.293757f,
   3256  -0.062000f, -0.056368f, 0.343930f,  0.312039f,  0.370763f,  0.452381f,
   3257  -0.023630f, -0.185909f, 0.422277f,  -0.006306f, 0.045166f,  0.423359f,
   3258  -0.157735f, -0.084901f, 0.219527f,  -0.209510f, 0.575057f,  0.249276f,
   3259  0.069267f,  0.233898f,  -0.229392f, 0.117197f,  -0.038551f, 0.293976f,
   3260  0.101996f,  0.120878f,
   3261 };
   3262 
   3263 static const float av1_tx_split_nn_bias_16x64_layer0[16] = {
   3264  1.036995f,  0.160249f,  0.100264f,  0.694881f,  0.694677f,  0.128379f,
   3265  -0.843405f, -0.405515f, 0.104139f,  0.182980f,  -0.025472f, 0.901067f,
   3266  -0.299866f, -0.103079f, -0.190352f, -0.048121f,
   3267 };
   3268 
   3269 static const float av1_tx_split_nn_weights_16x64_layer1[16] = {
   3270  -1.778868f, 0.174690f,  0.211991f, 0.712138f,  0.589352f,  0.466652f,
   3271  1.029146f,  -0.490044f, 0.483015f, 0.600215f,  -0.577776f, -0.755546f,
   3272  0.348337f,  -0.205082f, 0.347129f, -0.322277f,
   3273 };
   3274 
   3275 static const float av1_tx_split_nn_bias_16x64_layer1[1] = {
   3276  0.04230947f,
   3277 };
   3278 
   3279 static const NN_CONFIG av1_tx_split_nnconfig_16x64 = {
   3280  8,  // num_inputs
   3281  1,  // num_outputs
   3282  1,  // num_hidden_layers
   3283  {
   3284      16,
   3285  },  // num_hidden_nodes
   3286  {
   3287      av1_tx_split_nn_weights_16x64_layer0,
   3288      av1_tx_split_nn_weights_16x64_layer1,
   3289  },
   3290  {
   3291      av1_tx_split_nn_bias_16x64_layer0,
   3292      av1_tx_split_nn_bias_16x64_layer1,
   3293  },
   3294 };
   3295 /******************************************************************************/
   3296 
   3297 // Map block size to its corresponding neural net model for tx split prediction.
   3298 static const NN_CONFIG *const av1_tx_split_nnconfig_map[TX_SIZES_ALL] = {
   3299  NULL,                          // TX_4X4,
   3300  &av1_tx_split_nnconfig_8x8,    // TX_8X8,
   3301  &av1_tx_split_nnconfig_16x16,  // TX_16X16,
   3302  &av1_tx_split_nnconfig_32x32,  // TX_32X32,
   3303  &av1_tx_split_nnconfig_64x64,  // TX_64X64,
   3304  &av1_tx_split_nnconfig_4x8,    // TX_4X8,
   3305  &av1_tx_split_nnconfig_4x8,    // TX_8X4,
   3306  &av1_tx_split_nnconfig_8x16,   // TX_8X16,
   3307  &av1_tx_split_nnconfig_8x16,   // TX_16X8,
   3308  &av1_tx_split_nnconfig_16x32,  // TX_16X32,
   3309  &av1_tx_split_nnconfig_16x32,  // TX_32X16,
   3310  &av1_tx_split_nnconfig_32x64,  // TX_32X64,
   3311  &av1_tx_split_nnconfig_32x64,  // TX_64X32,
   3312  &av1_tx_split_nnconfig_4x16,   // TX_4X16,
   3313  &av1_tx_split_nnconfig_4x16,   // TX_16X4,
   3314  &av1_tx_split_nnconfig_8x32,   // TX_8X32,
   3315  &av1_tx_split_nnconfig_8x32,   // TX_32X8,
   3316  &av1_tx_split_nnconfig_16x64,  // TX_16X64,
   3317  &av1_tx_split_nnconfig_16x64,  // TX_64X16,
   3318 };
   3319 
   3320 #if !CONFIG_REALTIME_ONLY
   3321 #define NUM_INTRA_TX_SPLIT_FEATURES 14
   3322 #define NUM_INTRA_TX_SPLIT_HIDDEN_LAYERS 1
   3323 #define NUM_INTRA_TX_SPLIT_HIDDEN_NODES 16
   3324 // Model to prune intra transform depth for intra 8x8 block.
   3325 static const float av1_intra_tx_split_8x8_mean[NUM_INTRA_TX_SPLIT_FEATURES] = {
   3326  0.110706f,  18.901518f, 0.250436f,  13.483487f, 0.118141f,
   3327  14.318728f, 0.028409f,  14.257664f, 0.045839f,  15.143358f,
   3328  9.702971f,  14.300809f, 6.018646f,  3.682534f,
   3329 };
   3330 
   3331 static const float av1_intra_tx_split_8x8_std[NUM_INTRA_TX_SPLIT_FEATURES] = {
   3332  13.750575f, 13.440116f, 14.334330f, 12.236641f, 18.415247f,
   3333  12.733355f, 18.309339f, 12.858130f, 23.465142f, 13.447014f,
   3334  8.625048f,  10.456774f, 1.185447f,  1.810423f,
   3335 };
   3336 
   3337 static const float av1_intra_tx_split_nn_weights_8x8_layer0
   3338    [NUM_INTRA_TX_SPLIT_FEATURES * NUM_INTRA_TX_SPLIT_HIDDEN_NODES] = {
   3339      -0.156142f, -0.753623f, 0.026883f,  0.039188f,  -0.035310f, 0.106140f,
   3340      0.051622f,  0.077838f,  0.101632f,  0.107278f,  0.232200f,  0.269083f,
   3341      0.048966f,  -1.553293f, -0.113983f, -0.151248f, -0.067369f, 0.787292f,
   3342      0.076651f,  -0.802634f, 0.266414f,  1.107563f,  -0.068848f, -0.956468f,
   3343      -0.074920f, -0.192258f, 0.006207f,  0.176196f,  -0.493442f, 0.152290f,
   3344      -0.208874f, -0.014658f, 0.297385f,  -0.351695f, 0.246295f,  -0.178519f,
   3345      -0.204191f, 0.049663f,  -0.330343f, -0.299754f, 0.246215f,  -0.014558f,
   3346      -0.117611f, 0.206445f,  0.045840f,  -0.047563f, -0.049679f, 0.406892f,
   3347      -0.052307f, -1.513404f, 0.166166f,  0.520760f,  -0.143320f, -0.593928f,
   3348      -0.010533f, 0.250752f,  0.076738f,  0.537512f,  -0.082619f, -1.534031f,
   3349      0.047109f,  0.634247f,  -0.089730f, 0.545534f,  -0.022742f, -0.779047f,
   3350      -0.606358f, -0.199145f, -0.051269f, 0.248784f,  0.327545f,  -0.851751f,
   3351      0.071739f,  0.035975f,  0.387781f,  -0.136427f, -0.284436f, 0.578449f,
   3352      -0.198276f, 0.579950f,  0.600111f,  -0.370164f, -0.215297f, 0.517342f,
   3353      0.200061f,  -2.507660f, -0.030851f, 0.227315f,  -0.078289f, 0.276052f,
   3354      -0.050281f, 0.251481f,  -0.139318f, 0.281175f,  0.226524f,  0.058968f,
   3355      0.197436f,  0.517294f,  -0.105914f, -1.599567f, 0.064985f,  0.043209f,
   3356      -0.280038f, 0.126874f,  0.330387f,  -0.014407f, 0.031241f,  0.237801f,
   3357      0.948959f,  -0.253791f, -0.022622f, -0.061430f, 0.265852f,  0.750823f,
   3358      0.086606f,  0.853527f,  -0.180971f, -1.255744f, -0.152979f, -1.022198f,
   3359      -0.044708f, 0.506424f,  -0.501968f, -0.416863f, -0.012688f, 0.193523f,
   3360      -0.093698f, 0.430875f,  0.007379f,  0.019278f,  0.080890f,  0.462755f,
   3361      -0.054326f, -0.157611f, -0.004851f, -1.275676f, -0.060528f, -0.508170f,
   3362      0.195429f,  -0.023534f, 0.355211f,  0.983561f,  -0.122036f, -0.911948f,
   3363      -0.172280f, -1.135245f, -0.043211f, 0.576456f,  -0.075247f, 0.429734f,
   3364      -0.246309f, -0.355575f, -0.048809f, 0.217113f,  0.078385f,  0.720341f,
   3365      0.007070f,  0.144617f,  -0.167642f, 0.303056f,  -0.031425f, 0.123448f,
   3366      -0.320530f, 0.164070f,  -0.497849f, -0.233918f, -0.032123f, 0.084983f,
   3367      0.312216f,  0.062609f,  -0.389815f, 0.237593f,  0.000157f,  -0.642068f,
   3368      0.167898f,  0.495234f,  -0.083493f, -0.555971f, 0.124437f,  0.381125f,
   3369      -0.459219f, 0.047924f,  -0.138222f, -2.232816f, 0.127585f,  -0.102420f,
   3370      0.131598f,  0.036837f,  -0.163055f, -0.067429f, -0.078521f, -0.055666f,
   3371      1.387057f,  0.400154f,  -0.003355f, -0.073627f, -0.305098f, -0.413383f,
   3372      -0.008266f, -0.038329f, 0.209808f,  0.375777f,  0.037274f,  -0.050226f,
   3373      -0.100576f, 0.237441f,  0.237854f,  0.828296f,  0.001149f,  -0.093964f,
   3374      0.214051f,  -0.031486f, -0.561307f, 0.014540f,  0.169357f,  0.323202f,
   3375      -0.395334f, -0.038941f, 0.476800f,  -0.213122f, -0.287521f, -0.420717f,
   3376      -0.054142f, -0.102266f,
   3377    };
   3378 
   3379 static const float
   3380    av1_intra_tx_split_nn_bias_8x8_layer0[NUM_INTRA_TX_SPLIT_HIDDEN_NODES] = {
   3381      -1.150850f, -0.236404f, 0.184554f,  -0.904162f, -0.949979f, 0.427016f,
   3382      -0.546867f, -0.611094f, -0.676570f, -0.208959f, -0.286384f, 0.562238f,
   3383      0.434197f,  -0.746518f, 0.123085f,  -0.549836f,
   3384    };
   3385 
   3386 static const float av1_intra_tx_split_nn_weights_8x8_layer1
   3387    [NUM_INTRA_TX_SPLIT_HIDDEN_NODES] = {
   3388      0.749814f,  0.598172f,  0.375611f, 0.751612f,  0.947538f, -0.282228f,
   3389      -1.457522f, -1.092290f, 0.738657f, 0.575779f,  0.514823f, -0.560616f,
   3390      -0.491619f, -1.482014f, 0.524625f, -0.533590f,
   3391    };
   3392 
   3393 static const float av1_intra_tx_split_nn_bias_8x8_layer1[1] = {
   3394  -0.488888f,
   3395 };
   3396 
   3397 static const NN_CONFIG av1_intra_tx_split_nnconfig_8x8 = {
   3398  NUM_INTRA_TX_SPLIT_FEATURES,       // num_inputs
   3399  1,                                 // num_outputs
   3400  NUM_INTRA_TX_SPLIT_HIDDEN_LAYERS,  // num_hidden_layers
   3401  {
   3402      NUM_INTRA_TX_SPLIT_HIDDEN_NODES,
   3403  },  // num_hidden_nodes
   3404  {
   3405      av1_intra_tx_split_nn_weights_8x8_layer0,
   3406      av1_intra_tx_split_nn_weights_8x8_layer1,
   3407  },
   3408  {
   3409      av1_intra_tx_split_nn_bias_8x8_layer0,
   3410      av1_intra_tx_split_nn_bias_8x8_layer1,
   3411  },
   3412 };
   3413 
   3414 static const float av1_intra_tx_prune_nn_thresh_8x8[2] = { -0.405465f,
   3415                                                           0.405465f };
   3416 #endif  // !CONFIG_REALTIME_ONLY
   3417 
   3418 #ifdef __cplusplus
   3419 }  // extern "C"
   3420 #endif
   3421 
   3422 #endif  // AOM_AV1_ENCODER_TX_PRUNE_MODEL_WEIGHTS_H_