vapoursynth

A video processing framework with simplicity in mind

LGPL-2.1 License

Downloads
11K
Stars
1.6K

Bot releases are visible (Hide)

vapoursynth - R70 Latest Release

Published by myrsloik about 1 month ago

Uses latest visual studio compiler again. See https://github.com/Jaded-Encoding-Thaumaturgy/vs-preview/issues/190 for a workaround for vspreview crashes.

Other changes:

  • the inspectable core flag is now correctly detected by the vsscript python environment when an external core is supplied
  • fixed a potential crash that could happen when more than 2 audio clips are spliced at the same time
vapoursynth - R70-RC1

Published by myrsloik about 1 month ago

vapoursynth - R69

Published by myrsloik 4 months ago

added YUV420PS/H and YUV422PS/H constants for convenience
vspipe --info will now output information for all set output nodes
added a new function to to the vsscript api to get a list of all set output indices, since most users don't need vsscript api 4.2 you now have to define VSSCRIPT_USE_LATEST_API or VSSCRIPT_USE_API_42 to actually require it
the python module will now warn if it doesn't match the core library version when creating a core
updated zimg to fix a rare resizing bug that only happens around 0.5x scaling with avx512 optimizations
now always sets console output codepage to utf8 in windows

vapoursynth - R68

Published by myrsloik 6 months ago

fixed portable base path detection, was broken in r67
fixed is_inspectable, was broken in r67
reverted widestring print changes in vspipe from r67

vapoursynth - R67

Published by myrsloik 6 months ago

since most plugins don't need api 4.1 you now have to define VS_USE_LATEST_API or VS_USE_API_41 to actually require it
fixed a minor performance issue
all suitable constants are now IntEnum type instead of IntFlag when compiled with cython 3.x
fixed constants in vapoursynth module not being correctly coerced to int type when used passed to plugin functions due to cython 3.x changes
vfw and avfs will now output YUV420P12 and YUV422P12 as P016 and P216 fourcc (16 bit) to make things more convenient
fixed 19-24 bit audio output in vfw
fixed handling of audio decoding errors in vfw
fixed the reported plugin path being empty
improved the portable install script

vapoursynth - R66

Published by myrsloik 8 months ago

updated the supported python versions to 3.12 and 3.8
added an option to write a full filter graph with time information to file when done processing in vspipe
clarified where different information will be output in vspipe
fixed backslashes and linebreaks not being properly escaped in dot graph output
copyframeprops can now optionally copy only a subset of properties
removeframeprops function now accepts wildcards in property names
added prop_src argument to shuffleplanes
added an access pattern mode when only repeatedly requesting the last frame of a clip
added approximate_gamma option to resizers (saindriches)
added plugin_path property to plugin object in python
audio is now clamped instead of wrapped around in audiomix and audiogain, these functions can also now warn when clipping happens
the vfw wrapper now provides simple waveformatex information automatically if the audio is mono or flagged as plain stereo and samples contain no padding bits
increased the get_frame error message buffer size in python, fewer messages should be truncated now
added missing st428 transfer characteristics to resize
made most graph information functions part of the stable api and bumped the version to 4.1
added new frame request pattern where only the last frame is requested multiple times to further improve cache usage
added new api functions for cache clearing
fixed request pattern set for selectevery with multiple identical offsets
fixed request pattern set for premultiply
expose number of bytes used by cache in python and clean up version and str representations of things (setsugennoao)
fixed modifyframe filter not properly copying its own videoinfo which may cause crashes if nothing else references the format node (jsaowji)
fixed setcache function leaking a node reference (jsaowji)

vapoursynth - R66-RC1

Published by myrsloik 8 months ago

Slightly less tested than the average RC but nobody will ever notice

r66:
updated the supported python versions to 3.12 and 3.8
copyframeprops can now optionally copy only a subset of properties
removeframeprops function now accepts wildcards in property names
added prop_src argument to shuffleplanes
added an access pattern mode when only repeatedly requesting the last frame of a clip
added approximate_gamma option to resizers (saindriches)
added plugin_path property to plugin object in python
audio is now clamped instead of wrapped around in audiomix and audiogain, these functions can also now warn when clipping happens
the vfw wrapper now provides simple waveformatex information automatically if the audio is mono or flagged as plain stereo and samples contain no padding bits
increased the get_frame error message buffer size in python, fewer messages should be truncated now
added missing st428 transfer characteristics to resize
made most graph information functions part of the stable api and bumped the version to 4.1
added new frame request patterns where only the first and/or last frame may be requested multiple times to further improve cache usage
added new api functions for cache clearing
fixed request pattern set for selectevery with multiple identical offsets
fixed request pattern set for premultiply
expose number of bytes used by cache in python and clean up version and str representations of things (setsugennoao)
fixed modifyframe filter not properly copying its own videoinfo which may cause crashes if nothing else references the format node (jsaowji)
fixed setcache function leaking a node reference (jsaowji)

vapoursynth - R65

Published by myrsloik 12 months ago

fixed inspection api sometimes causing memory corruption when used from python
frame properties in python are now return as str type instead of bytes when hinted as utf8 printable
fixed how unprintable data is returned from plugin functions in python, previously it would leak a ctypes pointer with no length instead of returning a bytes object
fixed a bug in the avx2 maskedmerge float premultiplied code path that would switch the two input clips
reverted the from_chars code a bit more to make no locale affect float parsing
fixed the sar adjustment for real this time

vapoursynth - R65-RC1

Published by myrsloik about 1 year ago

frame properties in python are now return as str type instead of bytes when hinted as utf8 printable
fixed how unprintable data is returned from plugin functions in python, previously it would leak a ctypes pointer with no length instead of returning a bytes object
fixed a bug in the avx2 maskedmerge float premultiplied code path that would switch the two input clips
reverted the from_chars code a bit more to make no locale affects float parsing
fixed the sar adjustment for real this time

vapoursynth - R64

Published by myrsloik about 1 year ago

fixed compilation on osx where the default standard library doesn't have a full implementation of std::from_chars
fixed SAR adjustment in resizer when source cropping is used
added -- as an alternate to . to indicate no output in vspipe since shells have a tendency to expand .
added json output of video frame properties to vspipe
fixed clearMap function, previously it would forget to properly clear the error state in maps which could cause crashes in frameeval and other filters
32 bit binaries are no longer provided for windows
updated zimg to fix issues on zen4 cpus
added support for cython 3.x

vapoursynth - R64-RC2

Published by myrsloik about 1 year ago

vapoursynth - R64

Published by myrsloik about 1 year ago

added json output of video frame properties to vspipe
fixed clearMap function, previously it would forget to properly clear the error state in maps which could cause crashes in frameeval and other filters
32 bit binaries are no longer provided for windows
updated zimg to fix issues on zen4 cpus
added support for cython 3.x

vapoursynth - R63

Published by myrsloik over 1 year ago

updated all api documentation for api4
switched to C++17 for the entire project
added a warning every time the deprecated cache filter is instantiated and ignored
fixed a regression with alpha nodes in vspipe introduced in r62

vapoursynth - R62

Published by myrsloik over 1 year ago

updated the supported python versions to 3.11 and 3.8
now up to 500 log messages are cached when no log handler is attached
improvements to repr, audio channel handling and other python fixes (setsugennoao)
added a class Local for environment-local values

vapoursynth - R61

Published by myrsloik almost 2 years ago

  • fixed error message when splicing mismatched clips so it's actually helpful
  • fixed a memory leak when freeing setframeprops filter (Endill)
  • fixed planestats being broken for float format (Endill)
  • fixed makefulldiff for 16 bit clips, previously it used too small intermediate variables
  • blankclip can now emit variable size and variable format clips
  • libraries can now register clean up callbacks when a core gets destroyed
vapoursynth - R61-RC1

Published by myrsloik almost 2 years ago

  • fixed error message when splicing mismatched clips so it's actually helpful
  • fixed a memory leak when freeing setframeprops filter (Endill)
  • fixed planestats being broken for float format (Endill)
  • fixed makefulldiff for 16 bit clips, previously it used too small intermediate variables
  • blankclip can now emit variable size and variable format clips
  • libraries can now register clean up callbacks when a core gets destroyed
vapoursynth - R60

Published by myrsloik about 2 years ago

fixed blankclip crashing when fpsnum or fpsden is 0 despite it being allowed
fixed invalid format ids sometimes being treated as api3 values when passed to resize
fixed error message frame generation in vfw
fixed writing beyond end out output buffer for audio in vfw
blankaudio now takes an array of channel constants since this better matches how most other functions work
fixed splitchannels crash on certain channel configurations (YomikoR)
added makefulldiff and mergefulldiff, these are versions of makediff and mergediff that don't clamp the difference to half range and instead use a higher precision diff clip
better error messages when filters get unsupported input formats or combinations thereof
freezeframes now accepts empty arrays and simply passes through the source clip
you can directly assign to frame-props
removed all deprecated (and replaced by better versions) functions in python: get_frame_async_raw, get_plugins, get_functions, list_functions, get_format, register_format
fixed convolution output for 9-15 bit material

vapoursynth - R60-RC1

Published by myrsloik about 2 years ago

vapoursynth - R59

Published by myrsloik over 2 years ago

fixed several convolution crashes
fixed averageframes weights with float input
fixed rare cython memory leak on error

vapoursynth - R59-RC2

Published by myrsloik over 2 years ago