mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-12 22:14:29 +02:00
add a "-duration duration,start,end" option to webpmux
this will force a constant duration for an interval of frames in an animation. Notes: a) '-duration [...]' can be repeated as many times as needed. b) intervals are taken into account in option order. If they overlap, values will be overwritten. c) 'start' and 'end' can be omitted, but not the duration value. d) 'end' can be equal to '0', in which case it means 'last frame' e) single-image files are untouched (ie. not turned into an animation file). Some example usage: webpmux -duration 150 in.webp -o out.webp webpmux -duration 33,10,0 in.webp -o out.webp webpmux -duration 200,2 -duration 150,0,50 in.webp -o out.webp Change-Id: I9b595dafa77f9221bacd080be7858b1457f54636
This commit is contained in:
@ -14,6 +14,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// String parsing
|
||||
@ -33,6 +34,18 @@ int ExUtilGetInt(const char* const v, int base, int* const error) {
|
||||
return (int)ExUtilGetUInt(v, base, error);
|
||||
}
|
||||
|
||||
int ExUtilGetInts(const char* v, int base, int max_output, int output[]) {
|
||||
int n, error = 0;
|
||||
for (n = 0; v != NULL && n < max_output; ++n) {
|
||||
const int value = ExUtilGetInt(v, base, &error);
|
||||
if (error) return -1;
|
||||
output[n] = value;
|
||||
v = strchr(v, ',');
|
||||
if (v != NULL) ++v; // skip over the trailing ','
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
float ExUtilGetFloat(const char* const v, int* const error) {
|
||||
char* end = NULL;
|
||||
const float f = (v != NULL) ? (float)strtod(v, &end) : 0.f;
|
||||
|
Reference in New Issue
Block a user