diff -Naur libmpeg3-1.7-orig/video/output.c libmpeg3-1.7/video/output.c --- libmpeg3-1.7-orig/video/output.c 2006-07-15 21:23:48.000000000 -0600 +++ libmpeg3-1.7/video/output.c 2006-07-15 21:26:14.000000000 -0600 @@ -104,12 +104,15 @@ *data++ = 0; #define STORE_PIXEL_RGB565 \ - *((unsigned short*)data) = \ - ((CLIP(r_l) & 0xf8) << 8) | \ - ((CLIP(g_l) & 0xfc) << 3) | \ - ((CLIP(b_l) & 0xf8) >> 3); \ - data += 2; - +{ \ + unsigned short *_data = (unsigned short *)data; \ + *_data = \ + ((CLIP(r_l) & 0xf8) << 8) | \ + ((CLIP(g_l) & 0xfc) << 3) | \ + ((CLIP(b_l) & 0xf8) >> 3); \ + data += sizeof(unsigned short); \ +} + #define STORE_PIXEL_RGB888 \ *data++ = CLIP(r_l); \ *data++ = CLIP(g_l); \