After several weeks of testing R48 is finally done. As you may suspect from the title the biggest change this time is optimizations. Now most internal functions have proper AVX2 optimizations and in addition to that the Expr filter was greatly improved and can now rewrite and optimize expressions much better. In addition to that a lot of bugs were fixed and the installer got a few more options. Users of R47 should definitely upgrade.
The yearly slowdown is over so now it’s time for a maintenance release which will probably still manage to introduce a lot of new issues due to the windows installer changes. Here’s a list of the main changes:
- Separate installers for 32 and 64 bit
- It’s now possible to install without administrator privileges
- The Python module is now a proper package
As usual there are also a few possibly breaking changes:
- The 32 bit VapourSynth registry entries are now stored in a key called VapourSynth-32 in order to better distinguish it from the 64 bit version
- The installer no longer installs the VS2013 runtimes by default due to VapourSynth not actually needing them for many years
I finally made a new release. It’s extremely not so exciting maintenance and switches to Python 3.7 on windows. VSRepo also happens to be included just as an experiment so go try it out for all your plugin and script installation needs.
I’ve spent the past two weeks writing a simple package manager for VapourSynth called VSRepo. It can already install most common plugins and scripts with all of their dependencies. Installing havsfunc is no longer a treasure hunt across the internet!
Go visit the doom9 thread where the link to the latest test versions are posted if you want to try it out or help add more plugins and scripts. The plan is to include it in the installer with the next VapourSynth release.
There’s a new maintenance release and it updates a few things and fixes some minor issues. Upgrading is recommended. The more interesting news will be in the next post.
It’s that time of the year again. Expect huge slowdowns in development.
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 release fixes a VSScript regression when setting variables that would make players like mpv fail in R41. Go upgrade!
Another crash bug managed to sneak into the optimized transpose so one more regression fixed now. (the +.1 update)
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.
- 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
- And basically everything else in IMWRI
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.