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

Side by Side Diff: source/row_mips.cc

Issue 1398623002: fix jpeg and bt.709 yuvconstants for neon64. (Closed) Base URL: https://chromium.googlesource.com/libyuv/libyuv@master
Patch Set: 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
« no previous file with comments | « source/row_gcc.cc ('k') | source/row_neon.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The LibYuv project authors. All Rights Reserved. 2 * Copyright (c) 2012 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 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 "addu.ph $t9, $t9, $s5 \n" \ 650 "addu.ph $t9, $t9, $s5 \n" \
651 "addu.ph $t8, $t8, $s5 \n" \ 651 "addu.ph $t8, $t8, $s5 \n" \
652 "addu.ph $t2, $t2, $s5 \n" \ 652 "addu.ph $t2, $t2, $s5 \n" \
653 "addu.ph $t1, $t1, $s5 \n" 653 "addu.ph $t1, $t1, $s5 \n"
654 654
655 // TODO(fbarchard): accept yuv conversion constants. 655 // TODO(fbarchard): accept yuv conversion constants.
656 void I422ToARGBRow_MIPS_DSPR2(const uint8* y_buf, 656 void I422ToARGBRow_MIPS_DSPR2(const uint8* y_buf,
657 const uint8* u_buf, 657 const uint8* u_buf,
658 const uint8* v_buf, 658 const uint8* v_buf,
659 uint8* rgb_buf, 659 uint8* rgb_buf,
660 struct YuvConstants* yuvconstants, 660 const struct YuvConstants* yuvconstants,
661 int width) { 661 int width) {
662 __asm__ __volatile__ ( 662 __asm__ __volatile__ (
663 ".set push \n" 663 ".set push \n"
664 ".set noreorder \n" 664 ".set noreorder \n"
665 "beqz %[width], 2f \n" 665 "beqz %[width], 2f \n"
666 " repl.ph $s0, 74 \n" // |YG|YG| = |74|74| 666 " repl.ph $s0, 74 \n" // |YG|YG| = |74|74|
667 "repl.ph $s1, -25 \n" // |UG|UG| = |-25|-25| 667 "repl.ph $s1, -25 \n" // |UG|UG| = |-25|-25|
668 "repl.ph $s2, -52 \n" // |VG|VG| = |-52|-52| 668 "repl.ph $s2, -52 \n" // |VG|VG| = |-52|-52|
669 "repl.ph $s3, 102 \n" // |VR|VR| = |102|102| 669 "repl.ph $s3, 102 \n" // |VR|VR| = |102|102|
670 "repl.ph $s4, 16 \n" // |0|16|0|16| 670 "repl.ph $s4, 16 \n" // |0|16|0|16|
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 "t6", "t7", "t8", "t9", 712 "t6", "t7", "t8", "t9",
713 "s0", "s1", "s2", "s3", 713 "s0", "s1", "s2", "s3",
714 "s4", "s5", "s6" 714 "s4", "s5", "s6"
715 ); 715 );
716 } 716 }
717 717
718 void I422ToABGRRow_MIPS_DSPR2(const uint8* y_buf, 718 void I422ToABGRRow_MIPS_DSPR2(const uint8* y_buf,
719 const uint8* u_buf, 719 const uint8* u_buf,
720 const uint8* v_buf, 720 const uint8* v_buf,
721 uint8* rgb_buf, 721 uint8* rgb_buf,
722 struct YuvConstants* yuvconstants, 722 const struct YuvConstants* yuvconstants,
723 int width) { 723 int width) {
724 __asm__ __volatile__ ( 724 __asm__ __volatile__ (
725 ".set push \n" 725 ".set push \n"
726 ".set noreorder \n" 726 ".set noreorder \n"
727 "beqz %[width], 2f \n" 727 "beqz %[width], 2f \n"
728 " repl.ph $s0, 74 \n" // |YG|YG| = |74|74| 728 " repl.ph $s0, 74 \n" // |YG|YG| = |74|74|
729 "repl.ph $s1, -25 \n" // |UG|UG| = |-25|-25| 729 "repl.ph $s1, -25 \n" // |UG|UG| = |-25|-25|
730 "repl.ph $s2, -52 \n" // |VG|VG| = |-52|-52| 730 "repl.ph $s2, -52 \n" // |VG|VG| = |-52|-52|
731 "repl.ph $s3, 102 \n" // |VR|VR| = |102|102| 731 "repl.ph $s3, 102 \n" // |VR|VR| = |102|102|
732 "repl.ph $s4, 16 \n" // |0|16|0|16| 732 "repl.ph $s4, 16 \n" // |0|16|0|16|
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
774 "t6", "t7", "t8", "t9", 774 "t6", "t7", "t8", "t9",
775 "s0", "s1", "s2", "s3", 775 "s0", "s1", "s2", "s3",
776 "s4", "s5", "s6" 776 "s4", "s5", "s6"
777 ); 777 );
778 } 778 }
779 779
780 void I422ToBGRARow_MIPS_DSPR2(const uint8* y_buf, 780 void I422ToBGRARow_MIPS_DSPR2(const uint8* y_buf,
781 const uint8* u_buf, 781 const uint8* u_buf,
782 const uint8* v_buf, 782 const uint8* v_buf,
783 uint8* rgb_buf, 783 uint8* rgb_buf,
784 struct YuvConstants* yuvconstants, 784 const struct YuvConstants* yuvconstants,
785 int width) { 785 int width) {
786 __asm__ __volatile__ ( 786 __asm__ __volatile__ (
787 ".set push \n" 787 ".set push \n"
788 ".set noreorder \n" 788 ".set noreorder \n"
789 "beqz %[width], 2f \n" 789 "beqz %[width], 2f \n"
790 " repl.ph $s0, 74 \n" // |YG|YG| = |74 |74 | 790 " repl.ph $s0, 74 \n" // |YG|YG| = |74 |74 |
791 "repl.ph $s1, -25 \n" // |UG|UG| = |-25|-25| 791 "repl.ph $s1, -25 \n" // |UG|UG| = |-25|-25|
792 "repl.ph $s2, -52 \n" // |VG|VG| = |-52|-52| 792 "repl.ph $s2, -52 \n" // |VG|VG| = |-52|-52|
793 "repl.ph $s3, 102 \n" // |VR|VR| = |102|102| 793 "repl.ph $s3, 102 \n" // |VR|VR| = |102|102|
794 "repl.ph $s4, 16 \n" // |0|16|0|16| 794 "repl.ph $s4, 16 \n" // |0|16|0|16|
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
899 ); 899 );
900 } 900 }
901 #endif // __mips_dsp_rev >= 2 901 #endif // __mips_dsp_rev >= 2
902 902
903 #endif // defined(__mips__) 903 #endif // defined(__mips__)
904 904
905 #ifdef __cplusplus 905 #ifdef __cplusplus
906 } // extern "C" 906 } // extern "C"
907 } // namespace libyuv 907 } // namespace libyuv
908 #endif 908 #endif
OLDNEW
« no previous file with comments | « source/row_gcc.cc ('k') | source/row_neon.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698