| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2012 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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 } | 61 } |
| 62 #endif | 62 #endif |
| 63 #if defined(HAS_ARGBTOUV444ROW_NEON) | 63 #if defined(HAS_ARGBTOUV444ROW_NEON) |
| 64 if (TestCpuFlag(kCpuHasNEON)) { | 64 if (TestCpuFlag(kCpuHasNEON)) { |
| 65 ARGBToUV444Row = ARGBToUV444Row_Any_NEON; | 65 ARGBToUV444Row = ARGBToUV444Row_Any_NEON; |
| 66 if (IS_ALIGNED(width, 8)) { | 66 if (IS_ALIGNED(width, 8)) { |
| 67 ARGBToUV444Row = ARGBToUV444Row_NEON; | 67 ARGBToUV444Row = ARGBToUV444Row_NEON; |
| 68 } | 68 } |
| 69 } | 69 } |
| 70 #endif | 70 #endif |
| 71 #if defined(HAS_ARGBTOUV444ROW_MSA) |
| 72 if (TestCpuFlag(kCpuHasMSA)) { |
| 73 ARGBToUV444Row = ARGBToUV444Row_Any_MSA; |
| 74 if (IS_ALIGNED(width, 16)) { |
| 75 ARGBToUV444Row = ARGBToUV444Row_MSA; |
| 76 } |
| 77 } |
| 78 #endif |
| 71 #if defined(HAS_ARGBTOYROW_SSSE3) | 79 #if defined(HAS_ARGBTOYROW_SSSE3) |
| 72 if (TestCpuFlag(kCpuHasSSSE3)) { | 80 if (TestCpuFlag(kCpuHasSSSE3)) { |
| 73 ARGBToYRow = ARGBToYRow_Any_SSSE3; | 81 ARGBToYRow = ARGBToYRow_Any_SSSE3; |
| 74 if (IS_ALIGNED(width, 16)) { | 82 if (IS_ALIGNED(width, 16)) { |
| 75 ARGBToYRow = ARGBToYRow_SSSE3; | 83 ARGBToYRow = ARGBToYRow_SSSE3; |
| 76 } | 84 } |
| 77 } | 85 } |
| 78 #endif | 86 #endif |
| 79 #if defined(HAS_ARGBTOYROW_AVX2) | 87 #if defined(HAS_ARGBTOYROW_AVX2) |
| 80 if (TestCpuFlag(kCpuHasAVX2)) { | 88 if (TestCpuFlag(kCpuHasAVX2)) { |
| (...skipping 941 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1022 } | 1030 } |
| 1023 #endif | 1031 #endif |
| 1024 #if defined(HAS_ARGBTORGB565ROW_NEON) | 1032 #if defined(HAS_ARGBTORGB565ROW_NEON) |
| 1025 if (TestCpuFlag(kCpuHasNEON)) { | 1033 if (TestCpuFlag(kCpuHasNEON)) { |
| 1026 ARGBToRGB565Row = ARGBToRGB565Row_Any_NEON; | 1034 ARGBToRGB565Row = ARGBToRGB565Row_Any_NEON; |
| 1027 if (IS_ALIGNED(width, 8)) { | 1035 if (IS_ALIGNED(width, 8)) { |
| 1028 ARGBToRGB565Row = ARGBToRGB565Row_NEON; | 1036 ARGBToRGB565Row = ARGBToRGB565Row_NEON; |
| 1029 } | 1037 } |
| 1030 } | 1038 } |
| 1031 #endif | 1039 #endif |
| 1040 #if defined(HAS_ARGBTORGB565ROW_MSA) |
| 1041 if (TestCpuFlag(kCpuHasMSA)) { |
| 1042 ARGBToRGB565Row = ARGBToRGB565Row_Any_MSA; |
| 1043 if (IS_ALIGNED(width, 8)) { |
| 1044 ARGBToRGB565Row = ARGBToRGB565Row_MSA; |
| 1045 } |
| 1046 } |
| 1047 #endif |
| 1032 | 1048 |
| 1033 for (y = 0; y < height; ++y) { | 1049 for (y = 0; y < height; ++y) { |
| 1034 ARGBToRGB565Row(src_argb, dst_rgb565, width); | 1050 ARGBToRGB565Row(src_argb, dst_rgb565, width); |
| 1035 src_argb += src_stride_argb; | 1051 src_argb += src_stride_argb; |
| 1036 dst_rgb565 += dst_stride_rgb565; | 1052 dst_rgb565 += dst_stride_rgb565; |
| 1037 } | 1053 } |
| 1038 return 0; | 1054 return 0; |
| 1039 } | 1055 } |
| 1040 | 1056 |
| 1041 // Convert ARGB To ARGB1555. | 1057 // Convert ARGB To ARGB1555. |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1080 } | 1096 } |
| 1081 #endif | 1097 #endif |
| 1082 #if defined(HAS_ARGBTOARGB1555ROW_NEON) | 1098 #if defined(HAS_ARGBTOARGB1555ROW_NEON) |
| 1083 if (TestCpuFlag(kCpuHasNEON)) { | 1099 if (TestCpuFlag(kCpuHasNEON)) { |
| 1084 ARGBToARGB1555Row = ARGBToARGB1555Row_Any_NEON; | 1100 ARGBToARGB1555Row = ARGBToARGB1555Row_Any_NEON; |
| 1085 if (IS_ALIGNED(width, 8)) { | 1101 if (IS_ALIGNED(width, 8)) { |
| 1086 ARGBToARGB1555Row = ARGBToARGB1555Row_NEON; | 1102 ARGBToARGB1555Row = ARGBToARGB1555Row_NEON; |
| 1087 } | 1103 } |
| 1088 } | 1104 } |
| 1089 #endif | 1105 #endif |
| 1106 #if defined(HAS_ARGBTOARGB1555ROW_MSA) |
| 1107 if (TestCpuFlag(kCpuHasMSA)) { |
| 1108 ARGBToARGB1555Row = ARGBToARGB1555Row_Any_MSA; |
| 1109 if (IS_ALIGNED(width, 8)) { |
| 1110 ARGBToARGB1555Row = ARGBToARGB1555Row_MSA; |
| 1111 } |
| 1112 } |
| 1113 #endif |
| 1090 | 1114 |
| 1091 for (y = 0; y < height; ++y) { | 1115 for (y = 0; y < height; ++y) { |
| 1092 ARGBToARGB1555Row(src_argb, dst_argb1555, width); | 1116 ARGBToARGB1555Row(src_argb, dst_argb1555, width); |
| 1093 src_argb += src_stride_argb; | 1117 src_argb += src_stride_argb; |
| 1094 dst_argb1555 += dst_stride_argb1555; | 1118 dst_argb1555 += dst_stride_argb1555; |
| 1095 } | 1119 } |
| 1096 return 0; | 1120 return 0; |
| 1097 } | 1121 } |
| 1098 | 1122 |
| 1099 // Convert ARGB To ARGB4444. | 1123 // Convert ARGB To ARGB4444. |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1138 } | 1162 } |
| 1139 #endif | 1163 #endif |
| 1140 #if defined(HAS_ARGBTOARGB4444ROW_NEON) | 1164 #if defined(HAS_ARGBTOARGB4444ROW_NEON) |
| 1141 if (TestCpuFlag(kCpuHasNEON)) { | 1165 if (TestCpuFlag(kCpuHasNEON)) { |
| 1142 ARGBToARGB4444Row = ARGBToARGB4444Row_Any_NEON; | 1166 ARGBToARGB4444Row = ARGBToARGB4444Row_Any_NEON; |
| 1143 if (IS_ALIGNED(width, 8)) { | 1167 if (IS_ALIGNED(width, 8)) { |
| 1144 ARGBToARGB4444Row = ARGBToARGB4444Row_NEON; | 1168 ARGBToARGB4444Row = ARGBToARGB4444Row_NEON; |
| 1145 } | 1169 } |
| 1146 } | 1170 } |
| 1147 #endif | 1171 #endif |
| 1172 #if defined(HAS_ARGBTOARGB4444ROW_MSA) |
| 1173 if (TestCpuFlag(kCpuHasMSA)) { |
| 1174 ARGBToARGB4444Row = ARGBToARGB4444Row_Any_MSA; |
| 1175 if (IS_ALIGNED(width, 8)) { |
| 1176 ARGBToARGB4444Row = ARGBToARGB4444Row_MSA; |
| 1177 } |
| 1178 } |
| 1179 #endif |
| 1148 | 1180 |
| 1149 for (y = 0; y < height; ++y) { | 1181 for (y = 0; y < height; ++y) { |
| 1150 ARGBToARGB4444Row(src_argb, dst_argb4444, width); | 1182 ARGBToARGB4444Row(src_argb, dst_argb4444, width); |
| 1151 src_argb += src_stride_argb; | 1183 src_argb += src_stride_argb; |
| 1152 dst_argb4444 += dst_stride_argb4444; | 1184 dst_argb4444 += dst_stride_argb4444; |
| 1153 } | 1185 } |
| 1154 return 0; | 1186 return 0; |
| 1155 } | 1187 } |
| 1156 | 1188 |
| 1157 // Convert ARGB to J420. (JPeg full range I420). | 1189 // Convert ARGB to J420. (JPeg full range I420). |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1365 src_argb += src_stride_argb; | 1397 src_argb += src_stride_argb; |
| 1366 dst_yj += dst_stride_yj; | 1398 dst_yj += dst_stride_yj; |
| 1367 } | 1399 } |
| 1368 return 0; | 1400 return 0; |
| 1369 } | 1401 } |
| 1370 | 1402 |
| 1371 #ifdef __cplusplus | 1403 #ifdef __cplusplus |
| 1372 } // extern "C" | 1404 } // extern "C" |
| 1373 } // namespace libyuv | 1405 } // namespace libyuv |
| 1374 #endif | 1406 #endif |
| OLD | NEW |