---
 libavcodec/arm/rv34dsp_init_neon.c | 5 +++++
 libavcodec/arm/rv40dsp_init_neon.c | 5 +++++
 2 files changed, 10 insertions(+)

diff --git a/libavcodec/arm/rv34dsp_init_neon.c 
b/libavcodec/arm/rv34dsp_init_neon.c
index b4a2f01..3abc2c6 100644
--- a/libavcodec/arm/rv34dsp_init_neon.c
+++ b/libavcodec/arm/rv34dsp_init_neon.c
@@ -22,6 +22,7 @@
 
 #include "libavcodec/avcodec.h"
 #include "libavcodec/rv34dsp.h"
+#include "libavutil/arm/cpu.h"
 
 void ff_rv34_inv_transform_noround_neon(DCTELEM *block);
 
@@ -32,9 +33,13 @@ void ff_rv34_idct_dc_add_neon(uint8_t *dst, ptrdiff_t 
stride, int dc);
 
 void ff_rv34dsp_init_neon(RV34DSPContext *c, DSPContext* dsp)
 {
+    int cpu_flags = av_get_cpu_flags();
+
+    if (have_neon(cpu_flags)) {
     c->rv34_inv_transform    = ff_rv34_inv_transform_noround_neon;
     c->rv34_inv_transform_dc = ff_rv34_inv_transform_noround_dc_neon;
 
     c->rv34_idct_add    = ff_rv34_idct_add_neon;
     c->rv34_idct_dc_add = ff_rv34_idct_dc_add_neon;
+    }
 }
diff --git a/libavcodec/arm/rv40dsp_init_neon.c 
b/libavcodec/arm/rv40dsp_init_neon.c
index 2ce50a2..1bdfd58 100644
--- a/libavcodec/arm/rv40dsp_init_neon.c
+++ b/libavcodec/arm/rv40dsp_init_neon.c
@@ -22,6 +22,7 @@
 
 #include "libavcodec/avcodec.h"
 #include "libavcodec/rv34dsp.h"
+#include "libavutil/arm/cpu.h"
 
 #define DECL_QPEL3(type, w, pos) \
     void ff_##type##_rv40_qpel##w##_mc##pos##_neon(uint8_t *dst, uint8_t *src,\
@@ -70,6 +71,9 @@ void ff_rv40_v_weak_loop_filter_neon(uint8_t *src, ptrdiff_t 
stride, int filter_
 
 void ff_rv40dsp_init_neon(RV34DSPContext *c, DSPContext* dsp)
 {
+    int cpu_flags = av_get_cpu_flags();
+
+    if (have_neon(cpu_flags)) {
     c->put_pixels_tab[0][ 1] = ff_put_rv40_qpel16_mc10_neon;
     c->put_pixels_tab[0][ 3] = ff_put_rv40_qpel16_mc30_neon;
     c->put_pixels_tab[0][ 4] = ff_put_rv40_qpel16_mc01_neon;
@@ -135,4 +139,5 @@ void ff_rv40dsp_init_neon(RV34DSPContext *c, DSPContext* 
dsp)
     c->rv40_loop_filter_strength[1] = ff_rv40_v_loop_filter_strength_neon;
     c->rv40_weak_loop_filter[0]     = ff_rv40_h_weak_loop_filter_neon;
     c->rv40_weak_loop_filter[1]     = ff_rv40_v_weak_loop_filter_neon;
+    }
 }
-- 
1.7.12.2

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to