[x265] [PATCH] pixel-sse41.cpp: Modified sse_ss24 function using faster macro PROCESS_SSE_SS4x1

dnyaneshwar at multicorewareinc.com dnyaneshwar at multicorewareinc.com
Tue Oct 15 11:10:41 CEST 2013


# HG changeset patch
# User Dnyaneshwar Gorade <dnyaneshwar at multicorewareinc.com>
# Date 1381828099 -19800
#      Tue Oct 15 14:38:19 2013 +0530
# Node ID a6d46f31e27d880e292030f518e9b72d946e2c51
# Parent  d5097713f8c141547afc3f5813de4f064d8b1926
pixel-sse41.cpp: Modified sse_ss24 function using faster macro PROCESS_SSE_SS4x1.

diff -r d5097713f8c1 -r a6d46f31e27d source/common/vec/pixel-sse41.cpp
--- a/source/common/vec/pixel-sse41.cpp	Tue Oct 15 14:37:03 2013 +0530
+++ b/source/common/vec/pixel-sse41.cpp	Tue Oct 15 14:38:19 2013 +0530
@@ -5443,7 +5443,7 @@
 {
     int rows = ly;
     __m128i sum  = _mm_setzero_si128();
-    __m128i m1, n1, diff, sign1, sign2, tmp1, tmp2;
+    __m128i m1, n1, diff, sign, tmp1, tmp2;
 
     for (; rows != 0; rows--)
     {
@@ -5451,8 +5451,10 @@
         {
             PROCESS_SSE_SS4x1(i);
 
-            m1 = _mm_unpackhi_epi16(m1, sign1);
-            n1 = _mm_unpackhi_epi16(n1, sign2);
+            sign = _mm_srai_epi16(m1, 15);
+            m1 = _mm_unpackhi_epi16(m1, sign);
+            sign = _mm_srai_epi16(n1, 15);
+            n1 = _mm_unpackhi_epi16(n1, sign);
             diff = _mm_sub_epi32(m1, n1);
             diff = _mm_mullo_epi32(diff, diff);
             sum = _mm_add_epi32(sum, diff);


More information about the x265-devel mailing list