vapoursynth-sneedif 4.0__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.
Files changed (28) hide show
  1. vapoursynth_sneedif-4.0/.gitignore +330 -0
  2. vapoursynth_sneedif-4.0/LICENSE +13 -0
  3. vapoursynth_sneedif-4.0/PKG-INFO +132 -0
  4. vapoursynth_sneedif-4.0/README.md +107 -0
  5. vapoursynth_sneedif-4.0/SNEEDIF/NNEDI3.cl +238 -0
  6. vapoursynth_sneedif-4.0/SNEEDIF/NNEDI3.cpp +715 -0
  7. vapoursynth_sneedif-4.0/SNEEDIF/SNEEDIF.cpp +169 -0
  8. vapoursynth_sneedif-4.0/SNEEDIF/half_float/LICENSE +25 -0
  9. vapoursynth_sneedif-4.0/SNEEDIF/half_float/umHalf.h +328 -0
  10. vapoursynth_sneedif-4.0/SNEEDIF/half_float/umHalf.inl +614 -0
  11. vapoursynth_sneedif-4.0/SNEEDIF/shared.hpp +102 -0
  12. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/instrset.h +216 -0
  13. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/instrset_detect.cpp +186 -0
  14. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/license.txt +619 -0
  15. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectorclass.h +69 -0
  16. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectorf128.h +2779 -0
  17. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectorf256.h +3349 -0
  18. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectorf256e.h +2142 -0
  19. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectorf512.h +2495 -0
  20. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectorf512e.h +2201 -0
  21. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectori128.h +6394 -0
  22. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectori256.h +5693 -0
  23. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectori256e.h +4434 -0
  24. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectori512.h +2845 -0
  25. vapoursynth_sneedif-4.0/SNEEDIF/vectorclass/vectori512e.h +2617 -0
  26. vapoursynth_sneedif-4.0/asset/nnedi3_weights.bin +0 -0
  27. vapoursynth_sneedif-4.0/meson.build +64 -0
  28. vapoursynth_sneedif-4.0/pyproject.toml +64 -0
@@ -0,0 +1,330 @@
1
+ # Prerequisites
2
+ *.d
3
+
4
+ # Compiled Object files
5
+ *.slo
6
+ *.lo
7
+ *.o
8
+ *.obj
9
+
10
+ # Precompiled Headers
11
+ *.gch
12
+ *.pch
13
+
14
+ # Compiled Dynamic libraries
15
+ *.so
16
+ *.dylib
17
+ *.dll
18
+
19
+ # Fortran module files
20
+ *.mod
21
+ *.smod
22
+
23
+ # Compiled Static libraries
24
+ *.lai
25
+ *.la
26
+ *.a
27
+ *.lib
28
+
29
+ # Executables
30
+ *.exe
31
+ *.out
32
+ *.app
33
+
34
+ # User-specific files
35
+ *.rsuser
36
+ *.suo
37
+ *.user
38
+ *.userosscache
39
+ *.sln.docstates
40
+
41
+ # Visual Studio 2015/2017 cache/options directory
42
+ .vs/
43
+
44
+ # Files built by Visual Studio
45
+ *_i.c
46
+ *_p.c
47
+ *_h.h
48
+ *.ilk
49
+ *.meta
50
+ *.obj
51
+ *.iobj
52
+ *.pch
53
+ *.pdb
54
+ *.ipdb
55
+ *.pgc
56
+ *.pgd
57
+ *.rsp
58
+ *.sbr
59
+ *.tlb
60
+ *.tli
61
+ *.tlh
62
+ *.tmp
63
+ *.tmp_proj
64
+ *_wpftmp.csproj
65
+ *.log
66
+ *.vspscc
67
+ *.vssscc
68
+ .builds
69
+ *.pidb
70
+ *.svclog
71
+ *.scc
72
+
73
+ # Visual C++ cache files
74
+ ipch/
75
+ *.aps
76
+ *.ncb
77
+ *.opendb
78
+ *.opensdf
79
+ *.sdf
80
+ *.cachefile
81
+ *.VC.db
82
+ *.VC.VC.opendb
83
+
84
+ # Visual Studio profiler
85
+ *.psess
86
+ *.vsp
87
+ *.vspx
88
+ *.sap
89
+
90
+ # Windows thumbnail cache files
91
+ Thumbs.db
92
+ Thumbs.db:encryptable
93
+ ehthumbs.db
94
+ ehthumbs_vista.db
95
+
96
+ # Dump file
97
+ *.stackdump
98
+
99
+ # Folder config file
100
+ [Dd]esktop.ini
101
+
102
+ # Recycle Bin used on file shares
103
+ $RECYCLE.BIN/
104
+
105
+ # Windows Installer files
106
+ *.cab
107
+ *.msi
108
+ *.msix
109
+ *.msm
110
+ *.msp
111
+
112
+ # Windows shortcuts
113
+ *.lnk
114
+
115
+ # Byte-compiled / optimized / DLL files
116
+ __pycache__/
117
+ *.py[codz]
118
+ *$py.class
119
+
120
+ # C extensions
121
+ *.so
122
+
123
+ # Distribution / packaging
124
+ .Python
125
+ build/
126
+ develop-eggs/
127
+ dist/
128
+ downloads/
129
+ eggs/
130
+ .eggs/
131
+ lib/
132
+ lib64/
133
+ parts/
134
+ sdist/
135
+ var/
136
+ wheels/
137
+ share/python-wheels/
138
+ *.egg-info/
139
+ .installed.cfg
140
+ *.egg
141
+ MANIFEST
142
+
143
+ # PyInstaller
144
+ # Usually these files are written by a python script from a template
145
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
146
+ *.manifest
147
+ *.spec
148
+
149
+ # Installer logs
150
+ pip-log.txt
151
+ pip-delete-this-directory.txt
152
+
153
+ # Unit test / coverage reports
154
+ htmlcov/
155
+ .tox/
156
+ .nox/
157
+ .coverage
158
+ .coverage.*
159
+ .cache
160
+ nosetests.xml
161
+ coverage.xml
162
+ *.cover
163
+ *.py.cover
164
+ .hypothesis/
165
+ .pytest_cache/
166
+ cover/
167
+
168
+ # Translations
169
+ *.mo
170
+ *.pot
171
+
172
+ # Django stuff:
173
+ *.log
174
+ local_settings.py
175
+ db.sqlite3
176
+ db.sqlite3-journal
177
+
178
+ # Flask stuff:
179
+ instance/
180
+ .webassets-cache
181
+
182
+ # Scrapy stuff:
183
+ .scrapy
184
+
185
+ # Sphinx documentation
186
+ docs/_build/
187
+
188
+ # PyBuilder
189
+ .pybuilder/
190
+ target/
191
+
192
+ # Jupyter Notebook
193
+ .ipynb_checkpoints
194
+
195
+ # IPython
196
+ profile_default/
197
+ ipython_config.py
198
+
199
+ # pyenv
200
+ # For a library or package, you might want to ignore these files since the code is
201
+ # intended to run in multiple environments; otherwise, check them in:
202
+ # .python-version
203
+
204
+ # pipenv
205
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
206
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
207
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
208
+ # install all needed dependencies.
209
+ # Pipfile.lock
210
+
211
+ # UV
212
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
213
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
214
+ # commonly ignored for libraries.
215
+ # uv.lock
216
+
217
+ # poetry
218
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
219
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
220
+ # commonly ignored for libraries.
221
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
222
+ # poetry.lock
223
+ # poetry.toml
224
+
225
+ # pdm
226
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
227
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
228
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
229
+ # pdm.lock
230
+ # pdm.toml
231
+ .pdm-python
232
+ .pdm-build/
233
+
234
+ # pixi
235
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
236
+ # pixi.lock
237
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
238
+ # in the .venv directory. It is recommended not to include this directory in version control.
239
+ .pixi
240
+
241
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
242
+ __pypackages__/
243
+
244
+ # Celery stuff
245
+ celerybeat-schedule
246
+ celerybeat.pid
247
+
248
+ # Redis
249
+ *.rdb
250
+ *.aof
251
+ *.pid
252
+
253
+ # RabbitMQ
254
+ mnesia/
255
+ rabbitmq/
256
+ rabbitmq-data/
257
+
258
+ # ActiveMQ
259
+ activemq-data/
260
+
261
+ # SageMath parsed files
262
+ *.sage.py
263
+
264
+ # Environments
265
+ .env
266
+ .envrc
267
+ .venv
268
+ env/
269
+ venv/
270
+ ENV/
271
+ env.bak/
272
+ venv.bak/
273
+
274
+ # Spyder project settings
275
+ .spyderproject
276
+ .spyproject
277
+
278
+ # Rope project settings
279
+ .ropeproject
280
+
281
+ # mkdocs documentation
282
+ /site
283
+
284
+ # mypy
285
+ .mypy_cache/
286
+ .dmypy.json
287
+ dmypy.json
288
+
289
+ # Pyre type checker
290
+ .pyre/
291
+
292
+ # pytype static type analyzer
293
+ .pytype/
294
+
295
+ # Cython debug symbols
296
+ cython_debug/
297
+
298
+ # PyCharm
299
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
300
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
301
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
302
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
303
+ # .idea/
304
+
305
+ # Abstra
306
+ # Abstra is an AI-powered process automation framework.
307
+ # Ignore directories containing user credentials, local state, and settings.
308
+ # Learn more at https://abstra.io/docs
309
+ .abstra/
310
+
311
+ # Visual Studio Code
312
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
313
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
314
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
315
+ # you could uncomment the following to ignore the entire vscode folder
316
+ # .vscode/
317
+
318
+ # Ruff stuff:
319
+ .ruff_cache/
320
+
321
+ # PyPI configuration file
322
+ .pypirc
323
+
324
+ # Marimo
325
+ marimo/_static/
326
+ marimo/_lsp/
327
+ __marimo__/
328
+
329
+ # Streamlit
330
+ .streamlit/secrets.toml
@@ -0,0 +1,13 @@
1
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
2
+ Version 2, December 2004
3
+
4
+ Copyright (c) 2025 Jaded-Encoding-Thaumaturgy
5
+
6
+ Everyone is permitted to copy and distribute verbatim or modified
7
+ copies of this license document, and changing it is allowed as long
8
+ as the name is changed.
9
+
10
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
11
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
12
+
13
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
@@ -0,0 +1,132 @@
1
+ Metadata-Version: 2.4
2
+ Name: vapoursynth-sneedif
3
+ Version: 4.0
4
+ Summary: Video/Image filter to undo upscaling.
5
+ Project-URL: Source Code, https://github.com/Jaded-Encoding-Thaumaturgy/vapoursynth-SNEEDIF
6
+ Project-URL: Bug Tracker, https://github.com/Jaded-Encoding-Thaumaturgy/vapoursynth-SNEEDIF/issues
7
+ Project-URL: Contact, https://discord.gg/XTpc6Fa9eB
8
+ Author-email: Setsugen no ao <setsugen@setsugen.dev>
9
+ Maintainer-email: Jaded Encoding Thaumaturgy <jaded.encoding.thaumaturgy@gmail.com>
10
+ License-Expression: WTFPL AND GPL-3.0-or-later AND BSD-3-Clause
11
+ License-File: LICENSE
12
+ License-File: SNEEDIF/half_float/LICENSE
13
+ License-File: SNEEDIF/vectorclass/license.txt
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: License :: OSI Approved :: BSD License
16
+ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
17
+ Classifier: Operating System :: Microsoft :: Windows
18
+ Classifier: Operating System :: POSIX :: Linux
19
+ Classifier: Programming Language :: C++
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Topic :: Multimedia :: Video
22
+ Requires-Python: >=3.12
23
+ Requires-Dist: vapoursynth>=74
24
+ Description-Content-Type: text/markdown
25
+
26
+ # Setsugen No Ensemble of Edge Directed Interpolation Functions
27
+
28
+ Like [NNEDI3CL](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-NNEDI3CL) but made by Setsugennoao.
29
+ <img src="https://i.slow.pics/MnF0rcri.webp" height="25"/>
30
+
31
+ ## NNEDI3
32
+
33
+ ```python
34
+ sneedif.NNEDI3(clip, int field[, bint dh=False, bint dw=False, int[] planes=[0, 1, 2], int nsize=6, int nns=1, int qual=1, int etype=0, int pscrn=2, bint transpose_first=False, int device=-1])
35
+ ```
36
+
37
+ - `transpose_first`: Transpose the clip before processing.
38
+
39
+ ## Device Information
40
+
41
+ These functions return information about the available OpenCL environment and devices.
42
+
43
+ ### ListDevices
44
+
45
+ ```python
46
+ sneedif.ListDevices()
47
+ ```
48
+
49
+ Returns a dictionary:
50
+
51
+ - `numDevices`: `int` — Total number of devices found.
52
+ - `deviceNames`: `str[]` — List of device names.
53
+ - `platformNames`: `str[]` — List of platform names.
54
+
55
+ ### PlatformInfo
56
+
57
+ ```python
58
+ sneedif.PlatformInfo([int device=-1])
59
+ ```
60
+
61
+ Returns a dictionary for the specified `device`:
62
+
63
+ - `name`: `str`
64
+ - `vendor`: `str`
65
+ - `version`: `str`
66
+ - `profile`: `str`
67
+
68
+ ### DeviceInfo
69
+
70
+ ```python
71
+ sneedif.DeviceInfo([int device=-1])
72
+ ```
73
+
74
+ Returns a dictionary containing detailed specifications for the specified `device`:
75
+
76
+ - `name`, `vendor`, `profile`, `version`, `opencl_c_version`: `str`
77
+ - `max_compute_units`, `max_work_group_size`, `image2D_max_width`, `image2D_max_height`: `int`
78
+ - `max_work_item_sizes`: `int[]`
79
+ - `image_support`, `available`, `compiler_available`, `linker_available`: `int` (boolean)
80
+ - `global_memory_cache_type`, `local_memory_type`: `str`
81
+ - `global_memory_cache`, `global_memory_size`, `max_constant_buffer_size`, `max_constant_arguments`, `local_memory_size`, `image_max_buffer_size`: `int`
82
+
83
+ ## Installation
84
+
85
+ ```bash
86
+ pip install vapoursynth-sneedif
87
+ ```
88
+
89
+ _Note: Only wheels for Linux and Windows 64-bit are provided._
90
+
91
+ ## Compilation
92
+
93
+ ### Windows
94
+
95
+ Requirements:
96
+
97
+ - [MSYS2](https://www.msys2.org/)
98
+
99
+ 1. Open **MSYS2 UCRT64** terminal.
100
+ 2. Install dependencies:
101
+
102
+ ```bash
103
+ pacman -S mingw-w64-ucrt-x86_64-{cmake,meson,ninja,pkgconf,gcc,boost,opencl-headers,opencl-icd,uv}
104
+ ```
105
+
106
+ 3. Build the wheel:
107
+
108
+ ```bash
109
+ uv build --wheel
110
+ ```
111
+
112
+ ### Linux
113
+
114
+ Requirements:
115
+
116
+ - [uv](https://github.com/astral-sh/uv).
117
+
118
+ 1. Install dependencies:
119
+
120
+ ```bash
121
+ # Fedora / RHEL
122
+ dnf install cmake gcc-c++ boost-devel opencl-headers ocl-icd-devel
123
+
124
+ # Ubuntu / Debian
125
+ apt install cmake g++ libboost-all-dev opencl-headers ocl-icd-opencl-dev
126
+ ```
127
+
128
+ 2. Build the wheel:
129
+
130
+ ```bash
131
+ uv build --wheel
132
+ ```
@@ -0,0 +1,107 @@
1
+ # Setsugen No Ensemble of Edge Directed Interpolation Functions
2
+
3
+ Like [NNEDI3CL](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-NNEDI3CL) but made by Setsugennoao.
4
+ <img src="https://i.slow.pics/MnF0rcri.webp" height="25"/>
5
+
6
+ ## NNEDI3
7
+
8
+ ```python
9
+ sneedif.NNEDI3(clip, int field[, bint dh=False, bint dw=False, int[] planes=[0, 1, 2], int nsize=6, int nns=1, int qual=1, int etype=0, int pscrn=2, bint transpose_first=False, int device=-1])
10
+ ```
11
+
12
+ - `transpose_first`: Transpose the clip before processing.
13
+
14
+ ## Device Information
15
+
16
+ These functions return information about the available OpenCL environment and devices.
17
+
18
+ ### ListDevices
19
+
20
+ ```python
21
+ sneedif.ListDevices()
22
+ ```
23
+
24
+ Returns a dictionary:
25
+
26
+ - `numDevices`: `int` — Total number of devices found.
27
+ - `deviceNames`: `str[]` — List of device names.
28
+ - `platformNames`: `str[]` — List of platform names.
29
+
30
+ ### PlatformInfo
31
+
32
+ ```python
33
+ sneedif.PlatformInfo([int device=-1])
34
+ ```
35
+
36
+ Returns a dictionary for the specified `device`:
37
+
38
+ - `name`: `str`
39
+ - `vendor`: `str`
40
+ - `version`: `str`
41
+ - `profile`: `str`
42
+
43
+ ### DeviceInfo
44
+
45
+ ```python
46
+ sneedif.DeviceInfo([int device=-1])
47
+ ```
48
+
49
+ Returns a dictionary containing detailed specifications for the specified `device`:
50
+
51
+ - `name`, `vendor`, `profile`, `version`, `opencl_c_version`: `str`
52
+ - `max_compute_units`, `max_work_group_size`, `image2D_max_width`, `image2D_max_height`: `int`
53
+ - `max_work_item_sizes`: `int[]`
54
+ - `image_support`, `available`, `compiler_available`, `linker_available`: `int` (boolean)
55
+ - `global_memory_cache_type`, `local_memory_type`: `str`
56
+ - `global_memory_cache`, `global_memory_size`, `max_constant_buffer_size`, `max_constant_arguments`, `local_memory_size`, `image_max_buffer_size`: `int`
57
+
58
+ ## Installation
59
+
60
+ ```bash
61
+ pip install vapoursynth-sneedif
62
+ ```
63
+
64
+ _Note: Only wheels for Linux and Windows 64-bit are provided._
65
+
66
+ ## Compilation
67
+
68
+ ### Windows
69
+
70
+ Requirements:
71
+
72
+ - [MSYS2](https://www.msys2.org/)
73
+
74
+ 1. Open **MSYS2 UCRT64** terminal.
75
+ 2. Install dependencies:
76
+
77
+ ```bash
78
+ pacman -S mingw-w64-ucrt-x86_64-{cmake,meson,ninja,pkgconf,gcc,boost,opencl-headers,opencl-icd,uv}
79
+ ```
80
+
81
+ 3. Build the wheel:
82
+
83
+ ```bash
84
+ uv build --wheel
85
+ ```
86
+
87
+ ### Linux
88
+
89
+ Requirements:
90
+
91
+ - [uv](https://github.com/astral-sh/uv).
92
+
93
+ 1. Install dependencies:
94
+
95
+ ```bash
96
+ # Fedora / RHEL
97
+ dnf install cmake gcc-c++ boost-devel opencl-headers ocl-icd-devel
98
+
99
+ # Ubuntu / Debian
100
+ apt install cmake g++ libboost-all-dev opencl-headers ocl-icd-opencl-dev
101
+ ```
102
+
103
+ 2. Build the wheel:
104
+
105
+ ```bash
106
+ uv build --wheel
107
+ ```