From c909ae47f69bea2da63c4fc91bd2087382ff18aa Mon Sep 17 00:00:00 2001 From: Kostas Nakos Date: Mon, 9 Apr 2007 19:41:30 +0000 Subject: applied patch 1696852: ARM 4/1 scaler by Robin Watts svn-id: r26442 --- backends/platform/wince/CEScaler.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'backends/platform/wince/CEScaler.cpp') diff --git a/backends/platform/wince/CEScaler.cpp b/backends/platform/wince/CEScaler.cpp index 86fe2a7104..dac46b801a 100644 --- a/backends/platform/wince/CEScaler.cpp +++ b/backends/platform/wince/CEScaler.cpp @@ -128,8 +128,19 @@ void PocketPCLandscapeAspect(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr } } +#ifdef ARM +extern "C" { + void PocketPCHalfARM(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height, int mask, int round); + // Rounding constants and masks used for different pixel formats + int roundingconstants[] = { 0x00200802, 0x00201002 }; + int redbluegreenMasks[] = { 0x03E07C1F, 0x07E0F81F }; +} +#endif void PocketPCHalf(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) { +#ifdef ARM + PocketPCHalfARM(srcPtr, srcPitch, dstPtr, dstPitch, width, height, redbluegreenMasks[maskUsed],roundingconstants[maskUsed]); +#else uint8 *work; int i; uint16 srcPitch16 = (uint16)(srcPitch / sizeof(uint16)); @@ -151,6 +162,7 @@ void PocketPCHalf(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 ds srcPtr += 2 * srcPitch; dstPtr += dstPitch; } +#endif } -- cgit v1.2.3