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:
Pascal Massimino
2016-10-21 06:14:45 -07:00
parent 31b1e34342
commit 3f182d36f4
5 changed files with 209 additions and 3 deletions

View File

@ -25,6 +25,8 @@ A list of options is available using the -help command line flag:
> webpmux -help
Usage: webpmux -get GET_OPTIONS INPUT -o OUTPUT
webpmux -set SET_OPTIONS INPUT -o OUTPUT
webpmux -duration DURATION_OPTIONS [-duration ...]
INPUT -o OUTPUT
webpmux -strip STRIP_OPTIONS INPUT -o OUTPUT
webpmux -frame FRAME_OPTIONS [-frame...] [-loop LOOP_COUNT]
[-bgcolor BACKGROUND_COLOR] -o OUTPUT
@ -48,6 +50,14 @@ SET_OPTIONS:
'file.exif' contains the EXIF metadata to be set
'file.xmp' contains the XMP metadata to be set
DURATION_OPTIONS:
Set constant duration of frames:
duration[,start[,end]]
where: 'duration' is the duration in milliseconds,
'start' is the start frame index (optional)(default=1),
'end' is the inclusive end frame index (optional).
The special value '0' means: last frame (default=0).
STRIP_OPTIONS:
Strip color profile/metadata:
icc strip ICC profile