add code for testing random incremental decoding in dwebp

(protected with WEBP_EXPERIMENTAL_FEATURES flag)

Change-Id: I6cc2488810ce2ccd5d45882bd12f34a3d0c8eab8
This commit is contained in:
Pascal Massimino 2014-10-16 17:01:32 +02:00
parent 80247291c6
commit f358eeb891

View File

@ -243,7 +243,19 @@ VP8StatusCode ExUtilDecodeWebPIncremental(
fprintf(stderr, "Failed during WebPINewDecoder().\n"); fprintf(stderr, "Failed during WebPINewDecoder().\n");
return VP8_STATUS_OUT_OF_MEMORY; return VP8_STATUS_OUT_OF_MEMORY;
} else { } 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); status = WebPIUpdate(idec, data, data_size);
#endif
WebPIDelete(idec); WebPIDelete(idec);
} }
} }