GraphicsMagick: coders/bmp.c The opacity channel handling is eve...

GraphicsMagick Commits <[email protected]> Thu, 31 Aug 2023 08:28:08 -0500
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.13412.1693488495.8047.graphicsmagick-commit@lists.sourceforge.net>
changeset 13c14da1f767 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=13c14da1f767
summary: coders/bmp.c The opacity channel handling is even more complex: BITMAPV2INFOHEADER: RGB bit field masks, BITMAPV3INFOHEADER+: RGBA

diffstat:

 ChangeLog    |  4 ++++
 coders/bmp.c |  7 ++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diffs (38 lines):

diff -r 492601effd79 -r 13c14da1f767 ChangeLog
--- a/ChangeLog	Thu Aug 31 10:29:05 2023 +0200
+++ b/ChangeLog	Thu Aug 31 15:27:47 2023 +0200
@@ -6,6 +6,10 @@
         4 pixels per 1 byte, the left-most pixel being in the two most significant bits 
         (Windows CE only)."
 
+	Partial revert: BITMAPV2INFOHEADER: RGB bit field masks,
+	                BITMAPV3INFOHEADER+: RGBA
+	The opacity channel handling is even more complex.
+
 2023-08-29  Fojtik Jaroslav  <[email protected]>
 
 	* coders/bmp.c First attempt to read BMP with BI_JPEG compression 
diff -r 492601effd79 -r 13c14da1f767 coders/bmp.c
--- a/coders/bmp.c	Thu Aug 31 10:29:05 2023 +0200
+++ b/coders/bmp.c	Thu Aug 31 15:27:47 2023 +0200
@@ -850,8 +850,8 @@
               (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                     "  Bits per pixel: %u",bmp_info.bits_per_pixel);
               if(bmp_info.compression <= BI_ALPHABITFIELDS)
-                  (void) LogMagickEvent(CoderEvent,GetMagickModule(),
-                                          "  Compression: %s", DecodeBiCompression(bmp_info.compression));
+                  (void) LogMagickEvent(CoderEvent, GetMagickModule(),
+                                          "  Compression: %s", DecodeBiCompression(bmp_info.compression,bmp_info.size));
               else
                   (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                           "  Compression: UNKNOWN (%u)",bmp_info.compression);
@@ -911,9 +911,6 @@
                     (void) LogMagickEvent(CoderEvent,GetMagickModule(),
                                           "Alpha Mask: 0x%04x",
                                           bmp_info.alpha_mask);
-                      /* Discard alpha mask, if not BI_ALPHABITFIELDS is signalised. */
-                  if(bmp_info.compression != BI_ALPHABITFIELDS)
-                      bmp_info.alpha_mask=0;
 
                   if (bmp_info.size > 120)
                     {