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

Side by Side Diff: source/row_any.cc

Issue 2424233004: Half float neon port, enable O2 for neon, and denormal test. (Closed)
Patch Set: remove fcvt version of neon disable f16c for intel halffloat test use 1/65535 Created 4 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/planar_functions.cc ('k') | source/row_neon64.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 2012 The LibYuv Project Authors. All rights reserved. 2 * Copyright 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 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 578
579 #ifdef HAS_HALFFLOATROW_SSE2 579 #ifdef HAS_HALFFLOATROW_SSE2
580 ANY11P16(HalfFloatRow_Any_SSE2, HalfFloatRow_SSE2, float, 1, 1, 15) 580 ANY11P16(HalfFloatRow_Any_SSE2, HalfFloatRow_SSE2, float, 1, 1, 15)
581 #endif 581 #endif
582 #ifdef HAS_HALFFLOATROW_AVX2 582 #ifdef HAS_HALFFLOATROW_AVX2
583 ANY11P16(HalfFloatRow_Any_AVX2, HalfFloatRow_AVX2, float, 1, 1, 15) 583 ANY11P16(HalfFloatRow_Any_AVX2, HalfFloatRow_AVX2, float, 1, 1, 15)
584 #endif 584 #endif
585 #ifdef HAS_HALFFLOATROW_F16C 585 #ifdef HAS_HALFFLOATROW_F16C
586 ANY11P16(HalfFloatRow_Any_F16C, HalfFloatRow_F16C, float, 1, 1, 15) 586 ANY11P16(HalfFloatRow_Any_F16C, HalfFloatRow_F16C, float, 1, 1, 15)
587 #endif 587 #endif
588 #ifdef HAS_HALFFLOATROW_NEON
589 ANY11P16(HalfFloatRow_Any_NEON, HalfFloatRow_NEON, float, 1, 1, 7)
590 #endif
588 #undef ANY11P16 591 #undef ANY11P16
589 592
590 // Any 1 to 1 with yuvconstants 593 // Any 1 to 1 with yuvconstants
591 #define ANY11C(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, BPP, MASK) \ 594 #define ANY11C(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, BPP, MASK) \
592 void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, \ 595 void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, \
593 const struct YuvConstants* yuvconstants, int width) { \ 596 const struct YuvConstants* yuvconstants, int width) { \
594 SIMD_ALIGNED(uint8 temp[128 * 2]); \ 597 SIMD_ALIGNED(uint8 temp[128 * 2]); \
595 memset(temp, 0, 128); /* for YUY2 and msan */ \ 598 memset(temp, 0, 128); /* for YUY2 and msan */ \
596 int r = width & MASK; \ 599 int r = width & MASK; \
597 int n = width & ~MASK; \ 600 int n = width & ~MASK; \
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 #endif 857 #endif
855 #ifdef HAS_UYVYTOUVROW_MSA 858 #ifdef HAS_UYVYTOUVROW_MSA
856 ANY12S(UYVYToUVRow_Any_MSA, UYVYToUVRow_MSA, 1, 4, 31) 859 ANY12S(UYVYToUVRow_Any_MSA, UYVYToUVRow_MSA, 1, 4, 31)
857 #endif 860 #endif
858 #undef ANY12S 861 #undef ANY12S
859 862
860 #ifdef __cplusplus 863 #ifdef __cplusplus
861 } // extern "C" 864 } // extern "C"
862 } // namespace libyuv 865 } // namespace libyuv
863 #endif 866 #endif
OLDNEW
« no previous file with comments | « source/planar_functions.cc ('k') | source/row_neon64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698