Fix WebP progressive decoding may do extra calculate because that libwebp will output last_y to zero, which means current image data is not enough to decode first stride

This commit is contained in:
DreamPiggy 2017-11-05 06:40:35 +08:00
parent 821c2f3b8a
commit 98f020f610
1 changed files with 2 additions and 1 deletions

View File

@ -166,7 +166,8 @@
int last_y = 0;
int stride = 0;
uint8_t *rgba = WebPIDecGetRGB(_idec, &last_y, &width, &height, &stride);
if (width + height > 0 && height >= last_y) {
// last_y may be 0, means no enough bitmap data to decode, ignore this
if (width + height > 0 && last_y > 0 && height >= last_y) {
// Construct a UIImage from the decoded RGBA value array
CGDataProviderRef provider =
CGDataProviderCreateWithData(NULL, rgba, 0, NULL);