From f358eeb89150fb091c66229b102189ddf1f8bbe8 Mon Sep 17 00:00:00 2001 From: Pascal Massimino Date: Thu, 16 Oct 2014 17:01:32 +0200 Subject: [PATCH] add code for testing random incremental decoding in dwebp (protected with WEBP_EXPERIMENTAL_FEATURES flag) Change-Id: I6cc2488810ce2ccd5d45882bd12f34a3d0c8eab8 --- examples/example_util.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/examples/example_util.c b/examples/example_util.c index f64cfd80..4462a5ac 100644 --- a/examples/example_util.c +++ b/examples/example_util.c @@ -243,7 +243,19 @@ VP8StatusCode ExUtilDecodeWebPIncremental( fprintf(stderr, "Failed during WebPINewDecoder().\n"); return VP8_STATUS_OUT_OF_MEMORY; } else { +#ifdef WEBP_EXPERIMENTAL_FEATURES + size_t size = 0; + const size_t incr = 2 + (data_size / 20); + while (size < data_size) { + size_t next_size = size + (rand() % incr); + if (next_size > data_size) next_size = data_size; + status = WebPIUpdate(idec, data, next_size); + if (status != VP8_STATUS_OK && status != VP8_STATUS_SUSPENDED) break; + size = next_size; + } +#else status = WebPIUpdate(idec, data, data_size); +#endif WebPIDelete(idec); } }