[Scummvm-cvs-logs] SF.net SVN: scummvm:[43662] scummvm/trunk/backends/platform/wince/CEScaler. cpp

robinwatts at users.sourceforge.net robinwatts at users.sourceforge.net
Sun Aug 23 01:00:08 CEST 2009


Revision: 43662
          http://scummvm.svn.sourceforge.net/scummvm/?rev=43662&view=rev
Author:   robinwatts
Date:     2009-08-22 23:00:08 +0000 (Sat, 22 Aug 2009)

Log Message:
-----------
Eliminate more warnings for buildbot.

Modified Paths:
--------------
    scummvm/trunk/backends/platform/wince/CEScaler.cpp

Modified: scummvm/trunk/backends/platform/wince/CEScaler.cpp
===================================================================
--- scummvm/trunk/backends/platform/wince/CEScaler.cpp	2009-08-22 22:41:31 UTC (rev 43661)
+++ scummvm/trunk/backends/platform/wince/CEScaler.cpp	2009-08-22 23:00:08 UTC (rev 43662)
@@ -27,24 +27,25 @@
 
 template<int bitFormat>
 void PocketPCPortraitTemplate(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
-	uint8 *work;
+	uint16 *work;
 
+	// Various casts below go via (void *) to avoid warning. This is
+	// safe as these are all even addresses.
 	while (height--) {
-		work = dstPtr;
+		work = (uint16 *)(void *)dstPtr;
 
 		for (int i=0; i<width; i+=4) {
 			// Work with 4 pixels
-			// Cast via (void *) to avoid warning. This is safe.
 			uint16 color1 = *(((const uint16 *)(const void *)srcPtr) + i);
 			uint16 color2 = *(((const uint16 *)(const void *)srcPtr) + (i + 1));
 			uint16 color3 = *(((const uint16 *)(const void *)srcPtr) + (i + 2));
 			uint16 color4 = *(((const uint16 *)(const void *)srcPtr) + (i + 3));
 
-			*(((uint16 *)work) + 0) = interpolate32_3_1<bitFormat>(color1, color2);
-			*(((uint16 *)work) + 1) = interpolate32_1_1<bitFormat>(color2, color3);
-			*(((uint16 *)work) + 2) = interpolate32_3_1<bitFormat>(color4, color3);
+			work[0] = interpolate32_3_1<bitFormat>(color1, color2);
+			work[1] = interpolate32_1_1<bitFormat>(color2, color3);
+			work[2] = interpolate32_3_1<bitFormat>(color4, color3);
 
-			work += 3 * sizeof(uint16);
+			work += 3;
 		}
 		srcPtr += srcPitch;
 		dstPtr += dstPitch;
@@ -161,20 +162,20 @@
 
 template<int bitFormat>
 void PocketPCHalfZoomTemplate(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
-	uint8 *work;
+	uint16 *work;
 
 	if (!height)
 		return;
 
+	// Various casts below go via (void *) to avoid warning. This is
+	// safe as these are all even addresses.
 	while (height--) {
-		work = dstPtr;
+		work = (uint16 *)(void *)dstPtr;
 
 		for (int i = 0; i < width; i += 2) {
-			uint16 color1 = *(((const uint16 *)srcPtr) + i);
-			uint16 color2 = *(((const uint16 *)srcPtr) + (i + 1));
-			*(((uint16 *)work) + 0) = interpolate32_1_1<bitFormat>(color1, color2);
-
-			work += sizeof(uint16);
+			uint16 color1 = *(((const uint16 *)(const void *)srcPtr) + i);
+			uint16 color2 = *(((const uint16 *)(const void *)srcPtr) + (i + 1));
+			*work++ = interpolate32_1_1<bitFormat>(color1, color2);
 		}
 		srcPtr += srcPitch;
 		dstPtr += dstPitch;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list