Re-assign GIF quirk numbers
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index bb7ab58..fe530cb 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -3324,35 +3324,35 @@
wuffs_gif__quirk_delay_num_decoded_frames //
WUFFS_BASE__POTENTIALLY_UNUSED = 1041635328;
-#define WUFFS_GIF__QUIRK_IGNORE_TOO_MUCH_PIXEL_DATA 1041635329
-
-static const uint32_t //
- wuffs_gif__quirk_ignore_too_much_pixel_data //
- WUFFS_BASE__POTENTIALLY_UNUSED = 1041635329;
-
-#define WUFFS_GIF__QUIRK_IMAGE_BOUNDS_ARE_STRICT 1041635330
-
-static const uint32_t //
- wuffs_gif__quirk_image_bounds_are_strict //
- WUFFS_BASE__POTENTIALLY_UNUSED = 1041635330;
-
-#define WUFFS_GIF__QUIRK_HONOR_BACKGROUND_COLOR 1041635331
+#define WUFFS_GIF__QUIRK_HONOR_BACKGROUND_COLOR 1041635329
static const uint32_t //
wuffs_gif__quirk_honor_background_color //
+ WUFFS_BASE__POTENTIALLY_UNUSED = 1041635329;
+
+#define WUFFS_GIF__QUIRK_IGNORE_TOO_MUCH_PIXEL_DATA 1041635330
+
+static const uint32_t //
+ wuffs_gif__quirk_ignore_too_much_pixel_data //
+ WUFFS_BASE__POTENTIALLY_UNUSED = 1041635330;
+
+#define WUFFS_GIF__QUIRK_IMAGE_BOUNDS_ARE_STRICT 1041635331
+
+static const uint32_t //
+ wuffs_gif__quirk_image_bounds_are_strict //
WUFFS_BASE__POTENTIALLY_UNUSED = 1041635331;
-#define WUFFS_GIF__QUIRK_REJECT_EMPTY_FRAME 1041635333
+#define WUFFS_GIF__QUIRK_REJECT_EMPTY_FRAME 1041635332
static const uint32_t //
wuffs_gif__quirk_reject_empty_frame //
- WUFFS_BASE__POTENTIALLY_UNUSED = 1041635333;
+ WUFFS_BASE__POTENTIALLY_UNUSED = 1041635332;
-#define WUFFS_GIF__QUIRK_REJECT_EMPTY_PALETTE 1041635332
+#define WUFFS_GIF__QUIRK_REJECT_EMPTY_PALETTE 1041635333
static const uint32_t //
wuffs_gif__quirk_reject_empty_palette //
- WUFFS_BASE__POTENTIALLY_UNUSED = 1041635332;
+ WUFFS_BASE__POTENTIALLY_UNUSED = 1041635333;
// ---------------- Struct Declarations
@@ -3467,9 +3467,9 @@
uint64_t f_metadata_chunk_length_value;
uint64_t f_metadata_io_position;
bool f_quirk_enabled_delay_num_decoded_frames;
+ bool f_quirk_enabled_honor_background_color;
bool f_quirk_enabled_ignore_too_much_pixel_data;
bool f_quirk_enabled_image_bounds_are_strict;
- bool f_quirk_enabled_honor_background_color;
bool f_quirk_enabled_reject_empty_frame;
bool f_quirk_enabled_reject_empty_palette;
bool f_delayed_num_decoded_frames;
@@ -8770,14 +8770,14 @@
if (a_quirk == 1041635328) {
self->private_impl.f_quirk_enabled_delay_num_decoded_frames = a_enabled;
} else if (a_quirk == 1041635329) {
- self->private_impl.f_quirk_enabled_ignore_too_much_pixel_data = a_enabled;
- } else if (a_quirk == 1041635330) {
- self->private_impl.f_quirk_enabled_image_bounds_are_strict = a_enabled;
- } else if (a_quirk == 1041635331) {
self->private_impl.f_quirk_enabled_honor_background_color = a_enabled;
- } else if (a_quirk == 1041635333) {
- self->private_impl.f_quirk_enabled_reject_empty_frame = a_enabled;
+ } else if (a_quirk == 1041635330) {
+ self->private_impl.f_quirk_enabled_ignore_too_much_pixel_data = a_enabled;
+ } else if (a_quirk == 1041635331) {
+ self->private_impl.f_quirk_enabled_image_bounds_are_strict = a_enabled;
} else if (a_quirk == 1041635332) {
+ self->private_impl.f_quirk_enabled_reject_empty_frame = a_enabled;
+ } else if (a_quirk == 1041635333) {
self->private_impl.f_quirk_enabled_reject_empty_palette = a_enabled;
}
}
diff --git a/std/gif/decode_gif.wuffs b/std/gif/decode_gif.wuffs
index 656d2fd..272fbf5 100644
--- a/std/gif/decode_gif.wuffs
+++ b/std/gif/decode_gif.wuffs
@@ -74,20 +74,6 @@
// final frame. Enabling this quirk allows for matching that behavior.
pub const quirk_delay_num_decoded_frames base.u32 = (0xF8586 << 10) | 0
-// When this quirk is enabled, silently ignore e.g. a frame that reports a
-// width and height of 6 pixels each, followed by 50 pixel values. In that
-// case, we process the first 36 pixel values and discard the excess 14.
-pub const quirk_ignore_too_much_pixel_data base.u32 = (0xF8586 << 10) | 1
-
-// When this quirk is enabled, if the initial frame bounds extends beyond the
-// image bounds, then the image bounds stay unchanged. By default (with this
-// quirk disabled), the image bounds are adjusted to always contain the first
-// frame's bounds (but not necessarily subsequent frame's bounds).
-//
-// For more discussion, see
-// https://github.com/google/wuffs/blob/master/test/data/artificial/gif-frame-out-of-bounds.gif.make-artificial.txt
-pub const quirk_image_bounds_are_strict base.u32 = (0xF8586 << 10) | 2
-
// When this quirk is enabled, the background color is taken from the GIF
// instead of always being transparent black. If the background color index in
// the GIF header is non-zero but less than the global palette's size, the
@@ -102,15 +88,29 @@
// processing WUFFS_BASE__ANIMATION_DISPOSAL__RESTORE_BACKGROUND. In both
// cases, the caller of Wuffs, not Wuffs itself, is responsible for filling the
// pixel buffer with that color.
-pub const quirk_honor_background_color base.u32 = (0xF8586 << 10) | 3
+pub const quirk_honor_background_color base.u32 = (0xF8586 << 10) | 1
+
+// When this quirk is enabled, silently ignore e.g. a frame that reports a
+// width and height of 6 pixels each, followed by 50 pixel values. In that
+// case, we process the first 36 pixel values and discard the excess 14.
+pub const quirk_ignore_too_much_pixel_data base.u32 = (0xF8586 << 10) | 2
+
+// When this quirk is enabled, if the initial frame bounds extends beyond the
+// image bounds, then the image bounds stay unchanged. By default (with this
+// quirk disabled), the image bounds are adjusted to always contain the first
+// frame's bounds (but not necessarily subsequent frame's bounds).
+//
+// For more discussion, see
+// https://github.com/google/wuffs/blob/master/test/data/artificial/gif-frame-out-of-bounds.gif.make-artificial.txt
+pub const quirk_image_bounds_are_strict base.u32 = (0xF8586 << 10) | 3
// When this quirk is enabled, a frame with zero width or height is rejected
// during decode_frame (but accepted during decode_frame_config).
-pub const quirk_reject_empty_frame base.u32 = (0xF8586 << 10) | 5
+pub const quirk_reject_empty_frame base.u32 = (0xF8586 << 10) | 4
// When this quirk is enabled, a frame with no explicit palette is rejected,
// instead of implicitly having a palette with every entry being opaque black.
-pub const quirk_reject_empty_palette base.u32 = (0xF8586 << 10) | 4
+pub const quirk_reject_empty_palette base.u32 = (0xF8586 << 10) | 5
// --------
@@ -179,9 +179,9 @@
metadata_io_position base.u64,
quirk_enabled_delay_num_decoded_frames base.bool,
+ quirk_enabled_honor_background_color base.bool,
quirk_enabled_ignore_too_much_pixel_data base.bool,
quirk_enabled_image_bounds_are_strict base.bool,
- quirk_enabled_honor_background_color base.bool,
quirk_enabled_reject_empty_frame base.bool,
quirk_enabled_reject_empty_palette base.bool,
@@ -243,12 +243,12 @@
if this.call_sequence == 0 {
if args.quirk == quirk_delay_num_decoded_frames {
this.quirk_enabled_delay_num_decoded_frames = args.enabled
+ } else if args.quirk == quirk_honor_background_color {
+ this.quirk_enabled_honor_background_color = args.enabled
} else if args.quirk == quirk_ignore_too_much_pixel_data {
this.quirk_enabled_ignore_too_much_pixel_data = args.enabled
} else if args.quirk == quirk_image_bounds_are_strict {
this.quirk_enabled_image_bounds_are_strict = args.enabled
- } else if args.quirk == quirk_honor_background_color {
- this.quirk_enabled_honor_background_color = args.enabled
} else if args.quirk == quirk_reject_empty_frame {
this.quirk_enabled_reject_empty_frame = args.enabled
} else if args.quirk == quirk_reject_empty_palette {