Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1887)

Side by Side Diff: include/libyuv/row.h

Issue 1413573010: refactor I420ToABGR to use I420ToARGBRow (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | source/convert_argb.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 #define HAS_COPYROW_SSE2 105 #define HAS_COPYROW_SSE2
106 #define HAS_H422TOABGRROW_SSSE3 106 #define HAS_H422TOABGRROW_SSSE3
107 #define HAS_H422TOARGBROW_SSSE3 107 #define HAS_H422TOARGBROW_SSSE3
108 #define HAS_I400TOARGBROW_SSE2 108 #define HAS_I400TOARGBROW_SSE2
109 #define HAS_I411TOARGBROW_SSSE3 109 #define HAS_I411TOARGBROW_SSSE3
110 #if !(defined(_DEBUG) && defined(__i386__)) 110 #if !(defined(_DEBUG) && defined(__i386__))
111 // TODO(fbarchard): fix build error on android_full_debug=1 111 // TODO(fbarchard): fix build error on android_full_debug=1
112 // https://code.google.com/p/libyuv/issues/detail?id=517 112 // https://code.google.com/p/libyuv/issues/detail?id=517
113 #define HAS_I422ALPHATOARGBROW_SSSE3 113 #define HAS_I422ALPHATOARGBROW_SSSE3
114 #endif 114 #endif
115 #define HAS_I422TOABGRROW_SSSE3
116 #define HAS_I422TOARGB1555ROW_SSSE3 115 #define HAS_I422TOARGB1555ROW_SSSE3
117 #define HAS_I422TOARGB4444ROW_SSSE3 116 #define HAS_I422TOARGB4444ROW_SSSE3
118 #define HAS_I422TOARGBROW_SSSE3 117 #define HAS_I422TOARGBROW_SSSE3
119 #define HAS_I422TOBGRAROW_SSSE3 118 #define HAS_I422TOBGRAROW_SSSE3
120 #define HAS_I422TORAWROW_SSSE3 119 #define HAS_I422TORAWROW_SSSE3
121 #define HAS_I422TORGB24ROW_SSSE3 120 #define HAS_I422TORGB24ROW_SSSE3
122 #define HAS_I422TORGB565ROW_SSSE3 121 #define HAS_I422TORGB565ROW_SSSE3
123 #define HAS_I422TORGBAROW_SSSE3 122 #define HAS_I422TORGBAROW_SSSE3
124 #define HAS_I422TOUYVYROW_SSE2 123 #define HAS_I422TOUYVYROW_SSE2
125 #define HAS_I422TOYUY2ROW_SSE2 124 #define HAS_I422TOYUY2ROW_SSE2
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 #define HAS_ARGBTOYROW_AVX2 199 #define HAS_ARGBTOYROW_AVX2
201 #define HAS_COPYROW_AVX 200 #define HAS_COPYROW_AVX
202 #define HAS_H422TOABGRROW_AVX2 201 #define HAS_H422TOABGRROW_AVX2
203 #define HAS_H422TOARGBROW_AVX2 202 #define HAS_H422TOARGBROW_AVX2
204 #define HAS_I400TOARGBROW_AVX2 203 #define HAS_I400TOARGBROW_AVX2
205 #if !(defined(_DEBUG) && defined(__i386__)) 204 #if !(defined(_DEBUG) && defined(__i386__))
206 // TODO(fbarchard): fix build error on android_full_debug=1 205 // TODO(fbarchard): fix build error on android_full_debug=1
207 // https://code.google.com/p/libyuv/issues/detail?id=517 206 // https://code.google.com/p/libyuv/issues/detail?id=517
208 #define HAS_I422ALPHATOARGBROW_AVX2 207 #define HAS_I422ALPHATOARGBROW_AVX2
209 #endif 208 #endif
210 #define HAS_I422TOABGRROW_AVX2
211 #define HAS_I422TOARGBROW_AVX2 209 #define HAS_I422TOARGBROW_AVX2
212 #define HAS_I422TOBGRAROW_AVX2 210 #define HAS_I422TOBGRAROW_AVX2
213 #define HAS_I422TORAWROW_AVX2 211 #define HAS_I422TORAWROW_AVX2
214 #define HAS_I422TORGB24ROW_AVX2 212 #define HAS_I422TORGB24ROW_AVX2
215 #define HAS_I422TORGBAROW_AVX2 213 #define HAS_I422TORGBAROW_AVX2
216 #define HAS_INTERPOLATEROW_AVX2 214 #define HAS_INTERPOLATEROW_AVX2
217 #define HAS_J422TOABGRROW_AVX2 215 #define HAS_J422TOABGRROW_AVX2
218 #define HAS_J422TOARGBROW_AVX2 216 #define HAS_J422TOARGBROW_AVX2
219 #define HAS_MERGEUVROW_AVX2 217 #define HAS_MERGEUVROW_AVX2
220 #define HAS_MIRRORROW_AVX2 218 #define HAS_MIRRORROW_AVX2
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 #define HAS_I444TOARGBROW_AVX2 252 #define HAS_I444TOARGBROW_AVX2
255 #define HAS_J400TOARGBROW_AVX2 253 #define HAS_J400TOARGBROW_AVX2
256 #define HAS_NV12TORGB565ROW_AVX2 254 #define HAS_NV12TORGB565ROW_AVX2
257 #define HAS_RGB565TOARGBROW_AVX2 255 #define HAS_RGB565TOARGBROW_AVX2
258 #endif 256 #endif
259 257
260 // The following are also available on x64 Visual C. 258 // The following are also available on x64 Visual C.
261 #if !defined(LIBYUV_DISABLE_X86) && defined (_M_X64) && \ 259 #if !defined(LIBYUV_DISABLE_X86) && defined (_M_X64) && \
262 (!defined(__clang__) || defined(__SSSE3__)) 260 (!defined(__clang__) || defined(__SSSE3__))
263 #define HAS_I422ALPHATOARGBROW_SSSE3 261 #define HAS_I422ALPHATOARGBROW_SSSE3
264 #define HAS_I422TOABGRROW_SSSE3
265 #define HAS_I422TOARGBROW_SSSE3 262 #define HAS_I422TOARGBROW_SSSE3
266 #endif 263 #endif
267 264
268 // The following are available on Neon platforms: 265 // The following are available on Neon platforms:
269 #if !defined(LIBYUV_DISABLE_NEON) && \ 266 #if !defined(LIBYUV_DISABLE_NEON) && \
270 (defined(__aarch64__) || defined(__ARM_NEON__) || defined(LIBYUV_NEON)) 267 (defined(__aarch64__) || defined(__ARM_NEON__) || defined(LIBYUV_NEON))
271 #define HAS_ABGRTOUVROW_NEON 268 #define HAS_ABGRTOUVROW_NEON
272 #define HAS_ABGRTOYROW_NEON 269 #define HAS_ABGRTOYROW_NEON
273 #define HAS_ARGB1555TOARGBROW_NEON 270 #define HAS_ARGB1555TOARGBROW_NEON
274 #define HAS_ARGB1555TOUVROW_NEON 271 #define HAS_ARGB1555TOUVROW_NEON
(...skipping 13 matching lines...) Expand all
288 #define HAS_ARGBTOUV444ROW_NEON 285 #define HAS_ARGBTOUV444ROW_NEON
289 #define HAS_ARGBTOUVJROW_NEON 286 #define HAS_ARGBTOUVJROW_NEON
290 #define HAS_ARGBTOUVROW_NEON 287 #define HAS_ARGBTOUVROW_NEON
291 #define HAS_ARGBTOYJROW_NEON 288 #define HAS_ARGBTOYJROW_NEON
292 #define HAS_ARGBTOYROW_NEON 289 #define HAS_ARGBTOYROW_NEON
293 #define HAS_BGRATOUVROW_NEON 290 #define HAS_BGRATOUVROW_NEON
294 #define HAS_BGRATOYROW_NEON 291 #define HAS_BGRATOYROW_NEON
295 #define HAS_COPYROW_NEON 292 #define HAS_COPYROW_NEON
296 #define HAS_I400TOARGBROW_NEON 293 #define HAS_I400TOARGBROW_NEON
297 #define HAS_I411TOARGBROW_NEON 294 #define HAS_I411TOARGBROW_NEON
298 #define HAS_I422TOABGRROW_NEON
299 #define HAS_I422TOARGB1555ROW_NEON 295 #define HAS_I422TOARGB1555ROW_NEON
300 #define HAS_I422TOARGB4444ROW_NEON 296 #define HAS_I422TOARGB4444ROW_NEON
301 #define HAS_I422TOARGBROW_NEON 297 #define HAS_I422TOARGBROW_NEON
302 #define HAS_I422TOBGRAROW_NEON 298 #define HAS_I422TOBGRAROW_NEON
303 #define HAS_I422TORAWROW_NEON 299 #define HAS_I422TORAWROW_NEON
304 #define HAS_I422TORGB24ROW_NEON 300 #define HAS_I422TORGB24ROW_NEON
305 #define HAS_I422TORGB565ROW_NEON 301 #define HAS_I422TORGB565ROW_NEON
306 #define HAS_I422TORGBAROW_NEON 302 #define HAS_I422TORGBAROW_NEON
307 #define HAS_I422TOUYVYROW_NEON 303 #define HAS_I422TOUYVYROW_NEON
308 #define HAS_I422TOYUY2ROW_NEON 304 #define HAS_I422TOYUY2ROW_NEON
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 #define HAS_SOBELXROW_NEON 351 #define HAS_SOBELXROW_NEON
356 #define HAS_SOBELXYROW_NEON 352 #define HAS_SOBELXYROW_NEON
357 #define HAS_SOBELYROW_NEON 353 #define HAS_SOBELYROW_NEON
358 #endif 354 #endif
359 355
360 // The following are available on Mips platforms: 356 // The following are available on Mips platforms:
361 #if !defined(LIBYUV_DISABLE_MIPS) && defined(__mips__) && \ 357 #if !defined(LIBYUV_DISABLE_MIPS) && defined(__mips__) && \
362 (_MIPS_SIM == _MIPS_SIM_ABI32) && (__mips_isa_rev < 6) 358 (_MIPS_SIM == _MIPS_SIM_ABI32) && (__mips_isa_rev < 6)
363 #define HAS_COPYROW_MIPS 359 #define HAS_COPYROW_MIPS
364 #if defined(__mips_dsp) && (__mips_dsp_rev >= 2) 360 #if defined(__mips_dsp) && (__mips_dsp_rev >= 2)
365 #define HAS_I422TOABGRROW_MIPS_DSPR2
366 #define HAS_I422TOARGBROW_MIPS_DSPR2 361 #define HAS_I422TOARGBROW_MIPS_DSPR2
367 #define HAS_I422TOBGRAROW_MIPS_DSPR2 362 #define HAS_I422TOBGRAROW_MIPS_DSPR2
368 #define HAS_INTERPOLATEROW_MIPS_DSPR2 363 #define HAS_INTERPOLATEROW_MIPS_DSPR2
369 #define HAS_MIRRORROW_MIPS_DSPR2 364 #define HAS_MIRRORROW_MIPS_DSPR2
370 #define HAS_MIRRORUVROW_MIPS_DSPR2 365 #define HAS_MIRRORUVROW_MIPS_DSPR2
371 #define HAS_SPLITUVROW_MIPS_DSPR2 366 #define HAS_SPLITUVROW_MIPS_DSPR2
372 #endif 367 #endif
373 #endif 368 #endif
374 369
375 #if defined(_MSC_VER) && !defined(__CLR_VER) 370 #if defined(_MSC_VER) && !defined(__CLR_VER)
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 // Offsets into YuvConstants structure 448 // Offsets into YuvConstants structure
454 #define KUVTOB 0 449 #define KUVTOB 0
455 #define KUVTOG 32 450 #define KUVTOG 32
456 #define KUVTOR 64 451 #define KUVTOR 64
457 #define KUVBIASB 96 452 #define KUVBIASB 96
458 #define KUVBIASG 128 453 #define KUVBIASG 128
459 #define KUVBIASR 160 454 #define KUVBIASR 160
460 #define KYTORGB 192 455 #define KYTORGB 192
461 #endif 456 #endif
462 457
458 // Conversion matrix for YUV to RGB
463 extern const struct YuvConstants kYuvIConstants; // BT.601 459 extern const struct YuvConstants kYuvIConstants; // BT.601
464 extern const struct YuvConstants kYuvJConstants; // JPeg color space 460 extern const struct YuvConstants kYuvJConstants; // JPeg color space
465 extern const struct YuvConstants kYuvHConstants; // BT.709 461 extern const struct YuvConstants kYuvHConstants; // BT.709
466 extern const struct YuvConstants kYvuIConstants; // YVU to BGR BT.601 462
463 // Conversion matrix for YVU to BGR.
464 extern const struct YuvConstants kYvuIConstants; // BT.601
465 extern const struct YuvConstants kYvuJConstants; // JPeg color space
466 extern const struct YuvConstants kYvuHConstants; // BT.709
467 467
468 #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__) 468 #if defined(__APPLE__) || defined(__x86_64__) || defined(__llvm__)
469 #define OMITFP 469 #define OMITFP
470 #else 470 #else
471 #define OMITFP __attribute__((optimize("omit-frame-pointer"))) 471 #define OMITFP __attribute__((optimize("omit-frame-pointer")))
472 #endif 472 #endif
473 473
474 // NaCL macros for GCC x86 and x64. 474 // NaCL macros for GCC x86 and x64.
475 #if defined(__native_client__) 475 #if defined(__native_client__)
476 #define LABELALIGN ".p2align 5\n" 476 #define LABELALIGN ".p2align 5\n"
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 const uint8* src_v, 561 const uint8* src_v,
562 uint8* dst_argb, 562 uint8* dst_argb,
563 const struct YuvConstants* yuvconstants, 563 const struct YuvConstants* yuvconstants,
564 int width); 564 int width);
565 void I422ToARGBRow_NEON(const uint8* src_y, 565 void I422ToARGBRow_NEON(const uint8* src_y,
566 const uint8* src_u, 566 const uint8* src_u,
567 const uint8* src_v, 567 const uint8* src_v,
568 uint8* dst_argb, 568 uint8* dst_argb,
569 const struct YuvConstants* yuvconstants, 569 const struct YuvConstants* yuvconstants,
570 int width); 570 int width);
571 void I422ToABGRRow_NEON(const uint8* src_y,
572 const uint8* src_u,
573 const uint8* src_v,
574 uint8* dst_argb,
575 const struct YuvConstants* yuvconstants,
576 int width);
577 void I411ToARGBRow_NEON(const uint8* src_y, 571 void I411ToARGBRow_NEON(const uint8* src_y,
578 const uint8* src_u, 572 const uint8* src_u,
579 const uint8* src_v, 573 const uint8* src_v,
580 uint8* dst_argb, 574 uint8* dst_argb,
581 const struct YuvConstants* yuvconstants, 575 const struct YuvConstants* yuvconstants,
582 int width); 576 int width);
583 void I422ToBGRARow_NEON(const uint8* src_y, 577 void I422ToBGRARow_NEON(const uint8* src_y,
584 const uint8* src_u, 578 const uint8* src_u,
585 const uint8* src_v, 579 const uint8* src_v,
586 uint8* dst_bgra, 580 uint8* dst_bgra,
587 const struct YuvConstants* yuvconstants, 581 const struct YuvConstants* yuvconstants,
588 int width); 582 int width);
589 void I422ToABGRRow_NEON(const uint8* src_y,
590 const uint8* src_u,
591 const uint8* src_v,
592 uint8* dst_abgr,
593 const struct YuvConstants* yuvconstants,
594 int width);
595 void I422ToRGBARow_NEON(const uint8* src_y, 583 void I422ToRGBARow_NEON(const uint8* src_y,
596 const uint8* src_u, 584 const uint8* src_u,
597 const uint8* src_v, 585 const uint8* src_v,
598 uint8* dst_rgba, 586 uint8* dst_rgba,
599 const struct YuvConstants* yuvconstants, 587 const struct YuvConstants* yuvconstants,
600 int width); 588 int width);
601 void I422ToRGB24Row_NEON(const uint8* src_y, 589 void I422ToRGB24Row_NEON(const uint8* src_y,
602 const uint8* src_u, 590 const uint8* src_u,
603 const uint8* src_v, 591 const uint8* src_v,
604 uint8* dst_rgb24, 592 uint8* dst_rgb24,
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
1051 uint8* dst_argb, 1039 uint8* dst_argb,
1052 const struct YuvConstants* yuvconstants, 1040 const struct YuvConstants* yuvconstants,
1053 int width); 1041 int width);
1054 void I422AlphaToARGBRow_C(const uint8* y_buf, 1042 void I422AlphaToARGBRow_C(const uint8* y_buf,
1055 const uint8* u_buf, 1043 const uint8* u_buf,
1056 const uint8* v_buf, 1044 const uint8* v_buf,
1057 const uint8* a_buf, 1045 const uint8* a_buf,
1058 uint8* dst_argb, 1046 uint8* dst_argb,
1059 const struct YuvConstants* yuvconstants, 1047 const struct YuvConstants* yuvconstants,
1060 int width); 1048 int width);
1061 void I422ToABGRRow_C(const uint8* src_y,
1062 const uint8* src_u,
1063 const uint8* src_v,
1064 uint8* dst_argb,
1065 const struct YuvConstants* yuvconstants,
1066 int width);
1067 void I411ToARGBRow_C(const uint8* src_y, 1049 void I411ToARGBRow_C(const uint8* src_y,
1068 const uint8* src_u, 1050 const uint8* src_u,
1069 const uint8* src_v, 1051 const uint8* src_v,
1070 uint8* dst_argb, 1052 uint8* dst_argb,
1071 const struct YuvConstants* yuvconstants, 1053 const struct YuvConstants* yuvconstants,
1072 int width); 1054 int width);
1073 void NV12ToARGBRow_C(const uint8* src_y, 1055 void NV12ToARGBRow_C(const uint8* src_y,
1074 const uint8* src_uv, 1056 const uint8* src_uv,
1075 uint8* dst_argb, 1057 uint8* dst_argb,
1076 const struct YuvConstants* yuvconstants, 1058 const struct YuvConstants* yuvconstants,
(...skipping 15 matching lines...) Expand all
1092 void UYVYToARGBRow_C(const uint8* src_uyvy, 1074 void UYVYToARGBRow_C(const uint8* src_uyvy,
1093 uint8* dst_argb, 1075 uint8* dst_argb,
1094 const struct YuvConstants* yuvconstants, 1076 const struct YuvConstants* yuvconstants,
1095 int width); 1077 int width);
1096 void I422ToBGRARow_C(const uint8* src_y, 1078 void I422ToBGRARow_C(const uint8* src_y,
1097 const uint8* src_u, 1079 const uint8* src_u,
1098 const uint8* src_v, 1080 const uint8* src_v,
1099 uint8* dst_bgra, 1081 uint8* dst_bgra,
1100 const struct YuvConstants* yuvconstants, 1082 const struct YuvConstants* yuvconstants,
1101 int width); 1083 int width);
1102 void I422ToABGRRow_C(const uint8* src_y,
1103 const uint8* src_u,
1104 const uint8* src_v,
1105 uint8* dst_abgr,
1106 const struct YuvConstants* yuvconstants,
1107 int width);
1108 void I422ToRGBARow_C(const uint8* src_y, 1084 void I422ToRGBARow_C(const uint8* src_y,
1109 const uint8* src_u, 1085 const uint8* src_u,
1110 const uint8* src_v, 1086 const uint8* src_v,
1111 uint8* dst_rgba, 1087 uint8* dst_rgba,
1112 const struct YuvConstants* yuvconstants, 1088 const struct YuvConstants* yuvconstants,
1113 int width); 1089 int width);
1114 void I422ToRGB24Row_C(const uint8* src_y, 1090 void I422ToRGB24Row_C(const uint8* src_y,
1115 const uint8* src_u, 1091 const uint8* src_u,
1116 const uint8* src_v, 1092 const uint8* src_v,
1117 uint8* dst_rgb24, 1093 uint8* dst_rgb24,
(...skipping 28 matching lines...) Expand all
1146 const uint8* src_v, 1122 const uint8* src_v,
1147 uint8* dst_argb, 1123 uint8* dst_argb,
1148 const struct YuvConstants* yuvconstants, 1124 const struct YuvConstants* yuvconstants,
1149 int width); 1125 int width);
1150 void I422ToARGBRow_AVX2(const uint8* src_y, 1126 void I422ToARGBRow_AVX2(const uint8* src_y,
1151 const uint8* src_u, 1127 const uint8* src_u,
1152 const uint8* src_v, 1128 const uint8* src_v,
1153 uint8* dst_argb, 1129 uint8* dst_argb,
1154 const struct YuvConstants* yuvconstants, 1130 const struct YuvConstants* yuvconstants,
1155 int width); 1131 int width);
1156 void I422ToABGRRow_AVX2(const uint8* src_y,
1157 const uint8* src_u,
1158 const uint8* src_v,
1159 uint8* dst_argb,
1160 const struct YuvConstants* yuvconstants,
1161 int width);
1162 void I422ToBGRARow_AVX2(const uint8* src_y, 1132 void I422ToBGRARow_AVX2(const uint8* src_y,
1163 const uint8* src_u, 1133 const uint8* src_u,
1164 const uint8* src_v, 1134 const uint8* src_v,
1165 uint8* dst_argb, 1135 uint8* dst_argb,
1166 const struct YuvConstants* yuvconstants, 1136 const struct YuvConstants* yuvconstants,
1167 int width); 1137 int width);
1168 void I422ToRGBARow_AVX2(const uint8* src_y, 1138 void I422ToRGBARow_AVX2(const uint8* src_y,
1169 const uint8* src_u, 1139 const uint8* src_u,
1170 const uint8* src_v, 1140 const uint8* src_v,
1171 uint8* dst_argb, 1141 uint8* dst_argb,
1172 const struct YuvConstants* yuvconstants, 1142 const struct YuvConstants* yuvconstants,
1173 int width); 1143 int width);
1174 void I422ToABGRRow_AVX2(const uint8* src_y,
1175 const uint8* src_u,
1176 const uint8* src_v,
1177 uint8* dst_argb,
1178 const struct YuvConstants* yuvconstants,
1179 int width);
1180 void I444ToARGBRow_SSSE3(const uint8* src_y, 1144 void I444ToARGBRow_SSSE3(const uint8* src_y,
1181 const uint8* src_u, 1145 const uint8* src_u,
1182 const uint8* src_v, 1146 const uint8* src_v,
1183 uint8* dst_argb, 1147 uint8* dst_argb,
1184 const struct YuvConstants* yuvconstants, 1148 const struct YuvConstants* yuvconstants,
1185 int width); 1149 int width);
1186 void I444ToARGBRow_AVX2(const uint8* src_y, 1150 void I444ToARGBRow_AVX2(const uint8* src_y,
1187 const uint8* src_u, 1151 const uint8* src_u,
1188 const uint8* src_v, 1152 const uint8* src_v,
1189 uint8* dst_argb, 1153 uint8* dst_argb,
(...skipping 30 matching lines...) Expand all
1220 const uint8* a_buf, 1184 const uint8* a_buf,
1221 uint8* dst_argb, 1185 uint8* dst_argb,
1222 const struct YuvConstants* yuvconstants, 1186 const struct YuvConstants* yuvconstants,
1223 int width); 1187 int width);
1224 void I422ToARGBRow_SSSE3(const uint8* src_y, 1188 void I422ToARGBRow_SSSE3(const uint8* src_y,
1225 const uint8* src_u, 1189 const uint8* src_u,
1226 const uint8* src_v, 1190 const uint8* src_v,
1227 uint8* dst_argb, 1191 uint8* dst_argb,
1228 const struct YuvConstants* yuvconstants, 1192 const struct YuvConstants* yuvconstants,
1229 int width); 1193 int width);
1230 void I422ToABGRRow_SSSE3(const uint8* src_y,
1231 const uint8* src_u,
1232 const uint8* src_v,
1233 uint8* dst_argb,
1234 const struct YuvConstants* yuvconstants,
1235 int width);
1236 void I411ToARGBRow_SSSE3(const uint8* src_y, 1194 void I411ToARGBRow_SSSE3(const uint8* src_y,
1237 const uint8* src_u, 1195 const uint8* src_u,
1238 const uint8* src_v, 1196 const uint8* src_v,
1239 uint8* dst_argb, 1197 uint8* dst_argb,
1240 const struct YuvConstants* yuvconstants, 1198 const struct YuvConstants* yuvconstants,
1241 int width); 1199 int width);
1242 void I411ToARGBRow_AVX2(const uint8* src_y, 1200 void I411ToARGBRow_AVX2(const uint8* src_y,
1243 const uint8* src_u, 1201 const uint8* src_u,
1244 const uint8* src_v, 1202 const uint8* src_v,
1245 uint8* dst_argb, 1203 uint8* dst_argb,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
1290 void UYVYToARGBRow_AVX2(const uint8* src_uyvy, 1248 void UYVYToARGBRow_AVX2(const uint8* src_uyvy,
1291 uint8* dst_argb, 1249 uint8* dst_argb,
1292 const struct YuvConstants* yuvconstants, 1250 const struct YuvConstants* yuvconstants,
1293 int width); 1251 int width);
1294 void I422ToBGRARow_SSSE3(const uint8* src_y, 1252 void I422ToBGRARow_SSSE3(const uint8* src_y,
1295 const uint8* src_u, 1253 const uint8* src_u,
1296 const uint8* src_v, 1254 const uint8* src_v,
1297 uint8* dst_bgra, 1255 uint8* dst_bgra,
1298 const struct YuvConstants* yuvconstants, 1256 const struct YuvConstants* yuvconstants,
1299 int width); 1257 int width);
1300 void I422ToABGRRow_SSSE3(const uint8* src_y,
1301 const uint8* src_u,
1302 const uint8* src_v,
1303 uint8* dst_abgr,
1304 const struct YuvConstants* yuvconstants,
1305 int width);
1306 void I422ToRGBARow_SSSE3(const uint8* src_y, 1258 void I422ToRGBARow_SSSE3(const uint8* src_y,
1307 const uint8* src_u, 1259 const uint8* src_u,
1308 const uint8* src_v, 1260 const uint8* src_v,
1309 uint8* dst_rgba, 1261 uint8* dst_rgba,
1310 const struct YuvConstants* yuvconstants, 1262 const struct YuvConstants* yuvconstants,
1311 int width); 1263 int width);
1312 void I422ToARGB4444Row_SSSE3(const uint8* src_y, 1264 void I422ToARGB4444Row_SSSE3(const uint8* src_y,
1313 const uint8* src_u, 1265 const uint8* src_u,
1314 const uint8* src_v, 1266 const uint8* src_v,
1315 uint8* dst_argb, 1267 uint8* dst_argb,
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1380 const uint8* src_v, 1332 const uint8* src_v,
1381 uint8* dst_argb, 1333 uint8* dst_argb,
1382 const struct YuvConstants* yuvconstants, 1334 const struct YuvConstants* yuvconstants,
1383 int width); 1335 int width);
1384 void I422ToRGBARow_Any_AVX2(const uint8* src_y, 1336 void I422ToRGBARow_Any_AVX2(const uint8* src_y,
1385 const uint8* src_u, 1337 const uint8* src_u,
1386 const uint8* src_v, 1338 const uint8* src_v,
1387 uint8* dst_argb, 1339 uint8* dst_argb,
1388 const struct YuvConstants* yuvconstants, 1340 const struct YuvConstants* yuvconstants,
1389 int width); 1341 int width);
1390 void I422ToABGRRow_Any_AVX2(const uint8* src_y,
1391 const uint8* src_u,
1392 const uint8* src_v,
1393 uint8* dst_argb,
1394 const struct YuvConstants* yuvconstants,
1395 int width);
1396 void I444ToARGBRow_Any_SSSE3(const uint8* src_y, 1342 void I444ToARGBRow_Any_SSSE3(const uint8* src_y,
1397 const uint8* src_u, 1343 const uint8* src_u,
1398 const uint8* src_v, 1344 const uint8* src_v,
1399 uint8* dst_argb, 1345 uint8* dst_argb,
1400 const struct YuvConstants* yuvconstants, 1346 const struct YuvConstants* yuvconstants,
1401 int width); 1347 int width);
1402 void I444ToARGBRow_Any_AVX2(const uint8* src_y, 1348 void I444ToARGBRow_Any_AVX2(const uint8* src_y,
1403 const uint8* src_u, 1349 const uint8* src_u,
1404 const uint8* src_v, 1350 const uint8* src_v,
1405 uint8* dst_argb, 1351 uint8* dst_argb,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
1482 void UYVYToARGBRow_Any_AVX2(const uint8* src_uyvy, 1428 void UYVYToARGBRow_Any_AVX2(const uint8* src_uyvy,
1483 uint8* dst_argb, 1429 uint8* dst_argb,
1484 const struct YuvConstants* yuvconstants, 1430 const struct YuvConstants* yuvconstants,
1485 int width); 1431 int width);
1486 void I422ToBGRARow_Any_SSSE3(const uint8* src_y, 1432 void I422ToBGRARow_Any_SSSE3(const uint8* src_y,
1487 const uint8* src_u, 1433 const uint8* src_u,
1488 const uint8* src_v, 1434 const uint8* src_v,
1489 uint8* dst_bgra, 1435 uint8* dst_bgra,
1490 const struct YuvConstants* yuvconstants, 1436 const struct YuvConstants* yuvconstants,
1491 int width); 1437 int width);
1492 void I422ToABGRRow_Any_SSSE3(const uint8* src_y,
1493 const uint8* src_u,
1494 const uint8* src_v,
1495 uint8* dst_abgr,
1496 const struct YuvConstants* yuvconstants,
1497 int width);
1498 void I422ToRGBARow_Any_SSSE3(const uint8* src_y, 1438 void I422ToRGBARow_Any_SSSE3(const uint8* src_y,
1499 const uint8* src_u, 1439 const uint8* src_u,
1500 const uint8* src_v, 1440 const uint8* src_v,
1501 uint8* dst_rgba, 1441 uint8* dst_rgba,
1502 const struct YuvConstants* yuvconstants, 1442 const struct YuvConstants* yuvconstants,
1503 int width); 1443 int width);
1504 void I422ToARGB4444Row_Any_SSSE3(const uint8* src_y, 1444 void I422ToARGB4444Row_Any_SSSE3(const uint8* src_y,
1505 const uint8* src_u, 1445 const uint8* src_u,
1506 const uint8* src_v, 1446 const uint8* src_v,
1507 uint8* dst_rgba, 1447 uint8* dst_rgba,
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1674 const uint8* src_v, 1614 const uint8* src_v,
1675 uint8* dst_argb, 1615 uint8* dst_argb,
1676 const struct YuvConstants* yuvconstants, 1616 const struct YuvConstants* yuvconstants,
1677 int width); 1617 int width);
1678 void I422ToBGRARow_Any_NEON(const uint8* src_y, 1618 void I422ToBGRARow_Any_NEON(const uint8* src_y,
1679 const uint8* src_u, 1619 const uint8* src_u,
1680 const uint8* src_v, 1620 const uint8* src_v,
1681 uint8* dst_argb, 1621 uint8* dst_argb,
1682 const struct YuvConstants* yuvconstants, 1622 const struct YuvConstants* yuvconstants,
1683 int width); 1623 int width);
1684 void I422ToABGRRow_Any_NEON(const uint8* src_y,
1685 const uint8* src_u,
1686 const uint8* src_v,
1687 uint8* dst_argb,
1688 const struct YuvConstants* yuvconstants,
1689 int width);
1690 void I422ToRGBARow_Any_NEON(const uint8* src_y, 1624 void I422ToRGBARow_Any_NEON(const uint8* src_y,
1691 const uint8* src_u, 1625 const uint8* src_u,
1692 const uint8* src_v, 1626 const uint8* src_v,
1693 uint8* dst_argb, 1627 uint8* dst_argb,
1694 const struct YuvConstants* yuvconstants, 1628 const struct YuvConstants* yuvconstants,
1695 int width); 1629 int width);
1696 void I422ToRGB24Row_Any_NEON(const uint8* src_y, 1630 void I422ToRGB24Row_Any_NEON(const uint8* src_y,
1697 const uint8* src_u, 1631 const uint8* src_u,
1698 const uint8* src_v, 1632 const uint8* src_v,
1699 uint8* dst_argb, 1633 uint8* dst_argb,
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1751 const uint8* src_v, 1685 const uint8* src_v,
1752 uint8* dst_argb, 1686 uint8* dst_argb,
1753 const struct YuvConstants* yuvconstants, 1687 const struct YuvConstants* yuvconstants,
1754 int width); 1688 int width);
1755 void I422ToBGRARow_MIPS_DSPR2(const uint8* src_y, 1689 void I422ToBGRARow_MIPS_DSPR2(const uint8* src_y,
1756 const uint8* src_u, 1690 const uint8* src_u,
1757 const uint8* src_v, 1691 const uint8* src_v,
1758 uint8* dst_argb, 1692 uint8* dst_argb,
1759 const struct YuvConstants* yuvconstants, 1693 const struct YuvConstants* yuvconstants,
1760 int width); 1694 int width);
1761 void I422ToABGRRow_MIPS_DSPR2(const uint8* src_y,
1762 const uint8* src_u,
1763 const uint8* src_v,
1764 uint8* dst_argb,
1765 const struct YuvConstants* yuvconstants,
1766 int width);
1767 void I422ToARGBRow_MIPS_DSPR2(const uint8* src_y, 1695 void I422ToARGBRow_MIPS_DSPR2(const uint8* src_y,
1768 const uint8* src_u, 1696 const uint8* src_u,
1769 const uint8* src_v, 1697 const uint8* src_v,
1770 uint8* dst_argb, 1698 uint8* dst_argb,
1771 const struct YuvConstants* yuvconstants, 1699 const struct YuvConstants* yuvconstants,
1772 int width); 1700 int width);
1773 void I422ToBGRARow_MIPS_DSPR2(const uint8* src_y, 1701 void I422ToBGRARow_MIPS_DSPR2(const uint8* src_y,
1774 const uint8* src_u, 1702 const uint8* src_u,
1775 const uint8* src_v, 1703 const uint8* src_v,
1776 uint8* dst_argb, 1704 uint8* dst_argb,
1777 const struct YuvConstants* yuvconstants, 1705 const struct YuvConstants* yuvconstants,
1778 int width); 1706 int width);
1779 void I422ToABGRRow_MIPS_DSPR2(const uint8* src_y,
1780 const uint8* src_u,
1781 const uint8* src_v,
1782 uint8* dst_argb,
1783 const struct YuvConstants* yuvconstants,
1784 int width);
1785 1707
1786 void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int width); 1708 void YUY2ToYRow_AVX2(const uint8* src_yuy2, uint8* dst_y, int width);
1787 void YUY2ToUVRow_AVX2(const uint8* src_yuy2, int stride_yuy2, 1709 void YUY2ToUVRow_AVX2(const uint8* src_yuy2, int stride_yuy2,
1788 uint8* dst_u, uint8* dst_v, int width); 1710 uint8* dst_u, uint8* dst_v, int width);
1789 void YUY2ToUV422Row_AVX2(const uint8* src_yuy2, 1711 void YUY2ToUV422Row_AVX2(const uint8* src_yuy2,
1790 uint8* dst_u, uint8* dst_v, int width); 1712 uint8* dst_u, uint8* dst_v, int width);
1791 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width); 1713 void YUY2ToYRow_SSE2(const uint8* src_yuy2, uint8* dst_y, int width);
1792 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2, 1714 void YUY2ToUVRow_SSE2(const uint8* src_yuy2, int stride_yuy2,
1793 uint8* dst_u, uint8* dst_v, int width); 1715 uint8* dst_u, uint8* dst_v, int width);
1794 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2, 1716 void YUY2ToUV422Row_SSE2(const uint8* src_yuy2,
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
2076 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, 1998 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb,
2077 int width, 1999 int width,
2078 const uint8* luma, uint32 lumacoeff); 2000 const uint8* luma, uint32 lumacoeff);
2079 2001
2080 #ifdef __cplusplus 2002 #ifdef __cplusplus
2081 } // extern "C" 2003 } // extern "C"
2082 } // namespace libyuv 2004 } // namespace libyuv
2083 #endif 2005 #endif
2084 2006
2085 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT 2007 #endif // INCLUDE_LIBYUV_ROW_H_ NOLINT
OLDNEW
« no previous file with comments | « no previous file | source/convert_argb.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698