- /* color image */
- const uint bpp = 4;
- const uint tile_w = TILE_SIZE, tile_h = TILE_SIZE;
- const uint bytes_per_tile = tile_w * tile_h * bpp;
- const uint src_stride = dst_stride * tile_w;
- const uint tiles_per_row = src_stride / bytes_per_tile;
- uint i, j;
-
- for (j = 0; j < height; j += tile_h) {
- for (i = 0; i < width; i += tile_w) {
- uint ii = i + x, jj = j + y;
- uint tile_offset = ((jj / tile_h) * tiles_per_row + ii / tile_w);
- uint byte_offset = tile_offset * bytes_per_tile;
- const uint8_t *src_tile = (uint8_t *) src + byte_offset;
-
- lp_tile_write_4ub(format,
- src_tile,
- dst, dst_stride,
- ii, jj, tile_w, tile_h);
- }
- }