Index: source/convert_from_argb.cc |
diff --git a/source/convert_from_argb.cc b/source/convert_from_argb.cc |
index 03da3b6e2b4c85c662473719fca8ada9c04fcb29..eb8bd4459f2bb8ebff802bc5d2b90a404e3b110c 100644 |
--- a/source/convert_from_argb.cc |
+++ b/source/convert_from_argb.cc |
@@ -841,6 +841,14 @@ int ARGBToRGB24(const uint8* src_argb, |
} |
} |
#endif |
+#if defined(HAS_ARGBTORGB24ROW_MSA) |
+ if (TestCpuFlag(kCpuHasMSA)) { |
+ ARGBToRGB24Row = ARGBToRGB24Row_Any_MSA; |
+ if (IS_ALIGNED(width, 16)) { |
+ ARGBToRGB24Row = ARGBToRGB24Row_MSA; |
+ } |
+ } |
+#endif |
for (y = 0; y < height; ++y) { |
ARGBToRGB24Row(src_argb, dst_rgb24, width); |
@@ -891,6 +899,14 @@ int ARGBToRAW(const uint8* src_argb, |
} |
} |
#endif |
+#if defined(HAS_ARGBTORAWROW_MSA) |
+ if (TestCpuFlag(kCpuHasMSA)) { |
+ ARGBToRAWRow = ARGBToRAWRow_Any_MSA; |
+ if (IS_ALIGNED(width, 16)) { |
+ ARGBToRAWRow = ARGBToRAWRow_MSA; |
+ } |
+ } |
+#endif |
for (y = 0; y < height; ++y) { |
ARGBToRAWRow(src_argb, dst_raw, width); |