sink: merge identical consecutive GIF frames into one longer frame #3
Loading…
Reference in a new issue
No description provided.
Delete branch "gif-merge"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stacked on #2 (base
poc); retarget tomainonce #2 merges.Why
The design gives a GIF one frame per run of identical output frames. Piping constant-rate raw video wrote every repeat, so an idle stretch cost a full GIF frame per output tick. MP4/WebM encoders already absorb repeats, so only the GIF path changes.
What
finishhands ffmpeg an ffconcat list (concat demuxer, palettegen/paletteuse,-fps_mode vfr).--fps(option framerate), since the image demuxer's 25 fps default rounds start times to 40 ms. The last run ends with its frame listed once more for one output frame, because the demuxer ignores the final entry's duration.mpdecimatewas rejected: its thresholds drop slightly-different frames, and it compares after colorspace conversion.Verification
bba383a81bto8554ac866d