summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-05-27 20:18:26 +0100
committerMans Rullgard <mans@mansr.com>2011-05-27 20:33:06 +0100
commit79aeade6f6f8fbd7ce1da619fdd475e5db88ae24 (patch)
tree54b36add1fbc2463a51e9b3fa187e7d55570b046
parent93eb8e4d7c6654040fd160396546c547cdf51043 (diff)
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 <mans@mansr.com>
-rw-r--r--libavcodec/arm/dsputil_init_vfp.c3
1 files changed, 2 insertions, 1 deletions
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;
}