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 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 #define HAS_ARGBTOUV422ROW_SSSE3 | 96 #define HAS_ARGBTOUV422ROW_SSSE3 |
97 #define HAS_ARGBTOUV444ROW_SSSE3 | 97 #define HAS_ARGBTOUV444ROW_SSSE3 |
98 #define HAS_ARGBTOUVJROW_SSSE3 | 98 #define HAS_ARGBTOUVJROW_SSSE3 |
99 #define HAS_ARGBTOUVROW_SSSE3 | 99 #define HAS_ARGBTOUVROW_SSSE3 |
100 #define HAS_ARGBTOYJROW_SSSE3 | 100 #define HAS_ARGBTOYJROW_SSSE3 |
101 #define HAS_ARGBTOYROW_SSSE3 | 101 #define HAS_ARGBTOYROW_SSSE3 |
102 #define HAS_BGRATOUVROW_SSSE3 | 102 #define HAS_BGRATOUVROW_SSSE3 |
103 #define HAS_BGRATOYROW_SSSE3 | 103 #define HAS_BGRATOYROW_SSSE3 |
104 #define HAS_COPYROW_ERMS | 104 #define HAS_COPYROW_ERMS |
105 #define HAS_COPYROW_SSE2 | 105 #define HAS_COPYROW_SSE2 |
106 #define HAS_H422TOABGRROW_SSSE3 | |
107 #define HAS_H422TOARGBROW_SSSE3 | 106 #define HAS_H422TOARGBROW_SSSE3 |
108 #define HAS_I400TOARGBROW_SSE2 | 107 #define HAS_I400TOARGBROW_SSE2 |
109 #define HAS_I411TOARGBROW_SSSE3 | 108 #define HAS_I411TOARGBROW_SSSE3 |
110 #if !(defined(_DEBUG) && defined(__i386__)) | 109 #if !(defined(_DEBUG) && defined(__i386__)) |
111 // TODO(fbarchard): fix build error on android_full_debug=1 | 110 // TODO(fbarchard): fix build error on android_full_debug=1 |
112 // https://code.google.com/p/libyuv/issues/detail?id=517 | 111 // https://code.google.com/p/libyuv/issues/detail?id=517 |
113 #define HAS_I422ALPHATOARGBROW_SSSE3 | 112 #define HAS_I422ALPHATOARGBROW_SSSE3 |
114 #endif | 113 #endif |
115 #define HAS_I422TOARGB1555ROW_SSSE3 | 114 #define HAS_I422TOARGB1555ROW_SSSE3 |
116 #define HAS_I422TOARGB4444ROW_SSSE3 | 115 #define HAS_I422TOARGB4444ROW_SSSE3 |
117 #define HAS_I422TOARGBROW_SSSE3 | 116 #define HAS_I422TOARGBROW_SSSE3 |
118 #define HAS_I422TOBGRAROW_SSSE3 | |
119 #define HAS_I422TORAWROW_SSSE3 | |
120 #define HAS_I422TORGB24ROW_SSSE3 | 117 #define HAS_I422TORGB24ROW_SSSE3 |
121 #define HAS_I422TORGB565ROW_SSSE3 | 118 #define HAS_I422TORGB565ROW_SSSE3 |
122 #define HAS_I422TORGBAROW_SSSE3 | 119 #define HAS_I422TORGBAROW_SSSE3 |
123 #define HAS_I422TOUYVYROW_SSE2 | 120 #define HAS_I422TOUYVYROW_SSE2 |
124 #define HAS_I422TOYUY2ROW_SSE2 | 121 #define HAS_I422TOYUY2ROW_SSE2 |
125 #define HAS_I444TOARGBROW_SSSE3 | 122 #define HAS_I444TOARGBROW_SSSE3 |
126 #define HAS_J400TOARGBROW_SSE2 | 123 #define HAS_J400TOARGBROW_SSE2 |
127 #define HAS_J422TOABGRROW_SSSE3 | |
128 #define HAS_J422TOARGBROW_SSSE3 | 124 #define HAS_J422TOARGBROW_SSSE3 |
129 #define HAS_MERGEUVROW_SSE2 | 125 #define HAS_MERGEUVROW_SSE2 |
130 #define HAS_MIRRORROW_SSSE3 | 126 #define HAS_MIRRORROW_SSSE3 |
131 #define HAS_MIRRORROW_UV_SSSE3 | 127 #define HAS_MIRRORROW_UV_SSSE3 |
132 #define HAS_MIRRORUVROW_SSSE3 | 128 #define HAS_MIRRORUVROW_SSSE3 |
133 #define HAS_NV12TOARGBROW_SSSE3 | 129 #define HAS_NV12TOARGBROW_SSSE3 |
134 #define HAS_NV12TORGB565ROW_SSSE3 | 130 #define HAS_NV12TORGB565ROW_SSSE3 |
135 #define HAS_NV21TOARGBROW_SSSE3 | 131 #define HAS_NV21TOARGBROW_SSSE3 |
136 #define HAS_RAWTOARGBROW_SSSE3 | 132 #define HAS_RAWTOARGBROW_SSSE3 |
137 #define HAS_RAWTOYROW_SSSE3 | 133 #define HAS_RAWTOYROW_SSSE3 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 #define HAS_ARGBCOPYALPHAROW_AVX2 | 187 #define HAS_ARGBCOPYALPHAROW_AVX2 |
192 #define HAS_ARGBCOPYYTOALPHAROW_AVX2 | 188 #define HAS_ARGBCOPYYTOALPHAROW_AVX2 |
193 #define HAS_ARGBMIRRORROW_AVX2 | 189 #define HAS_ARGBMIRRORROW_AVX2 |
194 #define HAS_ARGBPOLYNOMIALROW_AVX2 | 190 #define HAS_ARGBPOLYNOMIALROW_AVX2 |
195 #define HAS_ARGBSHUFFLEROW_AVX2 | 191 #define HAS_ARGBSHUFFLEROW_AVX2 |
196 #define HAS_ARGBTORGB565DITHERROW_AVX2 | 192 #define HAS_ARGBTORGB565DITHERROW_AVX2 |
197 #define HAS_ARGBTOUVROW_AVX2 | 193 #define HAS_ARGBTOUVROW_AVX2 |
198 #define HAS_ARGBTOYJROW_AVX2 | 194 #define HAS_ARGBTOYJROW_AVX2 |
199 #define HAS_ARGBTOYROW_AVX2 | 195 #define HAS_ARGBTOYROW_AVX2 |
200 #define HAS_COPYROW_AVX | 196 #define HAS_COPYROW_AVX |
201 #define HAS_H422TOABGRROW_AVX2 | |
202 #define HAS_H422TOARGBROW_AVX2 | 197 #define HAS_H422TOARGBROW_AVX2 |
203 #define HAS_I400TOARGBROW_AVX2 | 198 #define HAS_I400TOARGBROW_AVX2 |
204 #if !(defined(_DEBUG) && defined(__i386__)) | 199 #if !(defined(_DEBUG) && defined(__i386__)) |
205 // TODO(fbarchard): fix build error on android_full_debug=1 | 200 // TODO(fbarchard): fix build error on android_full_debug=1 |
206 // https://code.google.com/p/libyuv/issues/detail?id=517 | 201 // https://code.google.com/p/libyuv/issues/detail?id=517 |
207 #define HAS_I422ALPHATOARGBROW_AVX2 | 202 #define HAS_I422ALPHATOARGBROW_AVX2 |
208 #endif | 203 #endif |
209 #define HAS_I422TOARGBROW_AVX2 | 204 #define HAS_I422TOARGBROW_AVX2 |
210 #define HAS_I422TOBGRAROW_AVX2 | |
211 #define HAS_I422TORAWROW_AVX2 | |
212 #define HAS_I422TORGB24ROW_AVX2 | 205 #define HAS_I422TORGB24ROW_AVX2 |
213 #define HAS_I422TORGBAROW_AVX2 | 206 #define HAS_I422TORGBAROW_AVX2 |
214 #define HAS_INTERPOLATEROW_AVX2 | 207 #define HAS_INTERPOLATEROW_AVX2 |
215 #define HAS_J422TOABGRROW_AVX2 | |
216 #define HAS_J422TOARGBROW_AVX2 | 208 #define HAS_J422TOARGBROW_AVX2 |
217 #define HAS_MERGEUVROW_AVX2 | 209 #define HAS_MERGEUVROW_AVX2 |
218 #define HAS_MIRRORROW_AVX2 | 210 #define HAS_MIRRORROW_AVX2 |
219 #define HAS_NV12TOARGBROW_AVX2 | 211 #define HAS_NV12TOARGBROW_AVX2 |
220 #define HAS_NV21TOARGBROW_AVX2 | 212 #define HAS_NV21TOARGBROW_AVX2 |
221 #define HAS_SPLITUVROW_AVX2 | 213 #define HAS_SPLITUVROW_AVX2 |
222 #define HAS_UYVYTOARGBROW_AVX2 | 214 #define HAS_UYVYTOARGBROW_AVX2 |
223 #define HAS_UYVYTOUV422ROW_AVX2 | 215 #define HAS_UYVYTOUV422ROW_AVX2 |
224 #define HAS_UYVYTOUVROW_AVX2 | 216 #define HAS_UYVYTOUVROW_AVX2 |
225 #define HAS_UYVYTOYROW_AVX2 | 217 #define HAS_UYVYTOYROW_AVX2 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
288 #define HAS_ARGBTOYJROW_NEON | 280 #define HAS_ARGBTOYJROW_NEON |
289 #define HAS_ARGBTOYROW_NEON | 281 #define HAS_ARGBTOYROW_NEON |
290 #define HAS_BGRATOUVROW_NEON | 282 #define HAS_BGRATOUVROW_NEON |
291 #define HAS_BGRATOYROW_NEON | 283 #define HAS_BGRATOYROW_NEON |
292 #define HAS_COPYROW_NEON | 284 #define HAS_COPYROW_NEON |
293 #define HAS_I400TOARGBROW_NEON | 285 #define HAS_I400TOARGBROW_NEON |
294 #define HAS_I411TOARGBROW_NEON | 286 #define HAS_I411TOARGBROW_NEON |
295 #define HAS_I422TOARGB1555ROW_NEON | 287 #define HAS_I422TOARGB1555ROW_NEON |
296 #define HAS_I422TOARGB4444ROW_NEON | 288 #define HAS_I422TOARGB4444ROW_NEON |
297 #define HAS_I422TOARGBROW_NEON | 289 #define HAS_I422TOARGBROW_NEON |
298 #define HAS_I422TOBGRAROW_NEON | |
299 #define HAS_I422TORAWROW_NEON | |
300 #define HAS_I422TORGB24ROW_NEON | 290 #define HAS_I422TORGB24ROW_NEON |
301 #define HAS_I422TORGB565ROW_NEON | 291 #define HAS_I422TORGB565ROW_NEON |
302 #define HAS_I422TORGBAROW_NEON | 292 #define HAS_I422TORGBAROW_NEON |
303 #define HAS_I422TOUYVYROW_NEON | 293 #define HAS_I422TOUYVYROW_NEON |
304 #define HAS_I422TOYUY2ROW_NEON | 294 #define HAS_I422TOYUY2ROW_NEON |
305 #define HAS_I444TOARGBROW_NEON | 295 #define HAS_I444TOARGBROW_NEON |
306 #define HAS_J400TOARGBROW_NEON | 296 #define HAS_J400TOARGBROW_NEON |
307 #define HAS_MERGEUVROW_NEON | 297 #define HAS_MERGEUVROW_NEON |
308 #define HAS_MIRRORROW_NEON | 298 #define HAS_MIRRORROW_NEON |
309 #define HAS_MIRRORUVROW_NEON | 299 #define HAS_MIRRORUVROW_NEON |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 #define HAS_SOBELXYROW_NEON | 342 #define HAS_SOBELXYROW_NEON |
353 #define HAS_SOBELYROW_NEON | 343 #define HAS_SOBELYROW_NEON |
354 #endif | 344 #endif |
355 | 345 |
356 // The following are available on Mips platforms: | 346 // The following are available on Mips platforms: |
357 #if !defined(LIBYUV_DISABLE_MIPS) && defined(__mips__) && \ | 347 #if !defined(LIBYUV_DISABLE_MIPS) && defined(__mips__) && \ |
358 (_MIPS_SIM == _MIPS_SIM_ABI32) && (__mips_isa_rev < 6) | 348 (_MIPS_SIM == _MIPS_SIM_ABI32) && (__mips_isa_rev < 6) |
359 #define HAS_COPYROW_MIPS | 349 #define HAS_COPYROW_MIPS |
360 #if defined(__mips_dsp) && (__mips_dsp_rev >= 2) | 350 #if defined(__mips_dsp) && (__mips_dsp_rev >= 2) |
361 #define HAS_I422TOARGBROW_MIPS_DSPR2 | 351 #define HAS_I422TOARGBROW_MIPS_DSPR2 |
362 #define HAS_I422TOBGRAROW_MIPS_DSPR2 | |
363 #define HAS_INTERPOLATEROW_MIPS_DSPR2 | 352 #define HAS_INTERPOLATEROW_MIPS_DSPR2 |
364 #define HAS_MIRRORROW_MIPS_DSPR2 | 353 #define HAS_MIRRORROW_MIPS_DSPR2 |
365 #define HAS_MIRRORUVROW_MIPS_DSPR2 | 354 #define HAS_MIRRORUVROW_MIPS_DSPR2 |
366 #define HAS_SPLITUVROW_MIPS_DSPR2 | 355 #define HAS_SPLITUVROW_MIPS_DSPR2 |
367 #endif | 356 #endif |
368 #endif | 357 #endif |
369 | 358 |
370 #if defined(_MSC_VER) && !defined(__CLR_VER) | 359 #if defined(_MSC_VER) && !defined(__CLR_VER) |
371 #define SIMD_ALIGNED(var) __declspec(align(16)) var | 360 #define SIMD_ALIGNED(var) __declspec(align(16)) var |
372 #define SIMD_ALIGNED32(var) __declspec(align(64)) var | 361 #define SIMD_ALIGNED32(var) __declspec(align(64)) var |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
567 const uint8* src_v, | 556 const uint8* src_v, |
568 uint8* dst_argb, | 557 uint8* dst_argb, |
569 const struct YuvConstants* yuvconstants, | 558 const struct YuvConstants* yuvconstants, |
570 int width); | 559 int width); |
571 void I411ToARGBRow_NEON(const uint8* src_y, | 560 void I411ToARGBRow_NEON(const uint8* src_y, |
572 const uint8* src_u, | 561 const uint8* src_u, |
573 const uint8* src_v, | 562 const uint8* src_v, |
574 uint8* dst_argb, | 563 uint8* dst_argb, |
575 const struct YuvConstants* yuvconstants, | 564 const struct YuvConstants* yuvconstants, |
576 int width); | 565 int width); |
577 void I422ToBGRARow_NEON(const uint8* src_y, | |
578 const uint8* src_u, | |
579 const uint8* src_v, | |
580 uint8* dst_bgra, | |
581 const struct YuvConstants* yuvconstants, | |
582 int width); | |
583 void I422ToRGBARow_NEON(const uint8* src_y, | 566 void I422ToRGBARow_NEON(const uint8* src_y, |
584 const uint8* src_u, | 567 const uint8* src_u, |
585 const uint8* src_v, | 568 const uint8* src_v, |
586 uint8* dst_rgba, | 569 uint8* dst_rgba, |
587 const struct YuvConstants* yuvconstants, | 570 const struct YuvConstants* yuvconstants, |
588 int width); | 571 int width); |
589 void I422ToRGB24Row_NEON(const uint8* src_y, | 572 void I422ToRGB24Row_NEON(const uint8* src_y, |
590 const uint8* src_u, | 573 const uint8* src_u, |
591 const uint8* src_v, | 574 const uint8* src_v, |
592 uint8* dst_rgb24, | 575 uint8* dst_rgb24, |
593 const struct YuvConstants* yuvconstants, | 576 const struct YuvConstants* yuvconstants, |
594 int width); | 577 int width); |
595 void I422ToRAWRow_NEON(const uint8* src_y, | |
596 const uint8* src_u, | |
597 const uint8* src_v, | |
598 uint8* dst_raw, | |
599 const struct YuvConstants* yuvconstants, | |
600 int width); | |
601 void I422ToRGB565Row_NEON(const uint8* src_y, | 578 void I422ToRGB565Row_NEON(const uint8* src_y, |
602 const uint8* src_u, | 579 const uint8* src_u, |
603 const uint8* src_v, | 580 const uint8* src_v, |
604 uint8* dst_rgb565, | 581 uint8* dst_rgb565, |
605 const struct YuvConstants* yuvconstants, | 582 const struct YuvConstants* yuvconstants, |
606 int width); | 583 int width); |
607 void I422ToARGB1555Row_NEON(const uint8* src_y, | 584 void I422ToARGB1555Row_NEON(const uint8* src_y, |
608 const uint8* src_u, | 585 const uint8* src_u, |
609 const uint8* src_v, | 586 const uint8* src_v, |
610 uint8* dst_argb1555, | 587 uint8* dst_argb1555, |
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1068 const struct YuvConstants* yuvconstants, | 1045 const struct YuvConstants* yuvconstants, |
1069 int width); | 1046 int width); |
1070 void YUY2ToARGBRow_C(const uint8* src_yuy2, | 1047 void YUY2ToARGBRow_C(const uint8* src_yuy2, |
1071 uint8* dst_argb, | 1048 uint8* dst_argb, |
1072 const struct YuvConstants* yuvconstants, | 1049 const struct YuvConstants* yuvconstants, |
1073 int width); | 1050 int width); |
1074 void UYVYToARGBRow_C(const uint8* src_uyvy, | 1051 void UYVYToARGBRow_C(const uint8* src_uyvy, |
1075 uint8* dst_argb, | 1052 uint8* dst_argb, |
1076 const struct YuvConstants* yuvconstants, | 1053 const struct YuvConstants* yuvconstants, |
1077 int width); | 1054 int width); |
1078 void I422ToBGRARow_C(const uint8* src_y, | |
1079 const uint8* src_u, | |
1080 const uint8* src_v, | |
1081 uint8* dst_bgra, | |
1082 const struct YuvConstants* yuvconstants, | |
1083 int width); | |
1084 void I422ToRGBARow_C(const uint8* src_y, | 1055 void I422ToRGBARow_C(const uint8* src_y, |
1085 const uint8* src_u, | 1056 const uint8* src_u, |
1086 const uint8* src_v, | 1057 const uint8* src_v, |
1087 uint8* dst_rgba, | 1058 uint8* dst_rgba, |
1088 const struct YuvConstants* yuvconstants, | 1059 const struct YuvConstants* yuvconstants, |
1089 int width); | 1060 int width); |
1090 void I422ToRGB24Row_C(const uint8* src_y, | 1061 void I422ToRGB24Row_C(const uint8* src_y, |
1091 const uint8* src_u, | 1062 const uint8* src_u, |
1092 const uint8* src_v, | 1063 const uint8* src_v, |
1093 uint8* dst_rgb24, | 1064 uint8* dst_rgb24, |
1094 const struct YuvConstants* yuvconstants, | 1065 const struct YuvConstants* yuvconstants, |
1095 int width); | 1066 int width); |
1096 void I422ToRAWRow_C(const uint8* src_y, | |
1097 const uint8* src_u, | |
1098 const uint8* src_v, | |
1099 uint8* dst_raw, | |
1100 const struct YuvConstants* yuvconstants, | |
1101 int width); | |
1102 void I422ToARGB4444Row_C(const uint8* src_y, | 1067 void I422ToARGB4444Row_C(const uint8* src_y, |
1103 const uint8* src_u, | 1068 const uint8* src_u, |
1104 const uint8* src_v, | 1069 const uint8* src_v, |
1105 uint8* dst_argb4444, | 1070 uint8* dst_argb4444, |
1106 const struct YuvConstants* yuvconstants, | 1071 const struct YuvConstants* yuvconstants, |
1107 int width); | 1072 int width); |
1108 void I422ToARGB1555Row_C(const uint8* src_y, | 1073 void I422ToARGB1555Row_C(const uint8* src_y, |
1109 const uint8* src_u, | 1074 const uint8* src_u, |
1110 const uint8* src_v, | 1075 const uint8* src_v, |
1111 uint8* dst_argb4444, | 1076 uint8* dst_argb4444, |
(...skipping 10 matching lines...) Expand all Loading... |
1122 const uint8* src_v, | 1087 const uint8* src_v, |
1123 uint8* dst_argb, | 1088 uint8* dst_argb, |
1124 const struct YuvConstants* yuvconstants, | 1089 const struct YuvConstants* yuvconstants, |
1125 int width); | 1090 int width); |
1126 void I422ToARGBRow_AVX2(const uint8* src_y, | 1091 void I422ToARGBRow_AVX2(const uint8* src_y, |
1127 const uint8* src_u, | 1092 const uint8* src_u, |
1128 const uint8* src_v, | 1093 const uint8* src_v, |
1129 uint8* dst_argb, | 1094 uint8* dst_argb, |
1130 const struct YuvConstants* yuvconstants, | 1095 const struct YuvConstants* yuvconstants, |
1131 int width); | 1096 int width); |
1132 void I422ToBGRARow_AVX2(const uint8* src_y, | |
1133 const uint8* src_u, | |
1134 const uint8* src_v, | |
1135 uint8* dst_argb, | |
1136 const struct YuvConstants* yuvconstants, | |
1137 int width); | |
1138 void I422ToRGBARow_AVX2(const uint8* src_y, | 1097 void I422ToRGBARow_AVX2(const uint8* src_y, |
1139 const uint8* src_u, | 1098 const uint8* src_u, |
1140 const uint8* src_v, | 1099 const uint8* src_v, |
1141 uint8* dst_argb, | 1100 uint8* dst_argb, |
1142 const struct YuvConstants* yuvconstants, | 1101 const struct YuvConstants* yuvconstants, |
1143 int width); | 1102 int width); |
1144 void I444ToARGBRow_SSSE3(const uint8* src_y, | 1103 void I444ToARGBRow_SSSE3(const uint8* src_y, |
1145 const uint8* src_u, | 1104 const uint8* src_u, |
1146 const uint8* src_v, | 1105 const uint8* src_v, |
1147 uint8* dst_argb, | 1106 uint8* dst_argb, |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1242 const struct YuvConstants* yuvconstants, | 1201 const struct YuvConstants* yuvconstants, |
1243 int width); | 1202 int width); |
1244 void YUY2ToARGBRow_AVX2(const uint8* src_yuy2, | 1203 void YUY2ToARGBRow_AVX2(const uint8* src_yuy2, |
1245 uint8* dst_argb, | 1204 uint8* dst_argb, |
1246 const struct YuvConstants* yuvconstants, | 1205 const struct YuvConstants* yuvconstants, |
1247 int width); | 1206 int width); |
1248 void UYVYToARGBRow_AVX2(const uint8* src_uyvy, | 1207 void UYVYToARGBRow_AVX2(const uint8* src_uyvy, |
1249 uint8* dst_argb, | 1208 uint8* dst_argb, |
1250 const struct YuvConstants* yuvconstants, | 1209 const struct YuvConstants* yuvconstants, |
1251 int width); | 1210 int width); |
1252 void I422ToBGRARow_SSSE3(const uint8* src_y, | |
1253 const uint8* src_u, | |
1254 const uint8* src_v, | |
1255 uint8* dst_bgra, | |
1256 const struct YuvConstants* yuvconstants, | |
1257 int width); | |
1258 void I422ToRGBARow_SSSE3(const uint8* src_y, | 1211 void I422ToRGBARow_SSSE3(const uint8* src_y, |
1259 const uint8* src_u, | 1212 const uint8* src_u, |
1260 const uint8* src_v, | 1213 const uint8* src_v, |
1261 uint8* dst_rgba, | 1214 uint8* dst_rgba, |
1262 const struct YuvConstants* yuvconstants, | 1215 const struct YuvConstants* yuvconstants, |
1263 int width); | 1216 int width); |
1264 void I422ToARGB4444Row_SSSE3(const uint8* src_y, | 1217 void I422ToARGB4444Row_SSSE3(const uint8* src_y, |
1265 const uint8* src_u, | 1218 const uint8* src_u, |
1266 const uint8* src_v, | 1219 const uint8* src_v, |
1267 uint8* dst_argb, | 1220 uint8* dst_argb, |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1302 const uint8* src_v, | 1255 const uint8* src_v, |
1303 uint8* dst_rgb24, | 1256 uint8* dst_rgb24, |
1304 const struct YuvConstants* yuvconstants, | 1257 const struct YuvConstants* yuvconstants, |
1305 int width); | 1258 int width); |
1306 void I422ToRGB24Row_AVX2(const uint8* src_y, | 1259 void I422ToRGB24Row_AVX2(const uint8* src_y, |
1307 const uint8* src_u, | 1260 const uint8* src_u, |
1308 const uint8* src_v, | 1261 const uint8* src_v, |
1309 uint8* dst_rgb24, | 1262 uint8* dst_rgb24, |
1310 const struct YuvConstants* yuvconstants, | 1263 const struct YuvConstants* yuvconstants, |
1311 int width); | 1264 int width); |
1312 void I422ToRAWRow_SSSE3(const uint8* src_y, | |
1313 const uint8* src_u, | |
1314 const uint8* src_v, | |
1315 uint8* dst_raw, | |
1316 const struct YuvConstants* yuvconstants, | |
1317 int width); | |
1318 void I422ToRAWRow_AVX2(const uint8* src_y, | |
1319 const uint8* src_u, | |
1320 const uint8* src_v, | |
1321 uint8* dst_raw, | |
1322 const struct YuvConstants* yuvconstants, | |
1323 int width); | |
1324 void I422ToARGBRow_Any_AVX2(const uint8* src_y, | 1265 void I422ToARGBRow_Any_AVX2(const uint8* src_y, |
1325 const uint8* src_u, | 1266 const uint8* src_u, |
1326 const uint8* src_v, | 1267 const uint8* src_v, |
1327 uint8* dst_argb, | 1268 uint8* dst_argb, |
1328 const struct YuvConstants* yuvconstants, | 1269 const struct YuvConstants* yuvconstants, |
1329 int width); | 1270 int width); |
1330 void I422ToBGRARow_Any_AVX2(const uint8* src_y, | |
1331 const uint8* src_u, | |
1332 const uint8* src_v, | |
1333 uint8* dst_argb, | |
1334 const struct YuvConstants* yuvconstants, | |
1335 int width); | |
1336 void I422ToRGBARow_Any_AVX2(const uint8* src_y, | 1271 void I422ToRGBARow_Any_AVX2(const uint8* src_y, |
1337 const uint8* src_u, | 1272 const uint8* src_u, |
1338 const uint8* src_v, | 1273 const uint8* src_v, |
1339 uint8* dst_argb, | 1274 uint8* dst_argb, |
1340 const struct YuvConstants* yuvconstants, | 1275 const struct YuvConstants* yuvconstants, |
1341 int width); | 1276 int width); |
1342 void I444ToARGBRow_Any_SSSE3(const uint8* src_y, | 1277 void I444ToARGBRow_Any_SSSE3(const uint8* src_y, |
1343 const uint8* src_u, | 1278 const uint8* src_u, |
1344 const uint8* src_v, | 1279 const uint8* src_v, |
1345 uint8* dst_argb, | 1280 uint8* dst_argb, |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1422 const struct YuvConstants* yuvconstants, | 1357 const struct YuvConstants* yuvconstants, |
1423 int width); | 1358 int width); |
1424 void YUY2ToARGBRow_Any_AVX2(const uint8* src_yuy2, | 1359 void YUY2ToARGBRow_Any_AVX2(const uint8* src_yuy2, |
1425 uint8* dst_argb, | 1360 uint8* dst_argb, |
1426 const struct YuvConstants* yuvconstants, | 1361 const struct YuvConstants* yuvconstants, |
1427 int width); | 1362 int width); |
1428 void UYVYToARGBRow_Any_AVX2(const uint8* src_uyvy, | 1363 void UYVYToARGBRow_Any_AVX2(const uint8* src_uyvy, |
1429 uint8* dst_argb, | 1364 uint8* dst_argb, |
1430 const struct YuvConstants* yuvconstants, | 1365 const struct YuvConstants* yuvconstants, |
1431 int width); | 1366 int width); |
1432 void I422ToBGRARow_Any_SSSE3(const uint8* src_y, | |
1433 const uint8* src_u, | |
1434 const uint8* src_v, | |
1435 uint8* dst_bgra, | |
1436 const struct YuvConstants* yuvconstants, | |
1437 int width); | |
1438 void I422ToRGBARow_Any_SSSE3(const uint8* src_y, | 1367 void I422ToRGBARow_Any_SSSE3(const uint8* src_y, |
1439 const uint8* src_u, | 1368 const uint8* src_u, |
1440 const uint8* src_v, | 1369 const uint8* src_v, |
1441 uint8* dst_rgba, | 1370 uint8* dst_rgba, |
1442 const struct YuvConstants* yuvconstants, | 1371 const struct YuvConstants* yuvconstants, |
1443 int width); | 1372 int width); |
1444 void I422ToARGB4444Row_Any_SSSE3(const uint8* src_y, | 1373 void I422ToARGB4444Row_Any_SSSE3(const uint8* src_y, |
1445 const uint8* src_u, | 1374 const uint8* src_u, |
1446 const uint8* src_v, | 1375 const uint8* src_v, |
1447 uint8* dst_rgba, | 1376 uint8* dst_rgba, |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1482 const uint8* src_v, | 1411 const uint8* src_v, |
1483 uint8* dst_argb, | 1412 uint8* dst_argb, |
1484 const struct YuvConstants* yuvconstants, | 1413 const struct YuvConstants* yuvconstants, |
1485 int width); | 1414 int width); |
1486 void I422ToRGB24Row_Any_AVX2(const uint8* src_y, | 1415 void I422ToRGB24Row_Any_AVX2(const uint8* src_y, |
1487 const uint8* src_u, | 1416 const uint8* src_u, |
1488 const uint8* src_v, | 1417 const uint8* src_v, |
1489 uint8* dst_argb, | 1418 uint8* dst_argb, |
1490 const struct YuvConstants* yuvconstants, | 1419 const struct YuvConstants* yuvconstants, |
1491 int width); | 1420 int width); |
1492 void I422ToRAWRow_Any_SSSE3(const uint8* src_y, | |
1493 const uint8* src_u, | |
1494 const uint8* src_v, | |
1495 uint8* dst_argb, | |
1496 const struct YuvConstants* yuvconstants, | |
1497 int width); | |
1498 void I422ToRAWRow_Any_AVX2(const uint8* src_y, | |
1499 const uint8* src_u, | |
1500 const uint8* src_v, | |
1501 uint8* dst_argb, | |
1502 const struct YuvConstants* yuvconstants, | |
1503 int width); | |
1504 | 1421 |
1505 void I400ToARGBRow_C(const uint8* src_y, uint8* dst_argb, int width); | 1422 void I400ToARGBRow_C(const uint8* src_y, uint8* dst_argb, int width); |
1506 void I400ToARGBRow_SSE2(const uint8* src_y, uint8* dst_argb, int width); | 1423 void I400ToARGBRow_SSE2(const uint8* src_y, uint8* dst_argb, int width); |
1507 void I400ToARGBRow_AVX2(const uint8* src_y, uint8* dst_argb, int width); | 1424 void I400ToARGBRow_AVX2(const uint8* src_y, uint8* dst_argb, int width); |
1508 void I400ToARGBRow_NEON(const uint8* src_y, uint8* dst_argb, int width); | 1425 void I400ToARGBRow_NEON(const uint8* src_y, uint8* dst_argb, int width); |
1509 void I400ToARGBRow_Any_SSE2(const uint8* src_y, uint8* dst_argb, int width); | 1426 void I400ToARGBRow_Any_SSE2(const uint8* src_y, uint8* dst_argb, int width); |
1510 void I400ToARGBRow_Any_AVX2(const uint8* src_y, uint8* dst_argb, int width); | 1427 void I400ToARGBRow_Any_AVX2(const uint8* src_y, uint8* dst_argb, int width); |
1511 void I400ToARGBRow_Any_NEON(const uint8* src_y, uint8* dst_argb, int width); | 1428 void I400ToARGBRow_Any_NEON(const uint8* src_y, uint8* dst_argb, int width); |
1512 | 1429 |
1513 // ARGB preattenuated alpha blend. | 1430 // ARGB preattenuated alpha blend. |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1608 const uint8* src_v, | 1525 const uint8* src_v, |
1609 uint8* dst_argb, | 1526 uint8* dst_argb, |
1610 const struct YuvConstants* yuvconstants, | 1527 const struct YuvConstants* yuvconstants, |
1611 int width); | 1528 int width); |
1612 void I411ToARGBRow_Any_NEON(const uint8* src_y, | 1529 void I411ToARGBRow_Any_NEON(const uint8* src_y, |
1613 const uint8* src_u, | 1530 const uint8* src_u, |
1614 const uint8* src_v, | 1531 const uint8* src_v, |
1615 uint8* dst_argb, | 1532 uint8* dst_argb, |
1616 const struct YuvConstants* yuvconstants, | 1533 const struct YuvConstants* yuvconstants, |
1617 int width); | 1534 int width); |
1618 void I422ToBGRARow_Any_NEON(const uint8* src_y, | |
1619 const uint8* src_u, | |
1620 const uint8* src_v, | |
1621 uint8* dst_argb, | |
1622 const struct YuvConstants* yuvconstants, | |
1623 int width); | |
1624 void I422ToRGBARow_Any_NEON(const uint8* src_y, | 1535 void I422ToRGBARow_Any_NEON(const uint8* src_y, |
1625 const uint8* src_u, | 1536 const uint8* src_u, |
1626 const uint8* src_v, | 1537 const uint8* src_v, |
1627 uint8* dst_argb, | 1538 uint8* dst_argb, |
1628 const struct YuvConstants* yuvconstants, | 1539 const struct YuvConstants* yuvconstants, |
1629 int width); | 1540 int width); |
1630 void I422ToRGB24Row_Any_NEON(const uint8* src_y, | 1541 void I422ToRGB24Row_Any_NEON(const uint8* src_y, |
1631 const uint8* src_u, | 1542 const uint8* src_u, |
1632 const uint8* src_v, | 1543 const uint8* src_v, |
1633 uint8* dst_argb, | 1544 uint8* dst_argb, |
1634 const struct YuvConstants* yuvconstants, | 1545 const struct YuvConstants* yuvconstants, |
1635 int width); | 1546 int width); |
1636 void I422ToRAWRow_Any_NEON(const uint8* src_y, | |
1637 const uint8* src_u, | |
1638 const uint8* src_v, | |
1639 uint8* dst_argb, | |
1640 const struct YuvConstants* yuvconstants, | |
1641 int width); | |
1642 void I422ToARGB4444Row_Any_NEON(const uint8* src_y, | 1547 void I422ToARGB4444Row_Any_NEON(const uint8* src_y, |
1643 const uint8* src_u, | 1548 const uint8* src_u, |
1644 const uint8* src_v, | 1549 const uint8* src_v, |
1645 uint8* dst_argb, | 1550 uint8* dst_argb, |
1646 const struct YuvConstants* yuvconstants, | 1551 const struct YuvConstants* yuvconstants, |
1647 int width); | 1552 int width); |
1648 void I422ToARGB1555Row_Any_NEON(const uint8* src_y, | 1553 void I422ToARGB1555Row_Any_NEON(const uint8* src_y, |
1649 const uint8* src_u, | 1554 const uint8* src_u, |
1650 const uint8* src_v, | 1555 const uint8* src_v, |
1651 uint8* dst_argb, | 1556 uint8* dst_argb, |
(...skipping 27 matching lines...) Expand all Loading... |
1679 void UYVYToARGBRow_Any_NEON(const uint8* src_uyvy, | 1584 void UYVYToARGBRow_Any_NEON(const uint8* src_uyvy, |
1680 uint8* dst_argb, | 1585 uint8* dst_argb, |
1681 const struct YuvConstants* yuvconstants, | 1586 const struct YuvConstants* yuvconstants, |
1682 int width); | 1587 int width); |
1683 void I422ToARGBRow_MIPS_DSPR2(const uint8* src_y, | 1588 void I422ToARGBRow_MIPS_DSPR2(const uint8* src_y, |
1684 const uint8* src_u, | 1589 const uint8* src_u, |
1685 const uint8* src_v, | 1590 const uint8* src_v, |
1686 uint8* dst_argb, | 1591 uint8* dst_argb, |
1687 const struct YuvConstants* yuvconstants, | 1592 const struct YuvConstants* yuvconstants, |
1688 int width); | 1593 int width); |
1689 void I422ToBGRARow_MIPS_DSPR2(const uint8* src_y, | |
1690 const uint8* src_u, | |
1691 const uint8* src_v, | |
1692 uint8* dst_argb, | |
1693 const struct YuvConstants* yuvconstants, | |
1694 int width); | |
1695 void I422ToARGBRow_MIPS_DSPR2(const uint8* src_y, | 1594 void I422ToARGBRow_MIPS_DSPR2(const uint8* src_y, |
1696 const uint8* src_u, | 1595 const uint8* src_u, |
1697 const uint8* src_v, | 1596 const uint8* src_v, |
1698 uint8* dst_argb, | 1597 uint8* dst_argb, |
1699 const struct YuvConstants* yuvconstants, | 1598 const struct YuvConstants* yuvconstants, |
1700 int width); | 1599 int width); |
1701 void I422ToBGRARow_MIPS_DSPR2(const uint8* src_y, | |
1702 const uint8* src_u, | |
1703 const uint8* src_v, | |
1704 uint8* dst_argb, | |
1705 const struct YuvConstants* yuvconstants, | |
1706 int width); | |
1707 | 1600 |
1708 void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); | 1601 void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); |
1709 void YUY2ToUVRow_AVX2(const uint8* src_yuy2, int stride_yuy2, | 1602 void YUY2ToUVRow_AVX2(const uint8* src_yuy2, int stride_yuy2, |
1710 uint8* dst_u, uint8* dst_v, int width); | 1603 uint8* dst_u, uint8* dst_v, int width); |
1711 void YUY2ToUV422Row_AVX2(const uint8* src_yuy2, | 1604 void YUY2ToUV422Row_AVX2(const uint8* src_yuy2, |
1712 uint8* dst_u, uint8* dst_v, int width); | 1605 uint8* dst_u, uint8* dst_v, int width); |
1713 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); | 1606 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); |
1714 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, | 1607 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, |
1715 uint8* dst_u, uint8* dst_v, int width); | 1608 uint8* dst_u, uint8* dst_v, int width); |
1716 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, | 1609 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1998 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 1891 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
1999 int width, | 1892 int width, |
2000 const uint8* luma, uint32 lumacoeff); | 1893 const uint8* luma, uint32 lumacoeff); |
2001 | 1894 |
2002 #ifdef __cplusplus | 1895 #ifdef __cplusplus |
2003 } // extern "C" | 1896 } // extern "C" |
2004 } // namespace libyuv | 1897 } // namespace libyuv |
2005 #endif | 1898 #endif |
2006 | 1899 |
2007 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT | 1900 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT |
OLD | NEW |