mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-18 23:09:52 +02:00
restore encode API compatibility
protect WebPConfigLosslessPreset/WebPMemoryWriterClear w/a WEBP_ENCODER_ABI_VERSION check Change-Id: If4debc15fee172a3f18079bc2bd29eb8447bc14b
This commit is contained in:
@ -475,10 +475,20 @@ static WebPEncodingError SetFrame(const WebPConfig* const config,
|
||||
// TODO(later): Perhaps a rough SSIM/PSNR produced by the encoder should
|
||||
// also be a criteria, in addition to sizes.
|
||||
if (mem1.size <= mem2.size) {
|
||||
#if WEBP_ENCODER_ABI_VERSION > 0x0202
|
||||
WebPMemoryWriterClear(&mem2);
|
||||
#else
|
||||
free(mem2.mem);
|
||||
memset(&mem2, 0, sizeof(mem2));
|
||||
#endif
|
||||
GetEncodedData(&mem1, encoded_data);
|
||||
} else {
|
||||
#if WEBP_ENCODER_ABI_VERSION > 0x0202
|
||||
WebPMemoryWriterClear(&mem1);
|
||||
#else
|
||||
free(mem1.mem);
|
||||
memset(&mem1, 0, sizeof(mem1));
|
||||
#endif
|
||||
GetEncodedData(&mem2, encoded_data);
|
||||
}
|
||||
} else {
|
||||
@ -487,8 +497,13 @@ static WebPEncodingError SetFrame(const WebPConfig* const config,
|
||||
return error_code;
|
||||
|
||||
Err:
|
||||
#if WEBP_ENCODER_ABI_VERSION > 0x0202
|
||||
WebPMemoryWriterClear(&mem1);
|
||||
WebPMemoryWriterClear(&mem2);
|
||||
#else
|
||||
free(mem1.mem);
|
||||
free(mem2.mem);
|
||||
#endif
|
||||
return error_code;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user