From 79aeade6f6f8fbd7ce1da619fdd475e5db88ae24 Mon Sep 17 00:00:00 2001 From: Mans Rullgard Date: Fri, 27 May 2011 20:18:26 +0100 Subject: [PATCH] ARM: disable ff_vector_fmul_vfp on VFPv3 systems This function uses old-style vector operations deprecated in VFPv3. Some implementations, e.g. Cortex-A9, support them only through slow software emulation. Cortex-A8 does have this functionality in hardware, but as it also has NEON, this function is not used there regardless. Signed-off-by: Mans Rullgard --- libavcodec/arm/dsputil_init_vfp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/arm/dsputil_init_vfp.c b/libavcodec/arm/dsputil_init_vfp.c index 39289116ef..9cda890411 100644 --- a/libavcodec/arm/dsputil_init_vfp.c +++ b/libavcodec/arm/dsputil_init_vfp.c @@ -28,6 +28,7 @@ void ff_vector_fmul_reverse_vfp(float *dst, const float *src0, void ff_dsputil_init_vfp(DSPContext* c, AVCodecContext *avctx) { - c->vector_fmul = ff_vector_fmul_vfp; + if (!HAVE_VFPV3) + c->vector_fmul = ff_vector_fmul_vfp; c->vector_fmul_reverse = ff_vector_fmul_reverse_vfp; }