summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/filters.texi7
-rw-r--r--libavfilter/af_arls.c3
2 files changed, 8 insertions, 2 deletions
diff --git a/doc/filters.texi b/doc/filters.texi
index 6d2672063c..48b321b621 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -3004,10 +3004,13 @@ Pass the 1st input.
Pass the 2nd input.
@item o
-Pass filtered samples.
+Pass difference between desired, 2nd input and error signal estimate.
@item n
-Pass difference between desired and filtered samples.
+Pass difference between input, 1st input and error signal estimate.
+
+@item e
+Pass error signal estimated samples.
Default value is @var{o}.
@end table
diff --git a/libavfilter/af_arls.c b/libavfilter/af_arls.c
index 1d91954c02..9058a54583 100644
--- a/libavfilter/af_arls.c
+++ b/libavfilter/af_arls.c
@@ -33,6 +33,7 @@ enum OutModes {
DESIRED_MODE,
OUT_MODE,
NOISE_MODE,
+ ERROR_MODE,
NB_OMODES
};
@@ -70,6 +71,7 @@ static const AVOption arls_options[] = {
{ "d", "desired", 0, AV_OPT_TYPE_CONST, {.i64=DESIRED_MODE}, 0, 0, AT, "mode" },
{ "o", "output", 0, AV_OPT_TYPE_CONST, {.i64=OUT_MODE}, 0, 0, AT, "mode" },
{ "n", "noise", 0, AV_OPT_TYPE_CONST, {.i64=NOISE_MODE}, 0, 0, AT, "mode" },
+ { "e", "error", 0, AV_OPT_TYPE_CONST, {.i64=ERROR_MODE}, 0, 0, AT, "mode" },
{ NULL }
};
@@ -156,6 +158,7 @@ static float process_sample(AudioRLSContext *s, float input, float desired, int
case DESIRED_MODE: output = desired; break;
case OUT_MODE: output = desired - output; break;
case NOISE_MODE: output = input - output; break;
+ case ERROR_MODE: break;
}
return output;
}