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.

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

FFMS2000 – Help Test the Future

The past few weeks I’ve spent quite a bit of time re-factoring and updating FFMS2 and the result is now ready for initial testing in this doom9 thread. It’s a much needed update to clear out all unnecessary old hacks and finally deal with a few issues.

Report all regressions you find here or over att doom9 and I’ll try to fix with them.

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.

FFMS 2.23 – Trigger Warning

Why do we need a trigger warning you ask? Because the mere idea of FFMS2 being updated is a big shock to most people? No. In fact it was caused by me once again declaring that XP is a dead end. This time using slightly different wording. If you meet any of these unfortunate users in real life don’t tell them that XP support ended long ago. They may go on a violent rampage or even worse, be offended.

Also a pile of bugs got fixed but nobody actually cares about that, after all we’ve now got a controversy surrounding this release and that’s more interesting.

XP Background

Look at this image and remember the good old times that were actually shit