| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2011 The LibYuv Project Authors. All rights reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 928 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 939 } | 939 } |
| 940 #endif | 940 #endif |
| 941 #if defined(HAS_RGB24TOARGBROW_NEON) | 941 #if defined(HAS_RGB24TOARGBROW_NEON) |
| 942 if (TestCpuFlag(kCpuHasNEON)) { | 942 if (TestCpuFlag(kCpuHasNEON)) { |
| 943 RGB24ToARGBRow = RGB24ToARGBRow_Any_NEON; | 943 RGB24ToARGBRow = RGB24ToARGBRow_Any_NEON; |
| 944 if (IS_ALIGNED(width, 8)) { | 944 if (IS_ALIGNED(width, 8)) { |
| 945 RGB24ToARGBRow = RGB24ToARGBRow_NEON; | 945 RGB24ToARGBRow = RGB24ToARGBRow_NEON; |
| 946 } | 946 } |
| 947 } | 947 } |
| 948 #endif | 948 #endif |
| 949 #if defined(HAS_RGB24TOARGBROW_MSA) |
| 950 if (TestCpuFlag(kCpuHasMSA)) { |
| 951 RGB24ToARGBRow = RGB24ToARGBRow_Any_MSA; |
| 952 if (IS_ALIGNED(width, 16)) { |
| 953 RGB24ToARGBRow = RGB24ToARGBRow_MSA; |
| 954 } |
| 955 } |
| 956 #endif |
| 949 | 957 |
| 950 for (y = 0; y < height; ++y) { | 958 for (y = 0; y < height; ++y) { |
| 951 RGB24ToARGBRow(src_rgb24, dst_argb, width); | 959 RGB24ToARGBRow(src_rgb24, dst_argb, width); |
| 952 src_rgb24 += src_stride_rgb24; | 960 src_rgb24 += src_stride_rgb24; |
| 953 dst_argb += dst_stride_argb; | 961 dst_argb += dst_stride_argb; |
| 954 } | 962 } |
| 955 return 0; | 963 return 0; |
| 956 } | 964 } |
| 957 | 965 |
| 958 // Convert RAW to ARGB. | 966 // Convert RAW to ARGB. |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 990 } | 998 } |
| 991 #endif | 999 #endif |
| 992 #if defined(HAS_RAWTOARGBROW_NEON) | 1000 #if defined(HAS_RAWTOARGBROW_NEON) |
| 993 if (TestCpuFlag(kCpuHasNEON)) { | 1001 if (TestCpuFlag(kCpuHasNEON)) { |
| 994 RAWToARGBRow = RAWToARGBRow_Any_NEON; | 1002 RAWToARGBRow = RAWToARGBRow_Any_NEON; |
| 995 if (IS_ALIGNED(width, 8)) { | 1003 if (IS_ALIGNED(width, 8)) { |
| 996 RAWToARGBRow = RAWToARGBRow_NEON; | 1004 RAWToARGBRow = RAWToARGBRow_NEON; |
| 997 } | 1005 } |
| 998 } | 1006 } |
| 999 #endif | 1007 #endif |
| 1008 #if defined(HAS_RAWTOARGBROW_MSA) |
| 1009 if (TestCpuFlag(kCpuHasMSA)) { |
| 1010 RAWToARGBRow = RAWToARGBRow_Any_MSA; |
| 1011 if (IS_ALIGNED(width, 16)) { |
| 1012 RAWToARGBRow = RAWToARGBRow_MSA; |
| 1013 } |
| 1014 } |
| 1015 #endif |
| 1000 | 1016 |
| 1001 for (y = 0; y < height; ++y) { | 1017 for (y = 0; y < height; ++y) { |
| 1002 RAWToARGBRow(src_raw, dst_argb, width); | 1018 RAWToARGBRow(src_raw, dst_argb, width); |
| 1003 src_raw += src_stride_raw; | 1019 src_raw += src_stride_raw; |
| 1004 dst_argb += dst_stride_argb; | 1020 dst_argb += dst_stride_argb; |
| 1005 } | 1021 } |
| 1006 return 0; | 1022 return 0; |
| 1007 } | 1023 } |
| 1008 | 1024 |
| 1009 // Convert RGB565 to ARGB. | 1025 // Convert RGB565 to ARGB. |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1049 } | 1065 } |
| 1050 #endif | 1066 #endif |
| 1051 #if defined(HAS_RGB565TOARGBROW_NEON) | 1067 #if defined(HAS_RGB565TOARGBROW_NEON) |
| 1052 if (TestCpuFlag(kCpuHasNEON)) { | 1068 if (TestCpuFlag(kCpuHasNEON)) { |
| 1053 RGB565ToARGBRow = RGB565ToARGBRow_Any_NEON; | 1069 RGB565ToARGBRow = RGB565ToARGBRow_Any_NEON; |
| 1054 if (IS_ALIGNED(width, 8)) { | 1070 if (IS_ALIGNED(width, 8)) { |
| 1055 RGB565ToARGBRow = RGB565ToARGBRow_NEON; | 1071 RGB565ToARGBRow = RGB565ToARGBRow_NEON; |
| 1056 } | 1072 } |
| 1057 } | 1073 } |
| 1058 #endif | 1074 #endif |
| 1075 #if defined(HAS_RGB565TOARGBROW_MSA) |
| 1076 if (TestCpuFlag(kCpuHasMSA)) { |
| 1077 RGB565ToARGBRow = RGB565ToARGBRow_Any_MSA; |
| 1078 if (IS_ALIGNED(width, 16)) { |
| 1079 RGB565ToARGBRow = RGB565ToARGBRow_MSA; |
| 1080 } |
| 1081 } |
| 1082 #endif |
| 1059 | 1083 |
| 1060 for (y = 0; y < height; ++y) { | 1084 for (y = 0; y < height; ++y) { |
| 1061 RGB565ToARGBRow(src_rgb565, dst_argb, width); | 1085 RGB565ToARGBRow(src_rgb565, dst_argb, width); |
| 1062 src_rgb565 += src_stride_rgb565; | 1086 src_rgb565 += src_stride_rgb565; |
| 1063 dst_argb += dst_stride_argb; | 1087 dst_argb += dst_stride_argb; |
| 1064 } | 1088 } |
| 1065 return 0; | 1089 return 0; |
| 1066 } | 1090 } |
| 1067 | 1091 |
| 1068 // Convert ARGB1555 to ARGB. | 1092 // Convert ARGB1555 to ARGB. |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1108 } | 1132 } |
| 1109 #endif | 1133 #endif |
| 1110 #if defined(HAS_ARGB1555TOARGBROW_NEON) | 1134 #if defined(HAS_ARGB1555TOARGBROW_NEON) |
| 1111 if (TestCpuFlag(kCpuHasNEON)) { | 1135 if (TestCpuFlag(kCpuHasNEON)) { |
| 1112 ARGB1555ToARGBRow = ARGB1555ToARGBRow_Any_NEON; | 1136 ARGB1555ToARGBRow = ARGB1555ToARGBRow_Any_NEON; |
| 1113 if (IS_ALIGNED(width, 8)) { | 1137 if (IS_ALIGNED(width, 8)) { |
| 1114 ARGB1555ToARGBRow = ARGB1555ToARGBRow_NEON; | 1138 ARGB1555ToARGBRow = ARGB1555ToARGBRow_NEON; |
| 1115 } | 1139 } |
| 1116 } | 1140 } |
| 1117 #endif | 1141 #endif |
| 1142 #if defined(HAS_ARGB1555TOARGBROW_MSA) |
| 1143 if (TestCpuFlag(kCpuHasMSA)) { |
| 1144 ARGB1555ToARGBRow = ARGB1555ToARGBRow_Any_MSA; |
| 1145 if (IS_ALIGNED(width, 16)) { |
| 1146 ARGB1555ToARGBRow = ARGB1555ToARGBRow_MSA; |
| 1147 } |
| 1148 } |
| 1149 #endif |
| 1118 | 1150 |
| 1119 for (y = 0; y < height; ++y) { | 1151 for (y = 0; y < height; ++y) { |
| 1120 ARGB1555ToARGBRow(src_argb1555, dst_argb, width); | 1152 ARGB1555ToARGBRow(src_argb1555, dst_argb, width); |
| 1121 src_argb1555 += src_stride_argb1555; | 1153 src_argb1555 += src_stride_argb1555; |
| 1122 dst_argb += dst_stride_argb; | 1154 dst_argb += dst_stride_argb; |
| 1123 } | 1155 } |
| 1124 return 0; | 1156 return 0; |
| 1125 } | 1157 } |
| 1126 | 1158 |
| 1127 // Convert ARGB4444 to ARGB. | 1159 // Convert ARGB4444 to ARGB. |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1485 src_uyvy += src_stride_uyvy; | 1517 src_uyvy += src_stride_uyvy; |
| 1486 dst_argb += dst_stride_argb; | 1518 dst_argb += dst_stride_argb; |
| 1487 } | 1519 } |
| 1488 return 0; | 1520 return 0; |
| 1489 } | 1521 } |
| 1490 | 1522 |
| 1491 #ifdef __cplusplus | 1523 #ifdef __cplusplus |
| 1492 } // extern "C" | 1524 } // extern "C" |
| 1493 } // namespace libyuv | 1525 } // namespace libyuv |
| 1494 #endif | 1526 #endif |
| OLD | NEW |