---
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