aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2013-08-23 19:39:21 +0200
committerDiego Biurrun <diego@biurrun.de>2013-08-29 11:24:14 +0200
commit7ffda66fd5c81af4725bff7c2c4f207ba2aa0613 (patch)
tree80b2c9f3ce1633fa0f6919e1a0a08137978d8fea
parentbd549cbaacd33dfb7be81d0619c9b107b8a85be7 (diff)
downloadffmpeg-7ffda66fd5c81af4725bff7c2c4f207ba2aa0613.tar.gz
arm: float_dsp: Propagate cpu_flags to vfp initialization function
-rw-r--r--libavutil/arm/float_dsp_arm.h2
-rw-r--r--libavutil/arm/float_dsp_init_arm.c2
-rw-r--r--libavutil/arm/float_dsp_init_vfp.c4
3 files changed, 3 insertions, 5 deletions
diff --git a/libavutil/arm/float_dsp_arm.h b/libavutil/arm/float_dsp_arm.h
index 81fad3ef2f..ec925ecf5c 100644
--- a/libavutil/arm/float_dsp_arm.h
+++ b/libavutil/arm/float_dsp_arm.h
@@ -23,7 +23,7 @@
#include "libavutil/float_dsp.h"
-void ff_float_dsp_init_vfp (AVFloatDSPContext *fdsp);
+void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags);
void ff_float_dsp_init_neon(AVFloatDSPContext *fdsp);
#endif /* AVUTIL_ARM_FLOAT_DSP_ARM_H */
diff --git a/libavutil/arm/float_dsp_init_arm.c b/libavutil/arm/float_dsp_init_arm.c
index e45969e2eb..39a5e9590f 100644
--- a/libavutil/arm/float_dsp_init_arm.c
+++ b/libavutil/arm/float_dsp_init_arm.c
@@ -28,7 +28,7 @@ av_cold void ff_float_dsp_init_arm(AVFloatDSPContext *fdsp)
int cpu_flags = av_get_cpu_flags();
if (have_vfp(cpu_flags))
- ff_float_dsp_init_vfp(fdsp);
+ ff_float_dsp_init_vfp(fdsp, cpu_flags);
if (have_neon(cpu_flags))
ff_float_dsp_init_neon(fdsp);
}
diff --git a/libavutil/arm/float_dsp_init_vfp.c b/libavutil/arm/float_dsp_init_vfp.c
index b6a226a4dd..31cb6aea60 100644
--- a/libavutil/arm/float_dsp_init_vfp.c
+++ b/libavutil/arm/float_dsp_init_vfp.c
@@ -29,10 +29,8 @@ void ff_vector_fmul_vfp(float *dst, const float *src0, const float *src1,
void ff_vector_fmul_reverse_vfp(float *dst, const float *src0,
const float *src1, int len);
-av_cold void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp)
+av_cold void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags)
{
- int cpu_flags = av_get_cpu_flags();
-
if (!have_vfpv3(cpu_flags))
fdsp->vector_fmul = ff_vector_fmul_vfp;
fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_vfp;