From be11f500f0e4da0e5859c8cb4a50b9a154e25307 Mon Sep 17 00:00:00 2001 From: Frank Barchard Date: Fri, 28 Aug 2015 12:00:49 -0700 Subject: [PATCH] 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. --- README.chromium | 2 +- include/libyuv/version.h | 2 +- source/row_win.cc | 15 +++++++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/README.chromium b/README.chromium index 6446aa1a9..fdd0defde 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: http://code.google.com/p/libyuv/ -Version: 1474 +Version: 1475 License: BSD License File: LICENSE diff --git a/include/libyuv/version.h b/include/libyuv/version.h index adf5d242b..9ebb4091e 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -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 diff --git a/source/row_win.cc b/source/row_win.cc index 50cd2f874..da28fc818 100644 --- a/source/row_win.cc +++ b/source/row_win.cc @@ -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