[Scummvm-cvs-logs] SF.net SVN: scummvm:[48191] scummvm/trunk

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Mon Mar 8 11:31:09 CET 2010


Revision: 48191
          http://scummvm.svn.sourceforge.net/scummvm/?rev=48191&view=rev
Author:   fingolfin
Date:     2010-03-08 10:31:09 +0000 (Mon, 08 Mar 2010)

Log Message:
-----------
Rename PocketPCPortrait scaler to DownscaleHorizByThreeQuarters,
and move it to graphics/scaler.

Modified Paths:
--------------
    scummvm/trunk/backends/platform/wince/CEScaler.cpp
    scummvm/trunk/backends/platform/wince/CEScaler.h
    scummvm/trunk/backends/platform/wince/wince-sdl.cpp
    scummvm/trunk/graphics/scaler/downscaler.cpp
    scummvm/trunk/graphics/scaler/downscaler.h

Modified: scummvm/trunk/backends/platform/wince/CEScaler.cpp
===================================================================
--- scummvm/trunk/backends/platform/wince/CEScaler.cpp	2010-03-08 10:30:39 UTC (rev 48190)
+++ scummvm/trunk/backends/platform/wince/CEScaler.cpp	2010-03-08 10:31:09 UTC (rev 48191)
@@ -25,41 +25,6 @@
 #include "graphics/scaler/intern.h"
 #include "CEScaler.h"
 
-template<typename ColorMask>
-void PocketPCPortraitTemplate(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
-	uint16 *work;
-
-	// Various casts below go via (void *) to avoid warning. This is
-	// safe as these are all even addresses.
-	while (height--) {
-		work = (uint16 *)(void *)dstPtr;
-
-		for (int i=0; i<width; i+=4) {
-			// Work with 4 pixels
-			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));
-
-			work[0] = interpolate32_3_1<ColorMask>(color1, color2);
-			work[1] = interpolate32_1_1<ColorMask>(color2, color3);
-			work[2] = interpolate32_3_1<ColorMask>(color4, color3);
-
-			work += 3;
-		}
-		srcPtr += srcPitch;
-		dstPtr += dstPitch;
-	}
-}
-
-void PocketPCPortrait(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
-	extern int gBitFormat;
-	if (gBitFormat == 565)
-		PocketPCPortraitTemplate<Graphics::ColorMasks<565> >(srcPtr, srcPitch, dstPtr, dstPitch, width, height);
-	else
-		PocketPCPortraitTemplate<Graphics::ColorMasks<555> >(srcPtr, srcPitch, dstPtr, dstPitch, width, height);
-}
-
 void PocketPCLandscapeAspect(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
 
 	const int redblueMasks[] = { 0x7C1F, 0xF81F };

Modified: scummvm/trunk/backends/platform/wince/CEScaler.h
===================================================================
--- scummvm/trunk/backends/platform/wince/CEScaler.h	2010-03-08 10:30:39 UTC (rev 48190)
+++ scummvm/trunk/backends/platform/wince/CEScaler.h	2010-03-08 10:31:09 UTC (rev 48191)
@@ -32,12 +32,6 @@
 #include "graphics/scaler/intern.h"
 
 /**
- * This filter (down)scales the source image horizontally by a factor of 3/4.
- * For example, a 320x200 image is scaled to 240x200.
- */
-DECLARE_SCALER(PocketPCPortrait);
-
-/**
  * This filter (up)scales the source image vertically by a factor of 6/5.
  * For example, a 320x200 image is scaled to 320x240.
  *

Modified: scummvm/trunk/backends/platform/wince/wince-sdl.cpp
===================================================================
--- scummvm/trunk/backends/platform/wince/wince-sdl.cpp	2010-03-08 10:30:39 UTC (rev 48190)
+++ scummvm/trunk/backends/platform/wince/wince-sdl.cpp	2010-03-08 10:31:09 UTC (rev 48191)
@@ -1150,7 +1150,7 @@
 				_scaleFactorXd = 4;
 				_scaleFactorYm = 1;
 				_scaleFactorYd = 1;
-				_scalerProc = PocketPCPortrait;
+				_scalerProc = DownscaleHorizByThreeQuarters;
 				_modeFlags = 0;
 			} else {
 				_scaleFactorXm = 1;

Modified: scummvm/trunk/graphics/scaler/downscaler.cpp
===================================================================
--- scummvm/trunk/graphics/scaler/downscaler.cpp	2010-03-08 10:30:39 UTC (rev 48190)
+++ scummvm/trunk/graphics/scaler/downscaler.cpp	2010-03-08 10:31:09 UTC (rev 48191)
@@ -35,6 +35,8 @@
 	static const int roundingconstants[] = { 0x00200802, 0x00201002 };
 	static const int redbluegreenMasks[] = { 0x03E07C1F, 0x07E0F81F };
 
+	extern int gBitFormat;
+
 	const int maskUsed = (gBitFormat == 565);
 	DownscaleAllByHalfARM(srcPtr, srcPitch, dstPtr, dstPitch, width, height, redbluegreenMasks[maskUsed], roundingconstants[maskUsed]);
 }
@@ -108,3 +110,42 @@
 	else
 		DownscaleHorizByHalfTemplate<Graphics::ColorMasks<555> >(srcPtr, srcPitch, dstPtr, dstPitch, width, height);
 }
+
+/**
+ * This filter (down)scales the source image horizontally by a factor of 3/4.
+ * For example, a 320x200 image is scaled to 240x200.
+ */
+template<typename ColorMask>
+void DownscaleHorizByThreeQuartersTemplate(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
+	uint16 *work;
+
+	// Various casts below go via (void *) to avoid warning. This is
+	// safe as these are all even addresses.
+	while (height--) {
+		work = (uint16 *)(void *)dstPtr;
+
+		for (int i = 0; i < width; i += 4) {
+			// Work with 4 pixels
+			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));
+
+			work[0] = interpolate32_3_1<ColorMask>(color1, color2);
+			work[1] = interpolate32_1_1<ColorMask>(color2, color3);
+			work[2] = interpolate32_3_1<ColorMask>(color4, color3);
+
+			work += 3;
+		}
+		srcPtr += srcPitch;
+		dstPtr += dstPitch;
+	}
+}
+
+void DownscaleHorizByThreeQuarters(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
+	extern int gBitFormat;
+	if (gBitFormat == 565)
+		DownscaleHorizByThreeQuartersTemplate<Graphics::ColorMasks<565> >(srcPtr, srcPitch, dstPtr, dstPitch, width, height);
+	else
+		DownscaleHorizByThreeQuartersTemplate<Graphics::ColorMasks<555> >(srcPtr, srcPitch, dstPtr, dstPitch, width, height);
+}

Modified: scummvm/trunk/graphics/scaler/downscaler.h
===================================================================
--- scummvm/trunk/graphics/scaler/downscaler.h	2010-03-08 10:30:39 UTC (rev 48190)
+++ scummvm/trunk/graphics/scaler/downscaler.h	2010-03-08 10:31:09 UTC (rev 48191)
@@ -41,4 +41,10 @@
  */
 DECLARE_SCALER(DownscaleHorizByHalf);
 
+/**
+ * This filter (down)scales the source image horizontally by a factor of 3/4.
+ * For example, a 320x200 image is scaled to 240x200.
+ */
+DECLARE_SCALER(DownscaleHorizByThreeQuarters);
+
 #endif


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