Skip to content

Rewrite the GIF frame delay if it's below a threshold.#783

Merged
colinrtwhite merged 9 commits into
mainfrom
colin/fix_gif_frame_delay
Jun 22, 2021
Merged

Rewrite the GIF frame delay if it's below a threshold.#783
colinrtwhite merged 9 commits into
mainfrom
colin/fix_gif_frame_delay

Conversation

@colinrtwhite
Copy link
Copy Markdown
Member

Fixes: #540

Adds an enforceMinimumFrameDelay constructor arg to GifDecoder and ImageDecoderDecoder that enables rewriting the GIF's frame delay if it's below a threshold (we use the same values as major web browsers + Glide).

There's a very small chance that this fix introduces visual artifacts since it scans the source for a magic sequence instead of implementing a complete GIF parser so enforceMinimumFrameDelay is currently disabled by default.

@colinrtwhite colinrtwhite merged commit c7e0262 into main Jun 22, 2021
@colinrtwhite colinrtwhite deleted the colin/fix_gif_frame_delay branch June 22, 2021 01:38
colinrtwhite added a commit that referenced this pull request Oct 5, 2022
* Support rewriting GIF frame delay in GifDecoder.

* Temporary debug code.

* Abstract out frame delay rewriter.

* Fix rewriter.

* Convert to a forwarding source.

* Rename.

* Revert "Temporary debug code."

This reverts commit 94cd76d.

* Add tests.

* Reduce change of artifacts.
FooIbar added a commit to FooIbar/EhViewer that referenced this pull request Jan 14, 2023
FooIbar added a commit to FooIbar/EhViewer that referenced this pull request Jan 14, 2023
@asuka-mio
Copy link
Copy Markdown

No longer need that workaround on Android 14 above
https://android.googlesource.com/platform/frameworks/base/+/2be87bb707e2c6d75f668c4aff6697b85fbf5b15
@colinrtwhite

@dexterpentlandmckinnon803-maker
Copy link
Copy Markdown

nice

good job gng

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A gif is playing very fast

3 participants