Add std/png benches
diff --git a/test/c/std/png.c b/test/c/std/png.c
index 9165588..aa9574c 100644
--- a/test/c/std/png.c
+++ b/test/c/std/png.c
@@ -71,6 +71,23 @@
// No mimic library.
#endif
+// ---------------- PNG Tests
+
+const char* //
+wuffs_png_decode(uint64_t* n_bytes_out,
+ wuffs_base__io_buffer* dst,
+ uint32_t wuffs_initialize_flags,
+ wuffs_base__pixel_format pixfmt,
+ wuffs_base__io_buffer* src) {
+ wuffs_png__decoder dec;
+ CHECK_STATUS("initialize",
+ wuffs_png__decoder__initialize(&dec, sizeof dec, WUFFS_VERSION,
+ wuffs_initialize_flags));
+ return do_run__wuffs_base__image_decoder(
+ wuffs_png__decoder__upcast_as__wuffs_base__image_decoder(&dec),
+ n_bytes_out, dst, pixfmt, src);
+}
+
// --------
const char* //
@@ -122,7 +139,23 @@
// ---------------- PNG Benches
-// No PNG benches.
+const char* //
+bench_wuffs_png_decode_19k_y() {
+ CHECK_FOCUS(__func__);
+ return do_bench_image_decode(
+ &wuffs_png_decode, WUFFS_INITIALIZE__LEAVE_INTERNAL_BUFFERS_UNINITIALIZED,
+ wuffs_base__make_pixel_format(WUFFS_BASE__PIXEL_FORMAT__Y),
+ "test/data/bricks-gray.png", 0, SIZE_MAX, 80);
+}
+
+const char* //
+bench_wuffs_png_decode_40k_rgb() {
+ CHECK_FOCUS(__func__);
+ return do_bench_image_decode(
+ &wuffs_png_decode, WUFFS_INITIALIZE__LEAVE_INTERNAL_BUFFERS_UNINITIALIZED,
+ wuffs_base__make_pixel_format(WUFFS_BASE__PIXEL_FORMAT__BGRA_NONPREMUL),
+ "test/data/hat.png", 0, SIZE_MAX, 50);
+}
// ---------------- Mimic Benches
@@ -150,7 +183,8 @@
proc g_benches[] = {
-// No PNG benches.
+ bench_wuffs_png_decode_19k_y,
+ bench_wuffs_png_decode_40k_rgb,
#ifdef WUFFS_MIMIC