From 68712ce8201b590192eb5fdda8e0a9d202f1feca Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <michaelni@gmx.at>
Date: Sat, 7 Jul 2012 20:52:34 +0200
Subject: [PATCH] swr/x86: 16bit integer mix functions need SSE2 not SSE

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
---
 libswresample/x86/rematrix.asm     | 2 ++
 libswresample/x86/swresample_x86.c | 8 ++++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/libswresample/x86/rematrix.asm b/libswresample/x86/rematrix.asm
index ee50e20fa61..a11872face0 100644
--- a/libswresample/x86/rematrix.asm
+++ b/libswresample/x86/rematrix.asm
@@ -236,6 +236,8 @@ MIX2_FLT u
 MIX2_FLT a
 MIX1_FLT u
 MIX1_FLT a
+
+INIT_XMM sse2
 MIX1_INT16 u
 MIX1_INT16 a
 MIX2_INT16 u
diff --git a/libswresample/x86/swresample_x86.c b/libswresample/x86/swresample_x86.c
index 71806c12bf9..74e05e6c06c 100644
--- a/libswresample/x86/swresample_x86.c
+++ b/libswresample/x86/swresample_x86.c
@@ -146,7 +146,7 @@ mix_2_1_func_type ff_mix_2_1_a_## type ## _ ## simd;
 D(float, sse)
 D(float, avx)
 D(int16, mmx)
-D(int16, sse)
+D(int16, sse2)
 
 
 void swri_rematrix_init_x86(struct SwrContext *s){
@@ -164,9 +164,9 @@ void swri_rematrix_init_x86(struct SwrContext *s){
             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_SSE) {
-            s->mix_1_1_simd = ff_mix_1_1_a_int16_sse;
-            s->mix_2_1_simd = ff_mix_2_1_a_int16_sse;
+        if(mm_flags & AV_CPU_FLAG_SSE2) {
+            s->mix_1_1_simd = ff_mix_1_1_a_int16_sse2;
+            s->mix_2_1_simd = ff_mix_2_1_a_int16_sse2;
         }
         s->native_simd_matrix = av_mallocz(2 * num * sizeof(int16_t));
         for(i=0; i<nb_out; i++){
-- 
GitLab