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 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 } | 887 } |
888 #endif | 888 #endif |
889 #if defined(HAS_SCALEADDROW_MSA) | 889 #if defined(HAS_SCALEADDROW_MSA) |
890 if (TestCpuFlag(kCpuHasMSA)) { | 890 if (TestCpuFlag(kCpuHasMSA)) { |
891 ScaleAddRow = ScaleAddRow_Any_MSA; | 891 ScaleAddRow = ScaleAddRow_Any_MSA; |
892 if (IS_ALIGNED(src_width, 16)) { | 892 if (IS_ALIGNED(src_width, 16)) { |
893 ScaleAddRow = ScaleAddRow_MSA; | 893 ScaleAddRow = ScaleAddRow_MSA; |
894 } | 894 } |
895 } | 895 } |
896 #endif | 896 #endif |
| 897 #if defined(HAS_SCALEADDROW_DSPR2) |
| 898 if (TestCpuFlag(kCpuHasDSPR2)) { |
| 899 ScaleAddRow = ScaleAddRow_Any_DSPR2; |
| 900 if (IS_ALIGNED(src_width, 16)) { |
| 901 ScaleAddRow = ScaleAddRow_DSPR2; |
| 902 } |
| 903 } |
| 904 #endif |
897 | 905 |
898 for (j = 0; j < dst_height; ++j) { | 906 for (j = 0; j < dst_height; ++j) { |
899 int boxheight; | 907 int boxheight; |
900 int iy = y >> 16; | 908 int iy = y >> 16; |
901 const uint8* src = src_ptr + iy * src_stride; | 909 const uint8* src = src_ptr + iy * src_stride; |
902 y += dy; | 910 y += dy; |
903 if (y > max_y) { | 911 if (y > max_y) { |
904 y = max_y; | 912 y = max_y; |
905 } | 913 } |
906 boxheight = MIN1((y >> 16) - iy); | 914 boxheight = MIN1((y >> 16) - iy); |
(...skipping 915 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1822 return I420Scale(src_y, src_width, src_u, src_halfwidth, src_v, src_halfwidth, | 1830 return I420Scale(src_y, src_width, src_u, src_halfwidth, src_v, src_halfwidth, |
1823 src_width, src_height, dst_y, dst_width, dst_u, | 1831 src_width, src_height, dst_y, dst_width, dst_u, |
1824 dst_halfwidth, dst_v, dst_halfwidth, dst_width, aheight, | 1832 dst_halfwidth, dst_v, dst_halfwidth, dst_width, aheight, |
1825 interpolate ? kFilterBox : kFilterNone); | 1833 interpolate ? kFilterBox : kFilterNone); |
1826 } | 1834 } |
1827 | 1835 |
1828 #ifdef __cplusplus | 1836 #ifdef __cplusplus |
1829 } // extern "C" | 1837 } // extern "C" |
1830 } // namespace libyuv | 1838 } // namespace libyuv |
1831 #endif | 1839 #endif |
OLD | NEW |