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

Side by Side Diff: source/row_any.cc

Issue 2430313005: Add MSA optimized I422ToARGBRow_MSA and I422ToRGBARow_MSA functions (Closed)
Patch Set: 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
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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 #endif 158 #endif
159 #ifdef HAS_I422TOARGBROW_NEON 159 #ifdef HAS_I422TOARGBROW_NEON
160 ANY31C(I444ToARGBRow_Any_NEON, I444ToARGBRow_NEON, 0, 0, 4, 7) 160 ANY31C(I444ToARGBRow_Any_NEON, I444ToARGBRow_NEON, 0, 0, 4, 7)
161 ANY31C(I422ToARGBRow_Any_NEON, I422ToARGBRow_NEON, 1, 0, 4, 7) 161 ANY31C(I422ToARGBRow_Any_NEON, I422ToARGBRow_NEON, 1, 0, 4, 7)
162 ANY31C(I422ToRGBARow_Any_NEON, I422ToRGBARow_NEON, 1, 0, 4, 7) 162 ANY31C(I422ToRGBARow_Any_NEON, I422ToRGBARow_NEON, 1, 0, 4, 7)
163 ANY31C(I422ToRGB24Row_Any_NEON, I422ToRGB24Row_NEON, 1, 0, 3, 7) 163 ANY31C(I422ToRGB24Row_Any_NEON, I422ToRGB24Row_NEON, 1, 0, 3, 7)
164 ANY31C(I422ToARGB4444Row_Any_NEON, I422ToARGB4444Row_NEON, 1, 0, 2, 7) 164 ANY31C(I422ToARGB4444Row_Any_NEON, I422ToARGB4444Row_NEON, 1, 0, 2, 7)
165 ANY31C(I422ToARGB1555Row_Any_NEON, I422ToARGB1555Row_NEON, 1, 0, 2, 7) 165 ANY31C(I422ToARGB1555Row_Any_NEON, I422ToARGB1555Row_NEON, 1, 0, 2, 7)
166 ANY31C(I422ToRGB565Row_Any_NEON, I422ToRGB565Row_NEON, 1, 0, 2, 7) 166 ANY31C(I422ToRGB565Row_Any_NEON, I422ToRGB565Row_NEON, 1, 0, 2, 7)
167 #endif 167 #endif
168 #ifdef HAS_I422TOARGBROW_MSA
169 ANY31C(I422ToARGBRow_Any_MSA, I422ToARGBRow_MSA, 1, 0, 4, 7)
170 ANY31C(I422ToRGBARow_Any_MSA, I422ToRGBARow_MSA, 1, 0, 4, 7)
171 #endif
168 #undef ANY31C 172 #undef ANY31C
169 173
170 // Any 2 planes to 1. 174 // Any 2 planes to 1.
171 #define ANY21(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, SBPP2, BPP, MASK) \ 175 #define ANY21(NAMEANY, ANY_SIMD, UVSHIFT, SBPP, SBPP2, BPP, MASK) \
172 void NAMEANY(const uint8* y_buf, const uint8* uv_buf, \ 176 void NAMEANY(const uint8* y_buf, const uint8* uv_buf, \
173 uint8* dst_ptr, int width) { \ 177 uint8* dst_ptr, int width) { \
174 SIMD_ALIGNED(uint8 temp[64 * 3]); \ 178 SIMD_ALIGNED(uint8 temp[64 * 3]); \
175 memset(temp, 0, 64 * 2); /* for msan */ \ 179 memset(temp, 0, 64 * 2); /* for msan */ \
176 int r = width & MASK; \ 180 int r = width & MASK; \
177 int n = width & ~MASK; \ 181 int n = width & ~MASK; \
(...skipping 679 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 #endif 861 #endif
858 #ifdef HAS_UYVYTOUVROW_MSA 862 #ifdef HAS_UYVYTOUVROW_MSA
859 ANY12S(UYVYToUVRow_Any_MSA, UYVYToUVRow_MSA, 1, 4, 31) 863 ANY12S(UYVYToUVRow_Any_MSA, UYVYToUVRow_MSA, 1, 4, 31)
860 #endif 864 #endif
861 #undef ANY12S 865 #undef ANY12S
862 866
863 #ifdef __cplusplus 867 #ifdef __cplusplus
864 } // extern "C" 868 } // extern "C"
865 } // namespace libyuv 869 } // namespace libyuv
866 #endif 870 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698