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

Side by Side Diff: include/libyuv/row.h

Issue 2626193002: add Intel Code Analyst markers (Closed)
Patch Set: add markers that can be used for inline Created 3 years, 11 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 | « no previous file | source/convert_to_argb.cc » ('j') | source/convert_to_argb.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 581 matching lines...) Expand 10 before | Expand all | Expand 10 after
592 592
593 #if defined(__arm__) || defined(__aarch64__) 593 #if defined(__arm__) || defined(__aarch64__)
594 #undef MEMACCESS 594 #undef MEMACCESS
595 #if defined(__native_client__) 595 #if defined(__native_client__)
596 #define MEMACCESS(base) ".p2align 3\nbic %" #base ", #0xc0000000\n" 596 #define MEMACCESS(base) ".p2align 3\nbic %" #base ", #0xc0000000\n"
597 #else 597 #else
598 #define MEMACCESS(base) 598 #define MEMACCESS(base)
599 #endif 599 #endif
600 #endif 600 #endif
601 601
602 // Intel Code Analizer markers. Insert IACA_START IACA_END around code to be
603 // measured and then run with iaca -64 libyuv_unittest.
604 // IACA_ASM_START amd IACA_ASM_END are equivalents that can be used within
605 // inline assembly blocks.
606 // example of iaca:
607 // ~/iaca-lin64/bin/iaca.sh -64 -analysis LATENCY out/Release/libyuv_unittest
608
609 #if defined(__GNUC__)
610 #define IACA_ASM_START \
611 ".byte 0x0F, 0x0B\n" \
612 " movl $111, %%ebx\n" \
613 ".byte 0x64, 0x67, 0x90\n"
614
615 #define IACA_ASM_END \
616 " movl $222, %%ebx\n" \
617 ".byte 0x64, 0x67, 0x90\n" \
618 ".byte 0x0F, 0x0B\n"
619
620 #define IACA_SSC_MARK(MARK_ID) \
621 __asm__ __volatile__("\n\t movl $" #MARK_ID \
622 ", %%ebx" \
623 "\n\t .byte 0x64, 0x67, 0x90" \
624 : \
625 : \
626 : "memory");
627
628 #define IACA_UD_BYTES __asm__ __volatile__("\n\t .byte 0x0F, 0x0B");
629
630 #else
631 #define IACA_UD_BYTES \
632 { __asm _emit 0x0F __asm _emit 0x0B }
633
634 #define IACA_SSC_MARK(x) \
635 { __asm mov ebx, x __asm _emit 0x64 __asm _emit 0x67 __asm _emit 0x90 }
636
637 #define IACA_VC64_START __writegsbyte(111, 111);
638 #define IACA_VC64_END __writegsbyte(222, 222);
639 #endif
640
641 #define IACA_START \
642 { \
643 IACA_UD_BYTES \
644 IACA_SSC_MARK(111) \
645 }
646 #define IACA_END \
647 { \
648 IACA_SSC_MARK(222) \
649 IACA_UD_BYTES \
650 }
651
602 void I444ToARGBRow_NEON(const uint8* src_y, 652 void I444ToARGBRow_NEON(const uint8* src_y,
603 const uint8* src_u, 653 const uint8* src_u,
604 const uint8* src_v, 654 const uint8* src_v,
605 uint8* dst_argb, 655 uint8* dst_argb,
606 const struct YuvConstants* yuvconstants, 656 const struct YuvConstants* yuvconstants,
607 int width); 657 int width);
608 void I422ToARGBRow_NEON(const uint8* src_y, 658 void I422ToARGBRow_NEON(const uint8* src_y,
609 const uint8* src_u, 659 const uint8* src_u,
610 const uint8* src_v, 660 const uint8* src_v,
611 uint8* dst_argb, 661 uint8* dst_argb,
(...skipping 2236 matching lines...) Expand 10 before | Expand all | Expand 10 after
2848 int width, 2898 int width,
2849 const uint8* luma, 2899 const uint8* luma,
2850 uint32 lumacoeff); 2900 uint32 lumacoeff);
2851 2901
2852 #ifdef __cplusplus 2902 #ifdef __cplusplus
2853 } // extern "C" 2903 } // extern "C"
2854 } // namespace libyuv 2904 } // namespace libyuv
2855 #endif 2905 #endif
2856 2906
2857 #endif // INCLUDE_LIBYUV_ROW_H_ 2907 #endif // INCLUDE_LIBYUV_ROW_H_
OLDNEW
« no previous file with comments | « no previous file | source/convert_to_argb.cc » ('j') | source/convert_to_argb.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698