Refine pixel_format.bits_per_pixel return type
diff --git a/lang/builtin/builtin.go b/lang/builtin/builtin.go
index 3b7b0fa..98f34da 100644
--- a/lang/builtin/builtin.go
+++ b/lang/builtin/builtin.go
@@ -344,7 +344,7 @@
// ---- pixel_format
- "pixel_format.bits_per_pixel() u32",
+ "pixel_format.bits_per_pixel() u32[..= 256]",
// ---- pixel_swizzler
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index b71a7b6..86495e7 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -8283,7 +8283,7 @@
v_dst_pixfmt = wuffs_base__pixel_buffer__pixel_format(a_dst);
v_dst_bits_per_pixel =
wuffs_base__pixel_format__bits_per_pixel(&v_dst_pixfmt);
- if ((v_dst_bits_per_pixel > 512) || ((v_dst_bits_per_pixel & 7) != 0)) {
+ if ((v_dst_bits_per_pixel & 7) != 0) {
return wuffs_base__make_status(wuffs_base__error__unsupported_option);
}
v_dst_bytes_per_pixel = ((uint64_t)((v_dst_bits_per_pixel / 8)));
@@ -16774,7 +16774,7 @@
v_pixfmt = wuffs_base__pixel_buffer__pixel_format(a_pb);
v_bits_per_pixel = wuffs_base__pixel_format__bits_per_pixel(&v_pixfmt);
- if ((v_bits_per_pixel > 512) || ((v_bits_per_pixel & 7) != 0)) {
+ if ((v_bits_per_pixel & 7) != 0) {
return wuffs_base__make_status(wuffs_base__error__unsupported_option);
}
v_bytes_per_pixel = (v_bits_per_pixel >> 3);
diff --git a/std/bmp/decode_bmp.wuffs b/std/bmp/decode_bmp.wuffs
index 49b9c40..96f0ad5 100644
--- a/std/bmp/decode_bmp.wuffs
+++ b/std/bmp/decode_bmp.wuffs
@@ -252,8 +252,8 @@
pri func decoder.swizzle!(dst: ptr base.pixel_buffer, src: slice base.u8) base.status {
var dst_pixfmt : base.pixel_format
- var dst_bits_per_pixel : base.u32
- var dst_bytes_per_pixel : base.u64[..= 64]
+ var dst_bits_per_pixel : base.u32[..= 256]
+ var dst_bytes_per_pixel : base.u64[..= 32]
var dst_bytes_per_row : base.u64
var src_bytes_per_pixel : base.u8[..= 4]
var tab : table base.u8
@@ -265,7 +265,7 @@
// to chain the two calls: "args.dst.pixel_format().bits_per_pixel()".
dst_pixfmt = args.dst.pixel_format()
dst_bits_per_pixel = dst_pixfmt.bits_per_pixel()
- if (dst_bits_per_pixel > 512) or ((dst_bits_per_pixel & 7) <> 0) {
+ if (dst_bits_per_pixel & 7) <> 0 {
return base."#unsupported option"
}
dst_bytes_per_pixel = (dst_bits_per_pixel / 8) as base.u64
diff --git a/std/gif/decode_gif.wuffs b/std/gif/decode_gif.wuffs
index 75e50d9..69fba95 100644
--- a/std/gif/decode_gif.wuffs
+++ b/std/gif/decode_gif.wuffs
@@ -1013,8 +1013,8 @@
var n : base.u64
var src_ri : base.u64
var pixfmt : base.pixel_format
- var bytes_per_pixel : base.u32[..= 64]
- var bits_per_pixel : base.u32
+ var bytes_per_pixel : base.u32[..= 32]
+ var bits_per_pixel : base.u32[..= 256]
var tab : table base.u8
var i : base.u64
var j : base.u64
@@ -1027,7 +1027,7 @@
// chain the two calls: "args.pb.pixel_format().bits_per_pixel()".
pixfmt = args.pb.pixel_format()
bits_per_pixel = pixfmt.bits_per_pixel()
- if (bits_per_pixel > 512) or ((bits_per_pixel & 7) <> 0) {
+ if (bits_per_pixel & 7) <> 0 {
return base."#unsupported option"
}
bytes_per_pixel = bits_per_pixel >> 3