} Pair;
typedef struct BiquadContext {
- double a0, a1, a2;
- double b0, b1, b2;
+ double a[3];
+ double b[3];
double i1, i2;
double o1, o2;
} BiquadContext;
int n, i; \
\
for (i = 0; i < nb_biquads; i++) { \
- const double a1 = -iir->biquads[i].a1; \
- const double a2 = -iir->biquads[i].a2; \
- const double b0 = iir->biquads[i].b0; \
- const double b1 = iir->biquads[i].b1; \
- const double b2 = iir->biquads[i].b2; \
+ const double a1 = -iir->biquads[i].a[1]; \
+ const double a2 = -iir->biquads[i].a[2]; \
+ const double b0 = iir->biquads[i].b[0]; \
+ const double b1 = iir->biquads[i].b[1]; \
+ const double b2 = iir->biquads[i].b[2]; \
double i1 = iir->biquads[i].i1; \
double i2 = iir->biquads[i].i2; \
double o1 = iir->biquads[i].o1; \
iir->ab[1][2 * nearest_zero.a] = iir->ab[1][2 * nearest_zero.a + 1] = NAN;
iir->ab[1][2 * nearest_zero.b] = iir->ab[1][2 * nearest_zero.b + 1] = NAN;
- iir->biquads[current_biquad].a0 = 1.0;
- iir->biquads[current_biquad].a1 = a[2] / a[4];
- iir->biquads[current_biquad].a2 = a[0] / a[4];
- iir->biquads[current_biquad].b0 = (b[4] / a[4]) * (current_biquad ? 1.0 : iir->g);
- iir->biquads[current_biquad].b1 = (b[2] / a[4]) * (current_biquad ? 1.0 : iir->g);
- iir->biquads[current_biquad].b2 = (b[0] / a[4]) * (current_biquad ? 1.0 : iir->g);
+ iir->biquads[current_biquad].a[0] = 1.0;
+ iir->biquads[current_biquad].a[1] = a[2] / a[4];
+ iir->biquads[current_biquad].a[2] = a[0] / a[4];
+ iir->biquads[current_biquad].b[0] = (b[4] / a[4]) * (current_biquad ? 1.0 : iir->g);
+ iir->biquads[current_biquad].b[1] = (b[2] / a[4]) * (current_biquad ? 1.0 : iir->g);
+ iir->biquads[current_biquad].b[2] = (b[0] / a[4]) * (current_biquad ? 1.0 : iir->g);
av_log(ctx, AV_LOG_VERBOSE, "a=%f %f %f:b=%f %f %f\n",
- iir->biquads[current_biquad].a0,
- iir->biquads[current_biquad].a1,
- iir->biquads[current_biquad].a2,
- iir->biquads[current_biquad].b0,
- iir->biquads[current_biquad].b1,
- iir->biquads[current_biquad].b2);
+ iir->biquads[current_biquad].a[0],
+ iir->biquads[current_biquad].a[1],
+ iir->biquads[current_biquad].a[2],
+ iir->biquads[current_biquad].b[0],
+ iir->biquads[current_biquad].b[1],
+ iir->biquads[current_biquad].b[2]);
current_biquad++;
}