arm: Check for have_vfp_vm instead of !have_vfpv3 for float_dsp_vfp
[ffmpeg.git] / libavutil / arm / float_dsp_init_vfp.c
index 30a9ce4..79ba6ec 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#include "libavutil/arm/cpu.h"
+#include "libavutil/attributes.h"
 #include "libavutil/float_dsp.h"
+#include "cpu.h"
 #include "float_dsp_arm.h"
 
 void ff_vector_fmul_vfp(float *dst, const float *src0, const float *src1,
                         int len);
 
-void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp)
-{
-    int cpu_flags = av_get_cpu_flags();
+void ff_vector_fmul_window_vfp(float *dst, const float *src0,
+                               const float *src1, const float *win, int len);
+
+void ff_vector_fmul_reverse_vfp(float *dst, const float *src0,
+                                const float *src1, int len);
 
-    if (!have_vfpv3(cpu_flags))
+void ff_butterflies_float_vfp(float *restrict v1, float *restrict v2, int len);
+
+av_cold void ff_float_dsp_init_vfp(AVFloatDSPContext *fdsp, int cpu_flags)
+{
+    if (have_vfp_vm(cpu_flags)) {
         fdsp->vector_fmul = ff_vector_fmul_vfp;
+        fdsp->vector_fmul_window = ff_vector_fmul_window_vfp;
+    }
+    fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_vfp;
+    if (have_vfp_vm(cpu_flags))
+        fdsp->butterflies_float = ff_butterflies_float_vfp;
 }