Commit d8b73cac authored by fbarchard@google.com's avatar fbarchard@google.com

fix ARGBToI444 UV code to use signed math

BUG=148
TESTED=out\release\libyuv_unittest --gtest_filter=*ARGBToI444_Opt
Review URL: https://webrtc-codereview.appspot.com/1105008

git-svn-id: http://libyuv.googlecode.com/svn/trunk@574 16f28f9a-4ce2-e073-06de-1de4eb20be90
parent 408e5743
Name: libyuv
URL: http://code.google.com/p/libyuv/
Version: 573
Version: 574
License: BSD
License File: LICENSE
......
......@@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 573
#define LIBYUV_VERSION 574
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
......@@ -950,9 +950,9 @@ void ARGBToUV444Row_SSSE3(const uint8* src_argb, uint8* dst_u, uint8* dst_v,
"pmaddubsw %%xmm4,%%xmm6 \n"
"phaddw %%xmm1,%%xmm0 \n"
"phaddw %%xmm6,%%xmm2 \n"
"psrlw $0x8,%%xmm0 \n"
"psrlw $0x8,%%xmm2 \n"
"packuswb %%xmm2,%%xmm0 \n"
"psraw $0x8,%%xmm0 \n"
"psraw $0x8,%%xmm2 \n"
"packsswb %%xmm2,%%xmm0 \n"
"paddb %%xmm5,%%xmm0 \n"
"sub $0x10,%3 \n"
"movdqa %%xmm0,(%1) \n"
......@@ -966,9 +966,9 @@ void ARGBToUV444Row_SSSE3(const uint8* src_argb, uint8* dst_u, uint8* dst_v,
"pmaddubsw %%xmm3,%%xmm6 \n"
"phaddw %%xmm1,%%xmm0 \n"
"phaddw %%xmm6,%%xmm2 \n"
"psrlw $0x8,%%xmm0 \n"
"psrlw $0x8,%%xmm2 \n"
"packuswb %%xmm2,%%xmm0 \n"
"psraw $0x8,%%xmm0 \n"
"psraw $0x8,%%xmm2 \n"
"packsswb %%xmm2,%%xmm0 \n"
"paddb %%xmm5,%%xmm0 \n"
"lea 0x40(%0),%0 \n"
"movdqa %%xmm0,(%1,%2,1) \n"
......@@ -1011,9 +1011,9 @@ void ARGBToUV444Row_Unaligned_SSSE3(const uint8* src_argb, uint8* dst_u,
"pmaddubsw %%xmm4,%%xmm6 \n"
"phaddw %%xmm1,%%xmm0 \n"
"phaddw %%xmm6,%%xmm2 \n"
"psrlw $0x8,%%xmm0 \n"
"psrlw $0x8,%%xmm2 \n"
"packuswb %%xmm2,%%xmm0 \n"
"psraw $0x8,%%xmm0 \n"
"psraw $0x8,%%xmm2 \n"
"packsswb %%xmm2,%%xmm0 \n"
"paddb %%xmm5,%%xmm0 \n"
"sub $0x10,%3 \n"
"movdqu %%xmm0,(%1) \n"
......@@ -1027,9 +1027,9 @@ void ARGBToUV444Row_Unaligned_SSSE3(const uint8* src_argb, uint8* dst_u,
"pmaddubsw %%xmm3,%%xmm6 \n"
"phaddw %%xmm1,%%xmm0 \n"
"phaddw %%xmm6,%%xmm2 \n"
"psrlw $0x8,%%xmm0 \n"
"psrlw $0x8,%%xmm2 \n"
"packuswb %%xmm2,%%xmm0 \n"
"psraw $0x8,%%xmm0 \n"
"psraw $0x8,%%xmm2 \n"
"packsswb %%xmm2,%%xmm0 \n"
"paddb %%xmm5,%%xmm0 \n"
"lea 0x40(%0),%0 \n"
"movdqu %%xmm0,(%1,%2,1) \n"
......
......@@ -1271,9 +1271,9 @@ void ARGBToUV444Row_SSSE3(const uint8* src_argb0,
pmaddubsw xmm3, xmm7
phaddw xmm0, xmm1
phaddw xmm2, xmm3
psrlw xmm0, 8
psrlw xmm2, 8
packuswb xmm0, xmm2
psraw xmm0, 8
psraw xmm2, 8
packsswb xmm0, xmm2
paddb xmm0, xmm5
sub ecx, 16
movdqa [edx], xmm0
......@@ -1288,9 +1288,9 @@ void ARGBToUV444Row_SSSE3(const uint8* src_argb0,
pmaddubsw xmm3, xmm6
phaddw xmm0, xmm1
phaddw xmm2, xmm3
psrlw xmm0, 8
psrlw xmm2, 8
packuswb xmm0, xmm2
psraw xmm0, 8
psraw xmm2, 8
packsswb xmm0, xmm2
paddb xmm0, xmm5
lea eax, [eax + 64]
movdqa [edx + edi], xmm0
......@@ -1329,9 +1329,9 @@ void ARGBToUV444Row_Unaligned_SSSE3(const uint8* src_argb0,
pmaddubsw xmm3, xmm7
phaddw xmm0, xmm1
phaddw xmm2, xmm3
psrlw xmm0, 8
psrlw xmm2, 8
packuswb xmm0, xmm2
psraw xmm0, 8
psraw xmm2, 8
packsswb xmm0, xmm2
paddb xmm0, xmm5
sub ecx, 16
movdqu [edx], xmm0
......@@ -1346,9 +1346,9 @@ void ARGBToUV444Row_Unaligned_SSSE3(const uint8* src_argb0,
pmaddubsw xmm3, xmm6
phaddw xmm0, xmm1
phaddw xmm2, xmm3
psrlw xmm0, 8
psrlw xmm2, 8
packuswb xmm0, xmm2
psraw xmm0, 8
psraw xmm2, 8
packsswb xmm0, xmm2
paddb xmm0, xmm5
lea eax, [eax + 64]
movdqu [edx + edi], xmm0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment