| 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 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 #define HAS_SOBELROW_SSE2 | 169 #define HAS_SOBELROW_SSE2 |
| 170 #define HAS_SOBELTOPLANEROW_SSE2 | 170 #define HAS_SOBELTOPLANEROW_SSE2 |
| 171 #define HAS_SOBELXROW_SSE2 | 171 #define HAS_SOBELXROW_SSE2 |
| 172 #define HAS_SOBELXYROW_SSE2 | 172 #define HAS_SOBELXYROW_SSE2 |
| 173 #define HAS_SOBELYROW_SSE2 | 173 #define HAS_SOBELYROW_SSE2 |
| 174 | 174 |
| 175 // The following functions fail on gcc/clang 32 bit with fpic and framepointer. | 175 // The following functions fail on gcc/clang 32 bit with fpic and framepointer. |
| 176 // caveat: clangcl uses row_win.cc which works. | 176 // caveat: clangcl uses row_win.cc which works. |
| 177 #if defined(NDEBUG) || !(defined(_DEBUG) && defined(__i386__)) || \ | 177 #if defined(NDEBUG) || !(defined(_DEBUG) && defined(__i386__)) || \ |
| 178 !defined(__i386__) || defined(_MSC_VER) | 178 !defined(__i386__) || defined(_MSC_VER) |
| 179 // TODO(fbarchard): fix build error on x86 debug | |
| 180 // https://code.google.com/p/libyuv/issues/detail?id=524 | |
| 181 #define HAS_I411TOARGBROW_SSSE3 | |
| 182 // TODO(fbarchard): fix build error on android_full_debug=1 | 179 // TODO(fbarchard): fix build error on android_full_debug=1 |
| 183 // https://code.google.com/p/libyuv/issues/detail?id=517 | 180 // https://code.google.com/p/libyuv/issues/detail?id=517 |
| 184 #define HAS_I422ALPHATOARGBROW_SSSE3 | 181 #define HAS_I422ALPHATOARGBROW_SSSE3 |
| 185 #endif | 182 #endif |
| 186 #endif | 183 #endif |
| 187 | 184 |
| 188 // The following are available on all x86 platforms, but | 185 // The following are available on all x86 platforms, but |
| 189 // require VS2012, clang 3.4 or gcc 4.7. | 186 // require VS2012, clang 3.4 or gcc 4.7. |
| 190 // The code supports NaCL but requires a new compiler and validator. | 187 // The code supports NaCL but requires a new compiler and validator. |
| 191 #if !defined(LIBYUV_DISABLE_X86) && (defined(VISUALC_HAS_AVX2) || \ | 188 #if !defined(LIBYUV_DISABLE_X86) && (defined(VISUALC_HAS_AVX2) || \ |
| 192 defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) | 189 defined(CLANG_HAS_AVX2) || defined(GCC_HAS_AVX2)) |
| 193 #define HAS_ARGBCOPYALPHAROW_AVX2 | 190 #define HAS_ARGBCOPYALPHAROW_AVX2 |
| 194 #define HAS_ARGBCOPYYTOALPHAROW_AVX2 | 191 #define HAS_ARGBCOPYYTOALPHAROW_AVX2 |
| 195 #define HAS_ARGBMIRRORROW_AVX2 | 192 #define HAS_ARGBMIRRORROW_AVX2 |
| 196 #define HAS_ARGBPOLYNOMIALROW_AVX2 | 193 #define HAS_ARGBPOLYNOMIALROW_AVX2 |
| 197 #define HAS_ARGBSHUFFLEROW_AVX2 | 194 #define HAS_ARGBSHUFFLEROW_AVX2 |
| 198 #define HAS_ARGBTORGB565DITHERROW_AVX2 | 195 #define HAS_ARGBTORGB565DITHERROW_AVX2 |
| 199 #define HAS_ARGBTOUVJROW_AVX2 | 196 #define HAS_ARGBTOUVJROW_AVX2 |
| 200 #define HAS_ARGBTOUVROW_AVX2 | 197 #define HAS_ARGBTOUVROW_AVX2 |
| 201 #define HAS_ARGBTOYJROW_AVX2 | 198 #define HAS_ARGBTOYJROW_AVX2 |
| 202 #define HAS_ARGBTOYROW_AVX2 | 199 #define HAS_ARGBTOYROW_AVX2 |
| 203 #define HAS_COPYROW_AVX | 200 #define HAS_COPYROW_AVX |
| 204 #define HAS_H422TOARGBROW_AVX2 | 201 #define HAS_H422TOARGBROW_AVX2 |
| 205 #define HAS_I400TOARGBROW_AVX2 | 202 #define HAS_I400TOARGBROW_AVX2 |
| 206 #if !(defined(_DEBUG) && defined(__i386__)) | 203 #if !(defined(_DEBUG) && defined(__i386__)) |
| 207 // TODO(fbarchard): fix build error on android_full_debug=1 | 204 // TODO(fbarchard): fix build error on android_full_debug=1 |
| 208 // https://code.google.com/p/libyuv/issues/detail?id=517 | 205 // https://code.google.com/p/libyuv/issues/detail?id=517 |
| 209 #define HAS_I422ALPHATOARGBROW_AVX2 | 206 #define HAS_I422ALPHATOARGBROW_AVX2 |
| 210 #endif | 207 #endif |
| 211 #define HAS_I411TOARGBROW_AVX2 | |
| 212 #define HAS_I422TOARGB1555ROW_AVX2 | 208 #define HAS_I422TOARGB1555ROW_AVX2 |
| 213 #define HAS_I422TOARGB4444ROW_AVX2 | 209 #define HAS_I422TOARGB4444ROW_AVX2 |
| 214 #define HAS_I422TOARGBROW_AVX2 | 210 #define HAS_I422TOARGBROW_AVX2 |
| 215 #define HAS_I422TORGB24ROW_AVX2 | 211 #define HAS_I422TORGB24ROW_AVX2 |
| 216 #define HAS_I422TORGB565ROW_AVX2 | 212 #define HAS_I422TORGB565ROW_AVX2 |
| 217 #define HAS_I422TORGBAROW_AVX2 | 213 #define HAS_I422TORGBAROW_AVX2 |
| 218 #define HAS_I444TOARGBROW_AVX2 | 214 #define HAS_I444TOARGBROW_AVX2 |
| 219 #define HAS_INTERPOLATEROW_AVX2 | 215 #define HAS_INTERPOLATEROW_AVX2 |
| 220 #define HAS_J422TOARGBROW_AVX2 | 216 #define HAS_J422TOARGBROW_AVX2 |
| 221 #define HAS_MERGEUVROW_AVX2 | 217 #define HAS_MERGEUVROW_AVX2 |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 274 #define HAS_ARGB4444TOARGBROW_NEON | 270 #define HAS_ARGB4444TOARGBROW_NEON |
| 275 #define HAS_ARGB4444TOUVROW_NEON | 271 #define HAS_ARGB4444TOUVROW_NEON |
| 276 #define HAS_ARGB4444TOYROW_NEON | 272 #define HAS_ARGB4444TOYROW_NEON |
| 277 #define HAS_ARGBSETROW_NEON | 273 #define HAS_ARGBSETROW_NEON |
| 278 #define HAS_ARGBTOARGB1555ROW_NEON | 274 #define HAS_ARGBTOARGB1555ROW_NEON |
| 279 #define HAS_ARGBTOARGB4444ROW_NEON | 275 #define HAS_ARGBTOARGB4444ROW_NEON |
| 280 #define HAS_ARGBTORAWROW_NEON | 276 #define HAS_ARGBTORAWROW_NEON |
| 281 #define HAS_ARGBTORGB24ROW_NEON | 277 #define HAS_ARGBTORGB24ROW_NEON |
| 282 #define HAS_ARGBTORGB565DITHERROW_NEON | 278 #define HAS_ARGBTORGB565DITHERROW_NEON |
| 283 #define HAS_ARGBTORGB565ROW_NEON | 279 #define HAS_ARGBTORGB565ROW_NEON |
| 284 #define HAS_ARGBTOUV411ROW_NEON | |
| 285 #define HAS_ARGBTOUV444ROW_NEON | 280 #define HAS_ARGBTOUV444ROW_NEON |
| 286 #define HAS_ARGBTOUVJROW_NEON | 281 #define HAS_ARGBTOUVJROW_NEON |
| 287 #define HAS_ARGBTOUVROW_NEON | 282 #define HAS_ARGBTOUVROW_NEON |
| 288 #define HAS_ARGBTOYJROW_NEON | 283 #define HAS_ARGBTOYJROW_NEON |
| 289 #define HAS_ARGBTOYROW_NEON | 284 #define HAS_ARGBTOYROW_NEON |
| 290 #define HAS_ARGBEXTRACTALPHAROW_NEON | 285 #define HAS_ARGBEXTRACTALPHAROW_NEON |
| 291 #define HAS_BGRATOUVROW_NEON | 286 #define HAS_BGRATOUVROW_NEON |
| 292 #define HAS_BGRATOYROW_NEON | 287 #define HAS_BGRATOYROW_NEON |
| 293 #define HAS_COPYROW_NEON | 288 #define HAS_COPYROW_NEON |
| 294 #define HAS_I400TOARGBROW_NEON | 289 #define HAS_I400TOARGBROW_NEON |
| 295 #define HAS_I411TOARGBROW_NEON | |
| 296 #define HAS_I422ALPHATOARGBROW_NEON | 290 #define HAS_I422ALPHATOARGBROW_NEON |
| 297 #define HAS_I422TOARGB1555ROW_NEON | 291 #define HAS_I422TOARGB1555ROW_NEON |
| 298 #define HAS_I422TOARGB4444ROW_NEON | 292 #define HAS_I422TOARGB4444ROW_NEON |
| 299 #define HAS_I422TOARGBROW_NEON | 293 #define HAS_I422TOARGBROW_NEON |
| 300 #define HAS_I422TORGB24ROW_NEON | 294 #define HAS_I422TORGB24ROW_NEON |
| 301 #define HAS_I422TORGB565ROW_NEON | 295 #define HAS_I422TORGB565ROW_NEON |
| 302 #define HAS_I422TORGBAROW_NEON | 296 #define HAS_I422TORGBAROW_NEON |
| 303 #define HAS_I422TOUYVYROW_NEON | 297 #define HAS_I422TOUYVYROW_NEON |
| 304 #define HAS_I422TOYUY2ROW_NEON | 298 #define HAS_I422TOYUY2ROW_NEON |
| 305 #define HAS_I444TOARGBROW_NEON | 299 #define HAS_I444TOARGBROW_NEON |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 586 const uint8* a_buf, | 580 const uint8* a_buf, |
| 587 uint8* dst_argb, | 581 uint8* dst_argb, |
| 588 const struct YuvConstants* yuvconstants, | 582 const struct YuvConstants* yuvconstants, |
| 589 int width); | 583 int width); |
| 590 void I422ToARGBRow_NEON(const uint8* src_y, | 584 void I422ToARGBRow_NEON(const uint8* src_y, |
| 591 const uint8* src_u, | 585 const uint8* src_u, |
| 592 const uint8* src_v, | 586 const uint8* src_v, |
| 593 uint8* dst_argb, | 587 uint8* dst_argb, |
| 594 const struct YuvConstants* yuvconstants, | 588 const struct YuvConstants* yuvconstants, |
| 595 int width); | 589 int width); |
| 596 void I411ToARGBRow_NEON(const uint8* src_y, | |
| 597 const uint8* src_u, | |
| 598 const uint8* src_v, | |
| 599 uint8* dst_argb, | |
| 600 const struct YuvConstants* yuvconstants, | |
| 601 int width); | |
| 602 void I422ToRGBARow_NEON(const uint8* src_y, | 590 void I422ToRGBARow_NEON(const uint8* src_y, |
| 603 const uint8* src_u, | 591 const uint8* src_u, |
| 604 const uint8* src_v, | 592 const uint8* src_v, |
| 605 uint8* dst_rgba, | 593 uint8* dst_rgba, |
| 606 const struct YuvConstants* yuvconstants, | 594 const struct YuvConstants* yuvconstants, |
| 607 int width); | 595 int width); |
| 608 void I422ToRGB24Row_NEON(const uint8* src_y, | 596 void I422ToRGB24Row_NEON(const uint8* src_y, |
| 609 const uint8* src_u, | 597 const uint8* src_u, |
| 610 const uint8* src_v, | 598 const uint8* src_v, |
| 611 uint8* dst_rgb24, | 599 uint8* dst_rgb24, |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 661 void ARGBToYJRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); | 649 void ARGBToYJRow_SSSE3(const uint8* src_argb, uint8* dst_y, int width); |
| 662 void BGRAToYRow_SSSE3(const uint8* src_bgra, uint8* dst_y, int width); | 650 void BGRAToYRow_SSSE3(const uint8* src_bgra, uint8* dst_y, int width); |
| 663 void ABGRToYRow_SSSE3(const uint8* src_abgr, uint8* dst_y, int width); | 651 void ABGRToYRow_SSSE3(const uint8* src_abgr, uint8* dst_y, int width); |
| 664 void RGBAToYRow_SSSE3(const uint8* src_rgba, uint8* dst_y, int width); | 652 void RGBAToYRow_SSSE3(const uint8* src_rgba, uint8* dst_y, int width); |
| 665 void RGB24ToYRow_SSSE3(const uint8* src_rgb24, uint8* dst_y, int width); | 653 void RGB24ToYRow_SSSE3(const uint8* src_rgb24, uint8* dst_y, int width); |
| 666 void RAWToYRow_SSSE3(const uint8* src_raw, uint8* dst_y, int width); | 654 void RAWToYRow_SSSE3(const uint8* src_raw, uint8* dst_y, int width); |
| 667 void ARGBToYRow_NEON(const uint8* src_argb, uint8* dst_y, int width); | 655 void ARGBToYRow_NEON(const uint8* src_argb, uint8* dst_y, int width); |
| 668 void ARGBToYJRow_NEON(const uint8* src_argb, uint8* dst_y, int width); | 656 void ARGBToYJRow_NEON(const uint8* src_argb, uint8* dst_y, int width); |
| 669 void ARGBToUV444Row_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, | 657 void ARGBToUV444Row_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, |
| 670 int width); | 658 int width); |
| 671 void ARGBToUV411Row_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, | |
| 672 int width); | |
| 673 void ARGBToUVRow_NEON(const uint8* src_argb, int src_stride_argb, | 659 void ARGBToUVRow_NEON(const uint8* src_argb, int src_stride_argb, |
| 674 uint8* dst_u, uint8* dst_v, int width); | 660 uint8* dst_u, uint8* dst_v, int width); |
| 675 void ARGBToUVJRow_NEON(const uint8* src_argb, int src_stride_argb, | 661 void ARGBToUVJRow_NEON(const uint8* src_argb, int src_stride_argb, |
| 676 uint8* dst_u, uint8* dst_v, int width); | 662 uint8* dst_u, uint8* dst_v, int width); |
| 677 void BGRAToUVRow_NEON(const uint8* src_bgra, int src_stride_bgra, | 663 void BGRAToUVRow_NEON(const uint8* src_bgra, int src_stride_bgra, |
| 678 uint8* dst_u, uint8* dst_v, int width); | 664 uint8* dst_u, uint8* dst_v, int width); |
| 679 void ABGRToUVRow_NEON(const uint8* src_abgr, int src_stride_abgr, | 665 void ABGRToUVRow_NEON(const uint8* src_abgr, int src_stride_abgr, |
| 680 uint8* dst_u, uint8* dst_v, int width); | 666 uint8* dst_u, uint8* dst_v, int width); |
| 681 void RGBAToUVRow_NEON(const uint8* src_rgba, int src_stride_rgba, | 667 void RGBAToUVRow_NEON(const uint8* src_rgba, int src_stride_rgba, |
| 682 uint8* dst_u, uint8* dst_v, int width); | 668 uint8* dst_u, uint8* dst_v, int width); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 751 void ARGBToUVJRow_Any_SSSE3(const uint8* src_argb, int src_stride_argb, | 737 void ARGBToUVJRow_Any_SSSE3(const uint8* src_argb, int src_stride_argb, |
| 752 uint8* dst_u, uint8* dst_v, int width); | 738 uint8* dst_u, uint8* dst_v, int width); |
| 753 void BGRAToUVRow_Any_SSSE3(const uint8* src_bgra, int src_stride_bgra, | 739 void BGRAToUVRow_Any_SSSE3(const uint8* src_bgra, int src_stride_bgra, |
| 754 uint8* dst_u, uint8* dst_v, int width); | 740 uint8* dst_u, uint8* dst_v, int width); |
| 755 void ABGRToUVRow_Any_SSSE3(const uint8* src_abgr, int src_stride_abgr, | 741 void ABGRToUVRow_Any_SSSE3(const uint8* src_abgr, int src_stride_abgr, |
| 756 uint8* dst_u, uint8* dst_v, int width); | 742 uint8* dst_u, uint8* dst_v, int width); |
| 757 void RGBAToUVRow_Any_SSSE3(const uint8* src_rgba, int src_stride_rgba, | 743 void RGBAToUVRow_Any_SSSE3(const uint8* src_rgba, int src_stride_rgba, |
| 758 uint8* dst_u, uint8* dst_v, int width); | 744 uint8* dst_u, uint8* dst_v, int width); |
| 759 void ARGBToUV444Row_Any_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, | 745 void ARGBToUV444Row_Any_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, |
| 760 int width); | 746 int width); |
| 761 void ARGBToUV411Row_Any_NEON(const uint8* src_argb, uint8* dst_u, uint8* dst_v, | |
| 762 int width); | |
| 763 void ARGBToUVRow_Any_NEON(const uint8* src_argb, int src_stride_argb, | 747 void ARGBToUVRow_Any_NEON(const uint8* src_argb, int src_stride_argb, |
| 764 uint8* dst_u, uint8* dst_v, int width); | 748 uint8* dst_u, uint8* dst_v, int width); |
| 765 void ARGBToUVJRow_Any_NEON(const uint8* src_argb, int src_stride_argb, | 749 void ARGBToUVJRow_Any_NEON(const uint8* src_argb, int src_stride_argb, |
| 766 uint8* dst_u, uint8* dst_v, int width); | 750 uint8* dst_u, uint8* dst_v, int width); |
| 767 void BGRAToUVRow_Any_NEON(const uint8* src_bgra, int src_stride_bgra, | 751 void BGRAToUVRow_Any_NEON(const uint8* src_bgra, int src_stride_bgra, |
| 768 uint8* dst_u, uint8* dst_v, int width); | 752 uint8* dst_u, uint8* dst_v, int width); |
| 769 void ABGRToUVRow_Any_NEON(const uint8* src_abgr, int src_stride_abgr, | 753 void ABGRToUVRow_Any_NEON(const uint8* src_abgr, int src_stride_abgr, |
| 770 uint8* dst_u, uint8* dst_v, int width); | 754 uint8* dst_u, uint8* dst_v, int width); |
| 771 void RGBAToUVRow_Any_NEON(const uint8* src_rgba, int src_stride_rgba, | 755 void RGBAToUVRow_Any_NEON(const uint8* src_rgba, int src_stride_rgba, |
| 772 uint8* dst_u, uint8* dst_v, int width); | 756 uint8* dst_u, uint8* dst_v, int width); |
| (...skipping 30 matching lines...) Expand all Loading... |
| 803 void ARGB4444ToUVRow_C(const uint8* src_argb4444, int src_stride_argb4444, | 787 void ARGB4444ToUVRow_C(const uint8* src_argb4444, int src_stride_argb4444, |
| 804 uint8* dst_u, uint8* dst_v, int width); | 788 uint8* dst_u, uint8* dst_v, int width); |
| 805 | 789 |
| 806 void ARGBToUV444Row_SSSE3(const uint8* src_argb, | 790 void ARGBToUV444Row_SSSE3(const uint8* src_argb, |
| 807 uint8* dst_u, uint8* dst_v, int width); | 791 uint8* dst_u, uint8* dst_v, int width); |
| 808 void ARGBToUV444Row_Any_SSSE3(const uint8* src_argb, | 792 void ARGBToUV444Row_Any_SSSE3(const uint8* src_argb, |
| 809 uint8* dst_u, uint8* dst_v, int width); | 793 uint8* dst_u, uint8* dst_v, int width); |
| 810 | 794 |
| 811 void ARGBToUV444Row_C(const uint8* src_argb, | 795 void ARGBToUV444Row_C(const uint8* src_argb, |
| 812 uint8* dst_u, uint8* dst_v, int width); | 796 uint8* dst_u, uint8* dst_v, int width); |
| 813 void ARGBToUV411Row_C(const uint8* src_argb, | |
| 814 uint8* dst_u, uint8* dst_v, int width); | |
| 815 | 797 |
| 816 void MirrorRow_AVX2(const uint8* src, uint8* dst, int width); | 798 void MirrorRow_AVX2(const uint8* src, uint8* dst, int width); |
| 817 void MirrorRow_SSSE3(const uint8* src, uint8* dst, int width); | 799 void MirrorRow_SSSE3(const uint8* src, uint8* dst, int width); |
| 818 void MirrorRow_NEON(const uint8* src, uint8* dst, int width); | 800 void MirrorRow_NEON(const uint8* src, uint8* dst, int width); |
| 819 void MirrorRow_DSPR2(const uint8* src, uint8* dst, int width); | 801 void MirrorRow_DSPR2(const uint8* src, uint8* dst, int width); |
| 820 void MirrorRow_MSA(const uint8* src, uint8* dst, int width); | 802 void MirrorRow_MSA(const uint8* src, uint8* dst, int width); |
| 821 void MirrorRow_C(const uint8* src, uint8* dst, int width); | 803 void MirrorRow_C(const uint8* src, uint8* dst, int width); |
| 822 void MirrorRow_Any_AVX2(const uint8* src, uint8* dst, int width); | 804 void MirrorRow_Any_AVX2(const uint8* src, uint8* dst, int width); |
| 823 void MirrorRow_Any_SSSE3(const uint8* src, uint8* dst, int width); | 805 void MirrorRow_Any_SSSE3(const uint8* src, uint8* dst, int width); |
| 824 void MirrorRow_Any_SSE2(const uint8* src, uint8* dst, int width); | 806 void MirrorRow_Any_SSE2(const uint8* src, uint8* dst, int width); |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1059 uint8* dst_argb, | 1041 uint8* dst_argb, |
| 1060 const struct YuvConstants* yuvconstants, | 1042 const struct YuvConstants* yuvconstants, |
| 1061 int width); | 1043 int width); |
| 1062 void I422AlphaToARGBRow_C(const uint8* y_buf, | 1044 void I422AlphaToARGBRow_C(const uint8* y_buf, |
| 1063 const uint8* u_buf, | 1045 const uint8* u_buf, |
| 1064 const uint8* v_buf, | 1046 const uint8* v_buf, |
| 1065 const uint8* a_buf, | 1047 const uint8* a_buf, |
| 1066 uint8* dst_argb, | 1048 uint8* dst_argb, |
| 1067 const struct YuvConstants* yuvconstants, | 1049 const struct YuvConstants* yuvconstants, |
| 1068 int width); | 1050 int width); |
| 1069 void I411ToARGBRow_C(const uint8* src_y, | |
| 1070 const uint8* src_u, | |
| 1071 const uint8* src_v, | |
| 1072 uint8* dst_argb, | |
| 1073 const struct YuvConstants* yuvconstants, | |
| 1074 int width); | |
| 1075 void NV12ToARGBRow_C(const uint8* src_y, | 1051 void NV12ToARGBRow_C(const uint8* src_y, |
| 1076 const uint8* src_uv, | 1052 const uint8* src_uv, |
| 1077 uint8* dst_argb, | 1053 uint8* dst_argb, |
| 1078 const struct YuvConstants* yuvconstants, | 1054 const struct YuvConstants* yuvconstants, |
| 1079 int width); | 1055 int width); |
| 1080 void NV12ToRGB565Row_C(const uint8* src_y, | 1056 void NV12ToRGB565Row_C(const uint8* src_y, |
| 1081 const uint8* src_uv, | 1057 const uint8* src_uv, |
| 1082 uint8* dst_argb, | 1058 uint8* dst_argb, |
| 1083 const struct YuvConstants* yuvconstants, | 1059 const struct YuvConstants* yuvconstants, |
| 1084 int width); | 1060 int width); |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1186 const uint8* a_buf, | 1162 const uint8* a_buf, |
| 1187 uint8* dst_argb, | 1163 uint8* dst_argb, |
| 1188 const struct YuvConstants* yuvconstants, | 1164 const struct YuvConstants* yuvconstants, |
| 1189 int width); | 1165 int width); |
| 1190 void I422ToARGBRow_SSSE3(const uint8* src_y, | 1166 void I422ToARGBRow_SSSE3(const uint8* src_y, |
| 1191 const uint8* src_u, | 1167 const uint8* src_u, |
| 1192 const uint8* src_v, | 1168 const uint8* src_v, |
| 1193 uint8* dst_argb, | 1169 uint8* dst_argb, |
| 1194 const struct YuvConstants* yuvconstants, | 1170 const struct YuvConstants* yuvconstants, |
| 1195 int width); | 1171 int width); |
| 1196 void I411ToARGBRow_SSSE3(const uint8* src_y, | |
| 1197 const uint8* src_u, | |
| 1198 const uint8* src_v, | |
| 1199 uint8* dst_argb, | |
| 1200 const struct YuvConstants* yuvconstants, | |
| 1201 int width); | |
| 1202 void I411ToARGBRow_AVX2(const uint8* src_y, | |
| 1203 const uint8* src_u, | |
| 1204 const uint8* src_v, | |
| 1205 uint8* dst_argb, | |
| 1206 const struct YuvConstants* yuvconstants, | |
| 1207 int width); | |
| 1208 void NV12ToARGBRow_SSSE3(const uint8* src_y, | 1172 void NV12ToARGBRow_SSSE3(const uint8* src_y, |
| 1209 const uint8* src_uv, | 1173 const uint8* src_uv, |
| 1210 uint8* dst_argb, | 1174 uint8* dst_argb, |
| 1211 const struct YuvConstants* yuvconstants, | 1175 const struct YuvConstants* yuvconstants, |
| 1212 int width); | 1176 int width); |
| 1213 void NV12ToARGBRow_AVX2(const uint8* src_y, | 1177 void NV12ToARGBRow_AVX2(const uint8* src_y, |
| 1214 const uint8* src_uv, | 1178 const uint8* src_uv, |
| 1215 uint8* dst_argb, | 1179 uint8* dst_argb, |
| 1216 const struct YuvConstants* yuvconstants, | 1180 const struct YuvConstants* yuvconstants, |
| 1217 int width); | 1181 int width); |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1342 uint8* dst_argb, | 1306 uint8* dst_argb, |
| 1343 const struct YuvConstants* yuvconstants, | 1307 const struct YuvConstants* yuvconstants, |
| 1344 int width); | 1308 int width); |
| 1345 void I422AlphaToARGBRow_Any_AVX2(const uint8* y_buf, | 1309 void I422AlphaToARGBRow_Any_AVX2(const uint8* y_buf, |
| 1346 const uint8* u_buf, | 1310 const uint8* u_buf, |
| 1347 const uint8* v_buf, | 1311 const uint8* v_buf, |
| 1348 const uint8* a_buf, | 1312 const uint8* a_buf, |
| 1349 uint8* dst_argb, | 1313 uint8* dst_argb, |
| 1350 const struct YuvConstants* yuvconstants, | 1314 const struct YuvConstants* yuvconstants, |
| 1351 int width); | 1315 int width); |
| 1352 void I411ToARGBRow_Any_SSSE3(const uint8* src_y, | |
| 1353 const uint8* src_u, | |
| 1354 const uint8* src_v, | |
| 1355 uint8* dst_argb, | |
| 1356 const struct YuvConstants* yuvconstants, | |
| 1357 int width); | |
| 1358 void I411ToARGBRow_Any_AVX2(const uint8* src_y, | |
| 1359 const uint8* src_u, | |
| 1360 const uint8* src_v, | |
| 1361 uint8* dst_argb, | |
| 1362 const struct YuvConstants* yuvconstants, | |
| 1363 int width); | |
| 1364 void NV12ToARGBRow_Any_SSSE3(const uint8* src_y, | 1316 void NV12ToARGBRow_Any_SSSE3(const uint8* src_y, |
| 1365 const uint8* src_uv, | 1317 const uint8* src_uv, |
| 1366 uint8* dst_argb, | 1318 uint8* dst_argb, |
| 1367 const struct YuvConstants* yuvconstants, | 1319 const struct YuvConstants* yuvconstants, |
| 1368 int width); | 1320 int width); |
| 1369 void NV12ToARGBRow_Any_AVX2(const uint8* src_y, | 1321 void NV12ToARGBRow_Any_AVX2(const uint8* src_y, |
| 1370 const uint8* src_uv, | 1322 const uint8* src_uv, |
| 1371 uint8* dst_argb, | 1323 uint8* dst_argb, |
| 1372 const struct YuvConstants* yuvconstants, | 1324 const struct YuvConstants* yuvconstants, |
| 1373 int width); | 1325 int width); |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1581 uint8* dst_argb, | 1533 uint8* dst_argb, |
| 1582 const struct YuvConstants* yuvconstants, | 1534 const struct YuvConstants* yuvconstants, |
| 1583 int width); | 1535 int width); |
| 1584 void I422AlphaToARGBRow_Any_NEON(const uint8* src_y, | 1536 void I422AlphaToARGBRow_Any_NEON(const uint8* src_y, |
| 1585 const uint8* src_u, | 1537 const uint8* src_u, |
| 1586 const uint8* src_v, | 1538 const uint8* src_v, |
| 1587 const uint8* src_a, | 1539 const uint8* src_a, |
| 1588 uint8* dst_argb, | 1540 uint8* dst_argb, |
| 1589 const struct YuvConstants* yuvconstants, | 1541 const struct YuvConstants* yuvconstants, |
| 1590 int width); | 1542 int width); |
| 1591 void I411ToARGBRow_Any_NEON(const uint8* src_y, | |
| 1592 const uint8* src_u, | |
| 1593 const uint8* src_v, | |
| 1594 uint8* dst_argb, | |
| 1595 const struct YuvConstants* yuvconstants, | |
| 1596 int width); | |
| 1597 void I422ToRGBARow_Any_NEON(const uint8* src_y, | 1543 void I422ToRGBARow_Any_NEON(const uint8* src_y, |
| 1598 const uint8* src_u, | 1544 const uint8* src_u, |
| 1599 const uint8* src_v, | 1545 const uint8* src_v, |
| 1600 uint8* dst_argb, | 1546 uint8* dst_argb, |
| 1601 const struct YuvConstants* yuvconstants, | 1547 const struct YuvConstants* yuvconstants, |
| 1602 int width); | 1548 int width); |
| 1603 void I422ToRGB24Row_Any_NEON(const uint8* src_y, | 1549 void I422ToRGB24Row_Any_NEON(const uint8* src_y, |
| 1604 const uint8* src_u, | 1550 const uint8* src_u, |
| 1605 const uint8* src_v, | 1551 const uint8* src_v, |
| 1606 uint8* dst_argb, | 1552 uint8* dst_argb, |
| (...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1992 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, | 1938 void ARGBLumaColorTableRow_SSSE3(const uint8* src_argb, uint8* dst_argb, |
| 1993 int width, | 1939 int width, |
| 1994 const uint8* luma, uint32 lumacoeff); | 1940 const uint8* luma, uint32 lumacoeff); |
| 1995 | 1941 |
| 1996 #ifdef __cplusplus | 1942 #ifdef __cplusplus |
| 1997 } // extern "C" | 1943 } // extern "C" |
| 1998 } // namespace libyuv | 1944 } // namespace libyuv |
| 1999 #endif | 1945 #endif |
| 2000 | 1946 |
| 2001 #endif // INCLUDE_LIBYUV_ROW_H_ | 1947 #endif // INCLUDE_LIBYUV_ROW_H_ |
| OLD | NEW |