summaryrefslogtreecommitdiff
path: root/libswresample/x86/rematrix_init.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2014-07-02 22:16:50 -0300
committerMichael Niedermayer <michaelni@gmx.at>2014-07-04 02:12:16 +0200
commit9937362c54be085e75c90c55dad443329be59e69 (patch)
tree07d6a716575d989ab1bef4e1d062faf551a2e08a /libswresample/x86/rematrix_init.c
parent4c145b692c31802b6f1be248f56450e20331269b (diff)
x86/swr: use lavu helper macros to check CPU extensions
Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libswresample/x86/rematrix_init.c')
-rw-r--r--libswresample/x86/rematrix_init.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/libswresample/x86/rematrix_init.c b/libswresample/x86/rematrix_init.c
index 77a18a2829..e2ee29189f 100644
--- a/libswresample/x86/rematrix_init.c
+++ b/libswresample/x86/rematrix_init.c
@@ -18,6 +18,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include "libavutil/x86/cpu.h"
#include "libswresample/swresample_internal.h"
#define D(type, simd) \
@@ -30,6 +31,7 @@ D(int16, mmx)
D(int16, sse2)
av_cold void swri_rematrix_init_x86(struct SwrContext *s){
+#if HAVE_YASM
int mm_flags = av_get_cpu_flags();
int nb_in = av_get_channel_layout_nb_channels(s->in_ch_layout);
int nb_out = av_get_channel_layout_nb_channels(s->out_ch_layout);
@@ -40,11 +42,11 @@ av_cold void swri_rematrix_init_x86(struct SwrContext *s){
s->mix_2_1_simd = NULL;
if (s->midbuf.fmt == AV_SAMPLE_FMT_S16P){
- if(mm_flags & AV_CPU_FLAG_MMX) {
+ if(EXTERNAL_MMX(mm_flags)) {
s->mix_1_1_simd = ff_mix_1_1_a_int16_mmx;
s->mix_2_1_simd = ff_mix_2_1_a_int16_mmx;
}
- if(mm_flags & AV_CPU_FLAG_SSE2) {
+ if(EXTERNAL_SSE2(mm_flags)) {
s->mix_1_1_simd = ff_mix_1_1_a_int16_sse2;
s->mix_2_1_simd = ff_mix_2_1_a_int16_sse2;
}
@@ -64,11 +66,11 @@ av_cold void swri_rematrix_init_x86(struct SwrContext *s){
((int16_t*)s->native_simd_one)[1] = 14;
((int16_t*)s->native_simd_one)[0] = 16384;
} else if(s->midbuf.fmt == AV_SAMPLE_FMT_FLTP){
- if(mm_flags & AV_CPU_FLAG_SSE) {
+ if(EXTERNAL_SSE(mm_flags)) {
s->mix_1_1_simd = ff_mix_1_1_a_float_sse;
s->mix_2_1_simd = ff_mix_2_1_a_float_sse;
}
- if(HAVE_AVX_EXTERNAL && mm_flags & AV_CPU_FLAG_AVX) {
+ if(EXTERNAL_AVX(mm_flags)) {
s->mix_1_1_simd = ff_mix_1_1_a_float_avx;
s->mix_2_1_simd = ff_mix_2_1_a_float_avx;
}
@@ -77,4 +79,5 @@ av_cold void swri_rematrix_init_x86(struct SwrContext *s){
s->native_simd_one = av_mallocz(sizeof(float));
memcpy(s->native_simd_one, s->native_one, sizeof(float));
}
+#endif
}