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 |