[FFmpeg-devel] [PATCH] avfilter: add arnndn filter

James Almer jamrial at gmail.com
Sat Sep 28 18:25:02 EEST 2019


On 9/28/2019 12:05 PM, Paul B Mahol wrote:
> +static void frame_analysis(AudioRNNContext *s, DenoiseState *st, AVComplexFloat *X, float *Ex, const float *in)
> +{
> +    LOCAL_ALIGNED_32(float, x, [WINDOW_SIZE]);
> +
> +    RNN_COPY(x, st->analysis_mem, FRAME_SIZE);
> +    RNN_COPY(x + FRAME_SIZE, in, FRAME_SIZE);
> +    RNN_COPY(st->analysis_mem, in, FRAME_SIZE);
> +    s->fdsp->vector_fmul(x, x, s->window, WINDOW_SIZE);
> +    emms_c();
> +    forward_transform(st, X, x);
> +    compute_band_energy(Ex, X);
> +}
> +
> +static void frame_synthesis(AudioRNNContext *s, DenoiseState *st, float *out, const AVComplexFloat *y)
> +{
> +    LOCAL_ALIGNED_32(float, x, [WINDOW_SIZE]);
> +
> +    inverse_transform(st, x, y);
> +    s->fdsp->vector_fmul(x, x, s->window, WINDOW_SIZE);
> +    s->fdsp->vector_fmac_scalar(x, st->synthesis_mem, 1.f, FRAME_SIZE);
> +    emms_c();
> +    RNN_COPY(out, x, FRAME_SIZE);
> +    RNN_COPY(st->synthesis_mem, &x[FRAME_SIZE], FRAME_SIZE);
> +}

emms isn't needed for either of those two AVFloatDSPContext functions.


More information about the ffmpeg-devel mailing list