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