--- ImageLib/src/jpg/jpegdecoder.cpp.orig 2013-09-27 13:20:15.000000000 +1000 +++ ImageLib/src/jpg/jpegdecoder.cpp 2013-09-27 13:20:34.000000000 +1000 @@ -106,7 +106,7 @@ blocks[i] = q; // Round to qword boundry, to avoid misaligned accesses with MMX code - return ((void *)(((uint)q + 7) & ~7)); + return ((void *)(((ulong)q + 7) & ~7)); } //------------------------------------------------------------------------------ // Clear buffer to word values. @@ -1884,7 +1884,7 @@ q = (uchar *)alloc(max_blocks_per_row * 64 * sizeof(BLOCK_TYPE) + 8); // Align to 8-byte boundry, for MMX code - q = (uchar *)(((uint)q + 7) & ~7); + q = (uchar *)(((ulong)q + 7) & ~7); // The block_seg[] array's name dates back to the // 16-bit assembler implementation. "seg" stood for "segment". @@ -1894,7 +1894,7 @@ for (i = 0; i < max_blocks_per_row; i++) block_max_zag_set[i] = 64; - Psample_buf = (uchar *)(((uint)alloc(max_blocks_per_row * 64 + 8) + 7) & ~7); + Psample_buf = (uchar *)(((ulong)alloc(max_blocks_per_row * 64 + 8) + 7) & ~7); total_lines_left = image_y_size;