diff options
author | Paul B Mahol <onemda@gmail.com> | 2020-11-03 12:05:24 +0100 |
---|---|---|
committer | Paul B Mahol <onemda@gmail.com> | 2020-11-03 12:30:19 +0100 |
commit | ee686236cd1dcceca2ecdfe64e509a7ef977e8f0 (patch) | |
tree | 08c41ff29330302bccf2317dc722e66b63d03ec8 /libavfilter | |
parent | 67d4ab50ec23d59f9ad6af1c34ea5727f3fcefe8 (diff) | |
download | ffmpeg-ee686236cd1dcceca2ecdfe64e509a7ef977e8f0.tar.gz |
avfilter/af_asoftclip: add erf soft clip type
Diffstat (limited to 'libavfilter')
-rw-r--r-- | libavfilter/af_asoftclip.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libavfilter/af_asoftclip.c b/libavfilter/af_asoftclip.c index e9e3666ef6..c49ba5a49f 100644 --- a/libavfilter/af_asoftclip.c +++ b/libavfilter/af_asoftclip.c @@ -32,6 +32,7 @@ enum ASoftClipTypes { ASC_ALG, ASC_QUINTIC, ASC_SIN, + ASC_ERF, NB_TYPES, }; @@ -57,6 +58,7 @@ static const AVOption asoftclip_options[] = { { "alg", NULL, 0, AV_OPT_TYPE_CONST, {.i64=ASC_ALG}, 0, 0, A, "types" }, { "quintic", NULL, 0, AV_OPT_TYPE_CONST, {.i64=ASC_QUINTIC},0, 0, A, "types" }, { "sin", NULL, 0, AV_OPT_TYPE_CONST, {.i64=ASC_SIN}, 0, 0, A, "types" }, + { "erf", NULL, 0, AV_OPT_TYPE_CONST, {.i64=ASC_ERF}, 0, 0, A, "types" }, { "param", "set softclip parameter", OFFSET(param), AV_OPT_TYPE_DOUBLE, {.dbl=1}, 0.01, 3, A }, { NULL } }; @@ -148,6 +150,11 @@ static void filter_flt(ASoftClipContext *s, dst[n] = sinf(src[n]); } break; + case ASC_ERF: + for (int n = 0; n < nb_samples; n++) { + dst[n] = erff(src[n]); + } + break; } } } @@ -205,6 +212,11 @@ static void filter_dbl(ASoftClipContext *s, dst[n] = sin(src[n]); } break; + case ASC_ERF: + for (int n = 0; n < nb_samples; n++) { + dst[n] = erf(src[n]); + } + break; } } } |