mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-12 22:14:29 +02:00
Merge tag 'v0.4.0'
libwebp 0.4.0 - 12/19/13: version 0.4.0 * improved gif2webp tool * numerous fixes, compression improvement and speed-up * dither option added to decoder (dwebp -dither 50 ...) * improved multi-threaded modes (-mt option) * improved filtering strength determination * New function: WebPMuxGetCanvasSize * BMP and TIFF format output added to 'dwebp' * Significant memory reduction for decoding lossy images with alpha. * Intertwined decoding of RGB and alpha for a shorter time-to-first-decoded-pixel. * WebPIterator has a new member 'has_alpha' denoting whether the frame contains transparency. * Container spec amended with new 'blending method' for animation. * tag 'v0.4.0': update ChangeLog update NEWS description with new general features gif2webp: don't use C99 %zu cwebp: fix metadata output w/lossy+alpha makefile.unix: clean up libgif2webp_util.a update Changelog bump version to 0.4.0 update AUTHORS & .mailmap update NEWS for 0.4.0 Change-Id: I6df1b512fe0b697192f1f9b29431cd59aa6063d1
This commit is contained in:
@ -497,6 +497,7 @@ static int WriteWebPWithMetadata(FILE* const out,
|
||||
if (has_vp8x) { // update the existing VP8X flags
|
||||
webp[kChunkHeaderSize] |= (uint8_t)(flags & 0xff);
|
||||
ok = ok && (fwrite(webp, kVP8XChunkSize, 1, out) == 1);
|
||||
webp += kVP8XChunkSize;
|
||||
webp_size -= kVP8XChunkSize;
|
||||
} else {
|
||||
const int is_lossless = !memcmp(webp, "VP8L", kTagSize);
|
||||
|
@ -58,7 +58,7 @@ static void SanitizeKeyFrameIntervals(size_t* const kmin_ptr,
|
||||
kmin = kmax - 1;
|
||||
if (print_warning) {
|
||||
fprintf(stderr,
|
||||
"WARNING: Setting kmin = %zu, so that kmin < kmax.\n", kmin);
|
||||
"WARNING: Setting kmin = %d, so that kmin < kmax.\n", (int)kmin);
|
||||
}
|
||||
} else if (kmin < (kmax / 2 + 1)) {
|
||||
// This ensures that cache.keyframe + kmin >= kmax is always true. So, we
|
||||
@ -66,8 +66,8 @@ static void SanitizeKeyFrameIntervals(size_t* const kmin_ptr,
|
||||
kmin = (kmax / 2 + 1);
|
||||
if (print_warning) {
|
||||
fprintf(stderr,
|
||||
"WARNING: Setting kmin = %zu, so that kmin >= kmax / 2 + 1.\n",
|
||||
kmin);
|
||||
"WARNING: Setting kmin = %d, so that kmin >= kmax / 2 + 1.\n",
|
||||
(int)kmin);
|
||||
}
|
||||
}
|
||||
// Limit the max number of frames that are allocated.
|
||||
@ -75,8 +75,8 @@ static void SanitizeKeyFrameIntervals(size_t* const kmin_ptr,
|
||||
kmin = kmax - MAX_CACHE_SIZE;
|
||||
if (print_warning) {
|
||||
fprintf(stderr,
|
||||
"WARNING: Setting kmin = %zu, so that kmax - kmin <= 30.\n",
|
||||
kmin);
|
||||
"WARNING: Setting kmin = %d, so that kmax - kmin <= 30.\n",
|
||||
(int)kmin);
|
||||
}
|
||||
}
|
||||
*kmin_ptr = kmin;
|
||||
|
Reference in New Issue
Block a user