Rename pixel_swizzler.swizzle_interleaved
diff --git a/doc/changelog.md b/doc/changelog.md
index 3e1d713..eef47f0 100644
--- a/doc/changelog.md
+++ b/doc/changelog.md
@@ -31,6 +31,7 @@
- Removed `ack_metadata_chunk?`.
- Removed `wuffs_base__frame_config__blend`.
- Renamed `decode_io_writer?` methods to `transform_io?`.
+- Renamed `swizzle_interleaved!` to `swizzle_interleaved_from_slice!`.
- Renamed warnings to notes.
diff --git a/internal/cgen/base/image-public.h b/internal/cgen/base/image-public.h
index 596115b..8f7a208 100644
--- a/internal/cgen/base/image-public.h
+++ b/internal/cgen/base/image-public.h
@@ -1307,9 +1307,10 @@
wuffs_base__pixel_format src_format,
wuffs_base__slice_u8 src_palette,
wuffs_base__pixel_blend blend);
- inline uint64_t swizzle_interleaved(wuffs_base__slice_u8 dst,
- wuffs_base__slice_u8 dst_palette,
- wuffs_base__slice_u8 src) const;
+ inline uint64_t swizzle_interleaved_from_slice(
+ wuffs_base__slice_u8 dst,
+ wuffs_base__slice_u8 dst_palette,
+ wuffs_base__slice_u8 src) const;
#endif // __cplusplus
} wuffs_base__pixel_swizzler;
@@ -1328,14 +1329,14 @@
wuffs_base__slice_u8 src_palette,
wuffs_base__pixel_blend blend);
-// wuffs_base__pixel_swizzler__swizzle_interleaved converts pixels from a
-// source format to a destination format.
+// wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice converts pixels
+// from a source format to a destination format.
//
// For modular builds that divide the base module into sub-modules, using this
// function requires the WUFFS_CONFIG__MODULE__BASE__PIXCONV sub-module, not
// just WUFFS_CONFIG__MODULE__BASE__CORE.
WUFFS_BASE__MAYBE_STATIC uint64_t //
-wuffs_base__pixel_swizzler__swizzle_interleaved(
+wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
const wuffs_base__pixel_swizzler* p,
wuffs_base__slice_u8 dst,
wuffs_base__slice_u8 dst_palette,
@@ -1354,12 +1355,12 @@
}
uint64_t //
-wuffs_base__pixel_swizzler::swizzle_interleaved(
+wuffs_base__pixel_swizzler::swizzle_interleaved_from_slice(
wuffs_base__slice_u8 dst,
wuffs_base__slice_u8 dst_palette,
wuffs_base__slice_u8 src) const {
- return wuffs_base__pixel_swizzler__swizzle_interleaved(this, dst, dst_palette,
- src);
+ return wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
+ this, dst, dst_palette, src);
}
#endif // __cplusplus
diff --git a/internal/cgen/base/pixconv-submodule.c b/internal/cgen/base/pixconv-submodule.c
index d556db5..9264ee6 100644
--- a/internal/cgen/base/pixconv-submodule.c
+++ b/internal/cgen/base/pixconv-submodule.c
@@ -1479,7 +1479,7 @@
}
WUFFS_BASE__MAYBE_STATIC uint64_t //
-wuffs_base__pixel_swizzler__swizzle_interleaved(
+wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
const wuffs_base__pixel_swizzler* p,
wuffs_base__slice_u8 dst,
wuffs_base__slice_u8 dst_palette,
diff --git a/internal/cgen/data.go b/internal/cgen/data.go
index a002004..7413e62 100644
--- a/internal/cgen/data.go
+++ b/internal/cgen/data.go
@@ -178,7 +178,7 @@
"zler__bgra_premul__bgra_nonpremul__src;\n case WUFFS_BASE__PIXEL_BLEND__SRC_OVER:\n return wuffs_base__pixel_swizzler__bgra_premul__bgra_nonpremul__src_over;\n }\n return NULL;\n\n case WUFFS_BASE__PIXEL_FORMAT__BGRA_BINARY:\n case WUFFS_BASE__PIXEL_FORMAT__BGRX:\n // TODO.\n break;\n\n case WUFFS_BASE__PIXEL_FORMAT__RGB:\n case WUFFS_BASE__PIXEL_FORMAT__RGBA_NONPREMUL:\n case WUFFS_BASE__PIXEL_FORMAT__RGBA_PREMUL:\n case WUFFS_BASE__PIXEL_FORMAT__RGBA_BINARY:\n case WUFFS_BASE__PIXEL_FORMAT__RGBX:\n // TODO.\n break;\n }\n return NULL;\n}\n\n" +
"" +
"// --------\n\nWUFFS_BASE__MAYBE_STATIC wuffs_base__status //\nwuffs_base__pixel_swizzler__prepare(wuffs_base__pixel_swizzler* p,\n wuffs_base__pixel_format dst_format,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__pixel_format src_format,\n wuffs_base__slice_u8 src_palette,\n wuffs_base__pixel_blend blend) {\n if (!p) {\n return wuffs_base__make_status(wuffs_base__error__bad_receiver);\n }\n\n // TODO: support many more formats.\n\n wuffs_base__pixel_swizzler__func func = NULL;\n\n switch (src_format.repr) {\n case WUFFS_BASE__PIXEL_FORMAT__Y:\n func = wuffs_base__pixel_swizzler__prepare__y(p, dst_format, dst_palette,\n src_palette, blend);\n break;\n\n case WUFFS_BASE__PIXEL_FORMAT__INDEXED__BGRA_BINARY:\n func = wuffs_base__pixel_swizzler__prepare__indexed__bgra_binary(\n " +
- " p, dst_format, dst_palette, src_palette, blend);\n break;\n\n case WUFFS_BASE__PIXEL_FORMAT__BGR:\n func = wuffs_base__pixel_swizzler__prepare__bgr(\n p, dst_format, dst_palette, src_palette, blend);\n break;\n\n case WUFFS_BASE__PIXEL_FORMAT__BGRA_NONPREMUL:\n func = wuffs_base__pixel_swizzler__prepare__bgra_nonpremul(\n p, dst_format, dst_palette, src_palette, blend);\n break;\n }\n\n p->private_impl.func = func;\n return wuffs_base__make_status(\n func ? NULL : wuffs_base__error__unsupported_pixel_swizzler_option);\n}\n\nWUFFS_BASE__MAYBE_STATIC uint64_t //\nwuffs_base__pixel_swizzler__swizzle_interleaved(\n const wuffs_base__pixel_swizzler* p,\n wuffs_base__slice_u8 dst,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__slice_u8 src) {\n if (p && p->private_impl.func) {\n return (*p->private_impl.func)(dst.ptr, dst.len, dst_palette.ptr,\n dst_palette.len, src.ptr, src.len);\n }\n return 0;\n}\n" +
+ " p, dst_format, dst_palette, src_palette, blend);\n break;\n\n case WUFFS_BASE__PIXEL_FORMAT__BGR:\n func = wuffs_base__pixel_swizzler__prepare__bgr(\n p, dst_format, dst_palette, src_palette, blend);\n break;\n\n case WUFFS_BASE__PIXEL_FORMAT__BGRA_NONPREMUL:\n func = wuffs_base__pixel_swizzler__prepare__bgra_nonpremul(\n p, dst_format, dst_palette, src_palette, blend);\n break;\n }\n\n p->private_impl.func = func;\n return wuffs_base__make_status(\n func ? NULL : wuffs_base__error__unsupported_pixel_swizzler_option);\n}\n\nWUFFS_BASE__MAYBE_STATIC uint64_t //\nwuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(\n const wuffs_base__pixel_swizzler* p,\n wuffs_base__slice_u8 dst,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__slice_u8 src) {\n if (p && p->private_impl.func) {\n return (*p->private_impl.func)(dst.ptr, dst.len, dst_palette.ptr,\n dst_palette.len, src.ptr, src.len);\n }\n return 0;\n}\n" +
""
const baseFundamentalPrivateH = "" +
@@ -321,9 +321,9 @@
"// --------\n\n// wuffs_base__pixel_palette__closest_element returns the index of the palette\n// element that minimizes the sum of squared differences of the four ARGB\n// channels, working in premultiplied alpha. Ties favor the smaller index.\n//\n// The palette_slice.len may equal (N*4), for N less than 256, which means that\n// only the first N palette elements are considered. It returns 0 when N is 0.\n//\n// Applying this function on a per-pixel basis will not produce whole-of-image\n// dithering.\nWUFFS_BASE__MAYBE_STATIC uint8_t //\nwuffs_base__pixel_palette__closest_element(\n wuffs_base__slice_u8 palette_slice,\n wuffs_base__pixel_format palette_format,\n wuffs_base__color_u32_argb_premul c);\n\n" +
"" +
"// --------\n\n// TODO: should the func type take restrict pointers?\ntypedef uint64_t (*wuffs_base__pixel_swizzler__func)(uint8_t* dst_ptr,\n size_t dst_len,\n uint8_t* dst_palette_ptr,\n size_t dst_palette_len,\n const uint8_t* src_ptr,\n size_t src_len);\n\ntypedef struct {\n // Do not access the private_impl's fields directly. There is no API/ABI\n // compatibility or safety guarantee if you do so.\n struct {\n wuffs_base__pixel_swizzler__func func;\n } private_impl;\n\n#ifdef __cplusplus\n inline wuffs_base__status prepare(wuffs_base__pixel_format dst_format,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__pixel_format src_format,\n wuffs_base__slice_u8 src" +
- "_palette,\n wuffs_base__pixel_blend blend);\n inline uint64_t swizzle_interleaved(wuffs_base__slice_u8 dst,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__slice_u8 src) const;\n#endif // __cplusplus\n\n} wuffs_base__pixel_swizzler;\n\n// wuffs_base__pixel_swizzler__prepare readies the pixel swizzler so that its\n// other methods may be called.\n//\n// For modular builds that divide the base module into sub-modules, using this\n// function requires the WUFFS_CONFIG__MODULE__BASE__PIXCONV sub-module, not\n// just WUFFS_CONFIG__MODULE__BASE__CORE.\nWUFFS_BASE__MAYBE_STATIC wuffs_base__status //\nwuffs_base__pixel_swizzler__prepare(wuffs_base__pixel_swizzler* p,\n wuffs_base__pixel_format dst_format,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__pixel_format src_format,\n wuffs_" +
- "base__slice_u8 src_palette,\n wuffs_base__pixel_blend blend);\n\n// wuffs_base__pixel_swizzler__swizzle_interleaved converts pixels from a\n// source format to a destination format.\n//\n// For modular builds that divide the base module into sub-modules, using this\n// function requires the WUFFS_CONFIG__MODULE__BASE__PIXCONV sub-module, not\n// just WUFFS_CONFIG__MODULE__BASE__CORE.\nWUFFS_BASE__MAYBE_STATIC uint64_t //\nwuffs_base__pixel_swizzler__swizzle_interleaved(\n const wuffs_base__pixel_swizzler* p,\n wuffs_base__slice_u8 dst,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__slice_u8 src);\n\n#ifdef __cplusplus\n\ninline wuffs_base__status //\nwuffs_base__pixel_swizzler::prepare(wuffs_base__pixel_format dst_format,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__pixel_format src_format,\n wuffs_base__slice_u8 src_palette,\n wuffs_base" +
- "__pixel_blend blend) {\n return wuffs_base__pixel_swizzler__prepare(this, dst_format, dst_palette,\n src_format, src_palette, blend);\n}\n\nuint64_t //\nwuffs_base__pixel_swizzler::swizzle_interleaved(\n wuffs_base__slice_u8 dst,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__slice_u8 src) const {\n return wuffs_base__pixel_swizzler__swizzle_interleaved(this, dst, dst_palette,\n src);\n}\n\n#endif // __cplusplus\n" +
+ "_palette,\n wuffs_base__pixel_blend blend);\n inline uint64_t swizzle_interleaved_from_slice(\n wuffs_base__slice_u8 dst,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__slice_u8 src) const;\n#endif // __cplusplus\n\n} wuffs_base__pixel_swizzler;\n\n// wuffs_base__pixel_swizzler__prepare readies the pixel swizzler so that its\n// other methods may be called.\n//\n// For modular builds that divide the base module into sub-modules, using this\n// function requires the WUFFS_CONFIG__MODULE__BASE__PIXCONV sub-module, not\n// just WUFFS_CONFIG__MODULE__BASE__CORE.\nWUFFS_BASE__MAYBE_STATIC wuffs_base__status //\nwuffs_base__pixel_swizzler__prepare(wuffs_base__pixel_swizzler* p,\n wuffs_base__pixel_format dst_format,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__pixel_format src_format,\n wuffs_base__slice_u8 src_palette,\n " +
+ " wuffs_base__pixel_blend blend);\n\n// wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice converts pixels\n// from a source format to a destination format.\n//\n// For modular builds that divide the base module into sub-modules, using this\n// function requires the WUFFS_CONFIG__MODULE__BASE__PIXCONV sub-module, not\n// just WUFFS_CONFIG__MODULE__BASE__CORE.\nWUFFS_BASE__MAYBE_STATIC uint64_t //\nwuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(\n const wuffs_base__pixel_swizzler* p,\n wuffs_base__slice_u8 dst,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__slice_u8 src);\n\n#ifdef __cplusplus\n\ninline wuffs_base__status //\nwuffs_base__pixel_swizzler::prepare(wuffs_base__pixel_format dst_format,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__pixel_format src_format,\n wuffs_base__slice_u8 src_palette,\n wuffs_base__pixel_blend blend) {\n " +
+ " return wuffs_base__pixel_swizzler__prepare(this, dst_format, dst_palette,\n src_format, src_palette, blend);\n}\n\nuint64_t //\nwuffs_base__pixel_swizzler::swizzle_interleaved_from_slice(\n wuffs_base__slice_u8 dst,\n wuffs_base__slice_u8 dst_palette,\n wuffs_base__slice_u8 src) const {\n return wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(\n this, dst, dst_palette, src);\n}\n\n#endif // __cplusplus\n" +
""
const baseIOPrivateH = "" +
diff --git a/lang/builtin/builtin.go b/lang/builtin/builtin.go
index 5f7c32e..1ee48b7 100644
--- a/lang/builtin/builtin.go
+++ b/lang/builtin/builtin.go
@@ -384,7 +384,7 @@
"pixel_swizzler.prepare!(" +
"dst_pixfmt: pixel_format, dst_palette: slice u8," +
"src_pixfmt: pixel_format, src_palette: slice u8, blend: pixel_blend) status",
- "pixel_swizzler.swizzle_interleaved!(" +
+ "pixel_swizzler.swizzle_interleaved_from_slice!(" +
"dst: slice u8, dst_palette: slice u8, src: slice u8) u64",
}
diff --git a/release/c/wuffs-unsupported-snapshot.c b/release/c/wuffs-unsupported-snapshot.c
index 3065fab..c8a62f3 100644
--- a/release/c/wuffs-unsupported-snapshot.c
+++ b/release/c/wuffs-unsupported-snapshot.c
@@ -3800,9 +3800,10 @@
wuffs_base__pixel_format src_format,
wuffs_base__slice_u8 src_palette,
wuffs_base__pixel_blend blend);
- inline uint64_t swizzle_interleaved(wuffs_base__slice_u8 dst,
- wuffs_base__slice_u8 dst_palette,
- wuffs_base__slice_u8 src) const;
+ inline uint64_t swizzle_interleaved_from_slice(
+ wuffs_base__slice_u8 dst,
+ wuffs_base__slice_u8 dst_palette,
+ wuffs_base__slice_u8 src) const;
#endif // __cplusplus
} wuffs_base__pixel_swizzler;
@@ -3821,14 +3822,14 @@
wuffs_base__slice_u8 src_palette,
wuffs_base__pixel_blend blend);
-// wuffs_base__pixel_swizzler__swizzle_interleaved converts pixels from a
-// source format to a destination format.
+// wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice converts pixels
+// from a source format to a destination format.
//
// For modular builds that divide the base module into sub-modules, using this
// function requires the WUFFS_CONFIG__MODULE__BASE__PIXCONV sub-module, not
// just WUFFS_CONFIG__MODULE__BASE__CORE.
WUFFS_BASE__MAYBE_STATIC uint64_t //
-wuffs_base__pixel_swizzler__swizzle_interleaved(
+wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
const wuffs_base__pixel_swizzler* p,
wuffs_base__slice_u8 dst,
wuffs_base__slice_u8 dst_palette,
@@ -3847,12 +3848,12 @@
}
uint64_t //
-wuffs_base__pixel_swizzler::swizzle_interleaved(
+wuffs_base__pixel_swizzler::swizzle_interleaved_from_slice(
wuffs_base__slice_u8 dst,
wuffs_base__slice_u8 dst_palette,
wuffs_base__slice_u8 src) const {
- return wuffs_base__pixel_swizzler__swizzle_interleaved(this, dst, dst_palette,
- src);
+ return wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
+ this, dst, dst_palette, src);
}
#endif // __cplusplus
@@ -11838,7 +11839,7 @@
}
WUFFS_BASE__MAYBE_STATIC uint64_t //
-wuffs_base__pixel_swizzler__swizzle_interleaved(
+wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
const wuffs_base__pixel_swizzler* p,
wuffs_base__slice_u8 dst,
wuffs_base__slice_u8 dst_palette,
@@ -13134,7 +13135,7 @@
}
v_i = (((uint64_t)(self->private_impl.f_dst_x)) * v_dst_bytes_per_pixel);
if (v_i < ((uint64_t)(v_dst.len))) {
- wuffs_base__pixel_swizzler__swizzle_interleaved(
+ wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
&self->private_impl.f_swizzler,
wuffs_base__slice_u8__subslice_i(v_dst, v_i),
wuffs_base__utility__empty_slice_u8(),
@@ -13169,7 +13170,7 @@
}
v_i = (((uint64_t)(self->private_impl.f_dst_x)) * v_dst_bytes_per_pixel);
if (v_i < ((uint64_t)(v_dst.len))) {
- v_n = wuffs_base__pixel_swizzler__swizzle_interleaved(
+ v_n = wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
&self->private_impl.f_swizzler,
wuffs_base__slice_u8__subslice_i(v_dst, v_i),
wuffs_base__utility__empty_slice_u8(), a_src);
@@ -21645,7 +21646,7 @@
} else {
v_dst = wuffs_base__slice_u8__subslice_i(v_dst, v_i);
}
- v_n = wuffs_base__pixel_swizzler__swizzle_interleaved(
+ v_n = wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
&self->private_impl.f_swizzler, v_dst,
wuffs_base__make_slice_u8(self->private_data.f_dst_palette, 1024),
v_src);
@@ -25119,7 +25120,7 @@
v_src[0] = 255;
}
v_c = ((uint8_t)(((((uint32_t)(v_c)) << 1) & 255)));
- wuffs_base__pixel_swizzler__swizzle_interleaved(
+ wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
&self->private_impl.f_swizzler, v_dst,
wuffs_base__utility__empty_slice_u8(),
wuffs_base__make_slice_u8(v_src, 1));
diff --git a/std/bmp/decode_bmp.wuffs b/std/bmp/decode_bmp.wuffs
index 28311da..af88ffc 100644
--- a/std/bmp/decode_bmp.wuffs
+++ b/std/bmp/decode_bmp.wuffs
@@ -353,7 +353,7 @@
}
i = (this.dst_x as base.u64) * dst_bytes_per_pixel
if i < dst.length() {
- this.swizzler.swizzle_interleaved!(
+ this.swizzler.swizzle_interleaved_from_slice!(
dst: dst[i ..],
dst_palette: this.util.empty_slice_u8(),
src: this.stash[.. this.num_stashed])
@@ -389,7 +389,7 @@
}
i = (this.dst_x as base.u64) * dst_bytes_per_pixel
if i < dst.length() {
- n = this.swizzler.swizzle_interleaved!(
+ n = this.swizzler.swizzle_interleaved_from_slice!(
dst: dst[i ..],
dst_palette: this.util.empty_slice_u8(),
src: args.src)
diff --git a/std/gif/decode_gif.wuffs b/std/gif/decode_gif.wuffs
index 5bc27a0..53cb8c9 100644
--- a/std/gif/decode_gif.wuffs
+++ b/std/gif/decode_gif.wuffs
@@ -1075,7 +1075,7 @@
} else {
dst = dst[i ..]
}
- n = this.swizzler.swizzle_interleaved!(
+ n = this.swizzler.swizzle_interleaved_from_slice!(
dst: dst, dst_palette: this.dst_palette[..], src: src)
src_ri ~sat+= n
diff --git a/std/wbmp/decode_wbmp.wuffs b/std/wbmp/decode_wbmp.wuffs
index 2b2d8fe..21b1b16 100644
--- a/std/wbmp/decode_wbmp.wuffs
+++ b/std/wbmp/decode_wbmp.wuffs
@@ -212,7 +212,7 @@
// v_c <<= 1;
c = (((c as base.u32) << 1) & 0xFF) as base.u8
- this.swizzler.swizzle_interleaved!(
+ this.swizzler.swizzle_interleaved_from_slice!(
dst: dst, dst_palette: this.util.empty_slice_u8(), src: src[..])
if dst_bytes_per_pixel <= dst.length() {
diff --git a/test/c/std/wbmp.c b/test/c/std/wbmp.c
index 0cb7ad4..ff0c349 100644
--- a/test/c/std/wbmp.c
+++ b/test/c/std/wbmp.c
@@ -223,7 +223,7 @@
&swizzler, dst_pixfmt, dst_palette,
wuffs_base__make_pixel_format(srcs[s].pixfmt_repr),
wuffs_base__pixel_buffer__palette(&src_pixbuf), blends[b]));
- wuffs_base__pixel_swizzler__swizzle_interleaved(
+ wuffs_base__pixel_swizzler__swizzle_interleaved_from_slice(
&swizzler,
wuffs_base__table_u8__row(
wuffs_base__pixel_buffer__plane(&dst_pixbuf, 0), height / 2),