[FFmpeg-devel] [FFmpeg-cvslog] avcodec/x86/dcadsp_init: fix compilation failure without FMA3

Michael Niedermayer michaelni at gmx.at
Sat Apr 5 03:07:32 CEST 2014


On Fri, Apr 04, 2014 at 09:56:13PM -0300, James Almer wrote:
> > 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).

if everything works fine without ifdefery then iam in favor of
removing the ifdefery

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Frequently ignored answer#1 FFmpeg bugs should be sent to our bugtracker. User
questions about the command line tools should be sent to the ffmpeg-user ML.
And questions about how to use libav* should be sent to the libav-user ML.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140405/fbc55dbc/attachment.asc>


More information about the ffmpeg-devel mailing list