Index: source/convert_from.cc |
diff --git a/source/convert_from.cc b/source/convert_from.cc |
index 89d24f4740e6f4ef285c82e4cd5848bffc577eb9..7847622cdf856908b1944c60c9aa3c465e60913e 100644 |
--- a/source/convert_from.cc |
+++ b/source/convert_from.cc |
@@ -459,6 +459,14 @@ static int I420ToRGBAMatrix(const uint8* src_y, int src_stride_y, |
I422ToRGBARow = I422ToRGBARow_DSPR2; |
} |
#endif |
+#if defined(HAS_I422TORGBAROW_MSA) |
+ if (TestCpuFlag(kCpuHasMSA)) { |
+ I422ToRGBARow = I422ToRGBARow_Any_MSA; |
+ if (IS_ALIGNED(width, 8)) { |
+ I422ToRGBARow = I422ToRGBARow_MSA; |
+ } |
+ } |
+#endif |
for (y = 0; y < height; ++y) { |
I422ToRGBARow(src_y, src_u, src_v, dst_rgba, yuvconstants, width); |
@@ -848,6 +856,14 @@ int I420ToRGB565Dither(const uint8* src_y, int src_stride_y, |
I422ToARGBRow = I422ToARGBRow_DSPR2; |
} |
#endif |
+#if defined(HAS_I422TOARGBROW_MSA) |
+ if (TestCpuFlag(kCpuHasMSA)) { |
+ I422ToARGBRow = I422ToARGBRow_Any_MSA; |
+ if (IS_ALIGNED(width, 8)) { |
+ I422ToARGBRow = I422ToARGBRow_MSA; |
+ } |
+ } |
+#endif |
#if defined(HAS_ARGBTORGB565DITHERROW_SSE2) |
if (TestCpuFlag(kCpuHasSSE2)) { |
ARGBToRGB565DitherRow = ARGBToRGB565DitherRow_Any_SSE2; |