From 890cef1ff6ebbcd14f107fedceed23aa3c80b087 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Thu, 14 Oct 2021 20:22:20 +0200 Subject: [PATCH] avfilter/vf_fftfilt: export FFT arrays size --- doc/filters.texi | 4 ++++ libavfilter/vf_fftfilt.c | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/filters.texi b/doc/filters.texi index 20bb15962d..e9eb07590d 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -11963,6 +11963,10 @@ The width and height of the image. @item N The number of input frame, starting from 0. + +@item WS +@item HS +The size of FFT array for horizontal and vertical processing. @end table @subsection Examples diff --git a/libavfilter/vf_fftfilt.c b/libavfilter/vf_fftfilt.c index 28845a5013..37aa45ef8d 100644 --- a/libavfilter/vf_fftfilt.c +++ b/libavfilter/vf_fftfilt.c @@ -71,8 +71,8 @@ typedef struct FFTFILTContext { int (*irdft_horizontal)(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs); } FFTFILTContext; -static const char *const var_names[] = { "X", "Y", "W", "H", "N", NULL }; -enum { VAR_X, VAR_Y, VAR_W, VAR_H, VAR_N, VAR_VARS_NB }; +static const char *const var_names[] = { "X", "Y", "W", "H", "N", "WS", "HS", NULL }; +enum { VAR_X, VAR_Y, VAR_W, VAR_H, VAR_N, VAR_WS, VAR_HS, VAR_VARS_NB }; enum { Y = 0, U, V }; @@ -268,6 +268,8 @@ static void do_eval(FFTFILTContext *s, AVFilterLink *inlink, int plane) values[VAR_N] = inlink->frame_count_out; values[VAR_W] = s->planewidth[plane]; values[VAR_H] = s->planeheight[plane]; + values[VAR_WS] = s->rdft_hlen[plane]; + values[VAR_HS] = s->rdft_vlen[plane]; for (i = 0; i < s->rdft_hlen[plane]; i++) { values[VAR_X] = i;