Skip to content

Conversation

@BPplays
Copy link
Contributor

@BPplays BPplays commented Dec 13, 2025

Summary

  • adds jxl animation support via ffmpeg (i haven't tested what happens if the version of ffmpeg you have is too old to support jxl animations)
  • changes pillow conversions to use WEBP for better image quality instead of GIF, my previous PR checked the available formats and prefered WEBP if available but would fallback to GIF, i can do that again if you want, for now it just always uses WEBP
  • adds a check if an image actually has more then 1 frame (this was also in my last PR)
  • adds check to automatically see what images could possibly be converted with pillow; Image.SAVE_ALL.keys() returns all the formats pillow can save multiple images to, this also includes stuff like PDF but it's just a final check after _IMAGE_ANIMATED_SET
  • adds check for what QMovie supports by using QMovie.supportedFormats()
  • adds ext_mapping which is used to map file exts to the versions pillow supported formats converted to ext style will be, e.g. if pillow reports being able to support "PNG" that gets converted to lowercase and has a . prepended by normalize_formats_to_exts but APNG wouldn't show up separate there so ".apng" is converted to ".png"

Tasks Completed

  • Platforms Tested:
    • Windows x86
    • Windows ARM
    • macOS x86
    • macOS ARM
    • Linux x86
    • Linux ARM
  • Tested For:
    • Basic functionality
    • PyInstaller executable

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.

1 participant