| 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 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |