std/bmp: let decoded pixfmt be transparent

Fixes #147
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 1e4befb..241a2ae 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -31116,6 +31116,8 @@
           (self->private_impl.f_channel_num_bits[2u] > 8u) ||
           (self->private_impl.f_channel_num_bits[3u] > 8u)) {
         v_dst_pixfmt = 2164308923u;
+      } else if (((self->private_impl.f_src_pixfmt == 2198077448u) || (self->private_impl.f_src_pixfmt == 2147485832u) || (self->private_impl.f_src_pixfmt == 2415954056u)) || ((self->private_impl.f_src_pixfmt == 2164308923u) && (self->private_impl.f_channel_masks[3u] == 0u))) {
+        v_dst_pixfmt = 2415954056u;
       }
       wuffs_base__image_config__set(
           a_dst,
diff --git a/std/bmp/decode_bmp.wuffs b/std/bmp/decode_bmp.wuffs
index 938b9d8..695f389 100644
--- a/std/bmp/decode_bmp.wuffs
+++ b/std/bmp/decode_bmp.wuffs
@@ -383,6 +383,11 @@
                 (this.channel_num_bits[2] > 8) or
                 (this.channel_num_bits[3] > 8) {
             dst_pixfmt = base.PIXEL_FORMAT__BGRA_NONPREMUL_4X16LE
+        } else if ((this.src_pixfmt == base.PIXEL_FORMAT__INDEXED__BGRA_BINARY) or
+                (this.src_pixfmt == base.PIXEL_FORMAT__BGR) or
+                (this.src_pixfmt == base.PIXEL_FORMAT__BGRX)) or
+                ((this.src_pixfmt == base.PIXEL_FORMAT__BGRA_NONPREMUL_4X16LE) and (this.channel_masks[3] == 0)) {
+            dst_pixfmt = base.PIXEL_FORMAT__BGRX
         }
 
         args.dst.set!(