23 const float g0 = gains[0];
24 const float g1 = gains[1];
25 const float g2 = gains[2];
27 float x4 = data[-period - 2];
28 float x3 = data[-period - 1];
29 float x2 = data[-period + 0];
30 float x1 = data[-period + 1];
32 for (
int i = 0;
i <
len;
i++) {
33 float x0 = data[
i - period + 2];
48 for (
int i = 0;
i <
len;
i++) {
static void postfilter_c(float *data, int period, float *gains, int len)
ptrdiff_t const GLvoid * data
float(* deemphasis)(float *out, float *in, float coeff, int len)
static float deemphasis_c(float *y, float *x, float coeff, int len)
#define i(width, name, range_min, range_max)
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option keep it simple and lowercase description are in without period
av_cold void ff_opus_dsp_init_aarch64(OpusDSP *ctx)
void ff_opus_dsp_init_x86(OpusDSP *ctx)
static const double coeff[2][5]
void(* postfilter)(float *data, int period, float *gains, int len)
av_cold void ff_opus_dsp_init(OpusDSP *ctx)