Speed feature: skip part search after trying split
Add a ML based speed feature to terminate partition RD search after
trying PARTITION_SPLIT. The features for the model are based on QP,
previous partition RDO results and the variance from simple motion
search.
This feature is currently enabled for low and mid resolution, speed 1
and 2.
Coding loss(%):
speed 1 speed 2
lowres 0.05 0.05
midres 0.04 0.02
Speed gains(%):
speed 1 speed 2
lowres 4.7 3.7
midres 5.4 5.3
STATS_CHANGED
Change-Id: I6c32707e52da5c3ff84e784a4b4fe43ebb19cb97
diff --git a/av1/encoder/encodeframe.c b/av1/encoder/encodeframe.c
index 8123fd3..ebb6d27 100644
--- a/av1/encoder/encodeframe.c
+++ b/av1/encoder/encodeframe.c
@@ -3293,6 +3293,7 @@
// PARTITION_NONE
if (is_le_min_sq_part && has_rows && has_cols) partition_none_allowed = 1;
+ int64_t part_none_rd = INT64_MAX;
if (!terminate_partition_search && partition_none_allowed &&
!is_gt_max_sq_part) {
int pt_cost = 0;
@@ -3337,6 +3338,7 @@
this_rdc.rdcost = RDCOST(x->rdmult, this_rdc.rate, this_rdc.dist);
}
+ part_none_rd = this_rdc.rdcost;
if (this_rdc.rdcost < best_rdc.rdcost) {
// Adjust dist breakout threshold according to the partition size.
const int64_t dist_breakout_thr =
@@ -3395,6 +3397,7 @@
if (cpi->sf.adaptive_motion_search) store_pred_mv(x, ctx_none);
// PARTITION_SPLIT
+ int64_t part_split_rd = INT64_MAX;
if ((!terminate_partition_search && do_square_split) || is_gt_max_sq_part) {
av1_init_rd_stats(&sum_rdc);
subsize = get_partition_subsize(bsize, PARTITION_SPLIT);
@@ -3455,9 +3458,9 @@
#endif
const int reached_last_index = (idx == 4);
+ part_split_rd = sum_rdc.rdcost;
if (reached_last_index && sum_rdc.rdcost < best_rdc.rdcost) {
sum_rdc.rdcost = RDCOST(x->rdmult, sum_rdc.rate, sum_rdc.dist);
-
if (sum_rdc.rdcost < best_rdc.rdcost) {
best_rdc = sum_rdc;
pc_tree->partitioning = PARTITION_SPLIT;
@@ -3472,9 +3475,18 @@
restore_context(x, &x_ctx, mi_row, mi_col, bsize, num_planes);
} // if (do_split)
- if (cpi->sf.ml_prune_rect_partition && !frame_is_intra_only(cm) &&
+ if (cpi->sf.ml_early_term_after_part_split && !frame_is_intra_only(cm) &&
+ !terminate_partition_search && do_rectangular_split &&
+ (partition_horz_allowed || partition_vert_allowed)) {
+ av1_ml_early_term_after_split(cpi, x, pc_tree, bsize, best_rdc.rdcost,
+ part_none_rd, part_split_rd, split_rd, mi_row,
+ mi_col, &terminate_partition_search);
+ }
+
+ if (!cpi->sf.ml_early_term_after_part_split &&
+ cpi->sf.ml_prune_rect_partition && !frame_is_intra_only(cm) &&
(partition_horz_allowed || partition_vert_allowed) &&
- !(prune_horz || prune_vert)) {
+ !(prune_horz || prune_vert) && !terminate_partition_search) {
av1_setup_src_planes(x, cpi->source, mi_row, mi_col, num_planes, bsize);
ml_prune_rect_partition(cpi, x, bsize, best_rdc.rdcost, cur_none_rd,
split_rd, &prune_horz, &prune_vert);
diff --git a/av1/encoder/partition_model_weights.h b/av1/encoder/partition_model_weights.h
index 4adbfc0..873c7c3 100644
--- a/av1/encoder/partition_model_weights.h
+++ b/av1/encoder/partition_model_weights.h
@@ -5406,6 +5406,753 @@
static const float av1_fp_simple_motion_search_term_none_thresh_8 =
-3.608804354309157f;
+#define FEATURES 31
+#define HIDDEN_NODES 32
+static const float av1_early_term_after_split_nn_weights_64_layer0[] = {
+ -0.306296f, -0.691664f, 0.335148f, -0.298465f, -0.509241f, -0.632796f,
+ -0.527979f, -0.009904f, -0.503646f, -0.494002f, -0.575101f, 0.239911f,
+ -0.413312f, -0.622825f, -0.405448f, -0.419103f, -0.505903f, -0.392550f,
+ -0.240293f, 0.121749f, -0.489777f, -0.756647f, 0.001047f, -0.016528f,
+ 0.145714f, 0.172910f, 0.086197f, 0.162882f, -0.070588f, -0.077104f,
+ 0.502730f, -0.244954f, 0.265605f, -0.323994f, 0.223397f, -1.086453f,
+ 0.391886f, 0.200343f, 0.253878f, 0.018925f, 0.201819f, -0.205136f,
+ 0.427314f, 0.041155f, 0.070484f, 0.159925f, -0.057095f, -0.146544f,
+ -0.073792f, 0.152628f, 0.003986f, -0.515965f, -0.209754f, 0.037457f,
+ 0.070622f, -0.143571f, -0.059602f, 0.111734f, 0.319674f, 0.149894f,
+ -0.219883f, 0.206678f, 0.015809f, -0.210549f, 0.130156f, -0.189502f,
+ -0.850392f, -0.156363f, -0.060354f, 0.189044f, 0.266495f, 0.151305f,
+ -0.563677f, -0.354896f, 0.300637f, 0.257568f, -0.008359f, -0.535497f,
+ -0.003127f, 0.293054f, -0.020212f, -0.157278f, 0.229972f, -0.309799f,
+ -0.329927f, -0.077140f, 0.001177f, -0.024415f, 0.134044f, -0.181587f,
+ -0.135380f, 0.230989f, -0.281451f, 0.912282f, 0.511562f, -3.900779f,
+ -0.039917f, 1.956406f, -0.357589f, 0.292998f, -0.950158f, 0.422041f,
+ 0.526572f, 0.605746f, -0.147110f, 0.256576f, 0.090010f, 0.221641f,
+ 0.029763f, 0.351592f, 0.458324f, -0.005888f, 0.010521f, -0.389326f,
+ -0.094006f, -0.171489f, -0.013153f, 0.026333f, -0.454571f, -1.932891f,
+ -0.168211f, 0.051298f, -0.258061f, -0.028936f, -0.555937f, -0.475566f,
+ -0.304046f, -0.318113f, 0.099697f, -0.217145f, 0.139433f, -0.203986f,
+ -0.164012f, 0.051527f, 0.138603f, -0.085100f, -0.082887f, -0.242955f,
+ -0.663410f, -0.535772f, -0.181665f, -0.197883f, 0.071319f, 0.135086f,
+ 0.146200f, 0.184827f, -0.199041f, 0.162570f, -0.300167f, 0.017748f,
+ -0.140111f, 0.103553f, 0.206929f, 0.193446f, 0.123141f, -1.201898f,
+ -0.052254f, -0.750121f, 0.111741f, 0.204092f, -0.166266f, 0.124008f,
+ -0.455496f, 0.306035f, 0.275903f, 0.193599f, -0.730011f, 0.126808f,
+ 0.051059f, 0.103634f, -0.044334f, 0.048889f, 0.405228f, 0.574099f,
+ 0.061167f, 0.260576f, 0.070032f, -0.038040f, 0.229183f, -0.243269f,
+ -0.130116f, -0.538563f, -0.070199f, -0.129249f, -0.205153f, -0.268530f,
+ -0.290828f, -0.233006f, 0.068712f, 0.618085f, -0.407008f, 0.686868f,
+ 0.172247f, 0.826287f, -0.002672f, 0.239825f, -0.051548f, 0.420773f,
+ 0.218747f, 0.041057f, -0.071189f, 0.286987f, -0.113915f, 0.122561f,
+ 0.013979f, -0.049046f, 0.148175f, 0.031313f, -0.248601f, 0.209488f,
+ 0.069008f, 0.072763f, 0.332475f, 0.079986f, -0.151042f, -0.205110f,
+ -0.155550f, -0.510408f, 0.330429f, 0.577729f, 0.266524f, -0.378489f,
+ 0.228204f, 0.055318f, 0.117583f, -0.588557f, -0.778201f, 0.434622f,
+ -0.227820f, 0.611642f, 0.170548f, 0.817761f, 0.006642f, -1.005794f,
+ -0.911490f, 1.633684f, -0.290664f, 0.308128f, 0.295986f, 0.243377f,
+ -0.001275f, -0.131156f, 0.275205f, -0.041865f, -0.201951f, -0.016380f,
+ 0.336604f, -0.258118f, 0.890810f, 0.441065f, -0.968006f, 0.135989f,
+ -1.447191f, 0.353426f, -0.343235f, 0.376837f, -0.071602f, -0.319639f,
+ -0.072347f, 0.547450f, -0.215380f, 0.182141f, -0.066186f, 0.033787f,
+ 0.257482f, 0.217428f, -0.130249f, 0.057525f, 0.263991f, 0.230664f,
+ -0.245113f, 0.048610f, -0.079955f, 0.251737f, -0.070368f, -0.017968f,
+ -0.151815f, 0.025945f, -0.257769f, 0.299735f, 0.077263f, -0.565526f,
+ 0.326263f, 0.096429f, 0.113414f, 0.092754f, -0.141908f, 0.172060f,
+ 0.393117f, -0.216755f, 0.331051f, -0.363369f, -0.113363f, -0.095164f,
+ -0.072784f, 0.214572f, 0.010993f, 0.209456f, 0.260381f, -0.314747f,
+ -0.422173f, -0.189963f, -0.225130f, 0.339448f, 0.153814f, 0.265616f,
+ -0.103575f, -0.123841f, -0.106236f, 0.155894f, -0.156264f, -1.361406f,
+ -0.040736f, -0.614998f, -0.468200f, -0.266505f, -0.342786f, -0.908088f,
+ 0.105758f, 0.040788f, -0.313589f, -1.359318f, 0.071329f, 0.176404f,
+ -0.476141f, 0.010108f, -0.201440f, -0.221167f, -0.197448f, -0.013927f,
+ -0.610270f, -0.607285f, 0.178070f, 0.174320f, 0.313115f, 0.026191f,
+ -0.112330f, 0.122338f, -0.367751f, 0.196794f, 0.153709f, -0.205454f,
+ -0.397471f, -1.879336f, -0.030129f, 0.143429f, -0.079832f, 0.435259f,
+ -1.729539f, 0.518301f, -0.141393f, 0.199399f, -1.914601f, 0.142865f,
+ -0.219899f, 0.508458f, 0.086365f, -0.220740f, -0.012507f, 1.263320f,
+ 0.042136f, 0.050922f, -0.329644f, -0.188198f, 0.251522f, 0.394731f,
+ -0.047866f, -0.260853f, -0.267207f, -0.248489f, 0.146474f, 0.359257f,
+ -0.427732f, -0.100652f, 0.192129f, 0.075572f, 0.916708f, 0.255747f,
+ 0.486384f, 0.127989f, -0.556449f, -0.484913f, 0.392298f, 0.045401f,
+ -0.839551f, -0.703619f, 0.069263f, -0.040720f, 0.542265f, 0.443739f,
+ 0.862552f, -0.021726f, 0.230858f, -0.261004f, -0.125697f, -0.106435f,
+ 0.002341f, 0.013904f, 0.011034f, 0.542296f, -0.284325f, 0.135736f,
+ 0.113882f, 0.040610f, -0.255485f, 0.224061f, -0.087140f, 0.127872f,
+ -0.002638f, 0.164889f, -0.335958f, -0.031166f, -0.393581f, 0.075455f,
+ 0.055995f, 0.087934f, -0.133859f, -0.342187f, 0.002492f, -0.340722f,
+ 0.058304f, 0.104165f, -0.142136f, -0.351111f, -0.158037f, -0.079924f,
+ -0.253209f, -0.092840f, -0.174646f, -0.202772f, -0.353438f, -0.031111f,
+ 0.076088f, -0.232091f, -0.070052f, 0.097595f, 0.063173f, -0.211195f,
+ 0.126478f, -0.178828f, 0.278723f, -0.070807f, -0.179783f, 0.034123f,
+ 0.035721f, -0.200431f, 0.170640f, 0.107933f, 0.226594f, -0.301499f,
+ -0.291096f, 0.228076f, -0.272951f, 0.002490f, -0.210707f, -0.128033f,
+ -0.194009f, -0.011347f, -0.256694f, -0.011841f, -0.005167f, -0.163203f,
+ -0.253796f, -0.198877f, -0.055827f, -0.882685f, -0.443471f, 0.349601f,
+ 0.749334f, -1.161845f, 0.505480f, 0.221733f, 0.210490f, -0.234984f,
+ 0.014183f, -0.510401f, 0.238692f, -0.134111f, 0.083844f, -0.478751f,
+ -0.088434f, 0.304063f, 0.150336f, -0.749682f, -0.081999f, 0.729739f,
+ 0.412508f, 0.132571f, 0.058306f, -0.047451f, -0.117435f, -0.445395f,
+ -0.005182f, -0.025757f, 0.175051f, -0.258194f, -0.150311f, -0.196533f,
+ -1.314316f, -0.428627f, 0.512451f, 0.045138f, -0.200925f, 0.081538f,
+ -0.346151f, -0.358197f, -0.422258f, -0.028542f, -0.383534f, -0.026163f,
+ -0.419858f, -0.154321f, 0.376970f, 0.094017f, 0.783520f, 0.110641f,
+ 0.077966f, -0.093064f, 0.160522f, -0.863041f, 0.086210f, 0.560764f,
+ 0.057032f, 0.159224f, 0.323068f, -0.173109f, 0.014042f, -0.126856f,
+ -0.128237f, -0.245273f, -0.317312f, -0.257597f, -0.181977f, 0.259485f,
+ -0.215834f, 0.062076f, -0.270596f, 0.271581f, -0.153486f, -0.247165f,
+ 0.079737f, -0.157049f, -0.027459f, -0.299397f, 0.136729f, -0.334192f,
+ -0.191722f, 0.145865f, -0.031324f, -0.307165f, -0.244923f, -0.228027f,
+ 0.063807f, 0.054965f, -0.005709f, -0.041977f, -0.276245f, 0.020003f,
+ 0.133323f, -0.145992f, -0.951030f, 0.414083f, -1.063323f, 0.137872f,
+ 0.104732f, -0.123728f, 0.542532f, 0.213654f, 0.542954f, 0.155619f,
+ 0.543072f, 0.399067f, 0.191402f, -0.102552f, -0.176734f, -0.136776f,
+ -0.012814f, -0.021298f, -0.802467f, -0.957481f, -0.238787f, -0.138482f,
+ 0.058331f, 0.126601f, 0.104420f, -0.148684f, 0.343218f, 0.093604f,
+ -0.055642f, -0.383918f, -0.045250f, -0.090480f, -0.155464f, 0.278299f,
+ 0.042791f, -0.029084f, -0.373861f, -0.073233f, -0.085172f, 0.186841f,
+ -0.070898f, -0.156415f, 0.112831f, -0.065931f, -0.353007f, 0.058453f,
+ -0.136982f, 0.233393f, 0.017240f, -0.018428f, 0.229104f, -0.371440f,
+ -0.262212f, 0.203075f, -0.263293f, 0.034413f, -0.299354f, 0.227269f,
+ 0.204977f, -0.118107f, -0.359832f, -0.068252f, 0.480105f, -0.214711f,
+ -0.614381f, 0.209048f, -0.456014f, -0.188819f, -0.220995f, -0.322104f,
+ -0.191457f, 0.420874f, -0.454919f, 0.023119f, 0.291700f, -0.532885f,
+ -0.032642f, 0.043271f, 0.133974f, 0.002399f, -0.179899f, -0.044158f,
+ -0.027078f, -0.350075f, 0.236766f, 0.346771f, -0.118534f, -0.421221f,
+ 0.019544f, 0.109349f, 0.141517f, 0.403561f, 0.409102f, 0.054555f,
+ -0.561751f, 0.577183f, -0.705156f, -0.231188f, -1.969772f, 0.172289f,
+ -0.048122f, 0.205671f, -0.667130f, -0.066870f, 0.202838f, -0.095538f,
+ -0.842651f, 0.254170f, 0.046256f, -0.271891f, -0.369254f, 0.492101f,
+ 0.001189f, -0.186525f, 0.188470f, -0.207072f, 0.030086f, -0.132904f,
+ 0.127001f, 0.116662f, -0.079246f, 0.227241f, -0.462178f, 0.446304f,
+ -1.660753f, 0.241832f, -0.288040f, 0.054663f, -0.435804f, 0.296782f,
+ -0.026421f, -0.115618f, 0.163416f, 0.834001f, 0.008019f, -0.014243f,
+ 0.524658f, 0.067894f, -0.253936f, -0.100657f, 1.285389f, -0.005952f,
+ 0.087134f, -0.088375f, -0.121866f, -0.171172f, 0.279463f, -0.598593f,
+ -0.727761f, 0.189831f, -0.822575f, -0.291141f, -0.012410f, -0.069999f,
+ 0.098842f, -0.218513f, 0.009494f, 0.100106f, -0.402884f, -0.299236f,
+ -0.345668f, -0.057739f, -0.213248f, -0.426661f, -0.360268f, -0.349860f,
+ -0.382177f, -0.357802f, -0.032030f, -0.110597f, -0.155442f, -0.418794f,
+ -0.012113f, -0.032962f, -0.450648f, 0.129060f, -0.135227f, -0.298593f,
+ 0.001435f, 0.278790f, -0.272945f, 0.162759f, -0.290208f, 0.058481f,
+ -0.490971f, 0.019630f, -0.210347f, 0.000520f, -0.340413f, 0.641562f,
+ 0.023104f, 0.194832f, -0.441894f, -0.253538f, -0.228332f, 0.423264f,
+ -1.094073f, -0.475657f, -0.238752f, 0.033910f, 0.440425f, 0.036320f,
+ 0.566989f, -0.065326f, -0.297939f, 0.406098f, 0.529561f, -0.113084f,
+ 0.141472f, -0.024462f, -0.179212f, 0.187801f, -0.235787f, -0.229624f,
+ 0.357791f, 0.061110f, -0.607788f, -1.713694f, -0.651041f, 1.734283f,
+ -0.334701f, 0.161687f, 0.010215f, 0.320708f, 0.169447f, 0.513558f,
+ 0.488340f, -0.619036f, -0.525441f, -1.144352f, -0.546154f, 0.669973f,
+ 0.327028f, -0.100539f, 0.012048f, -0.223013f, -0.239680f, 0.323035f,
+ 0.165950f, -0.155110f, 0.128664f, -0.157378f, -0.124490f, 0.291553f,
+ 0.055849f, -0.221664f, 0.077770f, -0.350658f, -0.181939f, 0.110230f,
+ -0.078219f, 0.007472f, -0.031620f, 0.007708f, -0.201794f, 0.017594f,
+ -0.027480f, 0.058884f, -0.369166f, -0.369770f, 0.181635f, -0.183318f,
+ -0.389184f, -0.256661f, 0.160107f, 0.037127f, -0.082573f, -0.095815f,
+ -0.322782f, 0.072528f, -0.348875f, 0.216247f, -0.161757f, -0.385502f,
+ -0.315738f, 0.020123f, -0.155609f, 0.114403f, -0.383232f, 0.629529f,
+ 0.066142f, 0.448392f, -0.389557f, -0.083315f, 0.829535f, -0.015531f,
+ -0.050728f, -0.325127f, 0.812992f, -0.196780f, 0.021060f, -0.952647f,
+ 0.006687f, -0.512715f, -0.066778f, 0.410067f, -0.116945f, -0.288283f,
+ 0.189334f, -0.083153f, 0.159980f, -0.068208f, 0.107358f, -0.154411f,
+ -0.068914f, 0.186816f, 0.032251f, 0.109242f, 0.134825f, 0.035101f,
+ -0.253175f, 0.157309f, -0.363597f, -0.138176f, -0.334141f, -0.172697f,
+ 0.045800f, -0.286057f, 0.173403f, -0.172444f, -0.117996f, -0.383848f,
+ -0.173303f, -0.258482f, -0.021404f, -0.017898f, -0.001970f, 0.003273f,
+ 0.056121f, 0.155046f, 0.044708f, -0.295609f, -0.211688f, -0.233229f,
+ -0.264980f, 0.145549f, 0.045323f, -0.027112f, 0.175638f, -0.207251f,
+ -0.055274f, 0.092706f, 0.086200f, -0.241340f, -0.147416f, 0.024510f,
+ -0.357194f, -0.181944f, -0.050104f, -0.079024f, -0.290473f, -0.169790f,
+ -0.277982f, -0.017781f, -0.004854f, -0.094132f, -0.348555f, 0.199291f,
+ -0.343989f, -0.319299f, -0.268935f, -0.021208f, 0.020938f, -0.090609f,
+ 0.006595f, -0.200790f, 0.171856f, -0.027766f, -0.032017f, -0.006745f,
+ 0.566426f, -0.096850f, 0.727633f, -0.408065f, -0.012436f, 0.005646f,
+ -0.305148f, -0.095075f, -0.391549f, -0.020378f, -0.236498f, -0.252773f,
+ -0.231385f, -0.203175f, 0.041903f, -0.373694f, 0.058239f, -0.101116f,
+ 0.183772f, 0.164523f, -0.099046f, -0.201272f, -0.394523f, -0.157517f,
+ 0.032079f, -0.381173f, -0.238496f, -0.037990f, -0.294553f, 0.141473f,
+ 0.100268f, -0.023806f, 0.004978f, 0.184916f, 0.142699f, -0.113240f,
+ -0.213364f, -0.160059f, -0.216263f, -0.406387f, -0.301140f, -0.406355f,
+ -0.113085f, -0.279699f, -0.267434f, 0.126263f, -0.260527f, -0.153904f,
+ -0.494653f, -0.355144f, 0.030549f, -0.216400f, -0.123363f, 0.189090f,
+ 0.219122f, 0.096677f, -0.202037f, -0.014489f, -0.137859f, -0.114184f,
+ -0.279423f, -0.270683f,
+};
+
+static const float av1_early_term_after_split_nn_bias_64_layer0[] = {
+ -0.491455f, 0.464538f, -0.005742f, -0.219951f, -0.073682f, 0.102027f,
+ 0.567071f, 0.441402f, 0.277521f, 0.314498f, -0.448199f, -0.065032f,
+ 0.488139f, -0.079632f, 0.000000f, 0.521555f, -0.151950f, -0.034616f,
+ 0.393438f, -0.072242f, -0.087343f, -0.571308f, 0.017372f, -0.126144f,
+ 0.372261f, -0.451537f, -0.140238f, -0.092377f, -0.074475f, -0.068879f,
+ -0.109614f, -0.164492f,
+};
+
+static const float av1_early_term_after_split_nn_weights_64_layer1[] = {
+ -0.373195f, -0.283141f, 0.416113f, 0.483659f, 0.230583f, 0.349197f,
+ -0.168582f, -0.813338f, -0.472369f, -0.173872f, 1.297845f, 0.339355f,
+ -0.828033f, 0.019617f, 0.118757f, -0.619360f, 0.282295f, -0.054116f,
+ -0.730596f, 0.068567f, -0.248707f, 0.461225f, 0.330224f, -0.287080f,
+ -0.458103f, 0.591852f, -0.008491f, 0.632119f, -0.007872f, 0.007869f,
+ -0.230698f, -0.011437f,
+};
+
+static const float av1_early_term_after_split_nn_bias_64_layer1[] = {
+ -0.55403697f,
+};
+
+static const NN_CONFIG av1_early_term_after_split_nnconfig_64 = {
+ FEATURES,
+ 1,
+ 1,
+ {
+ HIDDEN_NODES,
+ },
+ {
+ av1_early_term_after_split_nn_weights_64_layer0,
+ av1_early_term_after_split_nn_weights_64_layer1,
+ },
+ {
+ av1_early_term_after_split_nn_bias_64_layer0,
+ av1_early_term_after_split_nn_bias_64_layer1,
+ },
+};
+
+static const float av1_early_term_after_split_nn_weights_32_layer0[] = {
+ 0.026050f, -0.226531f, 0.308107f, -0.083744f, 0.201785f, 0.098562f,
+ 0.147595f, -0.495771f, -0.245741f, 0.201616f, -0.272070f, -0.579545f,
+ -0.127261f, -0.229588f, 0.250831f, -0.176929f, -0.031689f, 0.284718f,
+ 0.085845f, -0.285027f, 0.012304f, 0.382402f, -0.204591f, 0.272514f,
+ -0.065854f, -0.054228f, -0.231174f, -0.174504f, 0.258287f, 0.195689f,
+ 0.242530f, 0.023528f, -0.294242f, -0.272132f, 0.460180f, -0.731281f,
+ -0.208103f, 0.208204f, 0.348250f, 0.016328f, 0.043707f, -0.169551f,
+ 0.108521f, 0.226895f, -0.020471f, 0.102443f, 0.429640f, -0.252555f,
+ -0.218434f, -0.163665f, 0.175531f, 0.101588f, -0.135798f, -0.158102f,
+ 0.142565f, 0.128277f, 0.174985f, -0.100073f, 0.113967f, 0.223682f,
+ -0.145576f, -0.008443f, 0.112748f, -0.037845f, 0.076954f, -0.287137f,
+ -0.518185f, -0.106833f, 0.175359f, 0.031408f, 0.219069f, -0.294440f,
+ 0.007766f, 0.067754f, -0.049168f, -0.212368f, -0.261708f, 0.309252f,
+ 0.220859f, -0.274852f, -0.653157f, 0.083438f, -0.265386f, 0.174429f,
+ -0.116931f, -0.091594f, -0.244897f, -0.089015f, 0.274453f, 0.212890f,
+ 0.272053f, -0.425315f, -0.107726f, 0.294444f, -0.354629f, 0.104402f,
+ -0.307663f, 0.558430f, 0.140334f, -0.054831f, -0.449456f, 0.058274f,
+ -0.033768f, -0.354117f, -0.331618f, -0.411772f, 0.232064f, -0.079297f,
+ -0.638571f, 0.181823f, -0.039611f, 0.206310f, -0.659157f, -0.102930f,
+ -0.067303f, -0.176881f, -0.001038f, 0.091835f, 0.079739f, -0.121923f,
+ 0.211070f, 0.362719f, -0.154915f, -0.151876f, -0.165460f, 0.023469f,
+ -0.251036f, 0.210014f, -0.537125f, 0.156832f, -0.216987f, 0.062975f,
+ -0.198462f, 0.329123f, 0.125870f, 0.225830f, 0.086377f, -0.128773f,
+ -0.179673f, -0.074612f, 0.456645f, 0.021905f, -0.243140f, 0.059145f,
+ -0.273942f, -0.277822f, 0.154556f, -0.025459f, 0.227614f, -0.313076f,
+ 0.044705f, -0.019017f, 0.108999f, -0.020243f, -0.016373f, 0.560270f,
+ -0.064818f, 0.050880f, -0.218458f, 0.825699f, -0.534056f, -0.258253f,
+ 0.222073f, 0.013295f, 0.477870f, -0.386727f, 0.388509f, 0.004128f,
+ 0.451388f, -0.175788f, 0.264093f, -0.109812f, 0.358132f, 0.500992f,
+ -0.446933f, -0.222397f, 0.345834f, 0.370943f, -0.233115f, -0.047005f,
+ -0.111335f, -0.111586f, 0.026975f, -0.052191f, -0.111800f, -0.129782f,
+ 0.225132f, 0.102524f, 0.544557f, -0.111674f, -0.857884f, 0.133258f,
+ 0.310001f, 0.043829f, 0.104143f, 0.256493f, 0.242520f, -0.342082f,
+ 0.421447f, 0.124227f, 0.061542f, -0.090206f, 0.316681f, 0.353452f,
+ -0.918408f, -0.001903f, -0.052303f, -0.004816f, -0.446393f, -0.053038f,
+ 0.255725f, -0.126346f, 0.034095f, -0.240276f, -0.135918f, 0.095682f,
+ -0.147457f, -0.338216f, -0.200426f, 0.010265f, -0.243915f, -0.231375f,
+ -0.323924f, -0.014353f, 0.150252f, -0.264346f, 0.205303f, -0.194610f,
+ -0.282527f, 0.180555f, -0.000087f, 0.027240f, -0.000903f, -0.345877f,
+ -0.353274f, -0.311829f, 0.172985f, -0.111748f, -0.309380f, 0.108110f,
+ -0.260914f, -0.164990f, 0.183625f, -0.319692f, -0.096988f, 0.094147f,
+ -0.047062f, -0.080978f, 0.227387f, -0.000450f, -0.220159f, -0.211448f,
+ -0.020885f, -0.139646f, -0.086721f, 0.067928f, -0.033084f, -0.251996f,
+ 0.090317f, 0.086313f, -0.228420f, -0.111356f, -0.314304f, -0.223664f,
+ 0.188176f, -0.002360f, -0.029491f, -0.006000f, -0.075343f, 0.173699f,
+ -0.272800f, -0.238507f, -0.272071f, -0.015000f, -0.215305f, -0.192943f,
+ -0.038595f, 0.119537f, 0.260477f, -0.168014f, -0.172751f, 0.532861f,
+ -0.753250f, -0.017485f, -0.115541f, -0.109291f, -1.098943f, 0.418559f,
+ -0.532110f, 0.359323f, -0.254786f, 0.471316f, -0.545024f, 0.291912f,
+ -0.836939f, 0.443427f, -0.441709f, 0.168866f, -0.140372f, 0.546607f,
+ -0.315465f, 0.023328f, 0.137709f, -0.083492f, -0.049986f, -0.071302f,
+ -0.293680f, -0.105049f, 0.315317f, 0.279569f, 0.220762f, 0.088161f,
+ -0.756456f, -0.074512f, 0.958318f, -0.332924f, -0.004906f, -0.629271f,
+ 0.212050f, 0.279123f, 0.311523f, -0.599580f, 0.516150f, 0.456952f,
+ 0.020255f, 0.247290f, -0.182670f, -0.335554f, 0.021203f, 0.131081f,
+ -0.208584f, 0.112530f, -0.198980f, 0.211583f, -0.101271f, -0.206453f,
+ -0.502688f, -0.294976f, -0.187019f, -0.114473f, 0.282050f, -0.165483f,
+ 0.094953f, -0.182578f, 0.055068f, 0.135605f, -0.266941f, -0.297556f,
+ 0.199181f, 0.015979f, -0.158659f, -0.226841f, 0.171306f, 0.013438f,
+ -0.286309f, -0.071753f, -0.170300f, -0.238188f, 0.093572f, -0.026230f,
+ -0.254502f, -0.297786f, -0.063480f, -0.300799f, -0.065644f, 0.074710f,
+ 0.248576f, -0.144425f, -0.113948f, -0.247297f, 0.276682f, 0.010963f,
+ -0.737786f, 0.026347f, 0.007830f, 0.753543f, 0.371904f, 0.305614f,
+ 0.105028f, 0.073530f, -0.119137f, 0.102352f, -0.080523f, 0.176366f,
+ -0.159457f, -0.339948f, 0.360131f, -0.007051f, -0.388378f, -0.101695f,
+ 0.663041f, -0.234486f, -0.142536f, -0.099931f, 0.041478f, 0.230425f,
+ 0.005743f, 0.154060f, 0.056233f, -0.080668f, -0.009754f, -0.194356f,
+ 0.185474f, -0.296474f, 0.192700f, 0.257767f, 0.348529f, 0.458265f,
+ 0.060276f, -0.130473f, 0.139889f, 0.310073f, -0.306869f, -0.272922f,
+ -0.259862f, 0.409207f, 0.431991f, -0.100357f, -0.050415f, -0.071830f,
+ -0.239665f, 0.153399f, 0.177192f, -0.611644f, -0.176114f, -0.022694f,
+ -0.033701f, -0.345842f, 0.015660f, 0.158931f, -0.097586f, 0.222001f,
+ 0.257887f, -0.171307f, -0.222607f, -0.245508f, -0.145742f, -0.096461f,
+ -0.010895f, 0.052815f, -0.265306f, -0.081059f, 0.219162f, -0.256084f,
+ -0.372676f, 0.148977f, 0.174831f, 0.086980f, 0.108518f, 0.074011f,
+ 0.038032f, -0.070856f, -0.109407f, 0.126174f, 0.022341f, -0.249786f,
+ -0.356164f, -0.202841f, -0.087437f, -0.133740f, 0.090956f, -0.017953f,
+ -0.028353f, 0.233621f, 0.109426f, 0.232798f, -0.104950f, -0.241798f,
+ -0.018995f, -0.167954f, 0.002473f, 0.060418f, -0.232717f, -0.195980f,
+ -0.283971f, -0.371881f, 0.219728f, 0.018072f, -0.166694f, -0.083301f,
+ -0.000616f, -0.212641f, -0.173158f, 0.222739f, -0.235302f, 0.237624f,
+ 0.222232f, -0.041235f, -0.342411f, 0.121194f, 0.211291f, -0.032237f,
+ -0.249401f, -0.291668f, 0.206055f, -0.148200f, 0.011824f, -0.272728f,
+ -0.194854f, 0.367175f, -0.257243f, 0.103433f, -0.231077f, 0.236734f,
+ 0.135733f, -0.362845f, 0.197147f, 0.242782f, -0.135289f, 0.123311f,
+ 0.259420f, -0.116278f, 0.127287f, 0.236789f, -0.097438f, 0.118073f,
+ 0.112796f, -0.035949f, 0.184408f, 0.200948f, -0.008859f, 0.195989f,
+ 0.161970f, -0.295320f, -0.330389f, 0.141034f, 0.066081f, -0.707857f,
+ 0.357037f, 0.149633f, 0.679877f, 0.548674f, 0.469076f, 0.194123f,
+ -0.209872f, -0.071764f, -0.126960f, 0.199420f, 0.327116f, -0.169053f,
+ -0.429156f, 0.443429f, -0.225530f, -0.130738f, -0.028351f, 0.644393f,
+ 0.049606f, -0.243602f, -0.409920f, 0.117028f, -0.258557f, 0.073865f,
+ -0.200454f, -0.139957f, -0.031314f, 0.162325f, 0.247221f, 0.071909f,
+ -0.336276f, 0.079922f, 0.192780f, -0.148882f, 0.133192f, -0.143177f,
+ -0.121327f, 0.126221f, -0.089521f, -0.181826f, 0.149923f, -0.280682f,
+ 0.391572f, 0.108990f, -0.445494f, -0.170787f, 0.225182f, 0.223313f,
+ -0.234828f, -0.071072f, -0.072673f, -0.093686f, 0.223892f, -0.049377f,
+ 0.057976f, 0.033558f, 0.068733f, -0.283353f, 0.217877f, 0.158093f,
+ -0.276761f, -0.097049f, -0.351913f, -0.383604f, 0.002863f, -0.474510f,
+ -0.096738f, 0.256940f, 0.234203f, -0.226667f, -0.260576f, -0.183403f,
+ -0.035578f, 0.141570f, 0.078764f, -0.028086f, 0.155800f, -0.251115f,
+ -0.286703f, -0.014739f, -0.072621f, -0.311506f, -0.048639f, 0.081621f,
+ 0.043057f, 0.068136f, -0.179903f, 0.143699f, -0.002571f, 0.239012f,
+ 0.197456f, 0.035745f, -0.311927f, 0.220320f, 0.102687f, -0.294105f,
+ 0.426740f, 0.209050f, 0.211907f, 0.083453f, 0.006578f, -0.143338f,
+ 0.003157f, 0.040295f, 0.234497f, 0.035344f, -0.163909f, 0.411115f,
+ 0.289453f, -0.075357f, -0.008884f, 0.469798f, -0.033304f, -0.153293f,
+ -0.229322f, -0.004162f, 0.113363f, 0.395381f, 0.067414f, -0.188966f,
+ -0.117424f, -0.166423f, 0.066839f, 0.595641f, -0.204782f, -0.451727f,
+ 0.198509f, -0.921583f, -0.246765f, -0.153411f, 0.046491f, 0.365906f,
+ 0.376710f, -0.017355f, -0.035232f, 0.138785f, -0.163918f, -0.283449f,
+ -0.094340f, 0.192127f, 0.154815f, 0.035787f, -0.029087f, 0.115649f,
+ -0.220133f, -0.452741f, 0.311667f, 0.157666f, 0.091401f, 0.236040f,
+ -0.168523f, 0.122176f, -0.219016f, -0.214856f, 0.172824f, -0.091810f,
+ 0.031520f, -0.857420f, 0.643446f, -0.017471f, 0.206082f, -0.933517f,
+ -0.020070f, -0.065091f, -0.117680f, -1.271870f, -0.069177f, -0.149409f,
+ 0.289970f, -0.889775f, -0.044741f, 0.232647f, -0.319416f, 0.073030f,
+ 0.278549f, 0.238782f, -0.202206f, 0.272540f, 0.201412f, 0.175574f,
+ -0.127971f, -0.253164f, -0.086352f, -0.005381f, 0.114714f, 0.505169f,
+ -0.175049f, -1.534280f, -0.320666f, -2.119298f, -0.023075f, -0.021259f,
+ -0.161019f, 0.344837f, 0.361958f, -0.097050f, 0.014375f, 0.267110f,
+ 0.341442f, -0.016688f, 0.073393f, 0.131500f, 0.246331f, 0.011059f,
+ 0.033597f, 0.014779f, -0.269366f, -0.504788f, 0.048651f, 0.295682f,
+ 0.237363f, 0.227484f, -0.235814f, -0.160530f, 0.182682f, -0.172999f,
+ -0.126630f, 0.168357f, -0.078729f, 0.052805f, 0.377021f, -0.004727f,
+ 0.230415f, -0.876673f, 0.458457f, 0.099401f, -0.019616f, 0.611982f,
+ -0.231508f, -0.070894f, -0.056142f, 0.548969f, -0.376599f, -0.600428f,
+ 0.241930f, -0.592893f, 0.189371f, 0.488651f, -0.092446f, -0.272569f,
+ 0.251643f, 0.315945f, -0.301468f, 0.112961f, 0.052119f, -0.066076f,
+ -0.082249f, 0.252805f, -0.195539f, 0.150386f, -0.865534f, 0.673447f,
+ 0.030177f, -0.438528f, -1.006174f, 0.575176f, -0.271656f, 0.035835f,
+ -1.056916f, 0.495267f, -0.092428f, -0.109511f, -0.192359f, 0.166669f,
+ -0.624326f, -0.000354f, -0.089075f, 0.176279f, -0.289347f, 0.021346f,
+ 0.020375f, 0.255282f, -0.045588f, 0.173675f, 0.100957f, -0.294373f,
+ 0.049303f, -0.134132f, -0.255731f, -0.025559f, -0.307463f, -0.205100f,
+ 0.079024f, 0.101113f, 0.135742f, -0.348869f, -0.026759f, -0.134155f,
+ -0.179275f, -0.054297f, -0.054948f, 0.029351f, 0.190560f, 0.102476f,
+ -0.025785f, 0.169442f, -0.271303f, 0.200667f, 0.099063f, 0.074767f,
+ -0.326533f, 0.044426f, -0.290251f, -0.082443f, -0.164482f, -0.349412f,
+ 0.045109f, -0.157330f, 0.165935f, 0.012672f, -0.059818f, 0.399140f,
+ -0.316620f, 0.386638f, -0.285399f, -0.296777f, -0.200473f, -0.144232f,
+ 0.251851f, -0.203768f, 0.001071f, -0.179063f, 0.248952f, -0.143029f,
+ 0.010423f, -0.030293f, -0.046786f, -0.196195f, -0.016845f, 0.295023f,
+ 0.322825f, 0.133683f, 0.017388f, 0.142467f, 0.221320f, 0.004059f,
+ -0.115770f, 0.143363f, 0.137972f, -0.272584f, 0.489366f, -0.091828f,
+ -0.014703f, 0.082332f, -0.476226f, -0.202859f, 0.356094f, -0.283049f,
+ 0.218086f, 0.202015f, 0.201724f, 0.012617f, 0.050720f, 0.255695f,
+ 0.244653f, 0.111296f, -0.151450f, -0.056210f, -0.757348f, 0.441724f,
+ -0.022455f, -0.244662f, 0.296205f, -0.421883f, -0.217386f, -0.254301f,
+ 0.409105f, -0.031309f, 0.050147f, -0.337170f, -0.106620f, -0.606455f,
+ 0.308024f, 0.298144f, 0.363993f, 0.704870f, -0.047292f, 0.166901f,
+ 0.105991f, -0.536757f, -0.424031f, -0.226034f, 0.213635f, -0.526754f,
+ 0.310990f, -0.116038f, 0.007775f, 0.538330f, -0.177912f, 0.445357f,
+ -0.290365f, 0.451169f, 0.030931f, 0.033388f, 0.209905f, -0.244492f,
+ -0.097792f, -0.246042f, 0.132047f, 0.032576f, 0.115516f, 0.022890f,
+ 0.093508f, -0.071840f, 0.362948f, -0.135245f, 0.659911f, -0.321413f,
+ 0.193118f, -0.795001f, -0.218311f, 0.024862f, 0.206172f, -0.832878f,
+ -0.255670f, 0.343402f, -0.275211f, -0.898363f, -0.025172f, 0.158565f,
+ 0.171347f, -0.127518f, -0.215156f, -0.159198f, 0.250355f, -0.132452f,
+ 0.061254f, -0.097544f, -0.223246f, 0.013183f, 0.239468f, 0.259017f,
+ -0.217739f, -0.032263f, 0.123755f, -0.701777f, 0.150049f, -0.555293f,
+ 0.062430f, -0.260304f, 0.494894f, -0.168702f, -0.134829f, -0.113989f,
+ 0.150092f, -0.060248f, 0.115711f, -0.277202f, 0.499811f, 0.417116f,
+ 0.191081f, -0.376432f, -0.321092f, 0.033992f, 0.057193f, 0.127077f,
+ -0.009042f, 0.014443f, 0.142808f, -0.124349f, 0.213087f, -0.381686f,
+ 0.129726f, -0.038396f,
+};
+
+static const float av1_early_term_after_split_nn_bias_32_layer0[] = {
+ -0.107171f, 0.060848f, -0.069480f, -0.121982f, 0.037637f, -0.291839f,
+ 0.102257f, -0.065889f, -0.032452f, 0.034171f, -0.073984f, -0.005236f,
+ 0.218820f, 0.132123f, -0.089621f, -0.067679f, 0.049368f, 0.329444f,
+ -0.184729f, 0.031702f, 0.009735f, -0.039964f, -0.018024f, -0.073031f,
+ -0.030166f, -0.191037f, -0.074862f, -0.076548f, 0.076537f, 0.216609f,
+ -0.078358f, -0.007740f,
+};
+
+static const float av1_early_term_after_split_nn_weights_32_layer1[] = {
+ 0.047869f, -0.231773f, -0.185663f, 0.460676f, -0.208182f, 0.590555f,
+ -0.622627f, 0.279377f, 0.351681f, 0.633504f, 1.069884f, 0.332449f,
+ -0.457703f, -0.435817f, -0.028853f, 0.327490f, -0.282469f, -0.975792f,
+ -0.062975f, -0.147187f, 0.348340f, -1.207116f, 0.516159f, -1.509626f,
+ -0.805072f, 0.522999f, 0.143671f, 0.304246f, -0.360720f, -0.612472f,
+ 0.260045f, -0.223243f,
+};
+
+static const float av1_early_term_after_split_nn_bias_32_layer1[] = {
+ -0.07571174f,
+};
+
+static const NN_CONFIG av1_early_term_after_split_nnconfig_32 = {
+ FEATURES,
+ 1,
+ 1,
+ {
+ HIDDEN_NODES,
+ },
+ {
+ av1_early_term_after_split_nn_weights_32_layer0,
+ av1_early_term_after_split_nn_weights_32_layer1,
+ },
+ {
+ av1_early_term_after_split_nn_bias_32_layer0,
+ av1_early_term_after_split_nn_bias_32_layer1,
+ },
+};
+
+static const float av1_early_term_after_split_nn_weights_16_layer0[] = {
+ -0.113798f, 0.053357f, -0.037947f, -0.477171f, 0.276517f, -0.349252f,
+ -0.177284f, 0.189597f, 0.141744f, 0.230207f, -0.328104f, 0.074328f,
+ 0.247717f, 0.233533f, 0.145167f, 0.018029f, -0.398725f, -0.226199f,
+ -0.309724f, 0.125279f, 0.194759f, 0.025531f, 0.349714f, -0.273944f,
+ 0.186871f, 0.181735f, -0.520614f, -0.264076f, 0.308207f, 0.157438f,
+ -0.137791f, -0.054582f, 0.125879f, 0.796218f, -0.897562f, 0.885439f,
+ 0.381640f, 0.106625f, -2.027456f, 0.000874f, 0.179581f, 0.013287f,
+ -2.329439f, -0.163169f, -0.136191f, 0.320108f, -2.318779f, -0.196722f,
+ -0.295721f, 0.203658f, -0.182275f, 0.615941f, 0.015762f, 0.257181f,
+ -0.115297f, 0.295774f, -0.026144f, -0.022686f, -0.219423f, -0.042861f,
+ 0.207647f, -0.057791f, 0.201671f, -0.169569f, 0.291492f, -0.994991f,
+ 0.137473f, 0.230948f, 0.505626f, -1.065860f, 0.275225f, -0.250861f,
+ 0.519466f, -1.217242f, -0.087384f, 0.053441f, 0.030729f, -1.702304f,
+ -0.034635f, 0.010177f, -0.035422f, -0.749979f, 0.355499f, 0.408166f,
+ -0.086883f, 0.017203f, 0.195706f, -0.218056f, -0.029153f, 0.367335f,
+ -0.061732f, -0.241068f, 0.078496f, -0.370346f, -0.124223f, -0.172708f,
+ 0.037971f, 0.038875f, -0.282489f, -0.266323f, -0.210864f, 0.214714f,
+ 0.234695f, -0.045625f, 0.015357f, -0.007464f, -0.362003f, -0.113465f,
+ 0.145141f, 0.238470f, -0.202664f, -0.286587f, -0.347112f, 0.054501f,
+ -0.190290f, -0.283256f, 0.062179f, 0.041165f, -0.006935f, -0.220351f,
+ -0.088800f, 0.220924f, -0.200982f, 0.058493f, -0.225175f, 0.057175f,
+ -0.618187f, 0.761023f, -0.743774f, -0.500599f, -0.584999f, 1.545211f,
+ 0.123055f, -0.106848f, -0.353057f, 1.552187f, 0.174104f, 0.068060f,
+ -0.449859f, 1.254299f, -0.161716f, -0.060630f, -0.230721f, 0.165976f,
+ -0.101582f, -0.422415f, 0.110384f, -0.130098f, 0.104428f, 0.083518f,
+ 0.031626f, 0.083048f, 0.158877f, 0.173340f, 0.063962f, 0.427845f,
+ 0.663268f, 0.376996f, 0.146435f, -0.091329f, 0.443447f, 0.518432f,
+ -0.182777f, -0.091313f, 0.331229f, 0.532604f, -0.187001f, 0.054774f,
+ 0.298068f, 0.502295f, -0.362378f, 0.054283f, 0.292806f, 0.168901f,
+ -0.214787f, 0.025637f, 0.458009f, -0.322714f, -0.264059f, 0.140313f,
+ -0.102696f, -0.431208f, -0.134450f, -0.545415f, 0.253851f, -0.009061f,
+ -0.050681f, 0.108681f, 0.043272f, -1.073133f, 0.206410f, 0.469576f,
+ 0.291494f, -2.021244f, -0.001183f, -0.067542f, 0.364907f, -2.470543f,
+ 0.049147f, -0.018868f, 0.658500f, -2.531048f, 0.275433f, -0.034224f,
+ -0.171386f, 0.096369f, 0.728069f, 0.272332f, 0.222255f, -0.030426f,
+ 0.026994f, 0.208928f, -0.173943f, -0.227581f, -0.214798f, 0.079341f,
+ 0.032344f, -0.253575f, -0.044353f, -0.239265f, -0.055852f, -0.162582f,
+ -0.086592f, 0.066487f, 0.337353f, -0.168704f, 0.015702f, 0.022607f,
+ 0.286647f, 0.218106f, 0.193319f, -0.358714f, 0.030796f, 0.007646f,
+ -0.045617f, 0.165007f, -0.284641f, -0.291812f, 0.207544f, 0.082823f,
+ -0.141907f, -0.331336f, -0.052908f, 0.120716f, 0.202521f, 0.232782f,
+ -0.348141f, -0.017332f, 1.191126f, -0.391987f, -0.154537f, -0.206551f,
+ -2.378690f, 0.057918f, -0.328183f, 2.151556f, 0.238803f, 0.164880f,
+ -0.480039f, 1.616200f, 0.260243f, 0.083704f, -0.174461f, 1.804634f,
+ 0.194810f, 0.223837f, 0.550107f, -0.068171f, -0.293435f, -0.186770f,
+ -0.364846f, 0.127181f, 0.105556f, -0.016202f, 0.278403f, -0.344995f,
+ -0.009761f, -0.082555f, 0.046731f, -0.301452f, 0.604259f, 0.055895f,
+ 0.049862f, 0.314249f, -0.305811f, -0.112937f, 0.658787f, -0.549288f,
+ -0.307567f, -0.460650f, -0.840643f, 0.082576f, 0.373711f, 0.138318f,
+ 0.336901f, 0.284984f, -0.281400f, 0.408210f, -0.449858f, 0.461054f,
+ 0.227629f, -0.131705f, 0.301769f, -0.278540f, 0.189290f, -0.269041f,
+ 0.111350f, -0.300257f, 0.436858f, -0.265920f, -0.211938f, 0.272631f,
+ 0.206291f, 0.253273f, -0.229776f, -0.031112f, -0.171183f, -0.109676f,
+ -0.202390f, -0.068857f, 0.182125f, -0.140523f, -0.308742f, -0.045840f,
+ 0.256545f, -0.262405f, 0.225951f, -0.287463f, -0.189203f, -0.055552f,
+ -0.052448f, -0.242839f, -0.278877f, 0.140920f, -0.175755f, 0.215402f,
+ -0.248841f, -0.264080f, -0.178303f, 0.147777f, 0.049460f, -0.279877f,
+ -0.539725f, -0.004622f, 0.182874f, 0.338814f, 0.265974f, 0.249851f,
+ -0.141154f, 0.157228f, -0.090972f, 0.179444f, 0.305255f, 0.127788f,
+ 0.123270f, 0.355320f, 0.076797f, 0.263495f, 0.235965f, -0.133816f,
+ 0.243624f, 0.227062f, -0.213629f, 0.002075f, 0.061203f, -0.077820f,
+ -0.008807f, -0.247324f, -0.051464f, -0.191894f, -0.238713f, -0.389526f,
+ -0.274248f, 0.053950f, -0.225750f, -0.367097f, -0.122391f, 0.181212f,
+ -0.411824f, -0.084241f, -0.302288f, 0.077860f, -0.187443f, -0.300262f,
+ 0.083156f, -0.392461f, -0.332320f, -0.346474f, 0.140658f, -0.283656f,
+ 0.120714f, -0.056577f, -0.280968f, 0.017795f, -0.024686f, 0.073113f,
+ -0.346637f, 0.082567f, -0.036556f, -0.369730f, 0.081225f, -0.005211f,
+ 0.144886f, -0.003544f, 0.178307f, -0.366035f, -0.063887f, -0.191767f,
+ 0.105835f, -0.273978f, -0.266532f, -0.023984f, 0.039166f, 0.065848f,
+ -0.026802f, -0.268923f, 0.189659f, 0.086300f, 0.030718f, 0.216565f,
+ -0.130025f, -0.215687f, 0.146341f, -0.286438f, -0.394226f, -0.181509f,
+ -0.005612f, 0.186040f, 0.133491f, 0.032096f, -0.261609f, 0.074007f,
+ -0.042929f, -0.234479f, 0.189704f, 0.088395f, -0.003671f, -0.125055f,
+ -0.252418f, -0.086387f, 0.111197f, -0.297071f, -0.018793f, -0.031902f,
+ -0.333191f, -0.186279f, 0.039868f, 0.091419f, -0.264438f, -0.216150f,
+ -0.212550f, 0.203412f, -0.113028f, -0.197169f, -0.346771f, 0.086066f,
+ 0.091443f, -0.128507f, -0.007281f, -0.118389f, 0.003370f, -0.338661f,
+ 0.026739f, -0.063571f, -0.281567f, -0.166824f, 0.167455f, 0.216173f,
+ 0.199163f, 0.256314f, -0.222679f, 0.040282f, -0.154808f, -0.133943f,
+ -0.270163f, -0.357398f, 0.260373f, 0.176950f, -0.125162f, -0.085050f,
+ 0.226376f, -0.124585f, -0.324804f, 0.035536f, -0.133600f, 0.173450f,
+ 0.068107f, -0.337442f, 0.169629f, 0.047223f, 0.057878f, 0.055555f,
+ -0.317449f, -0.103768f, 0.080899f, -0.194759f, -1.137593f, 0.508999f,
+ 0.045372f, 1.746454f, 1.250347f, -0.342930f, -0.127821f, -0.220175f,
+ -0.417649f, -0.480595f, 0.071902f, 0.050231f, -0.562554f, -0.677866f,
+ -0.121416f, -0.247558f, -0.483876f, -0.504157f, 1.731953f, 0.572936f,
+ 0.047325f, 0.050619f, 0.112611f, -0.035393f, 0.052585f, -0.071076f,
+ -0.015798f, -0.050228f, -0.142875f, 0.189329f, 0.048833f, 0.503633f,
+ 0.249588f, 0.175492f, -0.137664f, -0.018533f, 0.288453f, -0.025644f,
+ 0.079131f, 0.195096f, -0.154039f, -0.104220f, -0.224072f, 0.095946f,
+ -0.208424f, 0.214745f, 0.056468f, 0.182603f, 0.341784f, -0.134664f,
+ -0.194050f, 0.058532f, -0.107336f, -0.087783f, -0.238795f, -0.387212f,
+ 0.049055f, -0.127417f, -0.299919f, -0.094371f, -0.011735f, -0.264753f,
+ 0.407375f, -0.462654f, -0.609488f, 0.027742f, -0.985512f, -0.109154f,
+ -0.423276f, 2.347960f, 0.129240f, 0.187610f, -0.057081f, 2.424892f,
+ 0.087666f, 0.106716f, -0.039379f, 2.764866f, 0.113309f, 0.028196f,
+ -0.582789f, 0.335385f, -0.538029f, -0.477337f, -0.114207f, 0.178829f,
+ 0.006276f, 0.123179f, 0.095101f, 0.139898f, -0.372074f, -0.111010f,
+ 0.136330f, 0.272900f, 0.126737f, -0.097808f, -0.363697f, 0.108665f,
+ -0.227749f, -0.083421f, 1.714677f, 0.451943f, 0.107931f, -0.392281f,
+ 1.615846f, 0.022307f, -0.247011f, 0.257703f, 1.039134f, 0.537789f,
+ 0.022177f, -0.271532f, 0.351350f, -0.399205f, -0.240534f, -0.315399f,
+ 0.026928f, -0.005618f, 0.053179f, -0.010277f, 0.000501f, 0.040896f,
+ -0.109160f, 0.018282f, 0.003887f, 0.199599f, 0.095349f, -0.337284f,
+ 0.169929f, -0.109409f, -0.166983f, 0.059908f, -0.226574f, -0.120114f,
+ 0.077329f, -0.333133f, -0.220936f, 0.114309f, -0.233965f, -0.281551f,
+ 0.042948f, 0.100940f, 0.116037f, -0.313122f, 0.215149f, -0.309057f,
+ -0.341052f, -0.294417f, -0.179722f, 0.010795f, 0.192053f, -0.275261f,
+ -0.033077f, 0.117348f, 0.090206f, 0.781573f, 0.602456f, -0.220296f,
+ 0.172159f, 0.758513f, 0.157910f, -0.217897f, -0.372659f, 0.031935f,
+ 0.791463f, 0.267195f, 0.931593f, -0.057349f, 0.405512f, -0.058512f,
+ -0.641663f, -0.076592f, 0.550227f, -0.024094f, 0.048218f, -0.289971f,
+ 0.180940f, 0.167533f, 0.052711f, -0.360726f, 0.019210f, -0.488879f,
+ 0.380498f, 0.151608f, -0.276895f, -0.596554f, 0.106076f, -0.245833f,
+ -0.048783f, 0.073823f, 0.098780f, 0.000211f, 0.113958f, -0.068964f,
+ -0.265533f, -0.185457f, 0.175586f, -0.163621f, -0.204919f, 0.145802f,
+ -0.163421f, 0.129576f, -0.153486f, -0.105573f, 0.067289f, -0.213120f,
+ -0.286103f, 0.249543f, -0.044970f, -0.170464f, -0.105501f, -0.094765f,
+ -0.050734f, -0.369468f, 0.180020f, -0.363328f, -0.151654f, -0.262550f,
+ -0.424503f, 0.829032f, -0.559452f, 0.506837f, 0.143823f, 0.276660f,
+ -1.808608f, -0.259517f, -0.053945f, 0.035676f, -1.842195f, -0.065960f,
+ -0.069285f, 0.462022f, -2.319453f, -0.370299f, 0.183329f, -0.146412f,
+ -0.563875f, 0.305068f, 0.480904f, 0.044319f, -0.016098f, 0.168516f,
+ 0.114874f, -0.097621f, -0.030373f, 0.177700f, 0.181591f, -0.146003f,
+ -0.330853f, -0.259200f, 0.779319f, -1.517524f, 0.178781f, 0.135451f,
+ 0.088784f, -2.076089f, 0.628717f, -0.048685f, 0.281327f, -2.341596f,
+ 0.422171f, 0.006135f, 0.367096f, -1.663118f, 0.365253f, -0.072884f,
+ -0.197620f, -0.688634f, 0.477354f, 0.395841f, -0.098505f, 0.208709f,
+ -0.027523f, 0.127119f, 0.106274f, 0.114424f, -0.122877f, -0.087245f,
+ 0.086923f, -0.527398f, -0.342062f, -0.764662f, 0.713094f, -0.626453f,
+ -0.081454f, -0.087683f, 0.885047f, 0.323440f, -0.018579f, -0.217166f,
+ 1.617984f, -0.159038f, 0.265991f, -0.390313f, 1.933182f, -0.032431f,
+ -0.057513f, -0.300841f, 0.461248f, -0.072147f, -0.287052f, -0.078056f,
+ 0.011734f, 0.044013f, 0.177174f, 0.093400f, 0.028819f, 0.193686f,
+ -0.224853f, 0.268321f, -0.075059f, 0.074526f, -0.015618f, 0.165615f,
+ -0.276780f, -0.063908f, -0.369264f, -0.171497f, -0.173624f, -0.130743f,
+ -0.224625f, -0.124980f, -0.104482f, 0.076864f, -0.009631f, -0.164682f,
+ 0.150480f, -0.111880f, -0.260425f, 0.086234f, -0.176936f, -0.136771f,
+ -0.168867f, -0.405626f, -0.288716f, -0.128950f, -0.207327f, 0.015581f,
+ -0.109061f, -0.098970f, 0.090792f, -0.109623f, 0.349851f, 0.266341f,
+ -0.088602f, -0.108071f, 0.082519f, 0.472650f, -1.838758f, 0.456694f,
+ 0.119927f, 0.461077f, -2.860022f, 0.231495f, 0.235771f, 0.256424f,
+ -1.938516f, -0.188202f, -0.000832f, -0.518206f, 0.194644f, 0.505510f,
+ 0.615657f, 0.193760f, 0.224600f, 0.265732f, -0.121553f, -0.354597f,
+ -0.242414f, -0.276639f, -0.057591f, 0.026369f, -0.261148f, -0.356155f,
+ -0.149178f, -0.353566f, -0.340835f, -0.141776f, 0.076535f, 0.221299f,
+ -0.108857f, -0.156514f, 0.050901f, 0.058541f, -0.077141f, 0.071515f,
+ -0.333283f, -0.181489f, -0.212900f, -0.224698f, -0.174693f, -0.178665f,
+ -0.143374f, -0.091811f, 0.165161f, 0.060156f, -0.086103f, -0.039031f,
+ -0.377759f, -0.370533f, 0.074431f, 0.064192f, 0.186576f, 0.447858f,
+ -0.082260f, -0.020268f, -0.123089f, -0.402017f, 0.080500f, 0.176286f,
+ 2.850013f, 0.019385f, -0.225361f, -0.235315f, 1.654694f, -0.073978f,
+ -0.341412f, -1.187575f, 2.815900f, -0.228063f, -0.174547f, 0.623825f,
+ -0.010676f, 0.157189f, 0.111879f, -0.198965f, 0.051851f, 0.158396f,
+ 0.045194f, 0.293531f, -0.246714f, -0.351493f, 0.026954f, 0.076233f,
+ 0.420367f, 0.168154f, -0.131450f, 0.134487f, -0.288851f, -0.134553f,
+ 0.014902f, 0.756381f, 0.277713f, 0.190080f, -0.020869f, 1.446672f,
+ 0.029792f, -0.025927f, 0.060640f, 0.559864f, 0.422229f, 0.198459f,
+ 0.036167f, 0.029432f, 0.001882f, 0.038480f, -0.160528f, -0.288855f,
+ -0.310886f, 0.291296f, 0.190558f, -0.182816f, -0.002252f, 0.073101f,
+ -0.172245f, -0.305980f, 0.112492f, -0.422839f, -0.295999f, -0.078160f,
+ -0.173405f, -0.032819f, 0.373774f, -0.715223f, 0.018911f, 0.131753f,
+ -0.237364f, -0.128499f, -0.228406f, 0.341619f, 0.343552f, -0.521581f,
+ -0.263790f, 0.362502f, -0.018450f, 0.054233f, 0.183068f, 0.382772f,
+ 0.188811f, -0.627287f, 0.040399f, -0.487338f, -0.192591f, 0.247426f,
+ 0.154372f, -0.483994f,
+};
+
+static const float av1_early_term_after_split_nn_bias_16_layer0[] = {
+ -0.173976f, 0.305495f, 0.250981f, -0.067127f, -0.313100f, 0.242464f,
+ 0.315196f, -0.056052f, -0.241227f, -0.253308f, -0.002697f, 0.003687f,
+ -0.124421f, -0.090383f, -0.070366f, -0.064074f, -0.056115f, 0.123313f,
+ -0.239698f, -0.182082f, -0.065296f, 0.021503f, -0.036787f, 0.311861f,
+ 0.118135f, -0.320456f, -0.110719f, 0.220692f, -0.071727f, -0.088226f,
+ -0.110874f, -0.111671f,
+};
+
+static const float av1_early_term_after_split_nn_weights_16_layer1[] = {
+ -0.338573f, 0.398159f, 0.314774f, -0.037448f, -0.271950f, -0.774991f,
+ 0.950901f, -0.225380f, -1.841906f, -0.350379f, -0.079350f, 0.383148f,
+ -0.183676f, -0.313132f, -0.340820f, -0.309401f, -1.050540f, -0.432267f,
+ -0.657195f, 0.927632f, -0.040150f, 0.578920f, 0.212301f, 0.292495f,
+ 0.563590f, -0.205735f, 0.195877f, 0.582122f, -0.217860f, 1.613379f,
+ 0.313278f, -0.555802f,
+};
+
+static const float av1_early_term_after_split_nn_bias_16_layer1[] = {
+ 0.16553f,
+};
+
+static const NN_CONFIG av1_early_term_after_split_nnconfig_16 = {
+ FEATURES,
+ 1,
+ 1,
+ {
+ HIDDEN_NODES,
+ },
+ {
+ av1_early_term_after_split_nn_weights_16_layer0,
+ av1_early_term_after_split_nn_weights_16_layer1,
+ },
+ {
+ av1_early_term_after_split_nn_bias_16_layer0,
+ av1_early_term_after_split_nn_bias_16_layer1,
+ },
+};
+
+static const float av1_early_term_after_split_nn_weights_8_layer0[] = {
+ -0.719472f, 0.305806f, 0.855829f, 0.100094f, 0.412517f, 1.254673f,
+ 1.552105f, -5.890773f, -0.089957f, -0.016736f, 1.418074f, -5.393506f,
+ -0.028214f, 0.117758f, 1.479209f, -5.299794f, 0.171585f, -0.084182f,
+ -0.162105f, 0.388577f, -0.044319f, -0.025861f, 0.251782f, -0.181462f,
+ -0.101545f, -0.079999f, -0.033014f, -0.191627f, -0.032802f, -0.053404f,
+ 0.038038f, -0.119492f, 0.049104f, -0.344384f, -0.354513f, 0.036977f,
+ 0.017513f, -0.004025f, -0.163212f, -0.261999f, 0.146575f, 0.207541f,
+ 0.130365f, -0.252127f, 0.097419f, -0.231057f, -0.309421f, 0.347866f,
+ -0.064670f, -0.283171f, -0.244193f, -0.193323f, -0.226954f, -0.276194f,
+ -0.233553f, 0.156354f, -0.184009f, 0.344289f, -0.308058f, -0.205202f,
+ -0.325068f, 0.183820f, -0.361667f, -0.069559f, -0.121834f, -0.038357f,
+ -0.210043f, -0.266129f, 0.003188f, 0.074902f, -0.328843f, 0.293679f,
+ -0.234698f, -0.428268f, -0.308772f, -0.136538f, -0.008384f, -0.078227f,
+ 0.166074f, -0.262899f, 0.102114f, -0.323420f, 0.057064f, -0.203318f,
+ -0.397413f, -0.317324f, -0.307093f, 0.020574f, -0.188627f, 0.132529f,
+ 0.118992f, -0.487387f, -0.282975f, 0.573231f, -0.266071f, 0.125140f,
+ -0.970034f, 1.424008f, -0.487366f, -0.196415f, 3.680273f, -0.008407f,
+ 0.081109f, -0.187479f, 3.876021f, 0.159168f, 0.111721f, -0.337423f,
+ 3.901760f, 0.261268f, -0.245555f, -0.187632f, -0.324298f, 0.167234f,
+ 0.170986f, -0.473055f, 0.087016f, -0.003469f, 0.051035f, 0.251794f,
+ 0.153549f, 0.217609f, -0.326870f, -0.175511f, 0.637341f, -0.694837f,
+ -0.873487f, -0.186614f, -1.089884f, -0.607316f, -0.523519f, 5.256331f,
+ 0.071414f, 0.215265f, -0.835999f, 5.735746f, 0.300101f, 0.089626f,
+ -0.450261f, 5.608051f, 0.190491f, 0.110220f, -0.595360f, -0.446324f,
+ 0.311380f, 0.268812f, -0.339656f, -0.008708f, 0.011111f, -0.027557f,
+ 0.171534f, 0.000676f, 0.227232f, 0.033993f, 0.146684f, 0.094817f,
+ -0.175381f, -0.211927f, -0.362471f, 0.168834f, 0.264149f, -0.350538f,
+ -0.463249f, -0.288105f, 0.347155f, 0.183231f, -0.229732f, -0.252202f,
+ -0.218074f, -0.008769f, -0.156103f, 0.181233f, -0.354736f, 0.263270f,
+ -0.106636f, 0.081057f, 0.060634f, -0.046887f, 0.050468f, 0.071259f,
+ 0.221287f, 0.199071f, -0.180185f, -0.406902f, -0.239351f, -0.034957f,
+ 0.369140f, 0.864600f, 0.233798f, 0.423612f, -0.468918f, 0.976987f,
+ 0.691198f, -1.597908f, 0.102926f, 0.305546f, 0.391196f, -3.909059f,
+ 0.333635f, 0.311561f, 0.738886f, -4.002001f, 0.236394f, -0.233141f,
+ 0.263342f, 0.679898f, 0.136233f, 0.254743f, -0.367571f, 0.066412f,
+ 0.001606f, -0.059542f, 0.051726f, -0.347145f, -0.045501f, -0.313847f,
+ -0.021952f, 1.386316f, -0.579139f, -1.275844f, -0.003493f, -1.716577f,
+ 0.250209f, 0.192086f, 4.177055f, 0.351835f, 0.338177f, 0.140163f,
+ 4.099592f, 0.321866f, -0.128153f, -0.360414f, 4.350767f, 0.025943f,
+ -0.116740f, -0.664107f, -0.064558f, -0.039553f, -0.208186f, -0.678774f,
+ 0.149441f, -0.019823f, 0.012759f, 0.404442f, -0.108881f, 0.067974f,
+ -0.188278f, 0.136327f, 0.109927f, -0.179270f, -0.272342f, 0.018064f,
+ -0.304216f, -0.469470f, 0.109310f, -0.326214f, 0.061909f, -0.278997f,
+ -0.352329f, -0.333770f, -0.186522f, -0.328567f, -0.206211f, -0.008804f,
+ 0.042441f, -0.126699f, -0.420399f, -0.033842f, 0.016773f, -0.273789f,
+ 0.081928f, -0.191552f, -0.179533f, -0.263070f, -0.471807f, 0.062601f,
+ -0.232576f, 0.082955f, -0.490080f, 0.073820f, -0.090384f, 0.035781f,
+ -0.158880f, -0.506793f, -0.069132f, 0.047602f, -0.349640f, -0.058389f,
+ -0.017387f, -0.194636f, -0.457227f, -0.143105f, 0.222045f, -0.548909f,
+ -0.131561f, 0.247196f, -0.207923f, 0.133056f, -0.509854f, -0.193685f,
+ -0.181327f, -0.242442f, 0.091821f, 0.114430f, -0.375233f, -0.015254f,
+ -0.336632f, -0.060279f, -0.169169f, -0.429914f, -0.036563f, -0.400560f,
+ -0.076332f, -0.186232f, -0.268491f, 0.075561f, -0.389082f, -0.077435f,
+ 0.352562f, -0.020086f, -0.338181f, -0.404629f, 0.254983f, 0.150477f,
+ -0.265903f, 0.003341f, 0.099969f, -0.211964f, -0.129372f, -0.166366f,
+ 0.327712f, -0.276234f, 0.140675f, -0.433677f, -0.163050f, -0.143578f,
+ -0.397840f, -0.422130f, -0.293835f, -0.075362f, -0.468375f, 1.021238f,
+ 1.394155f, -0.922486f, -1.350222f, 2.030201f, 0.057717f, 0.227650f,
+ -0.193179f, 0.037224f, 0.065555f, 0.020558f, -0.059205f, -0.023690f,
+ -0.008718f, 0.095976f, -0.549587f, -0.321164f, -0.243728f, 1.344381f,
+ -1.254107f, 0.294244f, -0.154737f, -0.152597f, 0.342419f, 0.301883f,
+ 0.069866f, -0.327766f, 0.209323f, -0.364913f, -0.005530f, -0.558972f,
+ 0.057684f, -0.309357f, -0.283325f, -0.278445f, -0.420115f, -0.418457f,
+ -0.391481f, -0.418460f, -0.003897f, -0.023744f, -0.312330f, -0.366213f,
+ 0.269628f, -0.274877f, -0.189988f, -0.419555f, -0.034033f, 0.192874f,
+ -0.135487f, -0.326108f, -0.039019f, 0.185029f, -0.264883f, -0.563447f,
+ -0.163532f, -0.447652f, -0.141851f, 0.001714f, -0.193184f, 0.032609f,
+ -0.112883f, 0.074599f, 0.490665f, 0.434764f, 0.021652f, -0.219618f,
+ 0.743267f, 0.147195f, -0.303479f, -0.097674f, 0.195813f, 0.704007f,
+ -1.290851f, 0.119701f, 0.224065f, 0.260246f, -0.580657f, -0.096201f,
+ -0.333214f, -0.586689f, 0.567178f, 0.157340f, -0.043184f, 0.194358f,
+ -0.026506f, -0.339894f, -0.571803f, -0.234828f, 0.147054f, -0.564178f,
+ -0.156933f, -0.366055f, -0.691687f, -0.187501f, 0.215834f, -0.346106f,
+ -0.256892f, 0.110915f, -0.337464f, -0.341474f, -0.216113f, 0.249445f,
+ -0.070175f, -0.412141f, 0.153458f, -0.081280f, 0.164669f, -0.356396f,
+ -0.294971f, -0.165121f, -0.133585f, -0.071467f, 0.295147f, -0.253233f,
+ -0.213833f, -0.343416f, -0.474344f, -0.304000f, -0.341379f, -0.331456f,
+ -0.393952f, -0.508004f, -0.569518f, -0.509864f, 0.121961f, 0.011957f,
+ 0.000498f, -0.201969f, -0.407195f, -0.414375f, -0.295846f, 0.247492f,
+ 0.124249f, -0.550804f, -0.420397f, -0.123462f, 0.333292f, -0.240230f,
+ -0.025604f, 0.337536f, -0.295006f, -0.272614f, -0.496850f, -0.278521f,
+ 0.234591f, -0.052775f, -0.014052f, -0.260078f, -0.279128f, -0.036385f,
+ 0.008714f, -0.064018f, -0.124873f, -0.334014f,
+};
+
+static const float av1_early_term_after_split_nn_bias_8_layer0[] = {
+ 1.202379f, -0.117005f, -0.135527f, -0.262255f, -0.443658f, -0.078981f,
+ 0.615653f, -0.124482f, -0.227768f, -0.227014f, -0.135898f, 0.143216f,
+ -0.225995f, 0.370877f, -0.214821f, -0.227752f,
+};
+
+static const float av1_early_term_after_split_nn_weights_8_layer1[] = {
+ 0.376594f, 0.266703f, -0.039847f, 1.680142f, -0.879939f, 0.286806f,
+ -0.378223f, -0.405295f, -0.021107f, 0.039188f, 0.259308f, 0.193091f,
+ 0.077994f, -0.269141f, 0.011180f, -0.019262f,
+};
+
+static const float av1_early_term_after_split_nn_bias_8_layer1[] = {
+ -1.29585564f,
+};
+
+static const NN_CONFIG av1_early_term_after_split_nnconfig_8 = {
+ FEATURES,
+ 1,
+ 1,
+ {
+ 16,
+ },
+ {
+ av1_early_term_after_split_nn_weights_8_layer0,
+ av1_early_term_after_split_nn_weights_8_layer1,
+ },
+ {
+ av1_early_term_after_split_nn_bias_8_layer0,
+ av1_early_term_after_split_nn_bias_8_layer1,
+ },
+};
+#undef FEATURES
+#undef HIDDEN_NODES
+
#ifdef __cplusplus
} // extern "C"
#endif
diff --git a/av1/encoder/partition_strategy.c b/av1/encoder/partition_strategy.c
index ba011f1..e979a49 100644
--- a/av1/encoder/partition_strategy.c
+++ b/av1/encoder/partition_strategy.c
@@ -357,6 +357,8 @@
pc_tree->sms_rect_valid = 1;
}
+ if (!features) return;
+
aom_clear_system_state();
int f_idx = 0;
if (features_to_get & FEATURE_SMS_NONE_FLAG) {
@@ -820,3 +822,130 @@
return (BLOCK_SIZE)((result + 2) * 3);
}
+
+// Get the minimum partition block width and height(in log scale) under a
+// PC_TREE.
+static void get_min_bsize(const PC_TREE *pc_tree, int *min_bw, int *min_bh) {
+ if (!pc_tree) return;
+
+ const BLOCK_SIZE bsize = pc_tree->block_size;
+ if (bsize == BLOCK_4X4) {
+ *min_bw = 0;
+ *min_bh = 0;
+ return;
+ }
+
+ PARTITION_TYPE part_type = pc_tree->partitioning;
+ if (part_type == PARTITION_INVALID) return;
+
+ if (part_type == PARTITION_SPLIT) {
+ for (int i = 0; i < 4; ++i) {
+ get_min_bsize(pc_tree->split[i], min_bw, min_bh);
+ }
+ } else {
+ if (part_type == PARTITION_HORZ_A || part_type == PARTITION_HORZ_B ||
+ part_type == PARTITION_VERT_A || part_type == PARTITION_VERT_B)
+ part_type = PARTITION_SPLIT;
+ const BLOCK_SIZE subsize = get_partition_subsize(bsize, part_type);
+ if (subsize != BLOCK_INVALID) {
+ *min_bw = AOMMIN(*min_bw, mi_size_wide_log2[subsize]);
+ *min_bh = AOMMIN(*min_bh, mi_size_high_log2[subsize]);
+ }
+ }
+}
+
+static INLINE void add_rd_feature(int64_t rd, int64_t best_rd, float *features,
+ int *feature_idx) {
+ const int rd_valid = rd > 0 && rd < INT64_MAX;
+ const float rd_ratio = rd_valid ? (float)rd / best_rd : 1.0f;
+ features[(*feature_idx)++] = (float)rd_valid;
+ features[(*feature_idx)++] = rd_ratio;
+}
+
+#define FEATURES 31
+void av1_ml_early_term_after_split(AV1_COMP *const cpi, MACROBLOCK *const x,
+ PC_TREE *const pc_tree, BLOCK_SIZE bsize,
+ int64_t best_rd, int64_t part_none_rd,
+ int64_t part_split_rd,
+ int64_t *split_block_rd, int mi_row,
+ int mi_col,
+ int *const terminate_partition_search) {
+ if (best_rd <= 0 || best_rd == INT64_MAX || *terminate_partition_search)
+ return;
+
+ const AV1_COMMON *const cm = &cpi->common;
+ const int is_480p_or_larger = AOMMIN(cm->width, cm->height) >= 480;
+ const NN_CONFIG *nn_config = NULL;
+ float thresh = -1e6;
+ switch (bsize) {
+ case BLOCK_128X128: break;
+ case BLOCK_64X64:
+ nn_config = &av1_early_term_after_split_nnconfig_64;
+ thresh = is_480p_or_larger ? -2.0f : -1.2f;
+ break;
+ case BLOCK_32X32:
+ nn_config = &av1_early_term_after_split_nnconfig_32;
+ thresh = is_480p_or_larger ? -2.6f : -2.3f;
+ break;
+ case BLOCK_16X16:
+ nn_config = &av1_early_term_after_split_nnconfig_16;
+ thresh = is_480p_or_larger ? -2.0f : -2.4f;
+ break;
+ case BLOCK_8X8:
+ nn_config = &av1_early_term_after_split_nnconfig_8;
+ thresh = is_480p_or_larger ? -1.0f : -1.4f;
+ break;
+ case BLOCK_4X4: break;
+ default:
+ assert(0 && "Invalid block size in av1_ml_early_term_after_split().");
+ break;
+ }
+ if (!nn_config) return;
+
+ const MACROBLOCKD *const xd = &x->e_mbd;
+ const int dc_q = av1_dc_quant_QTX(x->qindex, 0, xd->bd) >> (xd->bd - 8);
+ const int bs = block_size_wide[bsize];
+ int f_idx = 0;
+ float features[FEATURES] = { 0.0f };
+
+ aom_clear_system_state();
+
+ features[f_idx++] = logf(1.0f + (float)dc_q / 4.0f);
+ features[f_idx++] = logf(1.0f + (float)best_rd / bs / bs / 1024.0f);
+
+ add_rd_feature(part_none_rd, best_rd, features, &f_idx);
+ add_rd_feature(part_split_rd, best_rd, features, &f_idx);
+
+ for (int i = 0; i < 4; ++i) {
+ add_rd_feature(split_block_rd[i], best_rd, features, &f_idx);
+ int min_bw = MAX_SB_SIZE_LOG2;
+ int min_bh = MAX_SB_SIZE_LOG2;
+ get_min_bsize(pc_tree->split[i], &min_bw, &min_bh);
+ features[f_idx++] = (float)min_bw;
+ features[f_idx++] = (float)min_bh;
+ }
+
+ simple_motion_search_prune_part_features(cpi, x, pc_tree, mi_row, mi_col,
+ bsize, NULL,
+ FEATURE_SMS_PRUNE_PART_FLAG);
+
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_none_feat[1]);
+
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_split_feat[1]);
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_split_feat[3]);
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_split_feat[5]);
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_split_feat[7]);
+
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_rect_feat[1]);
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_rect_feat[3]);
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_rect_feat[5]);
+ features[f_idx++] = logf(1.0f + (float)pc_tree->sms_rect_feat[7]);
+
+ assert(f_idx == FEATURES);
+
+ float score = 0.0f;
+ av1_nn_predict(features, nn_config, &score);
+ // Score is indicator of confidence that we should NOT terminate.
+ if (score < thresh) *terminate_partition_search = 1;
+}
+#undef FEATURES
diff --git a/av1/encoder/partition_strategy.h b/av1/encoder/partition_strategy.h
index 7504d67..064f530 100644
--- a/av1/encoder/partition_strategy.h
+++ b/av1/encoder/partition_strategy.h
@@ -168,4 +168,12 @@
INTNL_OVERLAY_UPDATE;
}
+void av1_ml_early_term_after_split(AV1_COMP *const cpi, MACROBLOCK *const x,
+ PC_TREE *const pc_tree, BLOCK_SIZE bsize,
+ int64_t best_rd, int64_t part_none_rd,
+ int64_t part_split_rd,
+ int64_t *split_block_rd, int mi_row,
+ int mi_col,
+ int *const terminate_partition_search);
+
#endif // AOM_AV1_ENCODER_PARTITION_STRATEGY_H_
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index 7f81d50..66d47e8 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -143,6 +143,7 @@
// TODO(chiyotsai@google.com): Try to disable two pass partition search
// and turn on hdres
sf->simple_motion_search_split_speed = 1;
+ sf->ml_early_term_after_part_split = 1;
}
}
@@ -171,6 +172,7 @@
if (speed >= 3) {
sf->simple_motion_search_split_speed = 2;
+ sf->ml_early_term_after_part_split = 0;
if (is_720p_or_larger) {
sf->partition_search_breakout_dist_thr = (1 << 25);
sf->partition_search_breakout_rate_thr = 200;
@@ -763,6 +765,7 @@
sf->ml_prune_rect_partition = 0;
sf->ml_prune_ab_partition = 0;
sf->ml_prune_4_partition = 0;
+ sf->ml_early_term_after_part_split = 0;
sf->fast_cdef_search = 0;
for (i = 0; i < PARTITION_BLOCK_SIZES; ++i) {
sf->ml_partition_search_breakout_thresh[i] = -1; // -1 means not enabled.
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 32d8f5f..e82f3d9 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -385,6 +385,10 @@
// Use a ML model to prune horz4 and vert4 partitions.
int ml_prune_4_partition;
+ // Use a ML model to adaptively terminate partition search after trying
+ // PARTITION_SPLIT.
+ int ml_early_term_after_part_split;
+
int fast_cdef_search;
// 2-pass coding block partition search, and also use the mode decisions made