Monthly Archives: January 2018

R41 changed quite a few things internally and that created regressions. New zimg branch, added alpha support and a pile of changes behind the scenes in the python module caused problems. The release fixes several zimg bugs, a vspipe hang on error, vsscript functions not being threadsafe and a few more things.

Possibly (un)breaking changes:

get_output() in python only returns a tuple when alpha is set, this more or less restores the previous behavior

This is basically a bugfix release that tries to take care of as many known issues as possible. Especially memory leaks have been hunted down this time and as a result a lot of the cython code was changed to be less likely to create circular references.

The second half of the work was making alpha handling less bad. It’s now possible to pass a second alpha clip to set_output() in scripts and vspipe will output it. Unfortunately y4m can’t be combined with alpha and no other output method currently preserves the alpha but at least some workflows with alpha should be a simpler now.

Breaking changes:

IMWRI now requires Q16 or Q32 ImageMagick 7 with HDRI enabled

The imwri namespace is now always imwri since a single version can handle all formats

I’ve mentioned that I hate ImageMagick before. I still hate it but finally took the time to update AND test it for ImageMagick 7. As a result it’s now a mostly usable image source or at least should be. There are only a few remaining quirks which will probably exist for all time. Like being able to figure out if a source file is floating point for any remotely relevant format apart from TIFF. But enough about that, all 8-31 bit images will be assumed to be integer and all 32 bit images will be assumed to be float. Unless it’s in TIFF in which case it will all just magickally work.