Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: source/convert_argb.cc

Issue 2454433003: Add MSA optimized I422AlphaToARGBRow_MSA and I422ToRGB24Row_MSA functions (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 #endif 557 #endif
558 #if defined(HAS_I422ALPHATOARGBROW_DSPR2) 558 #if defined(HAS_I422ALPHATOARGBROW_DSPR2)
559 if (TestCpuFlag(kCpuHasDSPR2) && IS_ALIGNED(width, 4) && 559 if (TestCpuFlag(kCpuHasDSPR2) && IS_ALIGNED(width, 4) &&
560 IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) && 560 IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) &&
561 IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) && 561 IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) &&
562 IS_ALIGNED(src_v, 2) && IS_ALIGNED(src_stride_v, 2) && 562 IS_ALIGNED(src_v, 2) && IS_ALIGNED(src_stride_v, 2) &&
563 IS_ALIGNED(dst_argb, 4) && IS_ALIGNED(dst_stride_argb, 4)) { 563 IS_ALIGNED(dst_argb, 4) && IS_ALIGNED(dst_stride_argb, 4)) {
564 I422AlphaToARGBRow = I422AlphaToARGBRow_DSPR2; 564 I422AlphaToARGBRow = I422AlphaToARGBRow_DSPR2;
565 } 565 }
566 #endif 566 #endif
567 #if defined(HAS_I422ALPHATOARGBROW_MSA)
568 if (TestCpuFlag(kCpuHasMSA)) {
569 I422AlphaToARGBRow = I422AlphaToARGBRow_Any_MSA;
570 if (IS_ALIGNED(width, 8)) {
571 I422AlphaToARGBRow = I422AlphaToARGBRow_MSA;
572 }
573 }
574 #endif
567 #if defined(HAS_ARGBATTENUATEROW_SSSE3) 575 #if defined(HAS_ARGBATTENUATEROW_SSSE3)
568 if (TestCpuFlag(kCpuHasSSSE3)) { 576 if (TestCpuFlag(kCpuHasSSSE3)) {
569 ARGBAttenuateRow = ARGBAttenuateRow_Any_SSSE3; 577 ARGBAttenuateRow = ARGBAttenuateRow_Any_SSSE3;
570 if (IS_ALIGNED(width, 4)) { 578 if (IS_ALIGNED(width, 4)) {
571 ARGBAttenuateRow = ARGBAttenuateRow_SSSE3; 579 ARGBAttenuateRow = ARGBAttenuateRow_SSSE3;
572 } 580 }
573 } 581 }
574 #endif 582 #endif
575 #if defined(HAS_ARGBATTENUATEROW_AVX2) 583 #if defined(HAS_ARGBATTENUATEROW_AVX2)
576 if (TestCpuFlag(kCpuHasAVX2)) { 584 if (TestCpuFlag(kCpuHasAVX2)) {
(...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after
1402 src_uyvy += src_stride_uyvy; 1410 src_uyvy += src_stride_uyvy;
1403 dst_argb += dst_stride_argb; 1411 dst_argb += dst_stride_argb;
1404 } 1412 }
1405 return 0; 1413 return 0;
1406 } 1414 }
1407 1415
1408 #ifdef __cplusplus 1416 #ifdef __cplusplus
1409 } // extern "C" 1417 } // extern "C"
1410 } // namespace libyuv 1418 } // namespace libyuv
1411 #endif 1419 #endif
OLDNEW
« no previous file with comments | « include/libyuv/row.h ('k') | source/convert_from.cc » ('j') | source/convert_from.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698