diff --git a/README.chromium b/README.chromium index 314e02fff..784603565 100644 --- a/README.chromium +++ b/README.chromium @@ -1,6 +1,6 @@ Name: libyuv URL: https://chromium.googlesource.com/libyuv/libyuv/ -Version: 1916 +Version: 1917 License: BSD-3-Clause License File: LICENSE Shipped: yes diff --git a/include/libyuv/version.h b/include/libyuv/version.h index 4815320fa..fa297e0be 100644 --- a/include/libyuv/version.h +++ b/include/libyuv/version.h @@ -11,6 +11,6 @@ #ifndef INCLUDE_LIBYUV_VERSION_H_ #define INCLUDE_LIBYUV_VERSION_H_ -#define LIBYUV_VERSION 1916 +#define LIBYUV_VERSION 1917 #endif // INCLUDE_LIBYUV_VERSION_H_ diff --git a/source/row_gcc.cc b/source/row_gcc.cc index df0db47f1..1fcc47252 100644 --- a/source/row_gcc.cc +++ b/source/row_gcc.cc @@ -1744,8 +1744,16 @@ void ARGBToUVMatrixRow_SSSE3(const uint8_t* src_argb, asm volatile( "pcmpeqb %%xmm4,%%xmm4 \n" // 0x0101 "pabsb %%xmm4,%%xmm4 \n" - "movdqa %5,%%xmm6 \n" // ARGB to U - "movdqa %6,%%xmm7 \n" // ARGB to V + "movdqa %0,%%xmm6 \n" // ARGB to U + "movdqa %1,%%xmm7 \n" // ARGB to V + : + : + "m"(rgbuvconstants->kRGBToU), // %0 + "m"(rgbuvconstants->kRGBToV) // %1 + : "memory", "cc"); + + asm volatile( + "sub %1,%2 \n" LABELALIGN @@ -1786,7 +1794,7 @@ void ARGBToUVMatrixRow_SSSE3(const uint8_t* src_argb, "pmaddubsw %%xmm7,%%xmm1 \n" // v "phaddw %%xmm1,%%xmm0 \n" // uuuuvvvv - "movdqa %7,%%xmm2 \n" // 0x8000 + "movdqa %5,%%xmm2 \n" // 0x8000 "psubw %%xmm0,%%xmm2 \n" // unsigned 0 to 0xffff "psrlw $0x8,%%xmm2 \n" "packuswb %%xmm2,%%xmm2 \n" @@ -1807,9 +1815,7 @@ void ARGBToUVMatrixRow_SSSE3(const uint8_t* src_argb, "+rm"(width) // %3 #endif : "r"((intptr_t)(src_stride_argb)), // %4 - "m"(rgbuvconstants->kRGBToU), // %5 - "m"(rgbuvconstants->kRGBToV), // %6 - "m"(kAddUV128) // %7 + "m"(kAddUV128) // %5 : "memory", "cc", "xmm0", "xmm1", "xmm2", "xmm3", "xmm4", "xmm5", "xmm6", "xmm7");