[x265] [PATCH] pixel-sse41.cpp: Modified sse_ss64 function using faster macro PROCESS_SSE_SS4x1
dnyaneshwar at multicorewareinc.com
dnyaneshwar at multicorewareinc.com
Tue Oct 15 11:15:19 CEST 2013
# HG changeset patch
# User Dnyaneshwar Gorade <dnyaneshwar at multicorewareinc.com>
# Date 1381828501 -19800
# Tue Oct 15 14:45:01 2013 +0530
# Node ID 13bcc12936c23d4568cafe6e8885e2704e4162dc
# Parent 34a3562cf6a8c786ec223f8adc90db8ff7890aa0
pixel-sse41.cpp: Modified sse_ss64 function using faster macro PROCESS_SSE_SS4x1.
diff -r 34a3562cf6a8 -r 13bcc12936c2 source/common/vec/pixel-sse41.cpp
--- a/source/common/vec/pixel-sse41.cpp Tue Oct 15 14:43:24 2013 +0530
+++ b/source/common/vec/pixel-sse41.cpp Tue Oct 15 14:45:01 2013 +0530
@@ -5527,7 +5527,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--)
{
@@ -5535,8 +5535,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