MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / rotate_8uc1_counterclockwise

Function rotate_8uc1_counterclockwise

dnn/src/armv7/rotate/opr_impl.cpp:224–250  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

222}
223
224void rotate_8uc1_counterclockwise(
225 const uchar* src, uchar* dst, const size_t rows, const size_t cols,
226 const size_t src_step, const size_t dst_step) {
227 const size_t block = 16;
228 (void)block;
229 size_t i = 0;
230
231 for (; i + block <= rows; i += block) {
232 size_t j = 0;
233 for (; j + block <= cols; j += block) {
234 rotate_8uc1_counterclockwise_16x16(
235 src + i * src_step + j, dst + (cols - (j + block)) * dst_step + i,
236 src_step, dst_step);
237 }
238 for (; j < cols; ++j) {
239 for (size_t k = 0; k < block; ++k) {
240 dst[(cols - 1 - j) * dst_step + (i + k)] = src[(i + k) * src_step + j];
241 }
242 }
243 }
244
245 for (; i < rows; ++i) {
246 for (size_t j = 0; j < cols; ++j) {
247 dst[(cols - 1 - j) * dst_step + i] = src[i * src_step + j];
248 }
249 }
250}
251
252void rotate(const Mat<uchar>& src, Mat<uchar>& dst, bool clockwise) {
253 megdnn_assert(src.rows() == dst.cols());

Callers 1

rotateFunction · 0.70

Calls 1

Tested by

no test coverage detected