| 1961 | } |
| 1962 | |
| 1963 | template<typename T> static void |
| 1964 | transposeI_( uchar* data, size_t step, int n ) |
| 1965 | { |
| 1966 | int i, j; |
| 1967 | for( i = 0; i < n; i++ ) |
| 1968 | { |
| 1969 | T* row = (T*)(data + step*i); |
| 1970 | uchar* data1 = data + i*sizeof(T); |
| 1971 | for( j = i+1; j < n; j++ ) |
| 1972 | std::swap( row[j], *(T*)(data1 + step*j) ); |
| 1973 | } |
| 1974 | } |
| 1975 | |
| 1976 | typedef void (*TransposeFunc)( const uchar* src, size_t sstep, uchar* dst, size_t dstep, Size sz ); |
| 1977 | typedef void (*TransposeInplaceFunc)( uchar* data, size_t step, int n ); |