From aee026ac48406044306cf89eb74f072606b17a0d Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 6 Nov 2013 00:01:13 +0300 Subject: improve images loading speed in software mode with SDL1.2 --- src/resources/sdlimagehelper.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/resources') diff --git a/src/resources/sdlimagehelper.cpp b/src/resources/sdlimagehelper.cpp index fa63517fc..f39ecf4cd 100644 --- a/src/resources/sdlimagehelper.cpp +++ b/src/resources/sdlimagehelper.cpp @@ -213,12 +213,15 @@ Image *SDLImageHelper::_SDLload(SDL_Surface *tmpImage) const const SDL_PixelFormat *const fmt = tmpImage->format; if (fmt->Amask) { + const uint32_t amask = fmt->Amask; + const uint8_t ashift = fmt->Ashift; + const uint8_t aloss = fmt->Aloss; + const uint32_t *pixels = static_cast(tmpImage->pixels); for (int i = 0; i < sz; ++ i) { - const unsigned v = ((static_cast( - tmpImage->pixels))[i] & fmt->Amask) >> fmt->Ashift; - const uint8_t a = static_cast((v << fmt->Aloss) - + (v >> (8 - (fmt->Aloss << 1)))); + const unsigned v = (pixels[i] & amask) >> ashift; + const uint8_t a = static_cast((v << aloss) + + (v >> (8 - (aloss << 1)))); if (a != 255) hasAlpha = true; -- cgit v1.2.3-70-g09d2