| @@ -99,6 +99,7 @@ enum WidthType { · 98 unmodified lines |
| 99 | enum TransformType { | 99 | enum TransformType { |
| 100 | DI, | 100 | DI, |
| 101 | DII, | 101 | DII, |
| | 102 | TDI, |
| 102 | TDII, | 103 | TDII, |
| 103 | LATT, | 104 | LATT, |
| 104 | SVF, | 105 | SVF, |
| @@ -321,6 +322,62 @@ BIQUAD_DII_FILTER(s32, int32_t, INT32_MIN, INT32_MAX, 1) · 216 unmodified lines |
| 321 | BIQUAD_DII_FILTER(flt, float, -1., 1., 0) | 322 | BIQUAD_DII_FILTER(flt, float, -1., 1., 0) |
| 322 | BIQUAD_DII_FILTER(dbl, double, -1., 1., 0) | 323 | BIQUAD_DII_FILTER(dbl, double, -1., 1., 0) |
| 323 | | 324 | |
| | 325 | #define BIQUAD_TDI_FILTER(name, type, min, max, need_clipping) \ |
| | 326 | static void biquad_tdi_## name (BiquadsContext *s, \ |
| | 327 | const void *input, void *output, int len, \ |
| | 328 | double *z1, double *z2, \ |
| | 329 | double *z3, double *z4, \ |
| | 330 | double b0, double b1, double b2, \ |
| | 331 | double a1, double a2, int *clippings, \ |
| | 332 | int disabled) \ |
| | 333 | { \ |
| | 334 | const type *ibuf = input; \ |
| | 335 | type *obuf = output; \ |
| | 336 | double s1 = *z1; \ |
| | 337 | double s2 = *z2; \ |
| | 338 | double s3 = *z3; \ |
| | 339 | double s4 = *z4; \ |
| | 340 | double wet = s->mix; \ |
| | 341 | double dry = 1. - wet; \ |
| | 342 | double in, out; \ |
| | 343 | \ |
| | 344 | a1 = -a1; \ |
| | 345 | a2 = -a2; \ |
| | 346 | \ |
| | 347 | for (int i = 0; i < len; i++) { \ |
| | 348 | double t1, t2, t3, t4; \ |
| | 349 | in = ibuf[i] + s1; \ |
| | 350 | t1 = in * a1 + s2; \ |
| | 351 | t2 = in * a2; \ |
| | 352 | t3 = in * b1 + s4; \ |
| | 353 | t4 = in * b2; \ |
| | 354 | out = b0 * in + s3; \ |
| | 355 | out = out * wet + in * dry; \ |
| | 356 | s1 = t1; s2 = t2; s3 = t3; s4 = t4; \ |
| | 357 | if (disabled) { \ |
| | 358 | obuf[i] = in; \ |
| | 359 | } else if (need_clipping && out < min) { \ |
| | 360 | (*clippings)++; \ |
| | 361 | obuf[i] = min; \ |
| | 362 | } else if (need_clipping && out > max) { \ |
| | 363 | (*clippings)++; \ |
| | 364 | obuf[i] = max; \ |
| | 365 | } else { \ |
| | 366 | obuf[i] = out; \ |
| | 367 | } \ |
| | 368 | } \ |
| | 369 | \ |
| | 370 | *z1 = s1; \ |
| | 371 | *z2 = s2; \ |
| | 372 | *z3 = s3; \ |
| | 373 | *z4 = s4; \ |
| | 374 | } |
| | 375 | |
| | 376 | BIQUAD_TDI_FILTER(s16, int16_t, INT16_MIN, INT16_MAX, 1) |
| | 377 | BIQUAD_TDI_FILTER(s32, int32_t, INT32_MIN, INT32_MAX, 1) |
| | 378 | BIQUAD_TDI_FILTER(flt, float, -1., 1., 0) |
| | 379 | BIQUAD_TDI_FILTER(dbl, double, -1., 1., 0) |
| | 380 | |
| 324 | #define BIQUAD_TDII_FILTER(name, type, min, max, need_clipping) \ | 381 | #define BIQUAD_TDII_FILTER(name, type, min, max, need_clipping) \ |
| 325 | static void biquad_tdii_## name (BiquadsContext *s, \ | 382 | static void biquad_tdii_## name (BiquadsContext *s, \ |
| 326 | const void *input, void *output, int len, \ | 383 | const void *input, void *output, int len, \ |
| @@ -760,6 +817,23 @@ static int config_filter(AVFilterLink *outlink, int reset) · 433 unmodified lines |
| 760 | default: av_assert0(0); | 817 | default: av_assert0(0); |
| 761 | } | 818 | } |
| 762 | break; | 819 | break; |
| | 820 | case TDI: |
| | 821 | switch (inlink->format) { |
| | 822 | case AV_SAMPLE_FMT_S16P: |
| | 823 | s->filter = biquad_tdi_s16; |
| | 824 | break; |
| | 825 | case AV_SAMPLE_FMT_S32P: |
| | 826 | s->filter = biquad_tdi_s32; |
| | 827 | break; |
| | 828 | case AV_SAMPLE_FMT_FLTP: |
| | 829 | s->filter = biquad_tdi_flt; |
| | 830 | break; |
| | 831 | case AV_SAMPLE_FMT_DBLP: |
| | 832 | s->filter = biquad_tdi_dbl; |
| | 833 | break; |
| | 834 | default: av_assert0(0); |
| | 835 | } |
| | 836 | break; |
| 763 | case TDII: | 837 | case TDII: |
| 764 | switch (inlink->format) { | 838 | switch (inlink->format) { |
| 765 | case AV_SAMPLE_FMT_S16P: | 839 | case AV_SAMPLE_FMT_S16P: |
| @@ -1006,6 +1080,7 @@ static const AVOption equalizer_options[] = { · 240 unmodified lines |
| 1006 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1080 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1007 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1081 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1008 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1082 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1083 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1009 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1084 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1010 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1085 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1011 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1086 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |
| @@ -1048,6 +1123,7 @@ static const AVOption bass_lowshelf_options[] = { · 36 unmodified lines |
| 1048 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1123 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1049 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1124 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1050 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1125 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1126 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1051 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1127 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1052 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1128 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1053 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1129 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |
| @@ -1097,6 +1173,7 @@ static const AVOption treble_highshelf_options[] = { · 43 unmodified lines |
| 1097 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1173 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1098 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1174 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1099 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1175 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1176 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1100 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1177 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1101 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1178 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1102 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1179 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |
| @@ -1145,6 +1222,7 @@ static const AVOption bandpass_options[] = { · 42 unmodified lines |
| 1145 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1222 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1146 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1223 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1147 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1224 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1225 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1148 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1226 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1149 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1227 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1150 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1228 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |
| @@ -1183,6 +1261,7 @@ static const AVOption bandreject_options[] = { · 32 unmodified lines |
| 1183 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1261 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1184 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1262 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1185 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1263 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1264 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1186 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1265 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1187 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1266 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1188 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1267 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |
| @@ -1223,6 +1302,7 @@ static const AVOption lowpass_options[] = { · 34 unmodified lines |
| 1223 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1302 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1224 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1303 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1225 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1304 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1305 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1226 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1306 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1227 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1307 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1228 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1308 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |
| @@ -1263,6 +1343,7 @@ static const AVOption highpass_options[] = { · 34 unmodified lines |
| 1263 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1343 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1264 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1344 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1265 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1345 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1346 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1266 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1347 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1267 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1348 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1268 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1349 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |
| @@ -1303,6 +1384,7 @@ static const AVOption allpass_options[] = { · 34 unmodified lines |
| 1303 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1384 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1304 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1385 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1305 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1386 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1387 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1306 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1388 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1307 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1389 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1308 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1390 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |
| @@ -1336,6 +1418,7 @@ static const AVOption biquad_options[] = { · 27 unmodified lines |
| 1336 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, | 1418 | {"a", "set transform type", OFFSET(transform_type), AV_OPT_TYPE_INT, {.i64=0}, 0, NB_TTYPE-1, AF, "transform_type"}, |
| 1337 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, | 1419 | {"di", "direct form I", 0, AV_OPT_TYPE_CONST, {.i64=DI}, 0, 0, AF, "transform_type"}, |
| 1338 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, | 1420 | {"dii", "direct form II", 0, AV_OPT_TYPE_CONST, {.i64=DII}, 0, 0, AF, "transform_type"}, |
| | 1421 | {"tdi", "transposed direct form I", 0, AV_OPT_TYPE_CONST, {.i64=TDI}, 0, 0, AF, "transform_type"}, |
| 1339 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, | 1422 | {"tdii", "transposed direct form II", 0, AV_OPT_TYPE_CONST, {.i64=TDII}, 0, 0, AF, "transform_type"}, |
| 1340 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, | 1423 | {"latt", "lattice-ladder form", 0, AV_OPT_TYPE_CONST, {.i64=LATT}, 0, 0, AF, "transform_type"}, |
| 1341 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, | 1424 | {"svf", "state variable filter form", 0, AV_OPT_TYPE_CONST, {.i64=SVF}, 0, 0, AF, "transform_type"}, |