vapoursynth-dfttest2-cuda 10__tar.gz

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