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.
Category Archives: VapourSynth
Insane Avisynth Compatibility
The person with the pretentious name created an interesting Avisynth compatibility solution. It allows you to easily pass clips to and from 32 bit Avisynth from 64 bit VapourSynth under Windows. So now there’s no excuse to not switch to VapourSynth, it’s more compatible than 64 bit Avisynth!
R40 – Avisynth+ Compatibility and Fixes
R40 has been released. It mostly just fixes small issues like a stupid gamma bug introduced in Levels in the previous version. There’s also a change to how the memory pool is handled on windows which should make it scale better when using high resolutions (like 8k material high) and many threads. Instead of previously being fixed at 100MB it’s set to 10% of the max cache size.
Possibly breaking changes:
- AVISource now doesn’t output alpha by default (however alpha was never well supported or tested to begin with)
- Avisynth compatbility no longer has the special workarounds needed for MVTools to work
That’s all for now. Go encode something…
R39 – Fixing Bugs and Undoing Bad Ideas
R39 is finally done after far too long. It has the optimizations and bug fixes and nothing really interesting beyond that. Hopefully I’ll have enough time to start experimenting with bigger changes soon…
Release highlights
- Optimized Sobel, Prewitt and Levels
- Added float support to BoxBlur
- Added swapN and dupN operators to Expr
- AVX-512 support (as in proper memory alignment when AVX-512 is preset, no actual optimizations)
- Fixed a pile of value range clamping issues for 9-15 output in internal filters
Breaking changes
- Sobel and Prewitt functions had their min and max arguments removed since they’re just a bad idea inherited from MaskTools.
- Reverted the horrible per plane argument system in Levels to the way it previously worked. Fortunately nobody seemed to even notice this change.
- Now uses Nasm instead of Yasm in the build system.
- CropRel is now simply know as Crop since that’s the crop function most people usually want anyway. CropRel is still kept as an alias for compatibility.
New Test Build Posted (R39)
Development has continued and I’ve started posting test builds for R39. You can find it in the doom9 thread as usual. It should be RC quality but there are still a few small additional improvements I want to make before it’s released.
R38 – BoxBlur is Best Blur
This release is mostly kind of a bug fix with minor enhancements as well. Nothing exciting but the restrictions of several filters were re-examined and relaxed a bit to match what the actual code can handle. As a result Transpose doesn’t care about subsampling anymore, horizontal and vertical convolutions have a larger element limit and AverageFrames can average over even more frames. Not very exciting at all for most people.
The other part is the addition of a box blur filter. The main attraction is that it can be used to approximate large radius Gaussian blurs very quickly. Or simply a large area average.
This release dragged on for far too long.
Possibly breaking changes:
- ImageMagick7 is now required for the imwri plugin
- Visual Studio 2017 is now officially required to build on windows
R37 – Maintaining Things Again
R37 has been released. It’s mostly just a collection of bug fixes. Ironically the Avisynth 2.6 API was the cause of several of them in AVFS. Expect a long rant about this later.
Note: Both the installer and portable archives were updated to fix various compilation issues so if you experience crashes on resizing/missing dll errors you should re-download.
R36 – Python Improvements and Some Bug Fixes
I fixed some bugs. Other people who understand Python improved things a bit. This is yet another maintenance release. See the changelog for the full list of fixes.
FFMS 2.23.1 – Now with 100% newer FFmpeg
I uploaded a new FFMS2 compile using the latest FFmpeg. This fixes many SWScale issues, for example planar RGB can now always be used as output, and also some other decoding issues. Especially VapourSynth users should update.
R35 – Just Fixing Bugs
This is a quick bugfix release. It fixes an incorrect output bug in 3×3 (and smaller) convolutions and several AVFS output issues that were carried over from the original code. You should update.