From 74442334258fd555948e8391abc323b63a416db0 Mon Sep 17 00:00:00 2001 From: dborth Date: Fri, 12 Feb 2010 07:39:12 +0000 Subject: [PATCH] optimization --- source/ngc/Metaphrasis.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/source/ngc/Metaphrasis.cpp b/source/ngc/Metaphrasis.cpp index a023b09..0ead124 100644 --- a/source/ngc/Metaphrasis.cpp +++ b/source/ngc/Metaphrasis.cpp @@ -274,9 +274,14 @@ uint32_t* Metaphrasis::convertBufferToRGBA8(uint32_t* rgbaBuffer, uint16_t buffe */ uint16_t Metaphrasis::convertRGBAToRGB565(uint32_t rgba) { - uint8_t r = (((rgba >> 24) & 0xff) * 31) / 255; - uint8_t g = (((rgba >> 16) & 0xff) * 63) / 255; - uint8_t b = (((rgba >> 8) & 0xff) * 31) / 255; + uint32_t rA = ((rgba >> 24) & 0xff); + uint32_t gA = ((rgba >> 16) & 0xff); + uint32_t bA = ((rgba >> 8) & 0xff); + + uint32_t r = ((rA<<5) - rA) / 255; + uint32_t g = ((gA<<6) - gA) / 255; + uint32_t b = ((bA<<5) - bA) / 255; + return (((r << 6) | g ) << 5 ) | b; }