12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- fixed PluginBMP, PluginDDS for compilation under Big Endian OS
- Downloaded from upstream commit:
- https://sourceforge.net/p/freeimage/svn/1809/
- Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
- diff -uNr FreeImage.orig/Source/FreeImage/PluginBMP.cpp FreeImage/Source/FreeImage/PluginBMP.cpp
- --- FreeImage.orig/Source/FreeImage/PluginBMP.cpp 2016-06-15 12:35:30.000000000 +0200
- +++ FreeImage/Source/FreeImage/PluginBMP.cpp 2019-08-31 16:00:27.813378612 +0200
- @@ -518,7 +518,7 @@
- io->read_proc(FreeImage_GetPalette(dib), used_colors * sizeof(RGBQUAD), 1, handle);
- #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB
- RGBQUAD *pal = FreeImage_GetPalette(dib);
- - for(int i = 0; i < used_colors; i++) {
- + for(unsigned int i = 0; i < used_colors; i++) {
- INPLACESWAP(pal[i].rgbRed, pal[i].rgbBlue);
- }
- #endif
- @@ -1419,7 +1419,7 @@
-
- free(buffer);
- #ifdef FREEIMAGE_BIGENDIAN
- - } else if (bpp == 16) {
- + } else if (dst_bpp == 16) {
- int padding = dst_pitch - dst_width * sizeof(WORD);
- WORD pad = 0;
- WORD pixel;
- @@ -1440,7 +1440,7 @@
- }
- #endif
- #if FREEIMAGE_COLORORDER == FREEIMAGE_COLORORDER_RGB
- - } else if (bpp == 24) {
- + } else if (dst_bpp == 24) {
- int padding = dst_pitch - dst_width * sizeof(FILE_BGR);
- DWORD pad = 0;
- FILE_BGR bgr;
- @@ -1461,7 +1461,7 @@
- }
- }
- }
- - } else if (bpp == 32) {
- + } else if (dst_bpp == 32) {
- FILE_BGRA bgra;
- for(unsigned y = 0; y < dst_height; y++) {
- BYTE *line = FreeImage_GetScanLine(dib, y);
- diff -uNr FreeImage.orig/Source/FreeImage/PluginDDS.cpp FreeImage/Source/FreeImage/PluginDDS.cpp
- --- FreeImage.orig/Source/FreeImage/PluginDDS.cpp 2018-07-31 17:04:58.000000000 +0200
- +++ FreeImage/Source/FreeImage/PluginDDS.cpp 2019-08-31 16:00:39.213465120 +0200
- @@ -356,14 +356,6 @@
- for(int i=0; i<11; i++) {
- SwapLong(&header->surfaceDesc.dwReserved1[i]);
- }
- - SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwSize);
- - SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFlags);
- - SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwFourCC);
- - SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBBitCount);
- - SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRBitMask);
- - SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwGBitMask);
- - SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwBBitMask);
- - SwapLong(&header->surfaceDesc.ddpfPixelFormat.dwRGBAlphaBitMask);
- SwapLong(&header->surfaceDesc.ddsCaps.dwCaps1);
- SwapLong(&header->surfaceDesc.ddsCaps.dwCaps2);
- SwapLong(&header->surfaceDesc.ddsCaps.dwReserved[0]);
|