| 1244 | } |
| 1245 | |
| 1246 | static void |
| 1247 | CopyColumn( const uchar* _src, size_t src_step, |
| 1248 | uchar* _dst, size_t dst_step, |
| 1249 | int len, size_t elem_size ) |
| 1250 | { |
| 1251 | int i, t0, t1; |
| 1252 | const int* src = (const int*)_src; |
| 1253 | int* dst = (int*)_dst; |
| 1254 | src_step /= sizeof(src[0]); |
| 1255 | dst_step /= sizeof(dst[0]); |
| 1256 | |
| 1257 | if( elem_size == sizeof(int) ) |
| 1258 | { |
| 1259 | for( i = 0; i < len; i++, src += src_step, dst += dst_step ) |
| 1260 | dst[0] = src[0]; |
| 1261 | } |
| 1262 | else if( elem_size == sizeof(int)*2 ) |
| 1263 | { |
| 1264 | for( i = 0; i < len; i++, src += src_step, dst += dst_step ) |
| 1265 | { |
| 1266 | t0 = src[0]; t1 = src[1]; |
| 1267 | dst[0] = t0; dst[1] = t1; |
| 1268 | } |
| 1269 | } |
| 1270 | else if( elem_size == sizeof(int)*4 ) |
| 1271 | { |
| 1272 | for( i = 0; i < len; i++, src += src_step, dst += dst_step ) |
| 1273 | { |
| 1274 | t0 = src[0]; t1 = src[1]; |
| 1275 | dst[0] = t0; dst[1] = t1; |
| 1276 | t0 = src[2]; t1 = src[3]; |
| 1277 | dst[2] = t0; dst[3] = t1; |
| 1278 | } |
| 1279 | } |
| 1280 | } |
| 1281 | |
| 1282 | |
| 1283 | static void |