mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-02-16 07:09:53 +08:00
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
This commit is contained in:
parent
408e574366
commit
d8b73cacbe
@ -1,6 +1,6 @@
|
|||||||
Name: libyuv
|
Name: libyuv
|
||||||
URL: http://code.google.com/p/libyuv/
|
URL: http://code.google.com/p/libyuv/
|
||||||
Version: 573
|
Version: 574
|
||||||
License: BSD
|
License: BSD
|
||||||
License File: LICENSE
|
License File: LICENSE
|
||||||
|
|
||||||
|
|||||||
@ -11,6 +11,6 @@
|
|||||||
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
|
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
|
||||||
#define INCLUDE_LIBYUV_VERSION_H_
|
#define INCLUDE_LIBYUV_VERSION_H_
|
||||||
|
|
||||||
#define LIBYUV_VERSION 573
|
#define LIBYUV_VERSION 574
|
||||||
|
|
||||||
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT
|
#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"
|
"pmaddubsw %%xmm4,%%xmm6 \n"
|
||||||
"phaddw %%xmm1,%%xmm0 \n"
|
"phaddw %%xmm1,%%xmm0 \n"
|
||||||
"phaddw %%xmm6,%%xmm2 \n"
|
"phaddw %%xmm6,%%xmm2 \n"
|
||||||
"psrlw $0x8,%%xmm0 \n"
|
"psraw $0x8,%%xmm0 \n"
|
||||||
"psrlw $0x8,%%xmm2 \n"
|
"psraw $0x8,%%xmm2 \n"
|
||||||
"packuswb %%xmm2,%%xmm0 \n"
|
"packsswb %%xmm2,%%xmm0 \n"
|
||||||
"paddb %%xmm5,%%xmm0 \n"
|
"paddb %%xmm5,%%xmm0 \n"
|
||||||
"sub $0x10,%3 \n"
|
"sub $0x10,%3 \n"
|
||||||
"movdqa %%xmm0,(%1) \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"
|
"pmaddubsw %%xmm3,%%xmm6 \n"
|
||||||
"phaddw %%xmm1,%%xmm0 \n"
|
"phaddw %%xmm1,%%xmm0 \n"
|
||||||
"phaddw %%xmm6,%%xmm2 \n"
|
"phaddw %%xmm6,%%xmm2 \n"
|
||||||
"psrlw $0x8,%%xmm0 \n"
|
"psraw $0x8,%%xmm0 \n"
|
||||||
"psrlw $0x8,%%xmm2 \n"
|
"psraw $0x8,%%xmm2 \n"
|
||||||
"packuswb %%xmm2,%%xmm0 \n"
|
"packsswb %%xmm2,%%xmm0 \n"
|
||||||
"paddb %%xmm5,%%xmm0 \n"
|
"paddb %%xmm5,%%xmm0 \n"
|
||||||
"lea 0x40(%0),%0 \n"
|
"lea 0x40(%0),%0 \n"
|
||||||
"movdqa %%xmm0,(%1,%2,1) \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"
|
"pmaddubsw %%xmm4,%%xmm6 \n"
|
||||||
"phaddw %%xmm1,%%xmm0 \n"
|
"phaddw %%xmm1,%%xmm0 \n"
|
||||||
"phaddw %%xmm6,%%xmm2 \n"
|
"phaddw %%xmm6,%%xmm2 \n"
|
||||||
"psrlw $0x8,%%xmm0 \n"
|
"psraw $0x8,%%xmm0 \n"
|
||||||
"psrlw $0x8,%%xmm2 \n"
|
"psraw $0x8,%%xmm2 \n"
|
||||||
"packuswb %%xmm2,%%xmm0 \n"
|
"packsswb %%xmm2,%%xmm0 \n"
|
||||||
"paddb %%xmm5,%%xmm0 \n"
|
"paddb %%xmm5,%%xmm0 \n"
|
||||||
"sub $0x10,%3 \n"
|
"sub $0x10,%3 \n"
|
||||||
"movdqu %%xmm0,(%1) \n"
|
"movdqu %%xmm0,(%1) \n"
|
||||||
@ -1027,9 +1027,9 @@ void ARGBToUV444Row_Unaligned_SSSE3(const uint8* src_argb, uint8* dst_u,
|
|||||||
"pmaddubsw %%xmm3,%%xmm6 \n"
|
"pmaddubsw %%xmm3,%%xmm6 \n"
|
||||||
"phaddw %%xmm1,%%xmm0 \n"
|
"phaddw %%xmm1,%%xmm0 \n"
|
||||||
"phaddw %%xmm6,%%xmm2 \n"
|
"phaddw %%xmm6,%%xmm2 \n"
|
||||||
"psrlw $0x8,%%xmm0 \n"
|
"psraw $0x8,%%xmm0 \n"
|
||||||
"psrlw $0x8,%%xmm2 \n"
|
"psraw $0x8,%%xmm2 \n"
|
||||||
"packuswb %%xmm2,%%xmm0 \n"
|
"packsswb %%xmm2,%%xmm0 \n"
|
||||||
"paddb %%xmm5,%%xmm0 \n"
|
"paddb %%xmm5,%%xmm0 \n"
|
||||||
"lea 0x40(%0),%0 \n"
|
"lea 0x40(%0),%0 \n"
|
||||||
"movdqu %%xmm0,(%1,%2,1) \n"
|
"movdqu %%xmm0,(%1,%2,1) \n"
|
||||||
|
|||||||
@ -1271,9 +1271,9 @@ void ARGBToUV444Row_SSSE3(const uint8* src_argb0,
|
|||||||
pmaddubsw xmm3, xmm7
|
pmaddubsw xmm3, xmm7
|
||||||
phaddw xmm0, xmm1
|
phaddw xmm0, xmm1
|
||||||
phaddw xmm2, xmm3
|
phaddw xmm2, xmm3
|
||||||
psrlw xmm0, 8
|
psraw xmm0, 8
|
||||||
psrlw xmm2, 8
|
psraw xmm2, 8
|
||||||
packuswb xmm0, xmm2
|
packsswb xmm0, xmm2
|
||||||
paddb xmm0, xmm5
|
paddb xmm0, xmm5
|
||||||
sub ecx, 16
|
sub ecx, 16
|
||||||
movdqa [edx], xmm0
|
movdqa [edx], xmm0
|
||||||
@ -1288,9 +1288,9 @@ void ARGBToUV444Row_SSSE3(const uint8* src_argb0,
|
|||||||
pmaddubsw xmm3, xmm6
|
pmaddubsw xmm3, xmm6
|
||||||
phaddw xmm0, xmm1
|
phaddw xmm0, xmm1
|
||||||
phaddw xmm2, xmm3
|
phaddw xmm2, xmm3
|
||||||
psrlw xmm0, 8
|
psraw xmm0, 8
|
||||||
psrlw xmm2, 8
|
psraw xmm2, 8
|
||||||
packuswb xmm0, xmm2
|
packsswb xmm0, xmm2
|
||||||
paddb xmm0, xmm5
|
paddb xmm0, xmm5
|
||||||
lea eax, [eax + 64]
|
lea eax, [eax + 64]
|
||||||
movdqa [edx + edi], xmm0
|
movdqa [edx + edi], xmm0
|
||||||
@ -1329,9 +1329,9 @@ void ARGBToUV444Row_Unaligned_SSSE3(const uint8* src_argb0,
|
|||||||
pmaddubsw xmm3, xmm7
|
pmaddubsw xmm3, xmm7
|
||||||
phaddw xmm0, xmm1
|
phaddw xmm0, xmm1
|
||||||
phaddw xmm2, xmm3
|
phaddw xmm2, xmm3
|
||||||
psrlw xmm0, 8
|
psraw xmm0, 8
|
||||||
psrlw xmm2, 8
|
psraw xmm2, 8
|
||||||
packuswb xmm0, xmm2
|
packsswb xmm0, xmm2
|
||||||
paddb xmm0, xmm5
|
paddb xmm0, xmm5
|
||||||
sub ecx, 16
|
sub ecx, 16
|
||||||
movdqu [edx], xmm0
|
movdqu [edx], xmm0
|
||||||
@ -1346,9 +1346,9 @@ void ARGBToUV444Row_Unaligned_SSSE3(const uint8* src_argb0,
|
|||||||
pmaddubsw xmm3, xmm6
|
pmaddubsw xmm3, xmm6
|
||||||
phaddw xmm0, xmm1
|
phaddw xmm0, xmm1
|
||||||
phaddw xmm2, xmm3
|
phaddw xmm2, xmm3
|
||||||
psrlw xmm0, 8
|
psraw xmm0, 8
|
||||||
psrlw xmm2, 8
|
psraw xmm2, 8
|
||||||
packuswb xmm0, xmm2
|
packsswb xmm0, xmm2
|
||||||
paddb xmm0, xmm5
|
paddb xmm0, xmm5
|
||||||
lea eax, [eax + 64]
|
lea eax, [eax + 64]
|
||||||
movdqu [edx + edi], xmm0
|
movdqu [edx + edi], xmm0
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user