vapoursynth-dfttest2-cuda 10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vapoursynth_dfttest2_cuda-10/CMakeLists.txt +47 -0
- vapoursynth_dfttest2_cuda-10/PKG-INFO +58 -0
- vapoursynth_dfttest2_cuda-10/README.md +21 -0
- vapoursynth_dfttest2_cuda-10/manifest.vs +2 -0
- vapoursynth_dfttest2_cuda-10/pyproject.toml +63 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/.codespellignore +6 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/.github/workflows/codespell.yml +15 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/.github/workflows/linux.yml +77 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/.github/workflows/macos.yml +63 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/.github/workflows/windows.yml +100 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/.gitignore +49 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/.gitmodules +0 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/APIV4 changes.txt +110 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/COPYING.LESSER +502 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/ChangeLog +769 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/MANIFEST.in +9 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/Makefile.am +162 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/README.md +10 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/autogen.sh +3 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/configure.ac +371 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/cython_build.bat +12 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/api/vapoursynth.h.rst +2635 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/api/vshelper.h.rst +204 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/api/vsscript.h.rst +330 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/apireference.rst +118 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/applications.rst +25 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/conf.py +252 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/custom/css/custom.css +19 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/assumesamplerate.rst +5 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/audiogain.rst +12 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/audioloop.rst +11 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/audiomix.rst +38 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/audioreverse.rst +10 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/audiosplice.rst +12 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/audiotrim.rst +10 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/blankaudio.rst +20 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/setaudiocache.rst +7 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/shufflechannels.rst +48 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/audio/splitchannels.rst +8 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/general/loadallplugins.rst +19 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/general/loadplugin.rst +26 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/general/loadpluginavs.rst +44 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/general/setmaxcpu.rst +14 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/addborders.rst +9 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/assumefps.rst +16 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/averageframes.rst +21 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/binarize_binarizemask.rst +34 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/blankclip.rst +18 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/boxblur.rst +8 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/cliptoprop.rst +15 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/convolution.rst +84 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/copyframeprops.rst +10 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/crop_cropabs.rst +20 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/deflate_inflate.rst +44 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/deleteframes.rst +11 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/doubleweave.rst +23 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/duplicateframes.rst +11 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/expr.rst +118 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/flipvertical_fliphorizontal.rst +8 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/frameeval.rst +77 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/freezeframes.rst +18 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/interleave.rst +19 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/invert_invertmask.rst +21 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/levels.rst +39 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/limiter.rst +23 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/loop.rst +11 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/lut.rst +39 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/lut2.rst +40 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/makediff.rst +15 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/maskedmerge.rst +35 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/median.rst +19 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/merge.rst +29 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/mergediff.rst +15 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/minimum_maximum.rst +69 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/modifyframe.rst +49 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/pemverifier.rst +14 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/planestats.rst +15 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/premultiply.rst +14 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/prewitt_sobel.rst +26 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/proptoclip.rst +12 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/removeframeprops.rst +9 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/resize.rst +278 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/reverse.rst +10 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/selectevery.rst +31 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/separatefields.rst +20 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/setfieldbased.rst +25 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/setframeprop.rst +20 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/setframeprops.rst +13 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/setvideocache.rst +27 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/shuffleplanes.rst +48 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/splice.rst +12 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/splitplanes.rst +8 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/stackvertical_stackhorizontal.rst +12 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/text/clipinfo.rst +9 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/text/coreinfo.rst +10 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/text/framenum.rst +9 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/text/frameprops.rst +10 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/text/text.rst +23 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/transpose.rst +18 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/trim.rst +17 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions/video/turn180.rst +7 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/functions.rst +38 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/gettingstarted.rst +42 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/index.rst +23 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/installation.rst +334 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/introduction.rst +36 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/make.bat +190 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/output.rst +125 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/doc/pythonreference.rst +1035 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/docs_build.bat +4 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/VSConstants4.h +93 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/VSHelper.h +174 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/VSHelper4.h +224 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/VSScript.h +85 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/VSScript4.h +97 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/VapourSynth.h +359 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/VapourSynth4.h +484 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/cython/vapoursynth.h +52 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/include/cython/vapoursynth_api.h +144 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/installer/CodeDependencies.iss +755 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/installer/MANIFEST.in +2 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/installer/make installers.bat +2 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/installer/make portable.bat +106 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/installer/setup.py +93 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/installer/template.vpy +1 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/installer/vs-detect-python.bat +10 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/installer/vsinstaller.iss +523 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/m4/ax_pthread.m4 +507 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/AVFS/AVFS.vcxproj +208 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/AVFS/AVFS.vcxproj.filters +101 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/AvsCompat/AvsCompat.vcxproj +183 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/AvsCompat/AvsCompat.vcxproj.filters +42 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/Core/Core.vcxproj +275 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/Core/Core.vcxproj.filters +228 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/ExprDebugger/ExprDebugger.vcxproj +152 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/ExprDebugger/ExprDebugger.vcxproj.filters +25 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VSPipe/VSPipe.vcxproj +179 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VSPipe/VSPipe.vcxproj.filters +57 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VSScript/VSScript.vcxproj +174 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VSScript/VSScript.vcxproj.filters +39 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VSScriptPython38/VSScriptPython38.vcxproj +173 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VSScriptPython38/VSScriptPython38.vcxproj.filters +36 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VSVFW/VSVFW.vcxproj +175 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VSVFW/VSVFW.vcxproj.filters +48 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/msvc_project/VapourSynth.sln +149 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/pc/vapoursynth-script.pc.in +14 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/pc/vapoursynth.pc.in +13 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/python-requirements.txt +6 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/sdk/filter_skeleton.c +58 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/sdk/invert_example.c +173 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/sdk/vsscript_example.c +117 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/setup.py +110 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/assertive.cpp +16 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/assertive.h +70 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/avfs.cpp +810 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/avfs.h +82 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/avfs.rc +45 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/avfsavi2.cpp +1715 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/avfsincludes.h +32 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/avfspfm.cpp +1653 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/avfspfm.h +64 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/avfswav.cpp +266 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/files.cpp +346 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/files.h +46 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/pfmapi.h +291 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/pfmenum.h +131 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/pfmformatter.h +54 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/pfmmarshaller.h +493 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/pfmprefix.h +46 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/pfmprotocol.h +552 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/ptblob.h +41 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/ptfactory1.h +221 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/ptpin.h +74 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/include/ptpublic.h +249 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/ss.cpp +156 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/ss.h +14 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/videoinfoadapter.h +203 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/vsfs.cpp +576 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/vsfs.h +70 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avfs/xxfs.h +53 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avisynth.h +1329 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avisynth_compat.cpp +1365 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avisynth_compat.h +231 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avs/alignment.h +134 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avs/capi.h +66 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avs/config.h +70 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avs/cpuid.h +80 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avs/minmax.h +54 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avs/types.h +57 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/avs/win.h +51 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/avisynth/interface.cpp +1077 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/common/fourcc.cpp +263 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/common/fourcc.h +40 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/common/vsutf16.h +43 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/common/wave.cpp +163 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/common/wave.h +82 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/VapourSynth3.h +281 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/audiofilters.cpp +1062 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/averageframesfilter.cpp +304 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/boxblurfilter.cpp +404 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/cpufeatures.cpp +121 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/cpufeatures.h +59 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/expr/expr.cpp +1536 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/expr/expr.h +110 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/expr/jitasm.h +9723 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/expr/jitcompiler.cpp +85 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/expr/jitcompiler.h +81 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/expr/jitcompiler_x86.cpp +1686 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/expr/main.cpp +85 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/exprfilter.cpp +373 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/filtershared.h +181 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/filtersharedcpp.h +146 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/genericfilters.cpp +1110 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/internalfilters.h +39 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/intrusive_ptr.h +90 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/average.cpp +89 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/average.h +28 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/cpulevel.cpp +57 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/cpulevel.h +51 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/generic.cpp +700 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/generic.h +173 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/merge.c +368 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/merge.h +130 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/planestats.c +174 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/planestats.h +83 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/transpose.c +58 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/transpose.h +181 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/x86/average_sse2.c +282 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/x86/generic_avx2.cpp +1239 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/x86/generic_sse2.cpp +1265 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/x86/merge_avx2.c +430 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/x86/merge_sse2.c +441 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/x86/planestats_avx2.c +361 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/x86/planestats_sse2.c +349 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/kernel/x86/transpose_sse2.c +182 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/lutfilters.cpp +538 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/memoryuse.cpp +279 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/memoryuse.h +97 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/mergefilters.cpp +685 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/reorderfilters.cpp +710 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/settings.cpp +151 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/settings.h +6 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/simplefilters.cpp +2492 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/ter-116n.h +4804 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/ter-116n.ofl.txt +94 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/textfilter.cpp +765 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/version.h +54 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/vsapi.cpp +1311 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/vscore.cpp +2415 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/vscore.h +1125 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/vslog.cpp +100 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/vslog.h +42 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/vsresize.cpp +905 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/vsthreadpool.cpp +408 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/core/x86utils.h +25 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/cython/vapoursynth.pxd +390 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/cython/vapoursynth.pyx +3111 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/cython/vsconstants.pxd +83 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/cython/vsscript.pxd +25 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/cython/vsscript_internal.pxd +31 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/vfw/vsvfw.cpp +956 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/vfw/vsvfw.def +5 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/vsscript/vsscript.cpp +355 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/src/vsscript/vsscript_internal.h +35 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/async_test.py +106 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/expr_compiler/compiler_test.py +22 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/expr_compiler/havs_exprs.txt +29 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/expr_compiler/muvs_exprs.txt +40 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/expr_compiler/reference_output.txt +1062 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/expr_test.py +391 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/filter_test.py +24 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/log_test.py +21 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/lut_test.py +70 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/prop_dict_test.py +101 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/test.py +239 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/weakref_test.py +31 -0
- vapoursynth_dfttest2_cuda-10/vapoursynth/test/zimgtest.py +49 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/.github/workflows/linux.yml +86 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/.github/workflows/linux_arm64.yml +67 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/.github/workflows/windows.yml +158 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/.github/workflows/windows_arm64.yml +69 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/.gitmodules +3 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/CMakeLists.txt +193 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/LICENSE +674 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/README.md +22 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/common/config.h.in +1 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/CMakeLists.txt +133 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/cpu_dispatch.h.in +14 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/dfttest2_cpu.h +62 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/getframe_impl.cpp +444 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/kernel.hpp +1996 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/source.cpp +426 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/LICENSE +191 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/README.md +14 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/changelog.txt +221 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/dispatch_example1.cpp +189 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/dispatch_example2.cpp +208 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/instrset.h +1489 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/instrset_detect.cpp +167 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vector_convert.h +574 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectorclass.h +86 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectorf128.h +2986 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectorf256.h +3009 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectorf256e.h +1951 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectorf512.h +2036 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectorf512e.h +1935 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectori128.h +7033 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectori256.h +5745 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectori256e.h +3954 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectori512.h +2119 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectori512e.h +2342 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectori512s.h +2294 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectori512se.h +2076 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectormath_common.h +327 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectormath_exp.h +2173 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectormath_hyp.h +717 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectormath_lib.h +2026 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cpu_source/vectorclass/vectormath_trig.h +898 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cuda_source/kernel.hpp +202 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cuda_source/source.cpp +1208 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/cuda_source/win32.cpp +87 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/dfttest2.py +851 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/gcc_source/CMakeLists.txt +38 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/gcc_source/dfttest2_cpu.h +52 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/gcc_source/getframe_impl.cpp +460 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/gcc_source/kernel.hpp +2057 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/gcc_source/source.cpp +373 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/hip_source/kernel.hpp +198 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/hip_source/source.cpp +1135 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/hiprtc_source/dft_kernels.hpp +1768 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/hiprtc_source/kernel.hpp +280 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/hiprtc_source/source.cpp +993 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/nvrtc_source/dft_kernels.hpp +1780 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/nvrtc_source/kernel.hpp +278 -0
- vapoursynth_dfttest2_cuda-10/vs-dfttest2/nvrtc_source/source.cpp +1062 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.22)
|
|
2
|
+
project(DFTTEST2_CUDA_Package)
|
|
3
|
+
|
|
4
|
+
# Define the include path relative to this wrapper
|
|
5
|
+
set(VS_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vapoursynth/include" CACHE PATH "Path to VapourSynth headers")
|
|
6
|
+
|
|
7
|
+
# Fix version detection
|
|
8
|
+
if(SKBUILD_PROJECT_VERSION)
|
|
9
|
+
set(VCS_TAG "v${SKBUILD_PROJECT_VERSION}" CACHE STRING "Version from scikit-build-core")
|
|
10
|
+
set(CMAKE_DISABLE_FIND_PACKAGE_Git ON)
|
|
11
|
+
endif()
|
|
12
|
+
|
|
13
|
+
set(ENABLE_CUDA ON CACHE BOOL "" FORCE)
|
|
14
|
+
set(USE_NVRTC_STATIC ON CACHE BOOL "" FORCE)
|
|
15
|
+
set(ENABLE_CPU OFF CACHE BOOL "" FORCE)
|
|
16
|
+
set(ENABLE_GCC OFF CACHE BOOL "" FORCE)
|
|
17
|
+
set(ENABLE_HIP OFF CACHE BOOL "" FORCE)
|
|
18
|
+
|
|
19
|
+
# Add the submodule but skip its internal install rules
|
|
20
|
+
add_subdirectory(vs-dfttest2 EXCLUDE_FROM_ALL)
|
|
21
|
+
|
|
22
|
+
if(WIN32 AND ENABLE_CUDA)
|
|
23
|
+
find_package(CUDAToolkit QUIET)
|
|
24
|
+
file(GLOB CUFFT_DLL "${CUDAToolkit_BIN_DIR}/x64/cufft64_*.dll")
|
|
25
|
+
|
|
26
|
+
if(CUFFT_DLL)
|
|
27
|
+
message(STATUS "Found cuFFT DLL: ${CUFFT_DLL}")
|
|
28
|
+
install(FILES ${CUFFT_DLL} DESTINATION vsmlrt-cuda)
|
|
29
|
+
else()
|
|
30
|
+
message(WARNING "No cuFFT DLL found in ${CUDAToolkit_BIN_DIR}/x64")
|
|
31
|
+
endif()
|
|
32
|
+
endif()
|
|
33
|
+
|
|
34
|
+
add_custom_target(build_cuda ALL DEPENDS dfttest2_cuda)
|
|
35
|
+
|
|
36
|
+
if(WIN32 AND CUFFT_DLL)
|
|
37
|
+
add_custom_command(
|
|
38
|
+
TARGET build_cuda
|
|
39
|
+
POST_BUILD
|
|
40
|
+
COMMAND ${CMAKE_COMMAND} -E make_directory $<TARGET_FILE_DIR:dfttest2_cuda>/vsmlrt-cuda
|
|
41
|
+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CUFFT_DLL} $<TARGET_FILE_DIR:dfttest2_cuda>/vsmlrt-cuda
|
|
42
|
+
COMMENT "Copying cuFFT DLL to vsmlrt-cuda subdirectory"
|
|
43
|
+
)
|
|
44
|
+
endif()
|
|
45
|
+
|
|
46
|
+
install(TARGETS dfttest2_cuda LIBRARY DESTINATION .)
|
|
47
|
+
install(FILES "manifest.vs" DESTINATION .)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vapoursynth-dfttest2_cuda
|
|
3
|
+
Version: 10
|
|
4
|
+
Summary: A VapourSynth re-implementation of DFTTest, using NVIDIA cuFFT for GPU acceleration.
|
|
5
|
+
Author: WolframRhodium
|
|
6
|
+
Maintainer-Email: =?utf-8?b?VmFyZMOr?= <ichunjo.le.terrible@gmail.com>
|
|
7
|
+
License-Expression: GPL-2.0-or-later
|
|
8
|
+
License-File: vs-dfttest2/LICENSE
|
|
9
|
+
Project-URL: Source Code, https://github.com/AmusementClub/vs-dfttest2
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/AmusementClub/vs-dfttest2/issues
|
|
11
|
+
Project-URL: Repository, https://github.com/Jaded-Encoding-Thaumaturgy/vs-wheels
|
|
12
|
+
Requires-Python: >=3.12
|
|
13
|
+
Requires-Dist: vapoursynth>=75
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
|
|
16
|
+
# VapourSynth-DFTTEST2_CUDA
|
|
17
|
+
|
|
18
|
+
This package contains the CUDA implementation of the [vs-dfttest2](https://github.com/AmusementClub/vs-dfttest2) implemetation.
|
|
19
|
+
|
|
20
|
+
## Installation
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install vapoursynth-dfttest2-cuda --extra-index-url https://jaded-encoding-thaumaturgy.github.io/vs-wheels/simple
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Building from source
|
|
27
|
+
|
|
28
|
+
```powershell
|
|
29
|
+
uv build --package vapoursynth-dfttest2-cuda
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
Detailed parameter information from the parent project follows.
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
# vs-dfttest2
|
|
38
|
+
DFTTest re-implemetation (CUDA and x86)
|
|
39
|
+
|
|
40
|
+
## Usage
|
|
41
|
+
```python3
|
|
42
|
+
from dfttest2 import DFTTest
|
|
43
|
+
output = DFTTest(input)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
See also [VapourSynth-DFTTest](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest)
|
|
47
|
+
|
|
48
|
+
## Compilation
|
|
49
|
+
```bash
|
|
50
|
+
# additional options: -D ENABLE_CUDA=ON -D ENABLE_CPU=ON
|
|
51
|
+
cmake -S . -B build
|
|
52
|
+
|
|
53
|
+
cmake --build build
|
|
54
|
+
|
|
55
|
+
cmake --install build
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
If the vapoursynth library cannot be found by pkg-config, then the cmake variable `VS_INCLUDE_DIR` should be set.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# VapourSynth-DFTTEST2_CUDA
|
|
2
|
+
|
|
3
|
+
This package contains the CUDA implementation of the [vs-dfttest2](https://github.com/AmusementClub/vs-dfttest2) implemetation.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install vapoursynth-dfttest2-cuda --extra-index-url https://jaded-encoding-thaumaturgy.github.io/vs-wheels/simple
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Building from source
|
|
12
|
+
|
|
13
|
+
```powershell
|
|
14
|
+
uv build --package vapoursynth-dfttest2-cuda
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
Detailed parameter information from the parent project follows.
|
|
20
|
+
|
|
21
|
+
---
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = [
|
|
3
|
+
"scikit-build-core>=0.12",
|
|
4
|
+
"setuptools-scm",
|
|
5
|
+
"ninja ; sys_platform != 'win32'",
|
|
6
|
+
]
|
|
7
|
+
build-backend = "scikit_build_core.build"
|
|
8
|
+
|
|
9
|
+
[project]
|
|
10
|
+
name = "vapoursynth-dfttest2_cuda"
|
|
11
|
+
dynamic = ["version", "readme"]
|
|
12
|
+
description = "A VapourSynth re-implementation of DFTTest, using NVIDIA cuFFT for GPU acceleration."
|
|
13
|
+
license = "GPL-2.0-or-later"
|
|
14
|
+
license-files = ["vs-dfttest2/LICENSE"]
|
|
15
|
+
requires-python = ">=3.12"
|
|
16
|
+
authors = [{ name = "WolframRhodium" }]
|
|
17
|
+
maintainers = [{ name = "Vardë", email = "ichunjo.le.terrible@gmail.com" }]
|
|
18
|
+
dependencies = ["vapoursynth>=75"]
|
|
19
|
+
|
|
20
|
+
[project.urls]
|
|
21
|
+
"Source Code" = "https://github.com/AmusementClub/vs-dfttest2"
|
|
22
|
+
"Bug Tracker" = "https://github.com/AmusementClub/vs-dfttest2/issues"
|
|
23
|
+
"Repository" = "https://github.com/Jaded-Encoding-Thaumaturgy/vs-wheels"
|
|
24
|
+
|
|
25
|
+
[tool.setuptools_scm]
|
|
26
|
+
root = "vs-dfttest2"
|
|
27
|
+
local_scheme = "no-local-version"
|
|
28
|
+
tag_regex = "^v(?P<version>.*)$"
|
|
29
|
+
|
|
30
|
+
[tool.scikit-build]
|
|
31
|
+
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
|
|
32
|
+
metadata.readme.provider = "scikit_build_core.metadata.fancy_pypi_readme"
|
|
33
|
+
wheel.exclude = ["*.lib"]
|
|
34
|
+
wheel.install-dir = "vapoursynth/plugins/dfttest2_cuda"
|
|
35
|
+
wheel.expand-macos-universal-tags = true
|
|
36
|
+
wheel.py-api = "py3"
|
|
37
|
+
cmake.source-dir = "."
|
|
38
|
+
cmake.args = ["-G", "Ninja"]
|
|
39
|
+
cmake.define.CMAKE_BUILD_TYPE = "Release"
|
|
40
|
+
ninja.make-fallback = false
|
|
41
|
+
ninja.version = ">=1.5"
|
|
42
|
+
|
|
43
|
+
[[tool.scikit-build.overrides]]
|
|
44
|
+
if.platform-system = "^win32"
|
|
45
|
+
inherit.cmake.define = "append"
|
|
46
|
+
cmake.define.CMAKE_MSVC_RUNTIME_LIBRARY = "MultiThreaded"
|
|
47
|
+
cmake.define.CMAKE_CXX_FLAGS = "/fp:fast /EHsc"
|
|
48
|
+
cmake.define.CMAKE_SHARED_LINKER_FLAGS = "/DELAYLOAD:cufft64_12.dll"
|
|
49
|
+
|
|
50
|
+
[[tool.scikit-build.overrides]]
|
|
51
|
+
if.platform-system = "^linux"
|
|
52
|
+
inherit.cmake.define = "append"
|
|
53
|
+
cmake.define.CMAKE_CXX_COMPILER = "g++"
|
|
54
|
+
cmake.define.CMAKE_CXX_FLAGS = "-Wall -ffast-math"
|
|
55
|
+
|
|
56
|
+
[[tool.scikit-build.overrides]]
|
|
57
|
+
if.platform-machine = "^aarch64"
|
|
58
|
+
inherit.cmake.define = "append"
|
|
59
|
+
cmake.define.CMAKE_CXX_COMPILER = "clang++"
|
|
60
|
+
|
|
61
|
+
[tool.hatch.metadata.hooks.fancy-pypi-readme]
|
|
62
|
+
content-type = "text/markdown"
|
|
63
|
+
fragments = [{ path = "README.md" }, { path = "vs-dfttest2/README.md" }]
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
static bool funcToLut(int nin, int nout, void *vlut, VSFunction *func, const VSAPI *vsapi, std::string &errstr) {
|
|
2
|
+
for (int i = 0; i < nin; i++) {
|
|
3
|
+
std::string aLine = nstringToUtf8(argv[arg + 1]).c_str();
|
|
4
|
+
size_t equalsPos = aLine.find("=");
|
|
5
|
+
fprintf(stderr, "No value specified for argument: %s\n", aLine.c_str());
|
|
6
|
+
opts.scriptArgs[aLine.substr(0, equalsPos)] = aLine.substr(equalsPos + 1);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: codespell
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
codespell:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v2
|
|
11
|
+
|
|
12
|
+
- uses: codespell-project/actions-codespell@master
|
|
13
|
+
with:
|
|
14
|
+
exclude_file: .codespellignore
|
|
15
|
+
skip: ./src/avfs/include,./src/avisynth/avisynth.h,./src/avisynth/interface.cpp,./src/core/ter-116n.h,./src/core/expr/jitasm.h
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
name: Linux
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request, workflow_dispatch]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build-gcc:
|
|
7
|
+
runs-on: ubuntu-latest
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
CC: ${{ matrix.cc }}
|
|
11
|
+
CXX: ${{ matrix.cxx }}
|
|
12
|
+
|
|
13
|
+
strategy:
|
|
14
|
+
matrix:
|
|
15
|
+
include:
|
|
16
|
+
- cc: gcc-10
|
|
17
|
+
cxx: g++-10
|
|
18
|
+
- cc: gcc-11
|
|
19
|
+
cxx: g++-11
|
|
20
|
+
fail-fast: false
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v2
|
|
24
|
+
|
|
25
|
+
- name: Install GCC 11
|
|
26
|
+
if: ${{ matrix.cc == 'gcc-11' }}
|
|
27
|
+
run: |
|
|
28
|
+
sudo apt-get update
|
|
29
|
+
sudo apt-get install g++-11 -y
|
|
30
|
+
|
|
31
|
+
- name: Print compiler version
|
|
32
|
+
run: ${{ env.CC }} --version
|
|
33
|
+
|
|
34
|
+
- name: Install zimg
|
|
35
|
+
run: |
|
|
36
|
+
git clone https://github.com/sekrit-twc/zimg --branch v3.0 --depth 1
|
|
37
|
+
pushd zimg
|
|
38
|
+
./autogen.sh
|
|
39
|
+
./configure --prefix=/usr
|
|
40
|
+
make -j2
|
|
41
|
+
sudo make install -j2
|
|
42
|
+
popd
|
|
43
|
+
rm -rf zimg
|
|
44
|
+
|
|
45
|
+
- name: Setup Python
|
|
46
|
+
uses: actions/setup-python@v2
|
|
47
|
+
with:
|
|
48
|
+
# Version range or exact version of a Python version to use, using SemVer's version range syntax.
|
|
49
|
+
python-version: 3.9
|
|
50
|
+
|
|
51
|
+
- name: Install cython
|
|
52
|
+
run: |
|
|
53
|
+
python -m pip install --upgrade pip
|
|
54
|
+
pip install cython
|
|
55
|
+
|
|
56
|
+
- name: Set PKG_CONFIG_PATH
|
|
57
|
+
run: echo "PKG_CONFIG_PATH=$pythonLocation/lib/pkgconfig" >> $GITHUB_ENV
|
|
58
|
+
|
|
59
|
+
- name: configure
|
|
60
|
+
run: |
|
|
61
|
+
./autogen.sh
|
|
62
|
+
./configure --prefix=/usr
|
|
63
|
+
|
|
64
|
+
- name: make
|
|
65
|
+
run: make -j2
|
|
66
|
+
|
|
67
|
+
- name: make install
|
|
68
|
+
run: |
|
|
69
|
+
sudo make install -j2
|
|
70
|
+
python setup.py sdist -d sdist
|
|
71
|
+
mkdir empty
|
|
72
|
+
pushd empty
|
|
73
|
+
pip install vapoursynth --no-index --find-links ../sdist
|
|
74
|
+
popd
|
|
75
|
+
|
|
76
|
+
- name: Run test
|
|
77
|
+
run: python -m unittest discover -s test -p "*test.py"
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: macOS
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request, workflow_dispatch]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build-clang:
|
|
7
|
+
runs-on: macos-latest
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
CC: clang
|
|
11
|
+
CXX: clang++
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v2
|
|
15
|
+
|
|
16
|
+
- name: Print compiler version
|
|
17
|
+
run: ${{ env.CC }} --version
|
|
18
|
+
|
|
19
|
+
- name: Install automake
|
|
20
|
+
run: |
|
|
21
|
+
brew update
|
|
22
|
+
brew install automake
|
|
23
|
+
|
|
24
|
+
- name: Install zimg
|
|
25
|
+
run: |
|
|
26
|
+
git clone https://github.com/sekrit-twc/zimg --branch v3.0 --depth 1
|
|
27
|
+
pushd zimg
|
|
28
|
+
./autogen.sh
|
|
29
|
+
./configure
|
|
30
|
+
make -j3
|
|
31
|
+
sudo make install -j3
|
|
32
|
+
popd
|
|
33
|
+
rm -rf zimg
|
|
34
|
+
|
|
35
|
+
- name: Setup Python
|
|
36
|
+
uses: actions/setup-python@v2
|
|
37
|
+
with:
|
|
38
|
+
# Version range or exact version of a Python version to use, using SemVer's version range syntax.
|
|
39
|
+
python-version: 3.9
|
|
40
|
+
|
|
41
|
+
- name: Install cython
|
|
42
|
+
run: |
|
|
43
|
+
python -m pip install --upgrade pip
|
|
44
|
+
pip install cython
|
|
45
|
+
|
|
46
|
+
- name: Set PKG_CONFIG_PATH
|
|
47
|
+
run: echo "PKG_CONFIG_PATH=$pythonLocation/lib/pkgconfig" >> $GITHUB_ENV
|
|
48
|
+
|
|
49
|
+
- name: configure
|
|
50
|
+
run: |
|
|
51
|
+
./autogen.sh
|
|
52
|
+
./configure
|
|
53
|
+
|
|
54
|
+
- name: make
|
|
55
|
+
run: make -j3
|
|
56
|
+
|
|
57
|
+
- name: make install
|
|
58
|
+
run: |
|
|
59
|
+
sudo make install -j3
|
|
60
|
+
pip install .
|
|
61
|
+
|
|
62
|
+
- name: Run test
|
|
63
|
+
run: python -m unittest discover -s test -p "*test.py"
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
name: Windows
|
|
2
|
+
|
|
3
|
+
on: [push, pull_request, workflow_dispatch]
|
|
4
|
+
|
|
5
|
+
jobs:
|
|
6
|
+
build-msvc:
|
|
7
|
+
runs-on: windows-latest
|
|
8
|
+
|
|
9
|
+
strategy:
|
|
10
|
+
matrix:
|
|
11
|
+
arch: [x86, x64]
|
|
12
|
+
include:
|
|
13
|
+
- arch: x86
|
|
14
|
+
platform: Win32
|
|
15
|
+
# unable to diagnose this error during `import vapoursynth`
|
|
16
|
+
# ImportError: DLL load failed while importing vapoursynth: A dynamic link library (DLL) initialization routine failed.
|
|
17
|
+
test: false
|
|
18
|
+
- arch: x64
|
|
19
|
+
platform: x64
|
|
20
|
+
test: true
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@v2
|
|
24
|
+
|
|
25
|
+
- name: Add msbuild to PATH
|
|
26
|
+
uses: microsoft/setup-msbuild@v1
|
|
27
|
+
|
|
28
|
+
- name: Clone Dependencies
|
|
29
|
+
run: |
|
|
30
|
+
git clone https://github.com/vapoursynth/vsrepo --depth 1
|
|
31
|
+
git clone https://github.com/sekrit-twc/zimg --branch v3.0 --depth 1
|
|
32
|
+
git clone https://github.com/AviSynth/AviSynthPlus.git --depth 1
|
|
33
|
+
git clone https://github.com/sekrit-twc/libp2p --depth 1
|
|
34
|
+
git clone https://github.com/microsoft/mimalloc --depth 1
|
|
35
|
+
|
|
36
|
+
- name: Build mimalloc
|
|
37
|
+
run: |
|
|
38
|
+
cd mimalloc
|
|
39
|
+
msbuild ide/vs2019/mimalloc.sln /p:Configuration=Release /p:Platform=${{ matrix.arch }}
|
|
40
|
+
cd ..
|
|
41
|
+
|
|
42
|
+
- name: Setup Python 3.8
|
|
43
|
+
uses: actions/setup-python@v2
|
|
44
|
+
with:
|
|
45
|
+
# Version range or exact version of a Python version to use, using SemVer's version range syntax.
|
|
46
|
+
python-version: 3.8
|
|
47
|
+
# The target architecture (x86, x64) of the Python interpreter.
|
|
48
|
+
architecture: ${{ matrix.arch }}
|
|
49
|
+
|
|
50
|
+
- name: Patch Python 3.8 Include Paths
|
|
51
|
+
run: |
|
|
52
|
+
$py_include_path = ((Split-Path -Path (Get-Command python.exe).Path) + "\include" )
|
|
53
|
+
$py_binary_path = ((Split-Path -Path (Get-Command python.exe).Path) + "\libs" )
|
|
54
|
+
(Get-Content -Path "msvc_project/VSScriptPython38/VSScriptPython38.vcxproj" -Raw) -replace "C:\\Program Files %28x86%29\\Python38-32\\libs",$py_binary_path | Set-Content "msvc_project/VSScriptPython38/VSScriptPython38.vcxproj"
|
|
55
|
+
(Get-Content -Path "msvc_project/VSScriptPython38/VSScriptPython38.vcxproj" -Raw) -replace "C:\\Program Files %28x86%29\\Python38-32\\include",$py_include_path | Set-Content "msvc_project/VSScriptPython38/VSScriptPython38.vcxproj"
|
|
56
|
+
(Get-Content -Path "msvc_project/VSScriptPython38/VSScriptPython38.vcxproj" -Raw) -replace "C:\\Program Files\\Python38\\libs",$py_binary_path | Set-Content "msvc_project/VSScriptPython38/VSScriptPython38.vcxproj"
|
|
57
|
+
(Get-Content -Path "msvc_project/VSScriptPython38/VSScriptPython38.vcxproj" -Raw) -replace "C:\\Program Files\\Python38\\include",$py_include_path | Set-Content "msvc_project/VSScriptPython38/VSScriptPython38.vcxproj"
|
|
58
|
+
|
|
59
|
+
- name: Setup Python 3.9
|
|
60
|
+
uses: actions/setup-python@v2
|
|
61
|
+
with:
|
|
62
|
+
python-version: 3.9
|
|
63
|
+
architecture: ${{ matrix.arch }}
|
|
64
|
+
|
|
65
|
+
- name: Install cython
|
|
66
|
+
run: |
|
|
67
|
+
python -m pip install --upgrade pip
|
|
68
|
+
pip install cython
|
|
69
|
+
|
|
70
|
+
- name: Patch Python 3.9 Include Paths
|
|
71
|
+
run: |
|
|
72
|
+
$py_include_path = ((Split-Path -Path (Get-Command python.exe).Path) + "\include" )
|
|
73
|
+
$py_binary_path = ((Split-Path -Path (Get-Command python.exe).Path) + "\libs" )
|
|
74
|
+
(Get-Content -Path "msvc_project\VSScript\VSScript.vcxproj" -Raw) -replace "C:\\Program Files %28x86%29\\Python39-32\\libs",$py_binary_path | Set-Content "msvc_project\VSScript\VSScript.vcxproj"
|
|
75
|
+
(Get-Content -Path "msvc_project\VSScript\VSScript.vcxproj" -Raw) -replace "C:\\Program Files %28x86%29\\Python39-32\\include",$py_include_path | Set-Content "msvc_project\VSScript\VSScript.vcxproj"
|
|
76
|
+
(Get-Content -Path "msvc_project\VSScript\VSScript.vcxproj" -Raw) -replace "C:\\Program Files\\Python39\\libs",$py_binary_path | Set-Content "msvc_project\VSScript\VSScript.vcxproj"
|
|
77
|
+
(Get-Content -Path "msvc_project\VSScript\VSScript.vcxproj" -Raw) -replace "C:\\Program Files\\Python39\\include",$py_include_path | Set-Content "msvc_project\VSScript\VSScript.vcxproj"
|
|
78
|
+
|
|
79
|
+
- name: Compile
|
|
80
|
+
run: |
|
|
81
|
+
msbuild msvc_project/VapourSynth.sln /t:Build /p:Configuration=Release /p:Platform=${{ matrix.platform }}
|
|
82
|
+
pip install . --no-deps
|
|
83
|
+
|
|
84
|
+
pushd installer
|
|
85
|
+
$env:SKIP_COMPRESS="yes"
|
|
86
|
+
$env:SKIP_WAIT="yes"
|
|
87
|
+
& ".\make portable.bat"
|
|
88
|
+
|
|
89
|
+
if ("${{ matrix.arch }}" -eq "x64") {
|
|
90
|
+
pushd buildp64
|
|
91
|
+
} else {
|
|
92
|
+
pushd buildp32
|
|
93
|
+
}
|
|
94
|
+
pip install . --no-deps
|
|
95
|
+
popd
|
|
96
|
+
popd
|
|
97
|
+
|
|
98
|
+
- name: Run test
|
|
99
|
+
if: ${{ matrix.test }}
|
|
100
|
+
run: python -m unittest discover -s test -p "*test.py"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
build/*
|
|
2
|
+
doc/_build/*
|
|
3
|
+
|
|
4
|
+
*.pyc
|
|
5
|
+
__pycache__
|
|
6
|
+
|
|
7
|
+
src/cython/vapoursynth.c
|
|
8
|
+
src/cython/vapoursynth.h
|
|
9
|
+
src/cython/vapoursynth_api.h
|
|
10
|
+
|
|
11
|
+
*.o
|
|
12
|
+
*.la
|
|
13
|
+
*.lo
|
|
14
|
+
*.so
|
|
15
|
+
*.dll
|
|
16
|
+
.libs
|
|
17
|
+
.deps/
|
|
18
|
+
.dirstamp
|
|
19
|
+
Makefile
|
|
20
|
+
Makefile.in
|
|
21
|
+
aclocal.m4
|
|
22
|
+
autom4te.cache
|
|
23
|
+
compile
|
|
24
|
+
config.guess
|
|
25
|
+
config.log
|
|
26
|
+
config.status
|
|
27
|
+
config.sub
|
|
28
|
+
configure
|
|
29
|
+
depcomp
|
|
30
|
+
install-sh
|
|
31
|
+
libtool
|
|
32
|
+
ltmain.sh
|
|
33
|
+
missing
|
|
34
|
+
vspipe
|
|
35
|
+
*.pc
|
|
36
|
+
|
|
37
|
+
dist/
|
|
38
|
+
.eggs
|
|
39
|
+
*.egg-info/
|
|
40
|
+
|
|
41
|
+
zimg/
|
|
42
|
+
AviSynthPlus
|
|
43
|
+
|
|
44
|
+
*.log
|
|
45
|
+
*.user
|
|
46
|
+
x64
|
|
47
|
+
Debug
|
|
48
|
+
Release
|
|
49
|
+
msvc_project/.vs
|
|
File without changes
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
API changes R3->R4
|
|
2
|
+
|
|
3
|
+
Header files:
|
|
4
|
+
All header files have had 4 appended to their name. The R4 files are called:
|
|
5
|
+
VapourSynth4.h
|
|
6
|
+
VSHelper4.h
|
|
7
|
+
VSScript4.h
|
|
8
|
+
VSConstants4.h
|
|
9
|
+
Where the constants one is new and has all the constants used for frame properties but aren't needed
|
|
10
|
+
to use the basic api.
|
|
11
|
+
|
|
12
|
+
Constant names:
|
|
13
|
+
A lot of the enums have changed prefixed. For example cm => cf, pa => ma and so on.
|
|
14
|
+
|
|
15
|
+
Video format:
|
|
16
|
+
Video formats are no longer pointers that can be compared for equivalence. Instead the full struct
|
|
17
|
+
is passed around. Format ids have also been converted to a uin32_t that stores all the same information.
|
|
18
|
+
Note that you still have to use the api to unpack it since otherwise v3 format ids won't be correctly
|
|
19
|
+
interpreted.
|
|
20
|
+
|
|
21
|
+
Core creation:
|
|
22
|
+
createCore() now takes a set of flags instead of a thread number since it can be set directly after
|
|
23
|
+
construction with setThreadCount() anyway. The flags control the few options that have to be set at
|
|
24
|
+
creation time and can't be changed later.
|
|
25
|
+
|
|
26
|
+
Plugin and function registration:
|
|
27
|
+
There's a completely new entry point called VapourSynthPluginInit2 with a different definition.
|
|
28
|
+
The relevant functions are now passed as function pointers in a struct like the main api.
|
|
29
|
+
Things mostly work the same but configPlugin() now takes an additional argument for the plugin
|
|
30
|
+
version number. It's recommended to use the VS_MAKE_VERSION macro for this. The "read only" field
|
|
31
|
+
has now been turned into a flags field where 0 is the new default value to make a plugin read only.
|
|
32
|
+
The flag pcModifiable has been introduced to get the R3 api behavior of passing 0.
|
|
33
|
+
|
|
34
|
+
Function registrations now take an additional argument for the return type that follows the same
|
|
35
|
+
format as the input arguments. If a function has an unknown or simple unpredictable return type
|
|
36
|
+
it can be set to "any". Note that R3 functions will have the "any" return type.
|
|
37
|
+
Since the audio types anode and a frame were introduced the video counterparts were renamed to
|
|
38
|
+
vnode and vframe instead of clip and frame.
|
|
39
|
+
|
|
40
|
+
VSMap/property manipulation:
|
|
41
|
+
All functions starting with prop* have been renamed to map*. Likewise get/setError has been renamed to
|
|
42
|
+
mapGet/SetError for greater consistency.
|
|
43
|
+
The paTouch mode has been removed and mapSetEmpty should be used instead in the rare cases where
|
|
44
|
+
it's needed.
|
|
45
|
+
Audio node and audio frame types were added and the types are now declared as normal enum constants
|
|
46
|
+
and not obscure characters. The best way to think about audio and video nodes are that they're two
|
|
47
|
+
separate types that happen to share functions to manipulate them. As a result of this reasoning a
|
|
48
|
+
single key in a VSMap can only hold audio or video nodes but not a mix of both. The same applies to
|
|
49
|
+
frames (but they're rarely used as arguments).
|
|
50
|
+
The data type now has a hint for whether the data should be treated as utf8 or binary which can be
|
|
51
|
+
useful for filters that print values. Data set by R3 filters will always be reported as unknown.
|
|
52
|
+
Two new convenience functions were added. mapGetSaturatedInt and mapGetSaturatedFloat which are
|
|
53
|
+
equivalent to int64ToIntS(propGetInt) and the same operation for float.
|
|
54
|
+
|
|
55
|
+
Filter changes:
|
|
56
|
+
createFilter has been replaced by createVideoFilter. The init callback has been deprecated and instead
|
|
57
|
+
VSVideoInfo is passed directly to createVideoFilter. Flags have been reworked and nfNoCache has been
|
|
58
|
+
replaced by the dependency listing. This is simply an array of the nodes used as input and whether
|
|
59
|
+
or not requests from them are strictly spatial. Note that if you take two different length clips as
|
|
60
|
+
input you may request the final frame of the shorter clip very many times and violate the strictly
|
|
61
|
+
spatial flag.
|
|
62
|
+
The nfMakeLinear flag has been replaced by the two api functions setLinearFilter and cacheFrame
|
|
63
|
+
which allows filters to push not requested frames into the cache. See FFMS2 and AVISource for
|
|
64
|
+
examples of this.
|
|
65
|
+
The getFrame callback has also been changed in two important ways, the void **instanceData pointer
|
|
66
|
+
has been changed to void * to remove the pointless additional indirection. The void **frameData
|
|
67
|
+
pointer now points to a scratch space of size void *[4] instead of only being a single pointer.
|
|
68
|
+
This can be used to not have to allocate and free memory on every frame processed. See the Splice
|
|
69
|
+
filter for an example of this.
|
|
70
|
+
The arFrameReady event has been completely removed since nobody used it.
|
|
71
|
+
Likewise YCoCg has been removed as a separate color family and is now simply considered to be YUV matrix.
|
|
72
|
+
|
|
73
|
+
Audio filter support:
|
|
74
|
+
Audio filters are created with createAudioFilter and work very similarly to video filters. Note that
|
|
75
|
+
all audio frames have a fixed size (VS_AUDIO_FRAME_SAMPLES) except for the last one in a clip that may
|
|
76
|
+
be shorter if necessary. This needs to be kept in mind when writing filters that append two clips.
|
|
77
|
+
|
|
78
|
+
Message handlers:
|
|
79
|
+
Message handlers are now registered per core and not globally to improve core and environment isolation.
|
|
80
|
+
Note that there's no longer a default handler that prints messages to stderr if no handler is installed
|
|
81
|
+
so direct users of the core/vsscript need to install one to still get messages printed.
|
|
82
|
+
There's also a new mtInformation level that's self-explanatory.
|
|
83
|
+
|
|
84
|
+
VSHelper:
|
|
85
|
+
The header now has all functions placed in the vsh namespace (C++) or prefixes them with vsh (C) in
|
|
86
|
+
order to not clutter things up as much. Several functions were also renamed for clarity.
|
|
87
|
+
Renamed functions:
|
|
88
|
+
all functions with a vs_ prefix had it removed (see C/C++ mode differences above)
|
|
89
|
+
isSameFormat => isSameVideoInfo (IMPORTANT! do not confuse with the new function called isSameVideoFormat)
|
|
90
|
+
isConstantFormat => isConstantVideoFormat
|
|
91
|
+
vs_aligned_malloc => vsh_aligned_malloc
|
|
92
|
+
vs_aligned_free => vsh_aligned_free
|
|
93
|
+
VS_ALIGNED_MALLOC => VSH_ALIGNED_MALLOC
|
|
94
|
+
VS_ALIGNED_FREE => VSH_ALIGNED_FREE
|
|
95
|
+
vs_normalizeRational => reduceRational
|
|
96
|
+
|
|
97
|
+
VSScript:
|
|
98
|
+
The api is mostly the same with the exception that createScript() has to be manually called in all cases and the API
|
|
99
|
+
now uses a struct of function pointers. It's also possible to pass a pre-created core to createScript() in order to set
|
|
100
|
+
options such as logging output before script evaluation.
|
|
101
|
+
VSScript also no longer changes the working directory by default when evaluating scripts. This option
|
|
102
|
+
has been removed due to it involving global state.
|
|
103
|
+
|
|
104
|
+
Python changes:
|
|
105
|
+
Multiple constants such as YCOCG have been dropped since they no longer exist in the C API.
|
|
106
|
+
Many deprecated functions like get_core() have been removed. Note that these functions have been deprecated since at
|
|
107
|
+
least R51 and usually much longer ago and therefore shouldn't cause problems.
|
|
108
|
+
Frame data access has been reworked and the broken get_read_array and get_write_array functions have been dropped.
|
|
109
|
+
They're replaced by frame[plane/channel] which will return a python array to access the underlying data directly without
|
|
110
|
+
a risk of access violations.
|