| 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 857 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 868 void (*ScaleFilterCols)(uint8* dst_ptr, const uint8* src_ptr, | 868 void (*ScaleFilterCols)(uint8* dst_ptr, const uint8* src_ptr, |
| 869 int dst_width, int x, int dx) = | 869 int dst_width, int x, int dx) = |
| 870 (src_width >= 32768) ? ScaleFilterCols64_C : ScaleFilterCols_C; | 870 (src_width >= 32768) ? ScaleFilterCols64_C : ScaleFilterCols_C; |
| 871 void (*InterpolateRow)(uint8* dst_ptr, const uint8* src_ptr, | 871 void (*InterpolateRow)(uint8* dst_ptr, const uint8* src_ptr, |
| 872 ptrdiff_t src_stride, int dst_width, int source_y_fraction) = | 872 ptrdiff_t src_stride, int dst_width, int source_y_fraction) = |
| 873 InterpolateRow_C; | 873 InterpolateRow_C; |
| 874 ScaleSlope(src_width, src_height, dst_width, dst_height, filtering, | 874 ScaleSlope(src_width, src_height, dst_width, dst_height, filtering, |
| 875 &x, &y, &dx, &dy); | 875 &x, &y, &dx, &dy); |
| 876 src_width = Abs(src_width); | 876 src_width = Abs(src_width); |
| 877 | 877 |
| 878 #if defined(HAS_INTERPOLATEROW_SSE2) | |
| 879 if (TestCpuFlag(kCpuHasSSE2)) { | |
| 880 InterpolateRow = InterpolateRow_Any_SSE2; | |
| 881 if (IS_ALIGNED(src_width, 16)) { | |
| 882 InterpolateRow = InterpolateRow_SSE2; | |
| 883 } | |
| 884 } | |
| 885 #endif | |
| 886 #if defined(HAS_INTERPOLATEROW_SSSE3) | 878 #if defined(HAS_INTERPOLATEROW_SSSE3) |
| 887 if (TestCpuFlag(kCpuHasSSSE3)) { | 879 if (TestCpuFlag(kCpuHasSSSE3)) { |
| 888 InterpolateRow = InterpolateRow_Any_SSSE3; | 880 InterpolateRow = InterpolateRow_Any_SSSE3; |
| 889 if (IS_ALIGNED(src_width, 16)) { | 881 if (IS_ALIGNED(src_width, 16)) { |
| 890 InterpolateRow = InterpolateRow_SSSE3; | 882 InterpolateRow = InterpolateRow_SSSE3; |
| 891 } | 883 } |
| 892 } | 884 } |
| 893 #endif | 885 #endif |
| 894 #if defined(HAS_INTERPOLATEROW_AVX2) | 886 #if defined(HAS_INTERPOLATEROW_AVX2) |
| 895 if (TestCpuFlag(kCpuHasAVX2)) { | 887 if (TestCpuFlag(kCpuHasAVX2)) { |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1065 void (*InterpolateRow)(uint8* dst_ptr, const uint8* src_ptr, | 1057 void (*InterpolateRow)(uint8* dst_ptr, const uint8* src_ptr, |
| 1066 ptrdiff_t src_stride, int dst_width, int source_y_fraction) = | 1058 ptrdiff_t src_stride, int dst_width, int source_y_fraction) = |
| 1067 InterpolateRow_C; | 1059 InterpolateRow_C; |
| 1068 void (*ScaleFilterCols)(uint8* dst_ptr, const uint8* src_ptr, | 1060 void (*ScaleFilterCols)(uint8* dst_ptr, const uint8* src_ptr, |
| 1069 int dst_width, int x, int dx) = | 1061 int dst_width, int x, int dx) = |
| 1070 filtering ? ScaleFilterCols_C : ScaleCols_C; | 1062 filtering ? ScaleFilterCols_C : ScaleCols_C; |
| 1071 ScaleSlope(src_width, src_height, dst_width, dst_height, filtering, | 1063 ScaleSlope(src_width, src_height, dst_width, dst_height, filtering, |
| 1072 &x, &y, &dx, &dy); | 1064 &x, &y, &dx, &dy); |
| 1073 src_width = Abs(src_width); | 1065 src_width = Abs(src_width); |
| 1074 | 1066 |
| 1075 #if defined(HAS_INTERPOLATEROW_SSE2) | |
| 1076 if (TestCpuFlag(kCpuHasSSE2)) { | |
| 1077 InterpolateRow = InterpolateRow_Any_SSE2; | |
| 1078 if (IS_ALIGNED(dst_width, 16)) { | |
| 1079 InterpolateRow = InterpolateRow_SSE2; | |
| 1080 } | |
| 1081 } | |
| 1082 #endif | |
| 1083 #if defined(HAS_INTERPOLATEROW_SSSE3) | 1067 #if defined(HAS_INTERPOLATEROW_SSSE3) |
| 1084 if (TestCpuFlag(kCpuHasSSSE3)) { | 1068 if (TestCpuFlag(kCpuHasSSSE3)) { |
| 1085 InterpolateRow = InterpolateRow_Any_SSSE3; | 1069 InterpolateRow = InterpolateRow_Any_SSSE3; |
| 1086 if (IS_ALIGNED(dst_width, 16)) { | 1070 if (IS_ALIGNED(dst_width, 16)) { |
| 1087 InterpolateRow = InterpolateRow_SSSE3; | 1071 InterpolateRow = InterpolateRow_SSSE3; |
| 1088 } | 1072 } |
| 1089 } | 1073 } |
| 1090 #endif | 1074 #endif |
| 1091 #if defined(HAS_INTERPOLATEROW_AVX2) | 1075 #if defined(HAS_INTERPOLATEROW_AVX2) |
| 1092 if (TestCpuFlag(kCpuHasAVX2)) { | 1076 if (TestCpuFlag(kCpuHasAVX2)) { |
| (...skipping 587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1680 dst_u, dst_halfwidth, | 1664 dst_u, dst_halfwidth, |
| 1681 dst_v, dst_halfwidth, | 1665 dst_v, dst_halfwidth, |
| 1682 dst_width, aheight, | 1666 dst_width, aheight, |
| 1683 interpolate ? kFilterBox : kFilterNone); | 1667 interpolate ? kFilterBox : kFilterNone); |
| 1684 } | 1668 } |
| 1685 | 1669 |
| 1686 #ifdef __cplusplus | 1670 #ifdef __cplusplus |
| 1687 } // extern "C" | 1671 } // extern "C" |
| 1688 } // namespace libyuv | 1672 } // namespace libyuv |
| 1689 #endif | 1673 #endif |
| OLD | NEW |