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, |