Add "#png: unsupported CgBI extension" status
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index ba45608..81cbe2d 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -9170,6 +9170,7 @@
 extern const char wuffs_png__error__bad_header[];
 extern const char wuffs_png__error__bad_text_chunk_not_latin_1[];
 extern const char wuffs_png__error__missing_palette[];
+extern const char wuffs_png__error__unsupported_cgbi_extension[];
 extern const char wuffs_png__error__unsupported_png_compression_method[];
 extern const char wuffs_png__error__unsupported_png_file[];
 
@@ -35809,6 +35810,7 @@
 const char wuffs_png__error__bad_header[] = "#png: bad header";
 const char wuffs_png__error__bad_text_chunk_not_latin_1[] = "#png: bad text chunk (not Latin-1)";
 const char wuffs_png__error__missing_palette[] = "#png: missing palette";
+const char wuffs_png__error__unsupported_cgbi_extension[] = "#png: unsupported CgBI extension";
 const char wuffs_png__error__unsupported_png_compression_method[] = "#png: unsupported PNG compression method";
 const char wuffs_png__error__unsupported_png_file[] = "#png: unsupported PNG file";
 const char wuffs_png__error__internal_error_inconsistent_i_o[] = "#png: internal error: inconsistent I/O";
@@ -37803,6 +37805,10 @@
         v_magic = t_1;
       }
       if (v_magic != 5927942488114331648) {
+        if (v_magic == 5278895250759221248) {
+          status = wuffs_base__make_status(wuffs_png__error__unsupported_cgbi_extension);
+          goto exit;
+        }
         status = wuffs_base__make_status(wuffs_png__error__bad_header);
         goto exit;
       }
diff --git a/std/png/common_consts.wuffs b/std/png/common_consts.wuffs
index 2c4e419..47a0fe9 100644
--- a/std/png/common_consts.wuffs
+++ b/std/png/common_consts.wuffs
@@ -19,6 +19,7 @@
 pub status "#bad header"
 pub status "#bad text chunk (not Latin-1)"
 pub status "#missing palette"
+pub status "#unsupported CgBI extension"
 pub status "#unsupported PNG compression method"
 pub status "#unsupported PNG file"
 
diff --git a/std/png/decode_png.wuffs b/std/png/decode_png.wuffs
index 62f118b..899847c 100644
--- a/std/png/decode_png.wuffs
+++ b/std/png/decode_png.wuffs
@@ -219,6 +219,12 @@
 		}
 		magic = args.src.read_u64le?()
 		if magic <> '\x00\x00\x00\x0DIHDR'le {
+			if magic == '\x00\x00\x00\x04CgBI'le {
+				// TODO: add support for Apple's unofficial CgBI extension to
+				// PNG, once there exists good documentation for it. See
+				// https://github.com/w3c/PNG-spec/issues/45
+				return "#unsupported CgBI extension"
+			}
 			return "#bad header"
 		}
 		this.chunk_type_array[0] = 'I'