[FFmpeg-devel] [FFmpeg-cvslog] avcodec/x86/dcadsp_init: fix compilation failure without FMA3
James Almer
jamrial at gmail.com
Sat Apr 5 02:56:13 CEST 2014
> alternatively the call could be put under #if or the #if
> over the function removed
>
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
>
> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=490d53e335dc5954d1308172af374e9bf9d031eb
> ---
>
> libavcodec/x86/dcadsp_init.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/libavcodec/x86/dcadsp_init.c b/libavcodec/x86/dcadsp_init.c
> index bc94b44..5975fee 100644
> --- a/libavcodec/x86/dcadsp_init.c
> +++ b/libavcodec/x86/dcadsp_init.c
> @@ -82,6 +82,10 @@ SYNTH_FILTER_FUNC(sse)
> #endif
> SYNTH_FILTER_FUNC(sse2)
> SYNTH_FILTER_FUNC(avx)
> +static void synth_filter_fma3(FFTContext *imdct,
> + float *synth_buf_ptr, int *synth_buf_offset,
> + float synth_buf2[32], const float window[512],
> + float out[32], const float in[32], float scale);
> #if HAVE_FMA3_EXTERNAL
If you mean removing this #if, it will work only if you don't configure with
--disable-optimizations.
For that matter, i just noticed the AVX version is broken in that way right now.
Ideally, Christophe's dropped patch would be applied and all this would be
avoided (see [PATCH 08/11] dcadsp: split synth_filter_float). But it requires
the same changes to the arm version that supposedly negatively affect its
performance.
Best options otherwise are either putting #if checks in ff_synth_filter_init_x86(),
or removing every relevant #if (and %if checks in dcadsp.asm) and unconditionally
compile both the avx and fma3 versions (the minimum required yasm/nasm version
supports them, so it's not an issue there).
> SYNTH_FILTER_FUNC(fma3)
> #endif
More information about the ffmpeg-devel
mailing list