Skip to content

QuickLook-Next 5.6.13

Choose a tag to compare

@Adstrax Adstrax released this 12 Oct 06:31
· 52 commits to opt/3.30-hardening since this release

Animated WebP previews render again

An animated WebP whose frames contain few colours showed nothing but the window's own background.
Each frame is re-encoded as PNG and decoded by GDI+ on the way to WPF, and GDI+ hands a low-colour PNG
back as an indexed bitmap (Format8bppIndexed) - while the conversion to a WriteableBitmap only
knew 24-bit and 32-bit RGB. The frame threw NotSupportedException, the whole frame set came back null
and the preview stayed empty. The line in UserData\QuickLookNext.Exception.log was:

System.NotSupportedException: Unsupported PixelFormat: Format8bppIndexed

Frames are now drawn into a 32-bit ARGB bitmap before conversion, whatever the PNG inside them was
encoded as, so the pixel format no longer matters.

Static WebP files were never affected - they take the ImageMagick path, which was checked with a
lossy file, a lossless one, one with an alpha channel and a 1355 KB photo, including zooming past the
decoded detail.

Verification

  • Generated animated WebP files (with and without alpha, a few colours per frame) render with the
    exception gone; ql-smoke/make-webp-variants.py builds them and
    ql-smoke/probe-webp-preview.ps1 previews one and prints the log.
  • The static variants (lossy, lossless, alpha, large photo) still render, including after zooming.
  • Unit tests 145/145; build clean, 0 warnings.

Upgrading

Version 5.6.13. Automatic update installs straight over the top; UserData is untouched.