do { \
int dest_scan = DEST_WIDTH - BLOCK_SIZE; \
int source_scan = SOURCE_WIDTH - BLOCK_SIZE; \
for (
int y = 0;
y < BLOCK_SIZE;
y++) { \
for (
int x = 0;
x < BLOCK_SIZE;
x++) { \
DEST[DEST_INDEX] = OP; \
SOURCE_INDEX++; DEST_INDEX++; \
} \
SOURCE_INDEX += source_scan; \
DEST_INDEX += dest_scan; \
2675#define PLM_BLOCK_SET(DEST, DEST_INDEX, DEST_WIDTH, SOURCE_INDEX, SOURCE_WIDTH, BLOCK_SIZE, OP) do { \
2676 int dest_scan = DEST_WIDTH - BLOCK_SIZE; \
2677 int source_scan = SOURCE_WIDTH - BLOCK_SIZE; \
2678 for (int y = 0; y < BLOCK_SIZE; y++) { \
2679 for (int x = 0; x < BLOCK_SIZE; x++) { \
2680 DEST[DEST_INDEX] = OP; \
2681 SOURCE_INDEX++; DEST_INDEX++; \
2682 } \
2683 SOURCE_INDEX += source_scan; \
2684 DEST_INDEX += dest_scan; \
2685 }} while(FALSE)