Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Animated WebP support #90

Merged
merged 5 commits into from
Dec 31, 2022
Merged

Animated WebP support #90

merged 5 commits into from
Dec 31, 2022

Conversation

qbnu
Copy link
Contributor

@qbnu qbnu commented Dec 4, 2022

This commit adds support for animated WebP, as requested in #33, #49, #61.

@sylikc
Copy link
Owner

sylikc commented Dec 5, 2022

@qbnu thank you for coding this up! I am going to test this as soon as possible and get it into a new release.

I see two lib files.. are those from the webp distribution?

@qbnu
Copy link
Contributor Author

qbnu commented Dec 5, 2022

libwebpdemux is necessary to use the functions in demux.h. Google distributes it here, but only the 64-bit version, so I built both versions with GitHub actions at the appropriate commit (here).

I realized that "Reload image" doesn't actually reload the image or restart playback, it just removes any edits/filters applied. request->frameIndex is also essentially ignored when decoding, and each frame is displayed for slightly longer than it should be, but it otherwise works.

@sylikc sylikc added the enhancement New feature or request label Dec 15, 2022
@sylikc
Copy link
Owner

sylikc commented Dec 17, 2022

So, JPEGView actually references the submodule libwebp from google, directly to the commit which I grabbed the lib from.

https://github.com/sylikc/jpegview/tree/master/extras

Do you recommend just doing the submodule pull and then building it directly in GH? I'm currently doing it manually for release and stuff

@qbnu
Copy link
Contributor Author

qbnu commented Dec 18, 2022

I think it's better to use the precompiled libs. Building the submodule every time is unnecessary. The one I added is built at the same commit as the submodule, but I could just update libwebp to the latest version instead.

sylikc added a commit that referenced this pull request Dec 31, 2022
- Different durations for each frame supported
- Caches decoder for speed improvement on loading large files

Merge PR #90 by https://github.com/qbnu
@sylikc sylikc merged commit 3c06525 into sylikc:master Dec 31, 2022
@sylikc
Copy link
Owner

sylikc commented Dec 31, 2022

this is super awesome, thanks for the code update. I've merged this as is, and I'll probably just update to the latest libwebp in a later commit before release.

I'll highlight this and other changes explicitly credited to you in different places, but for now it's going to be in the CHANGELOG.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

.webp animated Bug can't read file animated webp animated webp images not playing?
2 participants