#include <stdbool.h>
#include <assert.h>
#include <immintrin.h>
#include "config/av1_rtcd.h"
#include "av1/encoder/ml.h"
#include "av1/encoder/x86/ml_sse3.h"
#define CALC_OUTPUT_FOR_2ROWS …
static inline void nn_propagate_8to1(
const float *const inputs, const float *const weights,
const float *const bias, int num_inputs_to_process, int tot_num_inputs,
int num_outputs, float *const output_nodes, int is_clip_required) { … }
static inline void nn_propagate_8to4(
const float *const inputs, const float *const weights,
const float *const bias, int num_inputs_to_process, int tot_num_inputs,
int num_outputs, float *const output_nodes, int is_clip_required) { … }
static inline void nn_propagate_8to8(
const float *const inputs, const float *const weights,
const float *const bias, int num_inputs_to_process, int tot_num_inputs,
int num_outputs, float *const output_nodes, int is_clip_required) { … }
static inline void nn_propagate_input_multiple_of_8(
const float *const inputs, const float *const weights,
const float *const bias, int num_inputs_to_process, int tot_num_inputs,
bool is_output_layer, int num_outputs, float *const output_nodes) { … }
void av1_nn_predict_avx2(const float *input_nodes,
const NN_CONFIG *const nn_config, int reduce_prec,
float *const output) { … }