Metadata-Version: 2.4
Name: vsjetpack
Version: 1.5.0
Summary: Full suite of filters, wrappers, and helper functions for filtering video using VapourSynth
Project-URL: Documentation, https://jaded-encoding-thaumaturgy.github.io/vs-jetpack/
Project-URL: Source Code, https://github.com/Jaded-Encoding-Thaumaturgy/vs-jetpack
Project-URL: Tracker, https://github.com/Jaded-Encoding-Thaumaturgy/vs-jetpack/issues
Project-URL: Contact, https://discord.gg/XTpc6Fa9eB
Author: Jaded Encoding Thaumaturgy
Maintainer-email: Jaded Encoding Thaumaturgy <jaded.encoding.thaumaturgy@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: encoding,helpers,vapoursynth,video,vsaa,vsdeband,vsdehalo,vsdeinterlace,vsdenoise,vsexprtools,vskernels,vsmasktools,vsrgtools,vsscale,vssource,vstools,wrappers
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Multimedia :: Graphics
Classifier: Typing :: Typed
Requires-Python: >=3.12
Requires-Dist: jetpytools~=2.2.1
Requires-Dist: numpy>=2.0.0
Requires-Dist: typing-extensions>=4.15.0; python_version < '3.13'
Requires-Dist: vapoursynth>=73
Provides-Extra: aa
Requires-Dist: psutil>=7.0.0; extra == 'aa'
Requires-Dist: rich>=14.0.0; extra == 'aa'
Requires-Dist: scipy>=1.16.0; extra == 'aa'
Requires-Dist: vapoursynth-adaptivegrain>=0.5.0; extra == 'aa'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'aa'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'aa'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'aa'
Requires-Dist: vapoursynth-bwdif>=5.0; extra == 'aa'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'aa'
Requires-Dist: vapoursynth-descale>=12; extra == 'aa'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'aa'
Requires-Dist: vapoursynth-edgemasks>=4.0; extra == 'aa'
Requires-Dist: vapoursynth-eedi3>=9.0; extra == 'aa'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'aa'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'aa'
Requires-Dist: vapoursynth-hysteresis>=1.1.3; extra == 'aa'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'aa'
Requires-Dist: vapoursynth-sangnom>=43; extra == 'aa'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'aa'
Requires-Dist: vapoursynth-sneedif>=4.2; extra == 'aa'
Requires-Dist: vapoursynth-subtext>=6.0; extra == 'aa'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'aa'
Requires-Dist: vapoursynth-znedi3>=2.1; extra == 'aa'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'aa'
Requires-Dist: vs-placebo>=2.0.2; extra == 'aa'
Provides-Extra: amd
Requires-Dist: dfttest2[hipfft,hiprtc]>=10; extra == 'amd'
Requires-Dist: vapoursynth-bm3dhip>=2.16; extra == 'amd'
Requires-Dist: vapoursynth-knlmeanscl>=1.2; extra == 'amd'
Provides-Extra: basic
Requires-Dist: psutil>=7.0.0; extra == 'basic'
Requires-Dist: rich>=14.0.0; extra == 'basic'
Requires-Dist: scipy>=1.16.0; extra == 'basic'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'basic'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'basic'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'basic'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'basic'
Provides-Extra: cl
Requires-Dist: vapoursynth-knlmeanscl>=1.2; extra == 'cl'
Provides-Extra: deband
Requires-Dist: dfttest2[cpu]>=10; (platform_machine == 'x86_64') and extra == 'deband'
Requires-Dist: dfttest2[gcc]>=10; (platform_machine != 'x86_64') and extra == 'deband'
Requires-Dist: psutil>=7.0.0; extra == 'deband'
Requires-Dist: rich>=14.0.0; extra == 'deband'
Requires-Dist: scipy>=1.16.0; extra == 'deband'
Requires-Dist: vapoursynth-adaptivegrain>=0.5.0; extra == 'deband'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'deband'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'deband'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'deband'
Requires-Dist: vapoursynth-bm3d>=10.0; extra == 'deband'
Requires-Dist: vapoursynth-bm3dcpu>=2.16.4; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'deband'
Requires-Dist: vapoursynth-bwdif>=5.0; extra == 'deband'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'deband'
Requires-Dist: vapoursynth-dctfilter>=3.1; extra == 'deband'
Requires-Dist: vapoursynth-deblock>=8.0; extra == 'deband'
Requires-Dist: vapoursynth-descale>=12; extra == 'deband'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'deband'
Requires-Dist: vapoursynth-edgemasks>=4.0; extra == 'deband'
Requires-Dist: vapoursynth-eedi3>=9.0; extra == 'deband'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'deband'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'deband'
Requires-Dist: vapoursynth-hysteresis>=1.1.3; extra == 'deband'
Requires-Dist: vapoursynth-manipmv>=1.3.0; extra == 'deband'
Requires-Dist: vapoursynth-mvtools>=26; extra == 'deband'
Requires-Dist: vapoursynth-nlm-ispc>=3; extra == 'deband'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'deband'
Requires-Dist: vapoursynth-sangnom>=43; extra == 'deband'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'deband'
Requires-Dist: vapoursynth-sneedif>=4.2; extra == 'deband'
Requires-Dist: vapoursynth-subtext>=6.0; extra == 'deband'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'deband'
Requires-Dist: vapoursynth-wnnm>=3; (platform_system == 'Linux' or platform_system == 'Windows') and extra == 'deband'
Requires-Dist: vapoursynth-znedi3>=2.1; extra == 'deband'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'deband'
Requires-Dist: vs-placebo>=2.0.2; extra == 'deband'
Requires-Dist: vsnoise>=1.2; extra == 'deband'
Provides-Extra: dehalo
Requires-Dist: dfttest2[cpu]>=10; (platform_machine == 'x86_64') and extra == 'dehalo'
Requires-Dist: dfttest2[gcc]>=10; (platform_machine != 'x86_64') and extra == 'dehalo'
Requires-Dist: psutil>=7.0.0; extra == 'dehalo'
Requires-Dist: rich>=14.0.0; extra == 'dehalo'
Requires-Dist: scipy>=1.16.0; extra == 'dehalo'
Requires-Dist: vapoursynth-adaptivegrain>=0.5.0; extra == 'dehalo'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'dehalo'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'dehalo'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'dehalo'
Requires-Dist: vapoursynth-bm3d>=10.0; extra == 'dehalo'
Requires-Dist: vapoursynth-bm3dcpu>=2.16.4; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'dehalo'
Requires-Dist: vapoursynth-bwdif>=5.0; extra == 'dehalo'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'dehalo'
Requires-Dist: vapoursynth-dctfilter>=3.1; extra == 'dehalo'
Requires-Dist: vapoursynth-deblock>=8.0; extra == 'dehalo'
Requires-Dist: vapoursynth-descale>=12; extra == 'dehalo'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'dehalo'
Requires-Dist: vapoursynth-edgemasks>=4.0; extra == 'dehalo'
Requires-Dist: vapoursynth-eedi3>=9.0; extra == 'dehalo'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'dehalo'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'dehalo'
Requires-Dist: vapoursynth-hysteresis>=1.1.3; extra == 'dehalo'
Requires-Dist: vapoursynth-manipmv>=1.3.0; extra == 'dehalo'
Requires-Dist: vapoursynth-mvtools>=26; extra == 'dehalo'
Requires-Dist: vapoursynth-nlm-ispc>=3; extra == 'dehalo'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'dehalo'
Requires-Dist: vapoursynth-sangnom>=43; extra == 'dehalo'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'dehalo'
Requires-Dist: vapoursynth-sneedif>=4.2; extra == 'dehalo'
Requires-Dist: vapoursynth-subtext>=6.0; extra == 'dehalo'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'dehalo'
Requires-Dist: vapoursynth-wnnm>=3; (platform_system == 'Linux' or platform_system == 'Windows') and extra == 'dehalo'
Requires-Dist: vapoursynth-znedi3>=2.1; extra == 'dehalo'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'dehalo'
Requires-Dist: vs-placebo>=2.0.2; extra == 'dehalo'
Provides-Extra: deinterlace
Requires-Dist: dfttest2[cpu]>=10; (platform_machine == 'x86_64') and extra == 'deinterlace'
Requires-Dist: dfttest2[gcc]>=10; (platform_machine != 'x86_64') and extra == 'deinterlace'
Requires-Dist: psutil>=7.0.0; extra == 'deinterlace'
Requires-Dist: rich>=14.0.0; extra == 'deinterlace'
Requires-Dist: scipy>=1.16.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-adaptivegrain>=0.5.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-bm3d>=10.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-bm3dcpu>=2.16.4; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'deinterlace'
Requires-Dist: vapoursynth-bwdif>=5.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'deinterlace'
Requires-Dist: vapoursynth-dctfilter>=3.1; extra == 'deinterlace'
Requires-Dist: vapoursynth-deblock>=8.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-descale>=12; extra == 'deinterlace'
Requires-Dist: vapoursynth-dmetrics>=2.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'deinterlace'
Requires-Dist: vapoursynth-edgemasks>=4.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-eedi3>=9.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'deinterlace'
Requires-Dist: vapoursynth-hysteresis>=1.1.3; extra == 'deinterlace'
Requires-Dist: vapoursynth-manipmv>=1.3.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-mvtools>=26; extra == 'deinterlace'
Requires-Dist: vapoursynth-nlm-ispc>=3; extra == 'deinterlace'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'deinterlace'
Requires-Dist: vapoursynth-sangnom>=43; extra == 'deinterlace'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-sneedif>=4.2; extra == 'deinterlace'
Requires-Dist: vapoursynth-subtext>=6.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-vivtc>=2.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'deinterlace'
Requires-Dist: vapoursynth-wnnm>=3; (platform_system == 'Linux' or platform_system == 'Windows') and extra == 'deinterlace'
Requires-Dist: vapoursynth-znedi3>=2.1; extra == 'deinterlace'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'deinterlace'
Requires-Dist: vs-placebo>=2.0.2; extra == 'deinterlace'
Provides-Extra: denoise
Requires-Dist: dfttest2[cpu]>=10; (platform_machine == 'x86_64') and extra == 'denoise'
Requires-Dist: dfttest2[gcc]>=10; (platform_machine != 'x86_64') and extra == 'denoise'
Requires-Dist: psutil>=7.0.0; extra == 'denoise'
Requires-Dist: rich>=14.0.0; extra == 'denoise'
Requires-Dist: scipy>=1.16.0; extra == 'denoise'
Requires-Dist: vapoursynth-adaptivegrain>=0.5.0; extra == 'denoise'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'denoise'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'denoise'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'denoise'
Requires-Dist: vapoursynth-bm3d>=10.0; extra == 'denoise'
Requires-Dist: vapoursynth-bm3dcpu>=2.16.4; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'denoise'
Requires-Dist: vapoursynth-bwdif>=5.0; extra == 'denoise'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'denoise'
Requires-Dist: vapoursynth-dctfilter>=3.1; extra == 'denoise'
Requires-Dist: vapoursynth-deblock>=8.0; extra == 'denoise'
Requires-Dist: vapoursynth-descale>=12; extra == 'denoise'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'denoise'
Requires-Dist: vapoursynth-edgemasks>=4.0; extra == 'denoise'
Requires-Dist: vapoursynth-eedi3>=9.0; extra == 'denoise'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'denoise'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'denoise'
Requires-Dist: vapoursynth-hysteresis>=1.1.3; extra == 'denoise'
Requires-Dist: vapoursynth-manipmv>=1.3.0; extra == 'denoise'
Requires-Dist: vapoursynth-mvtools>=26; extra == 'denoise'
Requires-Dist: vapoursynth-nlm-ispc>=3; extra == 'denoise'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'denoise'
Requires-Dist: vapoursynth-sangnom>=43; extra == 'denoise'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'denoise'
Requires-Dist: vapoursynth-sneedif>=4.2; extra == 'denoise'
Requires-Dist: vapoursynth-subtext>=6.0; extra == 'denoise'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'denoise'
Requires-Dist: vapoursynth-wnnm>=3; (platform_system == 'Linux' or platform_system == 'Windows') and extra == 'denoise'
Requires-Dist: vapoursynth-znedi3>=2.1; extra == 'denoise'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'denoise'
Requires-Dist: vs-placebo>=2.0.2; extra == 'denoise'
Provides-Extra: expr
Requires-Dist: psutil>=7.0.0; extra == 'expr'
Requires-Dist: rich>=14.0.0; extra == 'expr'
Requires-Dist: scipy>=1.16.0; extra == 'expr'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'expr'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'expr'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'expr'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'expr'
Provides-Extra: full
Requires-Dist: dfttest2[cpu]>=10; (platform_machine == 'x86_64') and extra == 'full'
Requires-Dist: dfttest2[gcc]>=10; (platform_machine != 'x86_64') and extra == 'full'
Requires-Dist: psutil>=7.0.0; extra == 'full'
Requires-Dist: rich>=14.0.0; extra == 'full'
Requires-Dist: scipy>=1.16.0; extra == 'full'
Requires-Dist: vapoursynth-adaptivegrain>=0.5.0; extra == 'full'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'full'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'full'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'full'
Requires-Dist: vapoursynth-bm3d>=10.0; extra == 'full'
Requires-Dist: vapoursynth-bm3dcpu>=2.16.4; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'full'
Requires-Dist: vapoursynth-bwdif>=5.0; extra == 'full'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'full'
Requires-Dist: vapoursynth-dctfilter>=3.1; extra == 'full'
Requires-Dist: vapoursynth-deblock>=8.0; extra == 'full'
Requires-Dist: vapoursynth-descale>=12; extra == 'full'
Requires-Dist: vapoursynth-dmetrics>=2.0; extra == 'full'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'full'
Requires-Dist: vapoursynth-edgemasks>=4.0; extra == 'full'
Requires-Dist: vapoursynth-eedi3>=9.0; extra == 'full'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'full'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'full'
Requires-Dist: vapoursynth-hysteresis>=1.1.3; extra == 'full'
Requires-Dist: vapoursynth-manipmv>=1.3.0; extra == 'full'
Requires-Dist: vapoursynth-mvtools>=26; extra == 'full'
Requires-Dist: vapoursynth-nlm-ispc>=3; extra == 'full'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'full'
Requires-Dist: vapoursynth-sangnom>=43; extra == 'full'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'full'
Requires-Dist: vapoursynth-sneedif>=4.2; extra == 'full'
Requires-Dist: vapoursynth-subtext>=6.0; extra == 'full'
Requires-Dist: vapoursynth-vivtc>=2.0; extra == 'full'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'full'
Requires-Dist: vapoursynth-wnnm>=3; (platform_system == 'Linux' or platform_system == 'Windows') and extra == 'full'
Requires-Dist: vapoursynth-znedi3>=2.1; extra == 'full'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'full'
Requires-Dist: vs-placebo>=2.0.2; extra == 'full'
Requires-Dist: vsnoise>=1.2; extra == 'full'
Provides-Extra: kernels
Requires-Dist: psutil>=7.0.0; extra == 'kernels'
Requires-Dist: rich>=14.0.0; extra == 'kernels'
Requires-Dist: scipy>=1.16.0; extra == 'kernels'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'kernels'
Requires-Dist: vapoursynth-descale>=12; extra == 'kernels'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'kernels'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'kernels'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'kernels'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'kernels'
Requires-Dist: vs-placebo>=2.0.2; extra == 'kernels'
Provides-Extra: mask
Requires-Dist: psutil>=7.0.0; extra == 'mask'
Requires-Dist: rich>=14.0.0; extra == 'mask'
Requires-Dist: scipy>=1.16.0; extra == 'mask'
Requires-Dist: vapoursynth-adaptivegrain>=0.5.0; extra == 'mask'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'mask'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'mask'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'mask'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'mask'
Requires-Dist: vapoursynth-descale>=12; extra == 'mask'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'mask'
Requires-Dist: vapoursynth-edgemasks>=4.0; extra == 'mask'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'mask'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'mask'
Requires-Dist: vapoursynth-hysteresis>=1.1.3; extra == 'mask'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'mask'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'mask'
Requires-Dist: vapoursynth-subtext>=6.0; extra == 'mask'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'mask'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'mask'
Requires-Dist: vs-placebo>=2.0.2; extra == 'mask'
Provides-Extra: nvidia
Requires-Dist: dfttest2[cufft,nvrtc]>=10; extra == 'nvidia'
Requires-Dist: vapoursynth-bilateralgpu>=14; extra == 'nvidia'
Requires-Dist: vapoursynth-bm3dcuda>=2.16; extra == 'nvidia'
Requires-Dist: vapoursynth-dfttest2-cuda>=10; extra == 'nvidia'
Requires-Dist: vapoursynth-nlm-cuda>=4; extra == 'nvidia'
Provides-Extra: rg
Requires-Dist: psutil>=7.0.0; extra == 'rg'
Requires-Dist: rich>=14.0.0; extra == 'rg'
Requires-Dist: scipy>=1.16.0; extra == 'rg'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'rg'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'rg'
Requires-Dist: vapoursynth-descale>=12; extra == 'rg'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'rg'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'rg'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'rg'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'rg'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'rg'
Requires-Dist: vs-placebo>=2.0.2; extra == 'rg'
Provides-Extra: scale
Requires-Dist: psutil>=7.0.0; extra == 'scale'
Requires-Dist: rich>=14.0.0; extra == 'scale'
Requires-Dist: scipy>=1.16.0; extra == 'scale'
Requires-Dist: vapoursynth-adaptivegrain>=0.5.0; extra == 'scale'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'scale'
Requires-Dist: vapoursynth-awarp>=3.0; extra == 'scale'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'scale'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'scale'
Requires-Dist: vapoursynth-descale>=12; extra == 'scale'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'scale'
Requires-Dist: vapoursynth-edgemasks>=4.0; extra == 'scale'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'scale'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'scale'
Requires-Dist: vapoursynth-hysteresis>=1.1.3; extra == 'scale'
Requires-Dist: vapoursynth-resize2>=0.4.2; extra == 'scale'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'scale'
Requires-Dist: vapoursynth-subtext>=6.0; extra == 'scale'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'scale'
Requires-Dist: vapoursynth-zsmooth>=0.15.4; extra == 'scale'
Requires-Dist: vs-placebo>=2.0.2; extra == 'scale'
Provides-Extra: source
Requires-Dist: psutil>=7.0.0; extra == 'source'
Requires-Dist: rich>=14.0.0; extra == 'source'
Requires-Dist: scipy>=1.16.0; extra == 'source'
Requires-Dist: vapoursynth-akarin>=1.3.0; extra == 'source'
Requires-Dist: vapoursynth-bestsource>=17.0; extra == 'source'
Requires-Dist: vapoursynth-d2vsource>=1.4; extra == 'source'
Requires-Dist: vapoursynth-dvdsrc2>=3.0; (platform_machine == 'x86_64' and (platform_system == 'Linux' or platform_system == 'Windows')) and extra == 'source'
Requires-Dist: vapoursynth-ffms2>=5.2.0; extra == 'source'
Requires-Dist: vapoursynth-fmtconv>=31; extra == 'source'
Requires-Dist: vapoursynth-scxvid>=3.0; extra == 'source'
Requires-Dist: vapoursynth-vszip>=13.0.0; extra == 'source'
Description-Content-Type: text/markdown

# vs-jetpack

[![Documentation](https://img.shields.io/badge/API%20Docs-purple)](https://jaded-encoding-thaumaturgy.github.io/vs-jetpack/)
[![Coverage Status](https://coveralls.io/repos/github/Jaded-Encoding-Thaumaturgy/vs-jetpack/badge.svg?branch=main)](https://coveralls.io/github/Jaded-Encoding-Thaumaturgy/vs-jetpack?branch=main)
[![PyPI Version](https://img.shields.io/pypi/v/vsjetpack)](https://pypi.org/project/vsjetpack/)

`vs-jetpack` provides a collection of Python modules for filtering video using [VapourSynth](https://github.com/vapoursynth/vapoursynth).
These include modules for scaling, masking, denoising, debanding, dehaloing, deinterlacing,
and antialiasing, as well as general utility functions.

For support you can check out the [JET Discord server](https://discord.gg/XTpc6Fa9eB).

## Documentation

You can find the full API reference on the project's documentation [site](https://jaded-encoding-thaumaturgy.github.io/vs-jetpack/api/vstools/).

If you're looking for workflow recommendations, the JET Encoding Guide is available [here](https://github.com/Jaded-Encoding-Thaumaturgy/JET-guide).

## Installation

`vsjetpack` relies on a number of VapourSynth plugins to function.
Most of these plugins are now available as Python packages on PyPI and can be installed automatically using **extras**:

### Breakdown

Most extras are hierarchical. For example, `denoise` includes all plugins from `aa`, which in turn includes `mask`, and so on.

| Extra             | Purpose              | Included Plugins / Packages                                                        |
| :---------------- | :------------------- | :--------------------------------------------------------------------------------- |
| **`basic`**       | Essential plugins    | `akarin`, `fmtconv`, `vszip`, `scxvid`, `scipy`, `rich`, `psutil`                  |
| **`source`**      | Clip Indexing        | `bestsource`, `ffms2`, `d2vsource`, `dvdsrc2`                                      |
| **`kernels`**     | Resizing             | `resize2`, `descale`, `vs-placebo`                                                 |
| **`rg`**          | Repair & Smoothing   | `awarp`, `zsmooth` (+ `kernels`, `expr`)                                           |
| **`mask`**        | Masking              | `adaptivegrain`, `edgemasks`, `hysteresis`, `subtext` (+ `source`, `rg`)           |
| **`aa`**          | Anti-aliasing        | `bwdif`, `eedi3`, `sangnom`, `sneedif`, `znedi3` (+ `mask`)                        |
| **`denoise`**     | Denoising            | `bm3d`, `dctfilter`, `dfttest2`, `deblock`, `mvtools`, `nlm-ispc`, `wnnm` (+ `aa`) |
| **`deband`**      | Debanding            | `vsnoise` (+ `denoise`)                                                            |
| **`deinterlace`** | Deinterlacing        | `dmetrics`, `vivtc` (+ `denoise`)                                                  |
| **`full`**        | All CPU-based extras | All of the above                                                                   |
| **`cl`**          | Open CL              | `knlmeanscl`,                                                                      |
| **`nvidia`**      | NVIDIA GPU           | `bm3dcuda`, `bilateralgpu`, `nlm-cuda`, `dfttest2-[nvrtc,cuda]`                    |
| **`amd`**         | AMD GPU              | `bm3dhip`, `dfttest2-[hiprtc,hipfft]` (+ `cl`)                                     |

> [!IMPORTANT]
> Some plugins distribute their wheels through our custom package index instead of PyPI.
>
> Add `--extra-index-url` to ensure pip can locate all required packages:
>
> ```bash
> pip install vsjetpack[full,nvidia] --extra-index-url https://jaded-encoding-thaumaturgy.github.io/vs-wheels/simple
> ```
>
> For more information, [click here](https://github.com/Jaded-Encoding-Thaumaturgy/vs-wheels).

Not all extras have prebuilt wheels on every platform:

| Extra         | Windows x64 | Linux (glibc 2.35+) | Linux (musl 1.2+) | macOS (Intel/ARM) 15.0+ |
| :------------ | :---------: | :-----------------: | :---------------: | :---------------------: |
| `basic`       |     ✅      |         ✅          |        ✅         |           ✅            |
| `source`      |     ✅      |         ✅          |      ❌[^1]       |         ⚠️[^1]          |
| `kernels`     |     ✅      |         ✅          |        ✅         |           ✅            |
| `rg`          |     ✅      |         ✅          |        ✅         |           ✅            |
| `mask`        |     ✅      |         ✅          |      ❌[^1]       |           ✅            |
| `aa`          |     ✅      |         ✅          |      ❌[^1]       |           ✅            |
| `denoise`     |     ✅      |         ✅          |        ❌         |         ⚠️[^2]          |
| `deband`      |     ✅      |         ✅          |        ❌         |           ✅            |
| `deinterlace` |     ✅      |         ✅          |        ❌         |           ✅            |
| `full`        |     ✅      |         ✅          |        ❌         |           ⚠️            |
| `cl`          |     ✅      |         ✅          |        ❌         |           ✅            |
| `nvidia`      |     ✅      |       ⚠️[^3]        |        ❌         |           ❌            |
| `amd`         |     ✅      |         ✅          |        ❌         |           ❌            |

> [!TIP]
> If a plugin is unavailable for your platform, you may need to build it manually.
>
> Refer to the plugin repository for platform-specific build instructions.

[^1]: `dvdsrc2` isn't available on musl and macOS.

[^2]: `wnnm` isn't available on macOS.

[^3]: Requires Glibc 2.39+ for `bilateralgpu`.
