| Index: source/convert.cc
|
| diff --git a/source/convert.cc b/source/convert.cc
|
| index d5d12acb9f82ea0d6d1c6d592fb7e03508851335..f79acaca881781268b52d9e84f25a0478f736a13 100644
|
| --- a/source/convert.cc
|
| +++ b/source/convert.cc
|
| @@ -696,6 +696,22 @@ int BGRAToI420(const uint8* src_bgra,
|
| }
|
| }
|
| #endif
|
| +#if defined(HAS_BGRATOYROW_MSA)
|
| + if (TestCpuFlag(kCpuHasMSA)) {
|
| + BGRAToYRow = BGRAToYRow_Any_MSA;
|
| + if (IS_ALIGNED(width, 16)) {
|
| + BGRAToYRow = BGRAToYRow_MSA;
|
| + }
|
| + }
|
| +#endif
|
| +#if defined(HAS_BGRATOUVROW_MSA)
|
| + if (TestCpuFlag(kCpuHasMSA)) {
|
| + BGRAToUVRow = BGRAToUVRow_Any_MSA;
|
| + if (IS_ALIGNED(width, 16)) {
|
| + BGRAToUVRow = BGRAToUVRow_MSA;
|
| + }
|
| + }
|
| +#endif
|
|
|
| for (y = 0; y < height - 1; y += 2) {
|
| BGRAToUVRow(src_bgra, src_stride_bgra, dst_u, dst_v, width);
|
| @@ -781,6 +797,22 @@ int ABGRToI420(const uint8* src_abgr,
|
| }
|
| }
|
| #endif
|
| +#if defined(HAS_ABGRTOYROW_MSA)
|
| + if (TestCpuFlag(kCpuHasMSA)) {
|
| + ABGRToYRow = ABGRToYRow_Any_MSA;
|
| + if (IS_ALIGNED(width, 16)) {
|
| + ABGRToYRow = ABGRToYRow_MSA;
|
| + }
|
| + }
|
| +#endif
|
| +#if defined(HAS_ABGRTOUVROW_MSA)
|
| + if (TestCpuFlag(kCpuHasMSA)) {
|
| + ABGRToUVRow = ABGRToUVRow_Any_MSA;
|
| + if (IS_ALIGNED(width, 16)) {
|
| + ABGRToUVRow = ABGRToUVRow_MSA;
|
| + }
|
| + }
|
| +#endif
|
|
|
| for (y = 0; y < height - 1; y += 2) {
|
| ABGRToUVRow(src_abgr, src_stride_abgr, dst_u, dst_v, width);
|
| @@ -866,6 +898,22 @@ int RGBAToI420(const uint8* src_rgba,
|
| }
|
| }
|
| #endif
|
| +#if defined(HAS_RGBATOYROW_MSA)
|
| + if (TestCpuFlag(kCpuHasMSA)) {
|
| + RGBAToYRow = RGBAToYRow_Any_MSA;
|
| + if (IS_ALIGNED(width, 16)) {
|
| + RGBAToYRow = RGBAToYRow_MSA;
|
| + }
|
| + }
|
| +#endif
|
| +#if defined(HAS_RGBATOUVROW_MSA)
|
| + if (TestCpuFlag(kCpuHasMSA)) {
|
| + RGBAToUVRow = RGBAToUVRow_Any_MSA;
|
| + if (IS_ALIGNED(width, 16)) {
|
| + RGBAToUVRow = RGBAToUVRow_MSA;
|
| + }
|
| + }
|
| +#endif
|
|
|
| for (y = 0; y < height - 1; y += 2) {
|
| RGBAToUVRow(src_rgba, src_stride_rgba, dst_u, dst_v, width);
|
|
|