Beispiel #1
0
void attempt_four(int dim, pixel *src, pixel *dst) {
	if (dim < 256)
		return naive_rotate(dim, src, dst);
	int tile_num = 256;
	int tile_size = dim/tile_num;
	int i, j, x, y;

	for (x=0; x<tile_num; x++){
		int baseI = x*tile_size;
		for (y=0; y<tile_num; y++){
			int baseJ = y*tile_size;
			for (i = 0; i < tile_size; i++)
				for (j = 0; j < tile_size; j++)
					dst[RIDX(dim-1-baseJ-j, baseI+i, dim)] = src[RIDX(baseI+i, baseJ+j, dim)];
		}
	}
}
Beispiel #2
0
void rotate(int dim, pixel *src, pixel *dst) 
{
    naive_rotate(dim, src, dst);
}