| Index: include/libyuv/row.h
|
| diff --git a/include/libyuv/row.h b/include/libyuv/row.h
|
| index 16394da02cec9a0e973cbd62ee8c0ce39d7b8f44..e847a728c2a1e19a030deb30abf412845ae8124a 100644
|
| --- a/include/libyuv/row.h
|
| +++ b/include/libyuv/row.h
|
| @@ -393,6 +393,12 @@ extern "C" {
|
| #define HAS_ARGBMULTIPLYROW_MSA
|
| #define HAS_ARGBADDROW_MSA
|
| #define HAS_ARGBSUBTRACTROW_MSA
|
| +#define HAS_ARGBATTENUATEROW_MSA
|
| +#define HAS_ARGBTORGB565DITHERROW_MSA
|
| +#define HAS_ARGBSHUFFLEROW_MSA
|
| +#define HAS_ARGBSHADEROW_MSA
|
| +#define HAS_ARGBGRAYROW_MSA
|
| +#define HAS_ARGBSEPIAROW_MSA
|
| #endif
|
|
|
| #if defined(_MSC_VER) && !defined(__CLR_VER) && !defined(__clang__)
|
| @@ -1192,6 +1198,10 @@ void ARGBShuffleRow_NEON(const uint8* src_argb,
|
| uint8* dst_argb,
|
| const uint8* shuffler,
|
| int width);
|
| +void ARGBShuffleRow_MSA(const uint8* src_argb,
|
| + uint8* dst_argb,
|
| + const uint8* shuffler,
|
| + int width);
|
| void ARGBShuffleRow_Any_SSE2(const uint8* src_argb,
|
| uint8* dst_argb,
|
| const uint8* shuffler,
|
| @@ -1208,6 +1218,10 @@ void ARGBShuffleRow_Any_NEON(const uint8* src_argb,
|
| uint8* dst_argb,
|
| const uint8* shuffler,
|
| int width);
|
| +void ARGBShuffleRow_Any_MSA(const uint8* src_argb,
|
| + uint8* dst_argb,
|
| + const uint8* shuffler,
|
| + int width);
|
|
|
| void RGB24ToARGBRow_SSSE3(const uint8* src_rgb24, uint8* dst_argb, int width);
|
| void RAWToARGBRow_SSSE3(const uint8* src_raw, uint8* dst_argb, int width);
|
| @@ -1326,6 +1340,10 @@ void ARGBToRAWRow_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
|
| void ARGBToRGB565Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
|
| void ARGBToARGB1555Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
|
| void ARGBToARGB4444Row_MSA(const uint8* src_argb, uint8* dst_rgb, int width);
|
| +void ARGBToRGB565DitherRow_MSA(const uint8* src_argb,
|
| + uint8* dst_rgb,
|
| + const uint32 dither4,
|
| + int width);
|
|
|
| void ARGBToRGBARow_C(const uint8* src_argb, uint8* dst_rgb, int width);
|
| void ARGBToRGB24Row_C(const uint8* src_argb, uint8* dst_rgb, int width);
|
| @@ -1947,6 +1965,10 @@ void ARGBToARGB1555Row_Any_MSA(const uint8* src_argb,
|
| void ARGBToARGB4444Row_Any_MSA(const uint8* src_argb,
|
| uint8* dst_rgb,
|
| int width);
|
| +void ARGBToRGB565DitherRow_Any_MSA(const uint8* src_argb,
|
| + uint8* dst_rgb,
|
| + const uint32 dither4,
|
| + int width);
|
|
|
| void I444ToARGBRow_Any_NEON(const uint8* src_y,
|
| const uint8* src_u,
|
| @@ -2344,6 +2366,7 @@ void ARGBAttenuateRow_C(const uint8* src_argb, uint8* dst_argb, int width);
|
| void ARGBAttenuateRow_SSSE3(const uint8* src_argb, uint8* dst_argb, int width);
|
| void ARGBAttenuateRow_AVX2(const uint8* src_argb, uint8* dst_argb, int width);
|
| void ARGBAttenuateRow_NEON(const uint8* src_argb, uint8* dst_argb, int width);
|
| +void ARGBAttenuateRow_MSA(const uint8* src_argb, uint8* dst_argb, int width);
|
| void ARGBAttenuateRow_Any_SSE2(const uint8* src_argb,
|
| uint8* dst_argb,
|
| int width);
|
| @@ -2356,6 +2379,9 @@ void ARGBAttenuateRow_Any_AVX2(const uint8* src_argb,
|
| void ARGBAttenuateRow_Any_NEON(const uint8* src_argb,
|
| uint8* dst_argb,
|
| int width);
|
| +void ARGBAttenuateRow_Any_MSA(const uint8* src_argb,
|
| + uint8* dst_argb,
|
| + int width);
|
|
|
| // Inverse table for unattenuate, shared by C and SSE2.
|
| extern const uint32 fixed_invtbl8[256];
|
| @@ -2372,10 +2398,12 @@ void ARGBUnattenuateRow_Any_AVX2(const uint8* src_argb,
|
| void ARGBGrayRow_C(const uint8* src_argb, uint8* dst_argb, int width);
|
| void ARGBGrayRow_SSSE3(const uint8* src_argb, uint8* dst_argb, int width);
|
| void ARGBGrayRow_NEON(const uint8* src_argb, uint8* dst_argb, int width);
|
| +void ARGBGrayRow_MSA(const uint8* src_argb, uint8* dst_argb, int width);
|
|
|
| void ARGBSepiaRow_C(uint8* dst_argb, int width);
|
| void ARGBSepiaRow_SSSE3(uint8* dst_argb, int width);
|
| void ARGBSepiaRow_NEON(uint8* dst_argb, int width);
|
| +void ARGBSepiaRow_MSA(uint8* dst_argb, int width);
|
|
|
| void ARGBColorMatrixRow_C(const uint8* src_argb,
|
| uint8* dst_argb,
|
| @@ -2424,6 +2452,10 @@ void ARGBShadeRow_NEON(const uint8* src_argb,
|
| uint8* dst_argb,
|
| int width,
|
| uint32 value);
|
| +void ARGBShadeRow_MSA(const uint8* src_argb,
|
| + uint8* dst_argb,
|
| + int width,
|
| + uint32 value);
|
|
|
| // Used for blur.
|
| void CumulativeSumToAverageRow_SSE2(const int32* topleft,
|
|
|