Use ebp to point to conversion table.

Proof of concept that conversions can table color matrix as a parameter.

R=harryjin@google.com

BUG=libyuv:472, libyuv:488

Review URL: https://webrtc-codereview.appspot.com/58489004.
This commit is contained in:
Frank Barchard 2015-08-28 12:00:49 -07:00
parent 3c4f5735ce
commit be11f500f0
3 changed files with 11 additions and 8 deletions

View File

@ -1,6 +1,6 @@
Name: libyuv
URL: http://code.google.com/p/libyuv/
Version: 1474
Version: 1475
License: BSD
License File: LICENSE

View File

@ -11,6 +11,6 @@
#ifndef INCLUDE_LIBYUV_VERSION_H_ // NOLINT
#define INCLUDE_LIBYUV_VERSION_H_
#define LIBYUV_VERSION 1474
#define LIBYUV_VERSION 1475
#endif // INCLUDE_LIBYUV_VERSION_H_ NOLINT

View File

@ -2701,22 +2701,25 @@ void I422ToARGBRow_SSSE3(const uint8* y_buf,
__asm {
push esi
push edi
mov eax, [esp + 8 + 4] // Y
mov esi, [esp + 8 + 8] // U
mov edi, [esp + 8 + 12] // V
mov edx, [esp + 8 + 16] // argb
mov ecx, [esp + 8 + 20] // width
push ebp
mov eax, [esp + 12 + 4] // Y
mov esi, [esp + 12 + 8] // U
mov edi, [esp + 12 + 12] // V
mov edx, [esp + 12 + 16] // argb
mov ecx, [esp + 12 + 20] // width
lea ebp, kYuvConstants
sub edi, esi
pcmpeqb xmm5, xmm5 // generate 0xffffffff for alpha
convertloop:
READYUV422
YUVTORGB(kYuvConstants)
YUVTORGB(ebp)
STOREARGB
sub ecx, 8
jg convertloop
pop ebp
pop edi
pop esi
ret