vapoursynth-bm3dhip 2.16__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_bm3dhip-2.16/CMakeLists.txt +8 -0
- vapoursynth_bm3dhip-2.16/DEVELOPMENT.md +23 -0
- vapoursynth_bm3dhip-2.16/PKG-INFO +189 -0
- vapoursynth_bm3dhip-2.16/README.md +15 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/.github/workflows/linux-arm64.yml +63 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/.github/workflows/linux.yml +140 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/.github/workflows/windows.yml +234 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/CMakeLists.txt +28 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/LICENSE +339 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/README.md +160 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/cpu_source/CMakeLists.txt +31 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/cpu_source/cpuid.h +44 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/cpu_source/source.cpp +1717 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/hip_source/CMakeLists.txt +34 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/hip_source/kernel.hip.cpp +869 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/hip_source/source.cpp +1039 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/rtc_source/CMakeLists.txt +50 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/rtc_source/kernel.hpp +1065 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/rtc_source/source.cpp +1399 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/source/CMakeLists.txt +27 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/source/kernel.cu +864 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/source/source.cpp +1029 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/sycl_source/CMakeLists.txt +30 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/sycl_source/kernel.cpp +983 -0
- vapoursynth_bm3dhip-2.16/VapourSynth-BM3DCUDA/sycl_source/source.cpp +1138 -0
- vapoursynth_bm3dhip-2.16/pyproject.toml +67 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/.codespellignore +6 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/.github/workflows/codespell.yml +15 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/.github/workflows/linux.yml +77 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/.github/workflows/macos.yml +63 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/.github/workflows/windows.yml +100 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/.gitignore +49 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/.gitmodules +0 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/APIV4 changes.txt +110 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/COPYING.LESSER +502 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/ChangeLog +769 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/MANIFEST.in +9 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/Makefile.am +162 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/README.md +10 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/autogen.sh +3 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/configure.ac +371 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/cython_build.bat +12 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/api/vapoursynth.h.rst +2635 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/api/vshelper.h.rst +204 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/api/vsscript.h.rst +330 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/apireference.rst +118 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/applications.rst +25 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/conf.py +252 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/custom/css/custom.css +19 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/assumesamplerate.rst +5 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/audiogain.rst +12 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/audioloop.rst +11 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/audiomix.rst +38 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/audioreverse.rst +10 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/audiosplice.rst +12 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/audiotrim.rst +10 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/blankaudio.rst +20 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/setaudiocache.rst +7 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/shufflechannels.rst +48 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/audio/splitchannels.rst +8 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/general/loadallplugins.rst +19 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/general/loadplugin.rst +26 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/general/loadpluginavs.rst +44 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/general/setmaxcpu.rst +14 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/addborders.rst +9 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/assumefps.rst +16 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/averageframes.rst +21 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/binarize_binarizemask.rst +34 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/blankclip.rst +18 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/boxblur.rst +8 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/cliptoprop.rst +15 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/convolution.rst +84 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/copyframeprops.rst +10 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/crop_cropabs.rst +20 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/deflate_inflate.rst +44 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/deleteframes.rst +11 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/doubleweave.rst +23 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/duplicateframes.rst +11 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/expr.rst +118 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/flipvertical_fliphorizontal.rst +8 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/frameeval.rst +77 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/freezeframes.rst +18 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/interleave.rst +19 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/invert_invertmask.rst +21 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/levels.rst +39 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/limiter.rst +23 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/loop.rst +11 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/lut.rst +39 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/lut2.rst +40 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/makediff.rst +15 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/maskedmerge.rst +35 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/median.rst +19 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/merge.rst +29 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/mergediff.rst +15 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/minimum_maximum.rst +69 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/modifyframe.rst +49 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/pemverifier.rst +14 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/planestats.rst +15 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/premultiply.rst +14 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/prewitt_sobel.rst +26 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/proptoclip.rst +12 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/removeframeprops.rst +9 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/resize.rst +278 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/reverse.rst +10 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/selectevery.rst +31 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/separatefields.rst +20 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/setfieldbased.rst +25 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/setframeprop.rst +20 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/setframeprops.rst +13 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/setvideocache.rst +27 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/shuffleplanes.rst +48 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/splice.rst +12 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/splitplanes.rst +8 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/stackvertical_stackhorizontal.rst +12 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/text/clipinfo.rst +9 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/text/coreinfo.rst +10 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/text/framenum.rst +9 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/text/frameprops.rst +10 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/text/text.rst +23 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/transpose.rst +18 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/trim.rst +17 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions/video/turn180.rst +7 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/functions.rst +38 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/gettingstarted.rst +42 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/index.rst +23 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/installation.rst +334 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/introduction.rst +36 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/make.bat +190 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/output.rst +125 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/doc/pythonreference.rst +1035 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/docs_build.bat +4 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/VSConstants4.h +93 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/VSHelper.h +174 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/VSHelper4.h +224 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/VSScript.h +85 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/VSScript4.h +97 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/VapourSynth.h +359 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/VapourSynth4.h +484 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/cython/vapoursynth.h +52 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/include/cython/vapoursynth_api.h +144 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/installer/CodeDependencies.iss +755 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/installer/MANIFEST.in +2 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/installer/make installers.bat +2 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/installer/make portable.bat +106 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/installer/setup.py +93 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/installer/template.vpy +1 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/installer/vs-detect-python.bat +10 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/installer/vsinstaller.iss +523 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/m4/ax_pthread.m4 +507 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/AVFS/AVFS.vcxproj +208 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/AVFS/AVFS.vcxproj.filters +101 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/AvsCompat/AvsCompat.vcxproj +183 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/AvsCompat/AvsCompat.vcxproj.filters +42 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/Core/Core.vcxproj +275 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/Core/Core.vcxproj.filters +228 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/ExprDebugger/ExprDebugger.vcxproj +152 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/ExprDebugger/ExprDebugger.vcxproj.filters +25 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VSPipe/VSPipe.vcxproj +179 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VSPipe/VSPipe.vcxproj.filters +57 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VSScript/VSScript.vcxproj +174 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VSScript/VSScript.vcxproj.filters +39 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VSScriptPython38/VSScriptPython38.vcxproj +173 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VSScriptPython38/VSScriptPython38.vcxproj.filters +36 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VSVFW/VSVFW.vcxproj +175 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VSVFW/VSVFW.vcxproj.filters +48 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/msvc_project/VapourSynth.sln +149 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/pc/vapoursynth-script.pc.in +14 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/pc/vapoursynth.pc.in +13 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/python-requirements.txt +6 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/sdk/filter_skeleton.c +58 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/sdk/invert_example.c +173 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/sdk/vsscript_example.c +117 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/setup.py +110 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/assertive.cpp +16 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/assertive.h +70 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/avfs.cpp +810 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/avfs.h +82 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/avfs.rc +45 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/avfsavi2.cpp +1715 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/avfsincludes.h +32 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/avfspfm.cpp +1653 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/avfspfm.h +64 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/avfswav.cpp +266 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/files.cpp +346 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/files.h +46 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/pfmapi.h +291 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/pfmenum.h +131 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/pfmformatter.h +54 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/pfmmarshaller.h +493 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/pfmprefix.h +46 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/pfmprotocol.h +552 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/ptblob.h +41 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/ptfactory1.h +221 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/ptpin.h +74 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/include/ptpublic.h +249 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/ss.cpp +156 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/ss.h +14 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/videoinfoadapter.h +203 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/vsfs.cpp +576 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/vsfs.h +70 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avfs/xxfs.h +53 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avisynth.h +1329 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avisynth_compat.cpp +1365 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avisynth_compat.h +231 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avs/alignment.h +134 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avs/capi.h +66 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avs/config.h +70 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avs/cpuid.h +80 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avs/minmax.h +54 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avs/types.h +57 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/avs/win.h +51 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/avisynth/interface.cpp +1077 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/common/fourcc.cpp +263 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/common/fourcc.h +40 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/common/vsutf16.h +43 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/common/wave.cpp +163 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/common/wave.h +82 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/VapourSynth3.h +281 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/audiofilters.cpp +1062 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/averageframesfilter.cpp +304 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/boxblurfilter.cpp +404 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/cpufeatures.cpp +121 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/cpufeatures.h +59 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/expr/expr.cpp +1536 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/expr/expr.h +110 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/expr/jitasm.h +9723 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/expr/jitcompiler.cpp +85 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/expr/jitcompiler.h +81 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/expr/jitcompiler_x86.cpp +1686 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/expr/main.cpp +85 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/exprfilter.cpp +373 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/filtershared.h +181 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/filtersharedcpp.h +146 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/genericfilters.cpp +1110 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/internalfilters.h +39 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/intrusive_ptr.h +90 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/average.cpp +89 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/average.h +28 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/cpulevel.cpp +57 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/cpulevel.h +51 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/generic.cpp +700 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/generic.h +173 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/merge.c +368 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/merge.h +130 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/planestats.c +174 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/planestats.h +83 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/transpose.c +58 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/transpose.h +181 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/x86/average_sse2.c +282 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/x86/generic_avx2.cpp +1239 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/x86/generic_sse2.cpp +1265 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/x86/merge_avx2.c +430 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/x86/merge_sse2.c +441 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/x86/planestats_avx2.c +361 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/x86/planestats_sse2.c +349 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/kernel/x86/transpose_sse2.c +182 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/lutfilters.cpp +538 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/memoryuse.cpp +279 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/memoryuse.h +97 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/mergefilters.cpp +685 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/reorderfilters.cpp +710 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/settings.cpp +151 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/settings.h +6 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/simplefilters.cpp +2492 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/ter-116n.h +4804 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/ter-116n.ofl.txt +94 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/textfilter.cpp +765 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/version.h +54 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/vsapi.cpp +1311 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/vscore.cpp +2415 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/vscore.h +1125 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/vslog.cpp +100 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/vslog.h +42 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/vsresize.cpp +905 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/vsthreadpool.cpp +408 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/core/x86utils.h +25 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/cython/vapoursynth.pxd +390 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/cython/vapoursynth.pyx +3111 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/cython/vsconstants.pxd +83 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/cython/vsscript.pxd +25 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/cython/vsscript_internal.pxd +31 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/vfw/vsvfw.cpp +956 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/vfw/vsvfw.def +5 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/vsscript/vsscript.cpp +355 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/src/vsscript/vsscript_internal.h +35 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/async_test.py +106 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/expr_compiler/compiler_test.py +22 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/expr_compiler/havs_exprs.txt +29 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/expr_compiler/muvs_exprs.txt +40 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/expr_compiler/reference_output.txt +1062 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/expr_test.py +391 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/filter_test.py +24 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/log_test.py +21 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/lut_test.py +70 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/prop_dict_test.py +101 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/test.py +239 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/weakref_test.py +31 -0
- vapoursynth_bm3dhip-2.16/vapoursynth/test/zimgtest.py +49 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.20)
|
|
2
|
+
project(BM3DCUDA_Package)
|
|
3
|
+
|
|
4
|
+
# Define the include path relative to this wrapper
|
|
5
|
+
set(VAPOURSYNTH_INCLUDE_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/vapoursynth/include" CACHE PATH "Path to VapourSynth headers")
|
|
6
|
+
|
|
7
|
+
# Add the submodule
|
|
8
|
+
add_subdirectory(VapourSynth-BM3DCUDA)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Links & Reminder Notes
|
|
2
|
+
|
|
3
|
+
## Compatibility Matrix
|
|
4
|
+
|
|
5
|
+
https://rocm.docs.amd.com/en/latest/compatibility/compatibility-matrix.html#gpu-compatibility
|
|
6
|
+
|
|
7
|
+
## How to install via package manager
|
|
8
|
+
|
|
9
|
+
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/install/install-methods/package-manager-index.html
|
|
10
|
+
|
|
11
|
+
Currently targetting RHEL 8 -> glic 2.28
|
|
12
|
+
|
|
13
|
+
## GPU_TARGETS
|
|
14
|
+
|
|
15
|
+
https://rocm.docs.amd.com/projects/install-on-linux/en/docs-6.4.2/reference/system-requirements.html#supported-gpus
|
|
16
|
+
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html#supported-gpus
|
|
17
|
+
|
|
18
|
+
## HIP Versionning
|
|
19
|
+
|
|
20
|
+
- Linux has individual version available on package managers.
|
|
21
|
+
- Windows has an installer AMD-Software-PRO-Edition released each quarter of the year. https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html
|
|
22
|
+
- 25.Q3-WinSvr2022 -> ROCm 6.4.2
|
|
23
|
+
- 26.Q1-Win11 -> ROCm 7.1.1
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: vapoursynth-bm3dhip
|
|
3
|
+
Version: 2.16
|
|
4
|
+
Summary: BM3D denoising filter for VapourSynth, implemented in HIP
|
|
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: VapourSynth-BM3DCUDA/LICENSE
|
|
9
|
+
Project-URL: Source Code, https://github.com/WolframRhodium/VapourSynth-BM3DCUDA
|
|
10
|
+
Project-URL: Bug Tracker, https://github.com/WolframRhodium/VapourSynth-BM3DCUDA/issues
|
|
11
|
+
Requires-Python: >=3.12
|
|
12
|
+
Requires-Dist: vapoursynth>=74
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
|
|
15
|
+
# VapourSynth-BM3DHIP
|
|
16
|
+
|
|
17
|
+
This package contains the HIP implementation of the [VapourSynth-BM3DCUDA](https://github.com/WolframRhodium/VapourSynth-BM3DCUDA) filter.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pip install vapoursynth-bm3dhip
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
Detailed parameter information from the parent project follows.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
# VapourSynth-BM3DCUDA
|
|
31
|
+
|
|
32
|
+
Copyright© 2021 WolframRhodium
|
|
33
|
+
|
|
34
|
+
BM3D denoising filter for VapourSynth, implemented in CUDA.
|
|
35
|
+
|
|
36
|
+
## Description
|
|
37
|
+
|
|
38
|
+
- Please check [VapourSynth-BM3D](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D).
|
|
39
|
+
|
|
40
|
+
- The `_rtc` version compiles GPU code at runtime, which might runs faster than standard version at the cost of a slight overhead.
|
|
41
|
+
|
|
42
|
+
- The `cpu` version is implemented in AVX and AVX2 intrinsics, serves as a reference implementation on CPU. However, _bitwise identical_ outputs are not guaranteed across CPU and CUDA implementations.
|
|
43
|
+
|
|
44
|
+
## Requirements
|
|
45
|
+
|
|
46
|
+
- CPU with AVX support.
|
|
47
|
+
|
|
48
|
+
- CUDA-enabled GPU(s) of [compute capability](https://developer.nvidia.com/cuda-gpus) 5.0 or higher (Maxwell+).
|
|
49
|
+
|
|
50
|
+
- GPU driver 450 or newer.
|
|
51
|
+
|
|
52
|
+
The minimum requirement on compute capability is 3.5, which requires manual compilation (specifying nvcc flag `-gencode arch=compute_35,code=sm_35`).
|
|
53
|
+
|
|
54
|
+
The `cpu` version does not require any external libraries but requires AVX2 support on CPU in addition.
|
|
55
|
+
|
|
56
|
+
## Parameters
|
|
57
|
+
|
|
58
|
+
```python3
|
|
59
|
+
{bm3dcuda, bm3dcuda_rtc, bm3dcpu}.BM3D(clip clip[, clip ref=None, float[] sigma=3.0, int[] block_step=8, int[] bm_range=9, int radius=0, int[] ps_num=2, int[] ps_range=4, bint chroma=False, int device_id=0, bool fast=True, int extractor_exp=0])
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
- clip:
|
|
63
|
+
|
|
64
|
+
The input clip. Must be of 32 bit float format. Each plane is denoised separately if `chroma` is set to `False`. Data of unprocessed planes is undefined. Frame properties of the output clip are copied from it.
|
|
65
|
+
|
|
66
|
+
- ref:
|
|
67
|
+
|
|
68
|
+
The reference clip. Must be of the same format, width, height, number of frames as `clip`.
|
|
69
|
+
|
|
70
|
+
Used in block-matching and as the reference in empirical Wiener filtering, i.e. `bm3d.Final` / `bm3d.VFinal`:
|
|
71
|
+
|
|
72
|
+
```python3
|
|
73
|
+
basic = core.{bm3dcpu, bm3dcuda, bm3dcuda_rtc}.BM3D(src, radius=0)
|
|
74
|
+
final = core.{bm3d...}.BM3D(src, ref=basic, radius=0)
|
|
75
|
+
|
|
76
|
+
vbasic = core.{bm3d...}.BM3D(src, radius=radius_nonzero).bm3d.VAggregate(radius=radius_nonzero)
|
|
77
|
+
vfinal = core.{bm3d...}.BM3D(src, ref=vbasic, radius=r).bm3d.VAggregate(radius=r)
|
|
78
|
+
|
|
79
|
+
# alternatively, using the v2 interface
|
|
80
|
+
basic_or_vbasic = core.{bm3dcpu, bm3dcuda, bm3dcuda_rtc}.BM3Dv2(src, radius=r)
|
|
81
|
+
final_or_vfinal = core.{bm3d...}.BM3Dv2(src, ref=basic_or_vbasic, radius=r)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
corresponds to the followings (ignoring color space handling and other differences in implementation), respectively
|
|
85
|
+
|
|
86
|
+
```python3
|
|
87
|
+
basic = core.bm3d.Basic(clip)
|
|
88
|
+
final = core.bm3d.Final(basic, ref=basic)
|
|
89
|
+
|
|
90
|
+
vbasic = core.bm3d.VBasic(src, radius=r).bm3d.VAggregate(radius=r, sample=1)
|
|
91
|
+
vfinal = core.bm3d.VFinal(src, ref=vbasic, radius=r).bm3d.VAggregate(radius=r)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
- sigma:
|
|
95
|
+
The strength of denoising for each plane.
|
|
96
|
+
|
|
97
|
+
The strength is similar (but not strictly equal) as `VapourSynth-BM3D` due to differences in implementation. (coefficient normalization is not implemented, for example)
|
|
98
|
+
|
|
99
|
+
Default `[3,3,3]`.
|
|
100
|
+
|
|
101
|
+
- block_step, bm_range, radius, ps_num, ps_range:
|
|
102
|
+
|
|
103
|
+
Same as those in `VapourSynth-BM3D`.
|
|
104
|
+
|
|
105
|
+
If `chroma` is set to `True`, only the first value is in effect.
|
|
106
|
+
|
|
107
|
+
Otherwise an array of values may be specified for each plane (except `radius`).
|
|
108
|
+
|
|
109
|
+
**Note**: It is generally not recommended to take a large value of `ps_num` as current implementations do not take duplicate block-matching candidates into account during temporary searching, which may leads to regression in denoising quality. This issue is not present in `VapourSynth-BM3D`.
|
|
110
|
+
|
|
111
|
+
**Note2**: Lowering the value of "block_step" will be useful in reducing blocking artifacts at the cost of slower processing.
|
|
112
|
+
|
|
113
|
+
- chroma:
|
|
114
|
+
|
|
115
|
+
CBM3D algorithm. `clip` must be of `YUV444PS` format.
|
|
116
|
+
|
|
117
|
+
Y channel is used in block-matching of chroma channels.
|
|
118
|
+
|
|
119
|
+
Default `False`.
|
|
120
|
+
|
|
121
|
+
- device_id:
|
|
122
|
+
|
|
123
|
+
Set GPU to be used.
|
|
124
|
+
|
|
125
|
+
Default `0`.
|
|
126
|
+
|
|
127
|
+
- fast:
|
|
128
|
+
|
|
129
|
+
Multi-threaded copy between CPU and GPU at the expense of 4x memory consumption.
|
|
130
|
+
|
|
131
|
+
Default `True`.
|
|
132
|
+
|
|
133
|
+
- extractor_exp:
|
|
134
|
+
|
|
135
|
+
Used for deterministic (bitwise) output. This parameter is not present in the `cpu` version since the implementation always produces deterministic output.
|
|
136
|
+
|
|
137
|
+
[Pre-rounding](https://ieeexplore.ieee.org/document/6545904) is employed for associative floating-point summation.
|
|
138
|
+
|
|
139
|
+
The value should be a positive integer not less than 3, and may need to be higher depending on the source video and filter parameters.
|
|
140
|
+
|
|
141
|
+
Default `0`. (non-determinism)
|
|
142
|
+
|
|
143
|
+
## Notes
|
|
144
|
+
|
|
145
|
+
- `bm3d.VAggregate` should be called after temporal filtering, as in `VapourSynth-BM3D`. Alternatively, you may use the `BM3Dv2()` interface for both spatial and temporal denoising in one step.
|
|
146
|
+
|
|
147
|
+
- The `_rtc` version has three additional experimental parameters:
|
|
148
|
+
|
|
149
|
+
- bm_error_s: (string)
|
|
150
|
+
|
|
151
|
+
Specify cost for block similarity measurement.
|
|
152
|
+
|
|
153
|
+
Currently implemented costs:
|
|
154
|
+
`SSD` (Sum of Squared Differences),
|
|
155
|
+
`SAD` (Sum of Absolute Differences),
|
|
156
|
+
`ZSSD` (Zero-mean SSD),
|
|
157
|
+
`ZSAD` (Zero-mean SAD),
|
|
158
|
+
`SSD/NORM`.
|
|
159
|
+
|
|
160
|
+
Default `SSD`.
|
|
161
|
+
|
|
162
|
+
- transform_2d_s/transform_1d_s: (string)
|
|
163
|
+
|
|
164
|
+
Specify type of transform.
|
|
165
|
+
|
|
166
|
+
Currently implemented transforms:
|
|
167
|
+
`DCT` (Discrete Cosine Transform),
|
|
168
|
+
`Haar` (Haar Transform),
|
|
169
|
+
`WHT` (Walsh–Hadamard Transform),
|
|
170
|
+
`Bior1.5` (transform based on a bi-orthogonal spline wavelet).
|
|
171
|
+
|
|
172
|
+
Default `DCT`.
|
|
173
|
+
|
|
174
|
+
These features are not implemented in the standard version due to performance and binary size concerns.
|
|
175
|
+
|
|
176
|
+
## Statistics
|
|
177
|
+
|
|
178
|
+
GPU memory consumptions:
|
|
179
|
+
|
|
180
|
+
`(ref ? 4 : 3) * (chroma ? 3 : 1) * (fast ? 4 : 1) * (2 * radius + 1) * size_of_a_single_frame`
|
|
181
|
+
|
|
182
|
+
## Compilation
|
|
183
|
+
- The CMake configuration of `BM3DCUDA_RTC` links to NVRTC static library by default, which requires CUDA 11.5 or later.
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
cmake -S . -B build -D CMAKE_BUILD_TYPE=Release -D CMAKE_CUDA_FLAGS="--threads 0 --use_fast_math -Wno-deprecated-gpu-targets" -D CMAKE_CUDA_ARCHITECTURES="50;61-real;75-real;86"
|
|
187
|
+
|
|
188
|
+
cmake --build build --config Release
|
|
189
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# VapourSynth-BM3DHIP
|
|
2
|
+
|
|
3
|
+
This package contains the HIP implementation of the [VapourSynth-BM3DCUDA](https://github.com/WolframRhodium/VapourSynth-BM3DCUDA) filter.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install vapoursynth-bm3dhip
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
Detailed parameter information from the parent project follows.
|
|
14
|
+
|
|
15
|
+
---
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
name: Build (Linux, ARM64)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
paths:
|
|
6
|
+
- 'CMakeLists.txt'
|
|
7
|
+
- 'source/*'
|
|
8
|
+
- 'cpu_source/*'
|
|
9
|
+
- 'hip_source/*'
|
|
10
|
+
- 'rtc_source/*'
|
|
11
|
+
- 'sycl_source/*'
|
|
12
|
+
- '.github/workflows/linux-arm64.yml'
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
build-linux:
|
|
17
|
+
runs-on: ubuntu-24.04-arm
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout repo
|
|
20
|
+
uses: actions/checkout@v4
|
|
21
|
+
with:
|
|
22
|
+
fetch-depth: 0
|
|
23
|
+
|
|
24
|
+
- name: Setup Ninja
|
|
25
|
+
run: pip install ninja
|
|
26
|
+
|
|
27
|
+
- name: Download VapourSynth headers
|
|
28
|
+
run: |
|
|
29
|
+
wget -q -O vs.zip https://github.com/vapoursynth/vapoursynth/archive/refs/tags/R57.zip
|
|
30
|
+
unzip -q vs.zip
|
|
31
|
+
mv vapoursynth*/ vapoursynth
|
|
32
|
+
|
|
33
|
+
- name: Setup CUDA
|
|
34
|
+
run: |
|
|
35
|
+
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/sbsa/cuda-keyring_1.1-1_all.deb
|
|
36
|
+
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
37
|
+
sudo apt-get update
|
|
38
|
+
sudo apt-get install -y cuda-nvcc-12-8 cuda-cudart-dev-12-8 cuda-nvrtc-dev-12-8
|
|
39
|
+
echo "PATH=/usr/local/cuda/bin${PATH:+:${PATH}}" >> $GITHUB_ENV
|
|
40
|
+
echo "CUDA_PATH=/usr/local/cuda" >> $GITHUB_ENV
|
|
41
|
+
echo "LD_LIBRARY_PATH=/usr/local/cuda/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" >> $GITHUB_ENV
|
|
42
|
+
|
|
43
|
+
- name: Configure (CUDA)
|
|
44
|
+
run: cmake -S . -B build -G Ninja -LA
|
|
45
|
+
-D ENABLE_CPU=OFF
|
|
46
|
+
-D USE_NVRTC_STATIC=ON
|
|
47
|
+
-D VAPOURSYNTH_INCLUDE_DIRECTORY="`pwd`/vapoursynth/include"
|
|
48
|
+
-D CMAKE_BUILD_TYPE=Release
|
|
49
|
+
-D CMAKE_CXX_FLAGS="-Wall -ffast-math"
|
|
50
|
+
-D CMAKE_CUDA_FLAGS="--threads 0 --use_fast_math --resource-usage -Wno-deprecated-gpu-targets"
|
|
51
|
+
-D CMAKE_CUDA_ARCHITECTURES="50;61-real;70;75-real;86-real;89-real;90-real;100-real;120-real"
|
|
52
|
+
|
|
53
|
+
- name: Build (CUDA)
|
|
54
|
+
run: cmake --build build --verbose
|
|
55
|
+
|
|
56
|
+
- name: Install (CUDA)
|
|
57
|
+
run: cmake --install build --prefix artifact
|
|
58
|
+
|
|
59
|
+
- name: Upload
|
|
60
|
+
uses: actions/upload-artifact@v4
|
|
61
|
+
with:
|
|
62
|
+
name: VapourSynth-BM3DCUDA-Linux-ARM64
|
|
63
|
+
path: artifact
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
name: Build (Linux)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
paths:
|
|
6
|
+
- 'CMakeLists.txt'
|
|
7
|
+
- 'source/*'
|
|
8
|
+
- 'cpu_source/*'
|
|
9
|
+
- 'hip_source/*'
|
|
10
|
+
- 'rtc_source/*'
|
|
11
|
+
- 'sycl_source/*'
|
|
12
|
+
- '.github/workflows/linux.yml'
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
build-linux:
|
|
17
|
+
runs-on: ubuntu-24.04
|
|
18
|
+
steps:
|
|
19
|
+
- name: Checkout repo
|
|
20
|
+
uses: actions/checkout@v4
|
|
21
|
+
with:
|
|
22
|
+
fetch-depth: 0
|
|
23
|
+
|
|
24
|
+
- name: Setup Ninja
|
|
25
|
+
run: pip install ninja
|
|
26
|
+
|
|
27
|
+
- name: Download VapourSynth headers
|
|
28
|
+
run: |
|
|
29
|
+
wget -q -O vs.zip https://github.com/vapoursynth/vapoursynth/archive/refs/tags/R57.zip
|
|
30
|
+
unzip -q vs.zip
|
|
31
|
+
mv vapoursynth*/ vapoursynth
|
|
32
|
+
|
|
33
|
+
- name: Setup CUDA
|
|
34
|
+
run: |
|
|
35
|
+
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
|
|
36
|
+
sudo dpkg -i cuda-keyring_1.1-1_all.deb
|
|
37
|
+
sudo apt-get update
|
|
38
|
+
sudo apt-get install -y cuda-nvcc-12-8 cuda-cudart-dev-12-8 cuda-nvrtc-dev-12-8
|
|
39
|
+
echo "PATH=/usr/local/cuda/bin${PATH:+:${PATH}}" >> $GITHUB_ENV
|
|
40
|
+
echo "CUDA_PATH=/usr/local/cuda" >> $GITHUB_ENV
|
|
41
|
+
echo "LD_LIBRARY_PATH=/usr/local/cuda/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" >> $GITHUB_ENV
|
|
42
|
+
|
|
43
|
+
- name: Configure (CUDA, CPU)
|
|
44
|
+
run: cmake -S . -B build -G Ninja -LA
|
|
45
|
+
-D USE_NVRTC_STATIC=ON
|
|
46
|
+
-D VAPOURSYNTH_INCLUDE_DIRECTORY="`pwd`/vapoursynth/include"
|
|
47
|
+
-D CMAKE_BUILD_TYPE=Release
|
|
48
|
+
-D CMAKE_CXX_FLAGS="-Wall -ffast-math -march=x86-64-v3"
|
|
49
|
+
-D CMAKE_CUDA_FLAGS="--threads 0 --use_fast_math --resource-usage -Wno-deprecated-gpu-targets"
|
|
50
|
+
-D CMAKE_CUDA_ARCHITECTURES="50;61-real;70;75-real;86-real;89-real;90-real;100-real;120-real"
|
|
51
|
+
|
|
52
|
+
- name: Build (CUDA, CPU)
|
|
53
|
+
run: cmake --build build --verbose
|
|
54
|
+
|
|
55
|
+
- name: Install (CUDA, CPU)
|
|
56
|
+
run: cmake --install build --prefix artifact
|
|
57
|
+
|
|
58
|
+
- name: Setup HIP
|
|
59
|
+
run: |
|
|
60
|
+
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
|
|
61
|
+
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/6.0 jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
|
|
62
|
+
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
|
|
63
|
+
sudo apt update
|
|
64
|
+
sudo apt install hip-runtime-amd rocm-device-libs
|
|
65
|
+
|
|
66
|
+
- name: Configure (HIP)
|
|
67
|
+
run: cmake -S . -B build_hip -G Ninja -LA
|
|
68
|
+
-D CMAKE_BUILD_TYPE=Release
|
|
69
|
+
-D ENABLE_CPU=OFF -D ENABLE_CUDA=OFF -D ENABLE_HIP=ON
|
|
70
|
+
-D CMAKE_CXX_COMPILER=/opt/rocm/bin/amdclang++
|
|
71
|
+
-D CMAKE_CXX_FLAGS="-Wall -ffast-math -munsafe-fp-atomics -Rpass-analysis=kernel-resource-usage"
|
|
72
|
+
-D VAPOURSYNTH_INCLUDE_DIRECTORY="`pwd`/vapoursynth/include"
|
|
73
|
+
-D HIP_DIR=/opt/rocm/lib/cmake/hip
|
|
74
|
+
-D AMDDeviceLibs_DIR=/opt/rocm/lib/cmake/AMDDeviceLibs
|
|
75
|
+
-D amd_comgr_DIR=/opt/rocm/lib/cmake/amd_comgr
|
|
76
|
+
-D hsa-runtime64_DIR=/opt/rocm/lib/cmake/hsa-runtime64
|
|
77
|
+
-D GPU_TARGETS="gfx1010;gfx1011;gfx1012;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103"
|
|
78
|
+
|
|
79
|
+
- name: Build (HIP)
|
|
80
|
+
run: cmake --build build_hip --verbose
|
|
81
|
+
|
|
82
|
+
- name: Install (HIP)
|
|
83
|
+
run: cmake --install build_hip --prefix artifact
|
|
84
|
+
|
|
85
|
+
- name: Setup SYCL
|
|
86
|
+
if: false
|
|
87
|
+
run: |
|
|
88
|
+
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
|
|
89
|
+
| gpg --dearmor \
|
|
90
|
+
| sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
|
|
91
|
+
|
|
92
|
+
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \
|
|
93
|
+
| sudo tee /etc/apt/sources.list.d/oneAPI.list
|
|
94
|
+
|
|
95
|
+
sudo apt-get update
|
|
96
|
+
sudo apt-get install -y intel-oneapi-dpcpp-cpp-2024.0
|
|
97
|
+
|
|
98
|
+
- name: Setup ocloc
|
|
99
|
+
if: false
|
|
100
|
+
run: |
|
|
101
|
+
wget -qO - https://repositories.intel.com/gpu/intel-graphics.key \
|
|
102
|
+
| sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
|
|
103
|
+
|
|
104
|
+
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/gpu/ubuntu jammy client" \
|
|
105
|
+
| sudo tee /etc/apt/sources.list.d/intel-gpu-jammy.list
|
|
106
|
+
|
|
107
|
+
sudo apt-get update
|
|
108
|
+
sudo apt-get install -y intel-ocloc
|
|
109
|
+
|
|
110
|
+
ocloc compile --help
|
|
111
|
+
|
|
112
|
+
- name: Configure (SYCL)
|
|
113
|
+
if: false
|
|
114
|
+
run: |
|
|
115
|
+
source /opt/intel/oneapi/compiler/latest/env/vars.sh
|
|
116
|
+
|
|
117
|
+
cmake -S . -B build_sycl -G Ninja -LA \
|
|
118
|
+
-D CMAKE_BUILD_TYPE=Release \
|
|
119
|
+
-D ENABLE_CPU=OFF -D ENABLE_CUDA=OFF -D ENABLE_HIP=OFF -D ENABLE_SYCL=ON \
|
|
120
|
+
-D VAPOURSYNTH_INCLUDE_DIRECTORY="`pwd`/vapoursynth/include" \
|
|
121
|
+
-D CMAKE_CXX_COMPILER=icpx \
|
|
122
|
+
-D CMAKE_CXX_FLAGS="-Wall -ffast-math -march=x86-64-v3" \
|
|
123
|
+
-D CMAKE_SHARED_LINKER_FLAGS="-fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen \"-device gen12lp,xe-hpg,xe-lpg,xe-lpgplus\""
|
|
124
|
+
|
|
125
|
+
- name: Build (SYCL)
|
|
126
|
+
if: false
|
|
127
|
+
run: |
|
|
128
|
+
source /opt/intel/oneapi/compiler/latest/env/vars.sh
|
|
129
|
+
|
|
130
|
+
cmake --build build_sycl --verbose
|
|
131
|
+
|
|
132
|
+
- name: Install (SYCL)
|
|
133
|
+
if: false
|
|
134
|
+
run: cmake --install build_sycl --prefix artifact
|
|
135
|
+
|
|
136
|
+
- name: Upload
|
|
137
|
+
uses: actions/upload-artifact@v4
|
|
138
|
+
with:
|
|
139
|
+
name: VapourSynth-BM3DCUDA-Linux
|
|
140
|
+
path: artifact
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
name: Build (Windows)
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
paths:
|
|
6
|
+
- 'CMakeLists.txt'
|
|
7
|
+
- 'source/*'
|
|
8
|
+
- 'cpu_source/*'
|
|
9
|
+
- 'rtc_source/*'
|
|
10
|
+
- 'hip_source/*'
|
|
11
|
+
- 'sycl_source/*'
|
|
12
|
+
- '.github/workflows/windows.yml'
|
|
13
|
+
workflow_dispatch:
|
|
14
|
+
inputs:
|
|
15
|
+
tag:
|
|
16
|
+
description: 'which tag to upload to'
|
|
17
|
+
default: ''
|
|
18
|
+
|
|
19
|
+
jobs:
|
|
20
|
+
build-windows:
|
|
21
|
+
runs-on: windows-2022
|
|
22
|
+
|
|
23
|
+
defaults:
|
|
24
|
+
run:
|
|
25
|
+
shell: cmd
|
|
26
|
+
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout repo
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
with:
|
|
31
|
+
fetch-depth: 1
|
|
32
|
+
|
|
33
|
+
- name: Setup MSVC
|
|
34
|
+
uses: ilammy/msvc-dev-cmd@v1
|
|
35
|
+
|
|
36
|
+
- name: Setup Ninja
|
|
37
|
+
run: pip install ninja
|
|
38
|
+
|
|
39
|
+
- name: Download VapourSynth headers
|
|
40
|
+
run: |
|
|
41
|
+
curl -s -o vs.zip -L https://github.com/vapoursynth/vapoursynth/archive/refs/tags/R57.zip
|
|
42
|
+
unzip -q vs.zip
|
|
43
|
+
mv vapoursynth-*/ vapoursynth/
|
|
44
|
+
|
|
45
|
+
- name: Cache CUDA
|
|
46
|
+
id: cache-cuda
|
|
47
|
+
uses: actions/cache@v4
|
|
48
|
+
with:
|
|
49
|
+
path: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
|
|
50
|
+
key: ${{ runner.os }}-cuda-13.0.1
|
|
51
|
+
|
|
52
|
+
- name: Setup CUDA
|
|
53
|
+
if: steps.cache-cuda.outputs.cache-hit != 'true'
|
|
54
|
+
run: |
|
|
55
|
+
curl -s -o cuda_installer.exe -L https://developer.download.nvidia.com/compute/cuda/13.0.1/network_installers/cuda_13.0.1_windows_network.exe
|
|
56
|
+
cuda_installer.exe -s nvcc_13.0 cudart_13.0 nvrtc_dev_13.0 crt_13.0 nvptxcompiler_13.0 nvvm_13.0
|
|
57
|
+
|
|
58
|
+
- name: Configure (CUDA)
|
|
59
|
+
shell: bash
|
|
60
|
+
run: cmake -S . -B build -G Ninja -LA
|
|
61
|
+
-D CMAKE_BUILD_TYPE=Release
|
|
62
|
+
-D ENABLE_CUDA=ON
|
|
63
|
+
-D ENABLE_CPU=OFF
|
|
64
|
+
-D USE_NVRTC_STATIC=ON
|
|
65
|
+
-D VAPOURSYNTH_INCLUDE_DIRECTORY="$(pwd)\vapoursynth\include"
|
|
66
|
+
-D CMAKE_CXX_FLAGS="/fp:fast /arch:AVX /EHsc"
|
|
67
|
+
-D CMAKE_CUDA_FLAGS="--threads 0 --use_fast_math --resource-usage -Wno-deprecated-gpu-targets"
|
|
68
|
+
-D CMAKE_CUDA_ARCHITECTURES="75;86-real;89-real;120-real"
|
|
69
|
+
-D CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
|
|
70
|
+
env:
|
|
71
|
+
CUDA_PATH: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0
|
|
72
|
+
|
|
73
|
+
- name: Build (CUDA)
|
|
74
|
+
run: cmake --build build --verbose
|
|
75
|
+
|
|
76
|
+
- name: Install (CUDA)
|
|
77
|
+
run: cmake --install build --prefix install
|
|
78
|
+
|
|
79
|
+
- name: Configure, build, install (CPU)
|
|
80
|
+
shell: bash
|
|
81
|
+
run: for arch in haswell skylake icelake-client alderlake znver1 znver2 znver3 znver4 znver5; do
|
|
82
|
+
cmake -S . -B build_cpu -G Ninja -LA
|
|
83
|
+
-D CMAKE_BUILD_TYPE=Release
|
|
84
|
+
-D ENABLE_CUDA=OFF
|
|
85
|
+
-D ENABLE_CPU=ON
|
|
86
|
+
-D VAPOURSYNTH_INCLUDE_DIRECTORY="$(pwd)\vapoursynth\include"
|
|
87
|
+
-D CMAKE_CXX_COMPILER="clang++.exe"
|
|
88
|
+
-D CMAKE_CXX_FLAGS="-mtune=${arch} -ffast-math"
|
|
89
|
+
-D CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
|
|
90
|
+
&& cmake --build build_cpu --verbose
|
|
91
|
+
&& cmake --install build_cpu --prefix temp
|
|
92
|
+
&& mv temp/bin/bm3dcpu.dll install/bin/bm3dcpu-${arch}.dll -v;
|
|
93
|
+
done
|
|
94
|
+
|
|
95
|
+
- name: Cache HIP
|
|
96
|
+
id: cache-hip
|
|
97
|
+
uses: actions/cache@v4
|
|
98
|
+
with:
|
|
99
|
+
path: C:\Program Files\AMD\ROCM
|
|
100
|
+
key: ${{ runner.os }}-rocm-6.4.2
|
|
101
|
+
|
|
102
|
+
- name: Setup HIP
|
|
103
|
+
if: steps.cache-hip.outputs.cache-hit != 'true'
|
|
104
|
+
shell: pwsh
|
|
105
|
+
run: |
|
|
106
|
+
curl -s -o hip_installer.exe -L https://download.amd.com/developer/eula/rocm-hub/AMD-Software-PRO-Edition-25.Q3-WinSvr2022-For-HIP.exe
|
|
107
|
+
Start-Process hip_installer.exe -ArgumentList '-install' -NoNewWindow -Wait
|
|
108
|
+
|
|
109
|
+
- name: Configure (HIP)
|
|
110
|
+
shell: bash
|
|
111
|
+
run: cmake -S . -B build_hip -G Ninja -LA
|
|
112
|
+
-D CMAKE_BUILD_TYPE=Release
|
|
113
|
+
-D ENABLE_CUDA=OFF
|
|
114
|
+
-D ENABLE_CPU=OFF
|
|
115
|
+
-D ENABLE_HIP=ON
|
|
116
|
+
-D VAPOURSYNTH_INCLUDE_DIRECTORY="$(pwd)\vapoursynth\include"
|
|
117
|
+
-D CMAKE_CXX_COMPILER="C:/Program Files/AMD/ROCm/6.4/bin/clang++.exe"
|
|
118
|
+
-D CMAKE_CXX_FLAGS="-ffast-math -munsafe-fp-atomics -Rpass-analysis=kernel-resource-usage"
|
|
119
|
+
-D HIP_DIR="C:/Program Files/AMD/ROCm/6.4/lib/cmake/hip"
|
|
120
|
+
-D HIP_PLATFORM=amd
|
|
121
|
+
-D GPU_TARGETS="gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx1151;gfx1200;gfx1201"
|
|
122
|
+
-D CMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
|
|
123
|
+
|
|
124
|
+
- name: Build (HIP)
|
|
125
|
+
run: cmake --build build_hip --verbose
|
|
126
|
+
|
|
127
|
+
- name: Install (HIP)
|
|
128
|
+
run: cmake --install build_hip --prefix install
|
|
129
|
+
|
|
130
|
+
- name: Cache SYCL
|
|
131
|
+
if: false
|
|
132
|
+
id: cache-sycl
|
|
133
|
+
uses: actions/cache@v4
|
|
134
|
+
with:
|
|
135
|
+
path: C:\Program Files (x86)\Intel\oneAPI
|
|
136
|
+
key: ${{ runner.os }}-dpcpp-2024.0
|
|
137
|
+
|
|
138
|
+
- name: Setup SYCL
|
|
139
|
+
if: false && steps.cache-sycl.outputs.cache-hit != 'true'
|
|
140
|
+
run: |
|
|
141
|
+
curl -J -o dpcpp_installer.exe https://registrationcenter-download.intel.com/akdlm/IRC_NAS/94e15cb5-4bcc-4fdd-91cf-0f819a54e42e/w_dpcpp-cpp-compiler_p_2024.0.2.28_offline.exe
|
|
142
|
+
dpcpp_installer -s -a -s --eula accept
|
|
143
|
+
|
|
144
|
+
- name: Setup ocloc (Gen12+)
|
|
145
|
+
if: false
|
|
146
|
+
shell: pwsh
|
|
147
|
+
run: |
|
|
148
|
+
$env:PATH = "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\lib\ocloc;$env:PATH"
|
|
149
|
+
"PATH=$env:PATH" | Out-File -Append -FilePath $env:GITHUB_ENV
|
|
150
|
+
|
|
151
|
+
- name: Configure (SYCL, Gen12+)
|
|
152
|
+
if: false
|
|
153
|
+
run: |
|
|
154
|
+
ocloc compile --help
|
|
155
|
+
|
|
156
|
+
call "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\env\vars.bat"
|
|
157
|
+
|
|
158
|
+
cmake -S . -B build_sycl_gen12+ -G Ninja -LA ^
|
|
159
|
+
-D CMAKE_BUILD_TYPE=Release ^
|
|
160
|
+
-D ENABLE_CUDA=OFF ^
|
|
161
|
+
-D ENABLE_CPU=OFF ^
|
|
162
|
+
-D ENABLE_HIP=OFF ^
|
|
163
|
+
-D ENABLE_SYCL=ON ^
|
|
164
|
+
-D VAPOURSYNTH_INCLUDE_DIRECTORY="%cd%\vapoursynth\include" ^
|
|
165
|
+
-D CMAKE_CXX_COMPILER=icx ^
|
|
166
|
+
-D CMAKE_CXX_FLAGS="-ffast-math -mavx" ^
|
|
167
|
+
-D CMAKE_SHARED_LINKER_FLAGS="-fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen \"-device gen12lp,xe-hpg\""
|
|
168
|
+
|
|
169
|
+
- name: Build (SYCL, Gen12+)
|
|
170
|
+
if: false
|
|
171
|
+
run: |
|
|
172
|
+
call "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\env\vars.bat"
|
|
173
|
+
|
|
174
|
+
cmake --build build_sycl_gen12+ --verbose
|
|
175
|
+
|
|
176
|
+
- name: Install (SYCL, Gen12+)
|
|
177
|
+
if: false
|
|
178
|
+
run: echo f | xcopy build_sycl_gen12+\sycl_source\bm3dsycl.dll install\bin\bm3dsycl_gen12+.dll /f
|
|
179
|
+
|
|
180
|
+
- name: Prepare for upload
|
|
181
|
+
run: |
|
|
182
|
+
mkdir artifact
|
|
183
|
+
copy install\bin\*.dll artifact
|
|
184
|
+
|
|
185
|
+
- name: Upload
|
|
186
|
+
uses: actions/upload-artifact@v4
|
|
187
|
+
with:
|
|
188
|
+
name: VapourSynth-BM3DCUDA-Windows
|
|
189
|
+
path: artifact
|
|
190
|
+
|
|
191
|
+
- name: Compress artifact for release
|
|
192
|
+
if: github.event_name == 'workflow_dispatch' && github.event.inputs.tag != ''
|
|
193
|
+
run: |
|
|
194
|
+
cd artifact
|
|
195
|
+
|
|
196
|
+
mkdir VapourSynth-BM3DCUDA-${{ github.event.inputs.tag }}
|
|
197
|
+
xcopy bm3dcuda.dll VapourSynth-BM3DCUDA-${{ github.event.inputs.tag }} /f
|
|
198
|
+
7z a -t7z -mx=9 ../VapourSynth-BM3DCUDA-${{ github.event.inputs.tag }}.7z VapourSynth-BM3DCUDA-${{ github.event.inputs.tag }}
|
|
199
|
+
|
|
200
|
+
mkdir VapourSynth-BM3DCUDA_RTC-${{ github.event.inputs.tag }}
|
|
201
|
+
xcopy bm3dcuda_rtc.dll VapourSynth-BM3DCUDA_RTC-${{ github.event.inputs.tag }} /f
|
|
202
|
+
7z a -t7z -mx=9 ../VapourSynth-BM3DCUDA_RTC-${{ github.event.inputs.tag }}.7z VapourSynth-BM3DCUDA_RTC-${{ github.event.inputs.tag }}
|
|
203
|
+
|
|
204
|
+
mkdir VapourSynth-BM3DCPU-${{ github.event.inputs.tag }}
|
|
205
|
+
xcopy bm3dcpu-*.dll VapourSynth-BM3DCPU-${{ github.event.inputs.tag }} /f
|
|
206
|
+
7z a -t7z -mx=9 ../VapourSynth-BM3DCPU-${{ github.event.inputs.tag }}.7z VapourSynth-BM3DCPU-${{ github.event.inputs.tag }}
|
|
207
|
+
|
|
208
|
+
mkdir VapourSynth-BM3DHIP-${{ github.event.inputs.tag }}
|
|
209
|
+
xcopy bm3dhip.dll VapourSynth-BM3DHIP-${{ github.event.inputs.tag }} /f
|
|
210
|
+
7z a -t7z -mx=9 ../VapourSynth-BM3DHIP-${{ github.event.inputs.tag }}.7z VapourSynth-BM3DHIP-${{ github.event.inputs.tag }}
|
|
211
|
+
|
|
212
|
+
:: mkdir VapourSynth-BM3DSYCL-${{ github.event.inputs.tag }}
|
|
213
|
+
:: xcopy bm3dsycl_*.dll VapourSynth-BM3DSYCL-${{ github.event.inputs.tag }} /f
|
|
214
|
+
:: 7z a -t7z -mx=9 ../VapourSynth-BM3DSYCL-${{ github.event.inputs.tag }}.7z VapourSynth-BM3DSYCL-${{ github.event.inputs.tag }}
|
|
215
|
+
|
|
216
|
+
:: mkdir SYCL-Runtime-${{ github.event.inputs.tag }}
|
|
217
|
+
:: echo f | xcopy "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\bin\sycl6.dll" SYCL-Runtime-${{ github.event.inputs.tag }} /f
|
|
218
|
+
:: echo f | xcopy "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\bin\pi_*.dll" SYCL-Runtime-${{ github.event.inputs.tag }} /f /i
|
|
219
|
+
:: echo f | xcopy "C:\Program Files (x86)\Intel\oneAPI\compiler\latest\windows\redist\intel64_win\compiler\libmmd.dll" SYCL-Runtime-${{ github.event.inputs.tag }} /f
|
|
220
|
+
:: 7z a -t7z -mx=9 ../SYCL-Runtime-${{ github.event.inputs.tag }}.7z SYCL-Runtime-${{ github.event.inputs.tag }}
|
|
221
|
+
|
|
222
|
+
- name: Release
|
|
223
|
+
uses: softprops/action-gh-release@v1
|
|
224
|
+
if: github.event_name == 'workflow_dispatch' && github.event.inputs.tag != ''
|
|
225
|
+
with:
|
|
226
|
+
tag_name: ${{ github.event.inputs.tag }}
|
|
227
|
+
files: |
|
|
228
|
+
VapourSynth-BM3DCUDA-${{ github.event.inputs.tag }}.7z
|
|
229
|
+
VapourSynth-BM3DCUDA_RTC-${{ github.event.inputs.tag }}.7z
|
|
230
|
+
VapourSynth-BM3DCPU-${{ github.event.inputs.tag }}.7z
|
|
231
|
+
VapourSynth-BM3DHIP-${{ github.event.inputs.tag }}.7z
|
|
232
|
+
fail_on_unmatched_files: true
|
|
233
|
+
generate_release_notes: false
|
|
234
|
+
prerelease: true
|