| Index: third_party/libwebp/dsp/yuv_mips32.c
|
| diff --git a/third_party/libwebp/dsp/yuv_mips32.c b/third_party/libwebp/dsp/yuv_mips32.c
|
| index b8fe512f1feae70bc654e85e77a1454e494ac13b..e61aac571fff10c025158b858ba01d96ee654357 100644
|
| --- a/third_party/libwebp/dsp/yuv_mips32.c
|
| +++ b/third_party/libwebp/dsp/yuv_mips32.c
|
| @@ -14,8 +14,7 @@
|
|
|
| #include "./dsp.h"
|
|
|
| -// Code is disabled for now, in favor of the plain-C version
|
| -#if 0 // defined(WEBP_USE_MIPS32)
|
| +#if defined(WEBP_USE_MIPS32)
|
|
|
| #include "./yuv.h"
|
|
|
| @@ -29,19 +28,19 @@ static void FUNC_NAME(const uint8_t* y, \
|
| int i, r, g, b; \
|
| int temp0, temp1, temp2, temp3, temp4; \
|
| for (i = 0; i < (len >> 1); i++) { \
|
| - temp1 = kVToR * v[0]; \
|
| - temp3 = kVToG * v[0]; \
|
| - temp2 = kUToG * u[0]; \
|
| - temp4 = kUToB * u[0]; \
|
| - temp0 = kYScale * y[0]; \
|
| - temp1 += kRCst; \
|
| - temp3 -= kGCst; \
|
| + temp1 = MultHi(v[0], 26149); \
|
| + temp3 = MultHi(v[0], 13320); \
|
| + temp2 = MultHi(u[0], 6419); \
|
| + temp4 = MultHi(u[0], 33050); \
|
| + temp0 = MultHi(y[0], 19077); \
|
| + temp1 -= 14234; \
|
| + temp3 -= 8708; \
|
| temp2 += temp3; \
|
| - temp4 += kBCst; \
|
| + temp4 -= 17685; \
|
| r = VP8Clip8(temp0 + temp1); \
|
| g = VP8Clip8(temp0 - temp2); \
|
| b = VP8Clip8(temp0 + temp4); \
|
| - temp0 = kYScale * y[1]; \
|
| + temp0 = MultHi(y[1], 19077); \
|
| dst[R] = r; \
|
| dst[G] = g; \
|
| dst[B] = b; \
|
| @@ -59,15 +58,15 @@ static void FUNC_NAME(const uint8_t* y, \
|
| dst += 2 * XSTEP; \
|
| } \
|
| if (len & 1) { \
|
| - temp1 = kVToR * v[0]; \
|
| - temp3 = kVToG * v[0]; \
|
| - temp2 = kUToG * u[0]; \
|
| - temp4 = kUToB * u[0]; \
|
| - temp0 = kYScale * y[0]; \
|
| - temp1 += kRCst; \
|
| - temp3 -= kGCst; \
|
| + temp1 = MultHi(v[0], 26149); \
|
| + temp3 = MultHi(v[0], 13320); \
|
| + temp2 = MultHi(u[0], 6419); \
|
| + temp4 = MultHi(u[0], 33050); \
|
| + temp0 = MultHi(y[0], 19077); \
|
| + temp1 -= 14234; \
|
| + temp3 -= 8708; \
|
| temp2 += temp3; \
|
| - temp4 += kBCst; \
|
| + temp4 -= 17685; \
|
| r = VP8Clip8(temp0 + temp1); \
|
| g = VP8Clip8(temp0 - temp2); \
|
| b = VP8Clip8(temp0 + temp4); \
|
|
|