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

Side by Side Diff: source/row_any.cc

Issue 2421993002: Port HalfFloatRow_SSE2 to AVX2 but not using F16C. (Closed)
Patch Set: disable f16 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_gcc.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 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 ANY_SIMD(temp, temp + 64, shuffler, MASK + 1); \ 569 ANY_SIMD(temp, temp + 64, shuffler, MASK + 1); \
570 memcpy(dst_ptr + n * BPP, temp + 64, r * BPP); \ 570 memcpy(dst_ptr + n * BPP, temp + 64, r * BPP); \
571 } 571 }
572 572
573 #ifdef HAS_HALFFLOATROW_SSE2 573 #ifdef HAS_HALFFLOATROW_SSE2
574 ANY11P16(HalfFloatRow_Any_SSE2, HalfFloatRow_SSE2, float, 1, 1, 15) 574 ANY11P16(HalfFloatRow_Any_SSE2, HalfFloatRow_SSE2, float, 1, 1, 15)
575 #endif 575 #endif
576 #ifdef HAS_HALFFLOATROW_AVX2 576 #ifdef HAS_HALFFLOATROW_AVX2
577 ANY11P16(HalfFloatRow_Any_AVX2, HalfFloatRow_AVX2, float, 1, 1, 15) 577 ANY11P16(HalfFloatRow_Any_AVX2, HalfFloatRow_AVX2, float, 1, 1, 15)
578 #endif 578 #endif
579 #ifdef HAS_HALFFLOATROW_F16C
580 ANY11P16(HalfFloatRow_Any_F16C, HalfFloatRow_F16C, float, 1, 1, 15)
581 #endif
579 #undef ANY11P16 582 #undef ANY11P16
580 583
581
582 // Any 1 to 1 with yuvconstants 584 // Any 1 to 1 with yuvconstants
583 #define ANY11C(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, BPP, MASK) \ 585 #define ANY11C(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, BPP, MASK) \
584 void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, \ 586 void NAMEANY(const uint8* src_ptr, uint8* dst_ptr, \
585 const struct YuvConstants* yuvconstants, int width) { \ 587 const struct YuvConstants* yuvconstants, int width) { \
586 SIMD_ALIGNED(uint8 temp[128 * 2]); \ 588 SIMD_ALIGNED(uint8 temp[128 * 2]); \
587 memset(temp, 0, 128); /* for YUY2 and msan */ \ 589 memset(temp, 0, 128); /* for YUY2 and msan */ \
588 int r = width & MASK; \ 590 int r = width & MASK; \
589 int n = width & ~MASK; \ 591 int n = width & ~MASK; \
590 if (n > 0) { \ 592 if (n > 0) { \
591 ANY_SIMD(src_ptr, dst_ptr, yuvconstants, n); \ 593 ANY_SIMD(src_ptr, dst_ptr, yuvconstants, n); \
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
843 #endif 845 #endif
844 #ifdef HAS_UYVYTOUVROW_MSA 846 #ifdef HAS_UYVYTOUVROW_MSA
845 ANY12S(UYVYToUVRow_Any_MSA, UYVYToUVRow_MSA, 1, 4, 31) 847 ANY12S(UYVYToUVRow_Any_MSA, UYVYToUVRow_MSA, 1, 4, 31)
846 #endif 848 #endif
847 #undef ANY12S 849 #undef ANY12S
848 850
849 #ifdef __cplusplus 851 #ifdef __cplusplus
850 } // extern "C" 852 } // extern "C"
851 } // namespace libyuv 853 } // namespace libyuv
852 #endif 854 #endif
OLDNEW
« no previous file with comments | « source/planar_functions.cc ('k') | source/row_gcc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698