Version History

VSUtil. A collection of general-purpose VapourSynth functions to be reused in modules and scripts.



  • Add constant for std.Expr variables

  • Lots of documentation changes

  • Improve internal enum usage


  • Split single file into submodules.

  • New functions:

    • scale_value() added to scale values for bit depth, sample type, or range conversion.


  • New functions:

  • Changes to existing functions:

    • Removed functools.reduce usage in iterate(), fixing type-hinting and disallowing negative count.

    • Dithering logic in depth() is now handled in a separate private function.

  • Bug fixes:

    • Will no longer dither for 8-bit full-range to 16-bit full-range conversions in depth().


  • Now uses Python 3.8 positional-only arguments (see PEP 570 for more information):

  • New classes:

    • Dither and Range enumerations added to simpliy range, range_in, and dither_type arguments to vapoursynth.core.resize.

  • New functions:

    • Added a bit depth converter, depth(), that automatically handles dithering and format changes.

  • Changes to existing functions:

    • get_subsampling() now returns None for formats without subsampling (i.e. RGB).

    • get_w() only_even parameter changed to keyword-only argument.


  • Changes to existing functions: