Showing the changes to libavfilter (1 of 2 files). Show all
Unified · Split
| @@ -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"}, |