| @@ -38,8 +38,8 @@ typedef struct Pair { | |||
| } 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; | |||
| @@ -193,11 +193,11 @@ static int iir_ch_serial_## name(AVFilterContext *ctx, void *arg, int ch, int nb | |||
| 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; \ | |||
| @@ -593,20 +593,20 @@ static int decompose_zp2biquads(AVFilterContext *ctx, int channels) | |||
| 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++; | |||
| } | |||