xref: /aosp_15_r20/external/rnnoise/src/rnn_data.h (revision 1295d6828459cc82c3c29cc5d7d297215250a74b)
1*1295d682SXin Li #ifndef RNN_DATA_H
2*1295d682SXin Li #define RNN_DATA_H
3*1295d682SXin Li 
4*1295d682SXin Li #include "rnn.h"
5*1295d682SXin Li 
6*1295d682SXin Li struct RNNModel {
7*1295d682SXin Li   int input_dense_size;
8*1295d682SXin Li   const DenseLayer *input_dense;
9*1295d682SXin Li 
10*1295d682SXin Li   int vad_gru_size;
11*1295d682SXin Li   const GRULayer *vad_gru;
12*1295d682SXin Li 
13*1295d682SXin Li   int noise_gru_size;
14*1295d682SXin Li   const GRULayer *noise_gru;
15*1295d682SXin Li 
16*1295d682SXin Li   int denoise_gru_size;
17*1295d682SXin Li   const GRULayer *denoise_gru;
18*1295d682SXin Li 
19*1295d682SXin Li   int denoise_output_size;
20*1295d682SXin Li   const DenseLayer *denoise_output;
21*1295d682SXin Li 
22*1295d682SXin Li   int vad_output_size;
23*1295d682SXin Li   const DenseLayer *vad_output;
24*1295d682SXin Li };
25*1295d682SXin Li 
26*1295d682SXin Li struct RNNState {
27*1295d682SXin Li   const RNNModel *model;
28*1295d682SXin Li   float *vad_gru_state;
29*1295d682SXin Li   float *noise_gru_state;
30*1295d682SXin Li   float *denoise_gru_state;
31*1295d682SXin Li };
32*1295d682SXin Li 
33*1295d682SXin Li 
34*1295d682SXin Li #endif
35