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