| Index: include/libyuv/row.h
 | 
| diff --git a/include/libyuv/row.h b/include/libyuv/row.h
 | 
| index df11bca1632023972d80343a97a8608b4892e2a3..ef3efa5f36d6e012e92ebc7bc5b3976b4165f38a 100644
 | 
| --- a/include/libyuv/row.h
 | 
| +++ b/include/libyuv/row.h
 | 
| @@ -374,6 +374,9 @@ extern "C" {
 | 
|  #define HAS_YUY2TOUV422ROW_MSA
 | 
|  #define HAS_YUY2TOUVROW_MSA
 | 
|  #define HAS_YUY2TOYROW_MSA
 | 
| +#define HAS_ARGB4444TOARGBROW_MSA
 | 
| +#define HAS_ARGBTOYROW_MSA
 | 
| +#define HAS_ARGBTOUVROW_MSA
 | 
|  
 | 
|  #endif
 | 
|  
 | 
| @@ -657,10 +660,13 @@ void RGB24ToYRow_SSSE3(const uint8* src_rgb24, uint8* dst_y, int width);
 | 
|  void RAWToYRow_SSSE3(const uint8* src_raw, uint8* dst_y, int width);
 | 
|  void ARGBToYRow_NEON(const uint8* src_argb, uint8* dst_y, int width);
 | 
|  void ARGBToYJRow_NEON(const uint8* src_argb, uint8* dst_y, int width);
 | 
| +void ARGBToYRow_MSA(const uint8* src_argb, uint8* dst_y, int width);
 | 
|  void ARGBToUV444Row_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v,
 | 
|                           int width);
 | 
|  void ARGBToUVRow_NEON(const uint8* src_argb, int src_stride_argb,
 | 
|                        uint8* dst_u, uint8* dst_v, int width);
 | 
| +void ARGBToUVRow_MSA(const uint8* src_argb, int src_stride_argb,
 | 
| +                     uint8* dst_u, uint8* dst_v, int width);
 | 
|  void ARGBToUVJRow_NEON(const uint8* src_argb, int src_stride_argb,
 | 
|                         uint8* dst_u, uint8* dst_v, int width);
 | 
|  void BGRAToUVRow_NEON(const uint8* src_bgra, int src_stride_bgra,
 | 
| @@ -716,6 +722,7 @@ void ARGB1555ToYRow_Any_NEON(const uint8* src_argb1555, uint8* dst_y,
 | 
|                               int width);
 | 
|  void ARGB4444ToYRow_Any_NEON(const uint8* src_argb4444, uint8* dst_y,
 | 
|                               int width);
 | 
| +void ARGBToYRow_Any_MSA(const uint8* src_argb, uint8* dst_y, int width);
 | 
|  
 | 
|  void ARGBToUVRow_AVX2(const uint8* src_argb, int src_stride_argb,
 | 
|                        uint8* dst_u, uint8* dst_v, int width);
 | 
| @@ -749,6 +756,8 @@ void ARGBToUV444Row_Any_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v,
 | 
|                               int width);
 | 
|  void ARGBToUVRow_Any_NEON(const uint8* src_argb, int src_stride_argb,
 | 
|                            uint8* dst_u, uint8* dst_v, int width);
 | 
| +void ARGBToUVRow_Any_MSA(const uint8* src_argb, int src_stride_argb,
 | 
| +                         uint8* dst_u, uint8* dst_v, int width);
 | 
|  void ARGBToUVJRow_Any_NEON(const uint8* src_argb, int src_stride_argb,
 | 
|                             uint8* dst_u, uint8* dst_v, int width);
 | 
|  void BGRAToUVRow_Any_NEON(const uint8* src_bgra, int src_stride_bgra,
 | 
| @@ -954,6 +963,8 @@ void ARGB1555ToARGBRow_NEON(const uint8* src_argb1555, uint8* dst_argb,
 | 
|                              int width);
 | 
|  void ARGB4444ToARGBRow_NEON(const uint8* src_argb4444, uint8* dst_argb,
 | 
|                              int width);
 | 
| +void ARGB4444ToARGBRow_MSA(const uint8* src_argb4444, uint8* dst_argb,
 | 
| +                           int width);
 | 
|  void RGB24ToARGBRow_C(const uint8* src_rgb24, uint8* dst_argb, int width);
 | 
|  void RAWToARGBRow_C(const uint8* src_raw, uint8* dst_argb, int width);
 | 
|  void RAWToRGB24Row_C(const uint8* src_raw, uint8* dst_rgb24, int width);
 | 
| @@ -988,6 +999,8 @@ void ARGB1555ToARGBRow_Any_NEON(const uint8* src_argb1555, uint8* dst_argb,
 | 
|                                  int width);
 | 
|  void ARGB4444ToARGBRow_Any_NEON(const uint8* src_argb4444, uint8* dst_argb,
 | 
|                                  int width);
 | 
| +void ARGB4444ToARGBRow_Any_MSA(const uint8* src_argb4444, uint8* dst_argb,
 | 
| +                               int width);
 | 
|  
 | 
|  void ARGBToRGB24Row_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width);
 | 
|  void ARGBToRAWRow_SSSE3(const uint8* src_argb, uint8* dst_rgb, int width);
 | 
| 
 |