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

Side by Side Diff: source/rotate_argb.cc

Issue 2368313003: Add MIPS SIMD Arch (MSA) optimized ARGBMirrorRow function (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 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
111 } 111 }
112 #endif 112 #endif
113 #if defined(HAS_ARGBMIRRORROW_AVX2) 113 #if defined(HAS_ARGBMIRRORROW_AVX2)
114 if (TestCpuFlag(kCpuHasAVX2)) { 114 if (TestCpuFlag(kCpuHasAVX2)) {
115 ARGBMirrorRow = ARGBMirrorRow_Any_AVX2; 115 ARGBMirrorRow = ARGBMirrorRow_Any_AVX2;
116 if (IS_ALIGNED(width, 8)) { 116 if (IS_ALIGNED(width, 8)) {
117 ARGBMirrorRow = ARGBMirrorRow_AVX2; 117 ARGBMirrorRow = ARGBMirrorRow_AVX2;
118 } 118 }
119 } 119 }
120 #endif 120 #endif
121 #if defined(HAS_ARGBMIRRORROW_MSA)
122 if (TestCpuFlag(kCpuHasMSA)) {
123 ARGBMirrorRow = ARGBMirrorRow_Any_MSA;
124 if (IS_ALIGNED(width, 16)) {
125 ARGBMirrorRow = ARGBMirrorRow_MSA;
126 }
127 }
128 #endif
121 #if defined(HAS_COPYROW_SSE2) 129 #if defined(HAS_COPYROW_SSE2)
122 if (TestCpuFlag(kCpuHasSSE2)) { 130 if (TestCpuFlag(kCpuHasSSE2)) {
123 CopyRow = IS_ALIGNED(width * 4, 32) ? CopyRow_SSE2 : CopyRow_Any_SSE2; 131 CopyRow = IS_ALIGNED(width * 4, 32) ? CopyRow_SSE2 : CopyRow_Any_SSE2;
124 } 132 }
125 #endif 133 #endif
126 #if defined(HAS_COPYROW_AVX) 134 #if defined(HAS_COPYROW_AVX)
127 if (TestCpuFlag(kCpuHasAVX)) { 135 if (TestCpuFlag(kCpuHasAVX)) {
128 CopyRow = IS_ALIGNED(width * 4, 64) ? CopyRow_AVX : CopyRow_Any_AVX; 136 CopyRow = IS_ALIGNED(width * 4, 64) ? CopyRow_AVX : CopyRow_Any_AVX;
129 } 137 }
130 #endif 138 #endif
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 default: 204 default:
197 break; 205 break;
198 } 206 }
199 return -1; 207 return -1;
200 } 208 }
201 209
202 #ifdef __cplusplus 210 #ifdef __cplusplus
203 } // extern "C" 211 } // extern "C"
204 } // namespace libyuv 212 } // namespace libyuv
205 #endif 213 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698