| 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 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 #endif | 467 #endif |
| 468 #if defined(HAS_I422TOARGBROW_DSPR2) | 468 #if defined(HAS_I422TOARGBROW_DSPR2) |
| 469 if (TestCpuFlag(kCpuHasDSPR2) && IS_ALIGNED(src_width, 4) && | 469 if (TestCpuFlag(kCpuHasDSPR2) && IS_ALIGNED(src_width, 4) && |
| 470 IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) && | 470 IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) && |
| 471 IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) && | 471 IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) && |
| 472 IS_ALIGNED(src_v, 2) && IS_ALIGNED(src_stride_v, 2) && | 472 IS_ALIGNED(src_v, 2) && IS_ALIGNED(src_stride_v, 2) && |
| 473 IS_ALIGNED(dst_argb, 4) && IS_ALIGNED(dst_stride_argb, 4)) { | 473 IS_ALIGNED(dst_argb, 4) && IS_ALIGNED(dst_stride_argb, 4)) { |
| 474 I422ToARGBRow = I422ToARGBRow_DSPR2; | 474 I422ToARGBRow = I422ToARGBRow_DSPR2; |
| 475 } | 475 } |
| 476 #endif | 476 #endif |
| 477 #if defined(HAS_I422TOARGBROW_MSA) |
| 478 if (TestCpuFlag(kCpuHasMSA)) { |
| 479 I422ToARGBRow = I422ToARGBRow_Any_MSA; |
| 480 if (IS_ALIGNED(src_width, 8)) { |
| 481 I422ToARGBRow = I422ToARGBRow_MSA; |
| 482 } |
| 483 } |
| 484 #endif |
| 477 | 485 |
| 478 void (*InterpolateRow)(uint8* dst_argb, const uint8* src_argb, | 486 void (*InterpolateRow)(uint8* dst_argb, const uint8* src_argb, |
| 479 ptrdiff_t src_stride, int dst_width, int source_y_fraction) = | 487 ptrdiff_t src_stride, int dst_width, int source_y_fraction) = |
| 480 InterpolateRow_C; | 488 InterpolateRow_C; |
| 481 #if defined(HAS_INTERPOLATEROW_SSSE3) | 489 #if defined(HAS_INTERPOLATEROW_SSSE3) |
| 482 if (TestCpuFlag(kCpuHasSSSE3)) { | 490 if (TestCpuFlag(kCpuHasSSSE3)) { |
| 483 InterpolateRow = InterpolateRow_Any_SSSE3; | 491 InterpolateRow = InterpolateRow_Any_SSSE3; |
| 484 if (IS_ALIGNED(dst_width, 4)) { | 492 if (IS_ALIGNED(dst_width, 4)) { |
| 485 InterpolateRow = InterpolateRow_SSSE3; | 493 InterpolateRow = InterpolateRow_SSSE3; |
| 486 } | 494 } |
| (...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 850 clip_x, clip_y, clip_width, clip_height, | 858 clip_x, clip_y, clip_width, clip_height, |
| 851 filtering); | 859 filtering); |
| 852 free(argb_buffer); | 860 free(argb_buffer); |
| 853 return r; | 861 return r; |
| 854 } | 862 } |
| 855 | 863 |
| 856 #ifdef __cplusplus | 864 #ifdef __cplusplus |
| 857 } // extern "C" | 865 } // extern "C" |
| 858 } // namespace libyuv | 866 } // namespace libyuv |
| 859 #endif | 867 #endif |
| OLD | NEW |