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

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

Issue 2553403002: Add MSA optimized TransposeWx8_MSA and TransposeUVWx8_MSA functions (Closed)
Patch Set: Created 4 years 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 2013 The LibYuv Project Authors. All rights reserved. 2 * Copyright 2013 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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 #define HAS_TRANSPOSEWX8_NEON 53 #define HAS_TRANSPOSEWX8_NEON
54 #define HAS_TRANSPOSEUVWX8_NEON 54 #define HAS_TRANSPOSEUVWX8_NEON
55 #endif 55 #endif
56 56
57 #if !defined(LIBYUV_DISABLE_MIPS) && !defined(__native_client__) && \ 57 #if !defined(LIBYUV_DISABLE_MIPS) && !defined(__native_client__) && \
58 defined(__mips__) && defined(__mips_dsp) && (__mips_dsp_rev >= 2) 58 defined(__mips__) && defined(__mips_dsp) && (__mips_dsp_rev >= 2)
59 #define HAS_TRANSPOSEWX8_DSPR2 59 #define HAS_TRANSPOSEWX8_DSPR2
60 #define HAS_TRANSPOSEUVWX8_DSPR2 60 #define HAS_TRANSPOSEUVWX8_DSPR2
61 #endif // defined(__mips__) 61 #endif // defined(__mips__)
62 62
63 #if !defined(LIBYUV_DISABLE_MSA) && defined(__mips_msa)
64 #define HAS_TRANSPOSEWX8_MSA
65 #define HAS_TRANSPOSEUVWX8_MSA
66 #endif
67
63 void TransposeWxH_C(const uint8* src, 68 void TransposeWxH_C(const uint8* src,
64 int src_stride, 69 int src_stride,
65 uint8* dst, 70 uint8* dst,
66 int dst_stride, 71 int dst_stride,
67 int width, 72 int width,
68 int height); 73 int height);
69 74
70 void TransposeWx8_C(const uint8* src, 75 void TransposeWx8_C(const uint8* src,
71 int src_stride, 76 int src_stride,
72 uint8* dst, 77 uint8* dst,
(...skipping 17 matching lines...) Expand all
90 void TransposeWx8_DSPR2(const uint8* src, 95 void TransposeWx8_DSPR2(const uint8* src,
91 int src_stride, 96 int src_stride,
92 uint8* dst, 97 uint8* dst,
93 int dst_stride, 98 int dst_stride,
94 int width); 99 int width);
95 void TransposeWx8_Fast_DSPR2(const uint8* src, 100 void TransposeWx8_Fast_DSPR2(const uint8* src,
96 int src_stride, 101 int src_stride,
97 uint8* dst, 102 uint8* dst,
98 int dst_stride, 103 int dst_stride,
99 int width); 104 int width);
105 void TransposeWx8_MSA(const uint8* src,
106 int src_stride,
107 uint8* dst,
108 int dst_stride,
109 int width);
100 110
101 void TransposeWx8_Any_NEON(const uint8* src, 111 void TransposeWx8_Any_NEON(const uint8* src,
102 int src_stride, 112 int src_stride,
103 uint8* dst, 113 uint8* dst,
104 int dst_stride, 114 int dst_stride,
105 int width); 115 int width);
106 void TransposeWx8_Any_SSSE3(const uint8* src, 116 void TransposeWx8_Any_SSSE3(const uint8* src,
107 int src_stride, 117 int src_stride,
108 uint8* dst, 118 uint8* dst,
109 int dst_stride, 119 int dst_stride,
110 int width); 120 int width);
111 void TransposeWx8_Fast_Any_SSSE3(const uint8* src, 121 void TransposeWx8_Fast_Any_SSSE3(const uint8* src,
112 int src_stride, 122 int src_stride,
113 uint8* dst, 123 uint8* dst,
114 int dst_stride, 124 int dst_stride,
115 int width); 125 int width);
116 void TransposeWx8_Any_DSPR2(const uint8* src, 126 void TransposeWx8_Any_DSPR2(const uint8* src,
117 int src_stride, 127 int src_stride,
118 uint8* dst, 128 uint8* dst,
119 int dst_stride, 129 int dst_stride,
120 int width); 130 int width);
131 void TransposeWx8_Any_MSA(const uint8* src,
132 int src_stride,
133 uint8* dst,
134 int dst_stride,
135 int width);
121 136
122 void TransposeUVWxH_C(const uint8* src, 137 void TransposeUVWxH_C(const uint8* src,
123 int src_stride, 138 int src_stride,
124 uint8* dst_a, 139 uint8* dst_a,
125 int dst_stride_a, 140 int dst_stride_a,
126 uint8* dst_b, 141 uint8* dst_b,
127 int dst_stride_b, 142 int dst_stride_b,
128 int width, 143 int width,
129 int height); 144 int height);
130 145
(...skipping 18 matching lines...) Expand all
149 uint8* dst_b, 164 uint8* dst_b,
150 int dst_stride_b, 165 int dst_stride_b,
151 int width); 166 int width);
152 void TransposeUVWx8_DSPR2(const uint8* src, 167 void TransposeUVWx8_DSPR2(const uint8* src,
153 int src_stride, 168 int src_stride,
154 uint8* dst_a, 169 uint8* dst_a,
155 int dst_stride_a, 170 int dst_stride_a,
156 uint8* dst_b, 171 uint8* dst_b,
157 int dst_stride_b, 172 int dst_stride_b,
158 int width); 173 int width);
174 void TransposeUVWx8_MSA(const uint8* src,
175 int src_stride,
176 uint8* dst_a,
177 int dst_stride_a,
178 uint8* dst_b,
179 int dst_stride_b,
180 int width);
159 181
160 void TransposeUVWx8_Any_SSE2(const uint8* src, 182 void TransposeUVWx8_Any_SSE2(const uint8* src,
161 int src_stride, 183 int src_stride,
162 uint8* dst_a, 184 uint8* dst_a,
163 int dst_stride_a, 185 int dst_stride_a,
164 uint8* dst_b, 186 uint8* dst_b,
165 int dst_stride_b, 187 int dst_stride_b,
166 int width); 188 int width);
167 void TransposeUVWx8_Any_NEON(const uint8* src, 189 void TransposeUVWx8_Any_NEON(const uint8* src,
168 int src_stride, 190 int src_stride,
169 uint8* dst_a, 191 uint8* dst_a,
170 int dst_stride_a, 192 int dst_stride_a,
171 uint8* dst_b, 193 uint8* dst_b,
172 int dst_stride_b, 194 int dst_stride_b,
173 int width); 195 int width);
174 void TransposeUVWx8_Any_DSPR2(const uint8* src, 196 void TransposeUVWx8_Any_DSPR2(const uint8* src,
175 int src_stride, 197 int src_stride,
176 uint8* dst_a, 198 uint8* dst_a,
177 int dst_stride_a, 199 int dst_stride_a,
178 uint8* dst_b, 200 uint8* dst_b,
179 int dst_stride_b, 201 int dst_stride_b,
180 int width); 202 int width);
203 void TransposeUVWx8_Any_MSA(const uint8* src,
204 int src_stride,
205 uint8* dst_a,
206 int dst_stride_a,
207 uint8* dst_b,
208 int dst_stride_b,
209 int width);
181 210
182 #ifdef __cplusplus 211 #ifdef __cplusplus
183 } // extern "C" 212 } // extern "C"
184 } // namespace libyuv 213 } // namespace libyuv
185 #endif 214 #endif
186 215
187 #endif // INCLUDE_LIBYUV_ROTATE_ROW_H_ 216 #endif // INCLUDE_LIBYUV_ROTATE_ROW_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698