OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 The LibYuv Project Authors. All rights reserved. | 2 * Copyright 2012 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 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 | 589 |
590 #ifdef HAS_INTERPOLATEROW_AVX2 | 590 #ifdef HAS_INTERPOLATEROW_AVX2 |
591 ANY11T(InterpolateRow_Any_AVX2, InterpolateRow_AVX2, 1, 1, 31) | 591 ANY11T(InterpolateRow_Any_AVX2, InterpolateRow_AVX2, 1, 1, 31) |
592 #endif | 592 #endif |
593 #ifdef HAS_INTERPOLATEROW_SSSE3 | 593 #ifdef HAS_INTERPOLATEROW_SSSE3 |
594 ANY11T(InterpolateRow_Any_SSSE3, InterpolateRow_SSSE3, 1, 1, 15) | 594 ANY11T(InterpolateRow_Any_SSSE3, InterpolateRow_SSSE3, 1, 1, 15) |
595 #endif | 595 #endif |
596 #ifdef HAS_INTERPOLATEROW_NEON | 596 #ifdef HAS_INTERPOLATEROW_NEON |
597 ANY11T(InterpolateRow_Any_NEON, InterpolateRow_NEON, 1, 1, 15) | 597 ANY11T(InterpolateRow_Any_NEON, InterpolateRow_NEON, 1, 1, 15) |
598 #endif | 598 #endif |
599 #ifdef HAS_INTERPOLATEROW_MIPS_DSPR2 | 599 #ifdef HAS_INTERPOLATEROW_DSPR2 |
600 ANY11T(InterpolateRow_Any_MIPS_DSPR2, InterpolateRow_MIPS_DSPR2, 1, 1, 3) | 600 ANY11T(InterpolateRow_Any_DSPR2, InterpolateRow_DSPR2, 1, 1, 3) |
601 #endif | 601 #endif |
602 #undef ANY11T | 602 #undef ANY11T |
603 | 603 |
604 // Any 1 to 1 mirror. | 604 // Any 1 to 1 mirror. |
605 #define ANY11M(NAMEANY, ANY_SIMD, BPP, MASK) \ | 605 #define ANY11M(NAMEANY, ANY_SIMD, BPP, MASK) \ |
606 void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, int width) { \ | 606 void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, int width) { \ |
607 SIMD_ALIGNED(uint8 temp[64 * 2]); \ | 607 SIMD_ALIGNED(uint8 temp[64 * 2]); \ |
608 memset(temp, 0, 64); /* for msan */ \ | 608 memset(temp, 0, 64); /* for msan */ \ |
609 int r = width & MASK; \ | 609 int r = width & MASK; \ |
610 int n = width & ~MASK; \ | 610 int n = width & ~MASK; \ |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
698 | 698 |
699 #ifdef HAS_SPLITUVROW_SSE2 | 699 #ifdef HAS_SPLITUVROW_SSE2 |
700 ANY12(SplitUVRow_Any_SSE2, SplitUVRow_SSE2, 0, 2, 0, 15) | 700 ANY12(SplitUVRow_Any_SSE2, SplitUVRow_SSE2, 0, 2, 0, 15) |
701 #endif | 701 #endif |
702 #ifdef HAS_SPLITUVROW_AVX2 | 702 #ifdef HAS_SPLITUVROW_AVX2 |
703 ANY12(SplitUVRow_Any_AVX2, SplitUVRow_AVX2, 0, 2, 0, 31) | 703 ANY12(SplitUVRow_Any_AVX2, SplitUVRow_AVX2, 0, 2, 0, 31) |
704 #endif | 704 #endif |
705 #ifdef HAS_SPLITUVROW_NEON | 705 #ifdef HAS_SPLITUVROW_NEON |
706 ANY12(SplitUVRow_Any_NEON, SplitUVRow_NEON, 0, 2, 0, 15) | 706 ANY12(SplitUVRow_Any_NEON, SplitUVRow_NEON, 0, 2, 0, 15) |
707 #endif | 707 #endif |
708 #ifdef HAS_SPLITUVROW_MIPS_DSPR2 | 708 #ifdef HAS_SPLITUVROW_DSPR2 |
709 ANY12(SplitUVRow_Any_MIPS_DSPR2, SplitUVRow_MIPS_DSPR2, 0, 2, 0, 15) | 709 ANY12(SplitUVRow_Any_DSPR2, SplitUVRow_DSPR2, 0, 2, 0, 15) |
710 #endif | 710 #endif |
711 #ifdef HAS_ARGBTOUV444ROW_SSSE3 | 711 #ifdef HAS_ARGBTOUV444ROW_SSSE3 |
712 ANY12(ARGBToUV444Row_Any_SSSE3, ARGBToUV444Row_SSSE3, 0, 4, 0, 15) | 712 ANY12(ARGBToUV444Row_Any_SSSE3, ARGBToUV444Row_SSSE3, 0, 4, 0, 15) |
713 #endif | 713 #endif |
714 #ifdef HAS_YUY2TOUV422ROW_AVX2 | 714 #ifdef HAS_YUY2TOUV422ROW_AVX2 |
715 ANY12(YUY2ToUV422Row_Any_AVX2, YUY2ToUV422Row_AVX2, 1, 4, 1, 31) | 715 ANY12(YUY2ToUV422Row_Any_AVX2, YUY2ToUV422Row_AVX2, 1, 4, 1, 31) |
716 ANY12(UYVYToUV422Row_Any_AVX2, UYVYToUV422Row_AVX2, 1, 4, 1, 31) | 716 ANY12(UYVYToUV422Row_Any_AVX2, UYVYToUV422Row_AVX2, 1, 4, 1, 31) |
717 #endif | 717 #endif |
718 #ifdef HAS_YUY2TOUV422ROW_SSE2 | 718 #ifdef HAS_YUY2TOUV422ROW_SSE2 |
719 ANY12(YUY2ToUV422Row_Any_SSE2, YUY2ToUV422Row_SSE2, 1, 4, 1, 15) | 719 ANY12(YUY2ToUV422Row_Any_SSE2, YUY2ToUV422Row_SSE2, 1, 4, 1, 15) |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
806 #endif | 806 #endif |
807 #ifdef HAS_UYVYTOUVROW_NEON | 807 #ifdef HAS_UYVYTOUVROW_NEON |
808 ANY12S(UYVYToUVRow_Any_NEON, UYVYToUVRow_NEON, 1, 4, 15) | 808 ANY12S(UYVYToUVRow_Any_NEON, UYVYToUVRow_NEON, 1, 4, 15) |
809 #endif | 809 #endif |
810 #undef ANY12S | 810 #undef ANY12S |
811 | 811 |
812 #ifdef __cplusplus | 812 #ifdef __cplusplus |
813 } // extern "C" | 813 } // extern "C" |
814 } // namespace libyuv | 814 } // namespace libyuv |
815 #endif | 815 #endif |
OLD | NEW |