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

Side by Side Diff: source/convert_argb.cc

Issue 1377053003: remove sse2 functions that also have ssse3 (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: lint warning fixes Created 5 years, 2 months 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 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 #endif 383 #endif
384 #if defined(HAS_I422ALPHATOARGBROW_MIPS_DSPR2) 384 #if defined(HAS_I422ALPHATOARGBROW_MIPS_DSPR2)
385 if (TestCpuFlag(kCpuHasMIPS_DSPR2) && IS_ALIGNED(width, 4) && 385 if (TestCpuFlag(kCpuHasMIPS_DSPR2) && IS_ALIGNED(width, 4) &&
386 IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) && 386 IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) &&
387 IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) && 387 IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) &&
388 IS_ALIGNED(src_v, 2) && IS_ALIGNED(src_stride_v, 2) && 388 IS_ALIGNED(src_v, 2) && IS_ALIGNED(src_stride_v, 2) &&
389 IS_ALIGNED(dst_argb, 4) && IS_ALIGNED(dst_stride_argb, 4)) { 389 IS_ALIGNED(dst_argb, 4) && IS_ALIGNED(dst_stride_argb, 4)) {
390 I422AlphaToARGBRow = I422AlphaToARGBRow_MIPS_DSPR2; 390 I422AlphaToARGBRow = I422AlphaToARGBRow_MIPS_DSPR2;
391 } 391 }
392 #endif 392 #endif
393 #if defined(HAS_ARGBATTENUATEROW_SSE2)
394 if (TestCpuFlag(kCpuHasSSE2)) {
395 ARGBAttenuateRow = ARGBAttenuateRow_Any_SSE2;
396 if (IS_ALIGNED(width, 4)) {
397 ARGBAttenuateRow = ARGBAttenuateRow_SSE2;
398 }
399 }
400 #endif
401 #if defined(HAS_ARGBATTENUATEROW_SSSE3) 393 #if defined(HAS_ARGBATTENUATEROW_SSSE3)
402 if (TestCpuFlag(kCpuHasSSSE3)) { 394 if (TestCpuFlag(kCpuHasSSSE3)) {
403 ARGBAttenuateRow = ARGBAttenuateRow_Any_SSSE3; 395 ARGBAttenuateRow = ARGBAttenuateRow_Any_SSSE3;
404 if (IS_ALIGNED(width, 4)) { 396 if (IS_ALIGNED(width, 4)) {
405 ARGBAttenuateRow = ARGBAttenuateRow_SSSE3; 397 ARGBAttenuateRow = ARGBAttenuateRow_SSSE3;
406 } 398 }
407 } 399 }
408 #endif 400 #endif
409 #if defined(HAS_ARGBATTENUATEROW_AVX2) 401 #if defined(HAS_ARGBATTENUATEROW_AVX2)
410 if (TestCpuFlag(kCpuHasAVX2)) { 402 if (TestCpuFlag(kCpuHasAVX2)) {
411 ARGBAttenuateRow = ARGBAttenuateRow_Any_AVX2; 403 ARGBAttenuateRow = ARGBAttenuateRow_Any_AVX2;
412 if (IS_ALIGNED(width, 8)) { 404 if (IS_ALIGNED(width, 8)) {
413 ARGBAttenuateRow = ARGBAttenuateRow_AVX2; 405 ARGBAttenuateRow = ARGBAttenuateRow_AVX2;
414 } 406 }
415 } 407 }
416 #endif 408 #endif
417 #if defined(HAS_ARGBATTENUATEROW_NEON) 409 #if defined(HAS_ARGBATTENUATEROW_NEON)
418 if (TestCpuFlag(kCpuHasNEON)) { 410 if (TestCpuFlag(kCpuHasNEON)) {
419 ARGBAttenuateRow = ARGBAttenuateRow_Any_NEON; 411 ARGBAttenuateRow = ARGBAttenuateRow_Any_NEON;
420 if (IS_ALIGNED(width, 8)) { 412 if (IS_ALIGNED(width, 8)) {
421 ARGBAttenuateRow = ARGBAttenuateRow_NEON; 413 ARGBAttenuateRow = ARGBAttenuateRow_NEON;
422 } 414 }
423 } 415 }
424 #endif 416 #endif
425 417
426 for (y = 0; y < height; ++y) { 418 for (y = 0; y < height; ++y) {
427 I422AlphaToARGBRow(src_y, src_u, src_v, src_a, dst_argb, &kYuvConstants, wid th); 419 I422AlphaToARGBRow(src_y, src_u, src_v, src_a, dst_argb, &kYuvConstants,
420 width);
428 if (attenuate) { 421 if (attenuate) {
429 ARGBAttenuateRow(dst_argb, dst_argb, width); 422 ARGBAttenuateRow(dst_argb, dst_argb, width);
430 } 423 }
431 dst_argb += dst_stride_argb; 424 dst_argb += dst_stride_argb;
432 src_a += src_stride_a; 425 src_a += src_stride_a;
433 src_y += src_stride_y; 426 src_y += src_stride_y;
434 if (y & 1) { 427 if (y & 1) {
435 src_u += src_stride_u; 428 src_u += src_stride_u;
436 src_v += src_stride_v; 429 src_v += src_stride_v;
437 } 430 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 #endif 486 #endif
494 #if defined(HAS_I422ALPHATOABGRROW_MIPS_DSPR2) 487 #if defined(HAS_I422ALPHATOABGRROW_MIPS_DSPR2)
495 if (TestCpuFlag(kCpuHasMIPS_DSPR2) && IS_ALIGNED(width, 4) && 488 if (TestCpuFlag(kCpuHasMIPS_DSPR2) && IS_ALIGNED(width, 4) &&
496 IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) && 489 IS_ALIGNED(src_y, 4) && IS_ALIGNED(src_stride_y, 4) &&
497 IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) && 490 IS_ALIGNED(src_u, 2) && IS_ALIGNED(src_stride_u, 2) &&
498 IS_ALIGNED(src_v, 2) && IS_ALIGNED(src_stride_v, 2) && 491 IS_ALIGNED(src_v, 2) && IS_ALIGNED(src_stride_v, 2) &&
499 IS_ALIGNED(dst_abgr, 4) && IS_ALIGNED(dst_stride_abgr, 4)) { 492 IS_ALIGNED(dst_abgr, 4) && IS_ALIGNED(dst_stride_abgr, 4)) {
500 I422AlphaToABGRRow = I422AlphaToABGRRow_MIPS_DSPR2; 493 I422AlphaToABGRRow = I422AlphaToABGRRow_MIPS_DSPR2;
501 } 494 }
502 #endif 495 #endif
503 #if defined(HAS_ARGBATTENUATEROW_SSE2)
504 if (TestCpuFlag(kCpuHasSSE2)) {
505 ARGBAttenuateRow = ARGBAttenuateRow_Any_SSE2;
506 if (IS_ALIGNED(width, 4)) {
507 ARGBAttenuateRow = ARGBAttenuateRow_SSE2;
508 }
509 }
510 #endif
511 #if defined(HAS_ARGBATTENUATEROW_SSSE3) 496 #if defined(HAS_ARGBATTENUATEROW_SSSE3)
512 if (TestCpuFlag(kCpuHasSSSE3)) { 497 if (TestCpuFlag(kCpuHasSSSE3)) {
513 ARGBAttenuateRow = ARGBAttenuateRow_Any_SSSE3; 498 ARGBAttenuateRow = ARGBAttenuateRow_Any_SSSE3;
514 if (IS_ALIGNED(width, 4)) { 499 if (IS_ALIGNED(width, 4)) {
515 ARGBAttenuateRow = ARGBAttenuateRow_SSSE3; 500 ARGBAttenuateRow = ARGBAttenuateRow_SSSE3;
516 } 501 }
517 } 502 }
518 #endif 503 #endif
519 #if defined(HAS_ARGBATTENUATEROW_AVX2) 504 #if defined(HAS_ARGBATTENUATEROW_AVX2)
520 if (TestCpuFlag(kCpuHasAVX2)) { 505 if (TestCpuFlag(kCpuHasAVX2)) {
521 ARGBAttenuateRow = ARGBAttenuateRow_Any_AVX2; 506 ARGBAttenuateRow = ARGBAttenuateRow_Any_AVX2;
522 if (IS_ALIGNED(width, 8)) { 507 if (IS_ALIGNED(width, 8)) {
523 ARGBAttenuateRow = ARGBAttenuateRow_AVX2; 508 ARGBAttenuateRow = ARGBAttenuateRow_AVX2;
524 } 509 }
525 } 510 }
526 #endif 511 #endif
527 #if defined(HAS_ARGBATTENUATEROW_NEON) 512 #if defined(HAS_ARGBATTENUATEROW_NEON)
528 if (TestCpuFlag(kCpuHasNEON)) { 513 if (TestCpuFlag(kCpuHasNEON)) {
529 ARGBAttenuateRow = ARGBAttenuateRow_Any_NEON; 514 ARGBAttenuateRow = ARGBAttenuateRow_Any_NEON;
530 if (IS_ALIGNED(width, 8)) { 515 if (IS_ALIGNED(width, 8)) {
531 ARGBAttenuateRow = ARGBAttenuateRow_NEON; 516 ARGBAttenuateRow = ARGBAttenuateRow_NEON;
532 } 517 }
533 } 518 }
534 #endif 519 #endif
535 520
536 for (y = 0; y < height; ++y) { 521 for (y = 0; y < height; ++y) {
537 I422AlphaToABGRRow(src_y, src_u, src_v, src_a, dst_abgr, &kYuvConstants, wid th); 522 I422AlphaToABGRRow(src_y, src_u, src_v, src_a, dst_abgr, &kYuvConstants,
523 width);
538 if (attenuate) { 524 if (attenuate) {
539 ARGBAttenuateRow(dst_abgr, dst_abgr, width); 525 ARGBAttenuateRow(dst_abgr, dst_abgr, width);
540 } 526 }
541 dst_abgr += dst_stride_abgr; 527 dst_abgr += dst_stride_abgr;
542 src_a += src_stride_a; 528 src_a += src_stride_a;
543 src_y += src_stride_y; 529 src_y += src_stride_y;
544 if (y & 1) { 530 if (y & 1) {
545 src_u += src_stride_u; 531 src_u += src_stride_u;
546 src_v += src_stride_v; 532 src_v += src_stride_v;
547 } 533 }
(...skipping 1347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1895 src_u += src_stride_u; 1881 src_u += src_stride_u;
1896 src_v += src_stride_v; 1882 src_v += src_stride_v;
1897 } 1883 }
1898 return 0; 1884 return 0;
1899 } 1885 }
1900 1886
1901 #ifdef __cplusplus 1887 #ifdef __cplusplus
1902 } // extern "C" 1888 } // extern "C"
1903 } // namespace libyuv 1889 } // namespace libyuv
1904 #endif 1890 #endif
OLDNEW
« include/libyuv/row.h ('K') | « include/libyuv/version.h ('k') | source/planar_functions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698