Harmonize do_bench_{gif,image}_decode
diff --git a/test/c/std/gif.c b/test/c/std/gif.c
index 7629b63..95b0fe4 100644
--- a/test/c/std/gif.c
+++ b/test/c/std/gif.c
@@ -2189,27 +2189,8 @@
const char* filename,
wuffs_base__pixel_format pixfmt,
uint64_t iters_unscaled) {
- wuffs_base__io_buffer have = ((wuffs_base__io_buffer){
- .data = g_have_slice_u8,
- });
- wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
- .data = g_src_slice_u8,
- });
- CHECK_STRING(read_file(&src, filename));
-
- bench_start();
- uint64_t n_bytes = 0;
- uint64_t i;
- uint64_t iters = iters_unscaled * g_flags.iterscale;
- for (i = 0; i < iters; i++) {
- have.meta.wi = 0;
- src.meta.ri = 0;
- CHECK_STRING(
- decode_func(NULL, &have, wuffs_initialize_flags, pixfmt, &src));
- n_bytes += have.meta.wi;
- }
- bench_finish(iters, n_bytes);
- return NULL;
+ return do_bench_image_decode(decode_func, wuffs_initialize_flags, pixfmt,
+ filename, 0, SIZE_MAX, iters_unscaled);
}
const char* //
diff --git a/test/c/testlib/testlib.c b/test/c/testlib/testlib.c
index d7cd760..cfef4c6 100644
--- a/test/c/testlib/testlib.c
+++ b/test/c/testlib/testlib.c
@@ -1017,6 +1017,9 @@
size_t src_ri,
size_t src_wi,
uint64_t iters_unscaled) {
+ wuffs_base__io_buffer have = ((wuffs_base__io_buffer){
+ .data = g_have_slice_u8,
+ });
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = g_src_slice_u8,
});
@@ -1027,9 +1030,10 @@
uint64_t i;
uint64_t iters = iters_unscaled * g_flags.iterscale;
for (i = 0; i < iters; i++) {
+ have.meta.wi = 0;
src.meta.ri = src_ri;
CHECK_STRING(
- (*decode_func)(&n_bytes, NULL, wuffs_initialize_flags, pixfmt, &src));
+ (*decode_func)(&n_bytes, &have, wuffs_initialize_flags, pixfmt, &src));
}
bench_finish(iters, n_bytes);
return NULL;