On 2014-03-05 14:10:24 +0100, Diego Biurrun wrote:
> Some optimized functions reference optimized symbols, so the functions
> must be explicitly disabled when those symbols are unavailable.
> ---
> 
> Now with a more general #if, as suggested by James.

I think --disable-optimizations --disable-sse2 would still fail with
this conditions. If that's the common pattern we use that will fail
in other places too. I don't think it's worth changing and I would
prefer adding dead code elimiation (-fdce for gcc) to cflags_noopt.

>  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 3821892..65e3db5 100644
> --- a/libavcodec/x86/dcadsp_init.c
> +++ b/libavcodec/x86/dcadsp_init.c
> @@ -60,6 +60,7 @@ void ff_synth_filter_inner_sse2(float *synth_buf_ptr, float 
> synth_buf2[32],
>                                  const float window[512],
>                                  float out[32], intptr_t offset, float scale);
>  
> +#if HAVE_YASM
>  static void synth_filter_sse2(FFTContext *imdct,
>                                float *synth_buf_ptr, int *synth_buf_offset,
>                                float synth_buf2[32], const float window[512],
> @@ -74,12 +75,15 @@ static void synth_filter_sse2(FFTContext *imdct,
>  
>      *synth_buf_offset = (*synth_buf_offset - 32) & 511;
>  }
> +#endif /* HAVE_YASM */
>  
>  av_cold void ff_synth_filter_init_x86(SynthFilterContext *s)
>  {
> +#if HAVE_YASM
>      int cpu_flags = av_get_cpu_flags();
>  
>      if (EXTERNAL_SSE2(cpu_flags)) {
>          s->synth_filter_float = synth_filter_sse2;
>      }
> +#endif /* HAVE_YASM */
>  }

patch ok

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to