This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

current status of vapoursynth/havsfunc in Arch Linux
#1
I am wondering if anyone knows of how to get havsfunc working on Arch Linux. I have successfully used it for a couple years, but the vapoursynth-plugin-havsfunc-git package no longer works. When running a vpy script, I get this error:

ImportError: cannot import name 'BM3D' from 'vsdenoise' (/usr/lib/python3.13/site-packages/vsdenoise/__init__.py). Did you mean: 'bm3d'?

This exact error has been mentioned in the comments of the AUR package webpage in June/July, but it has not been addressed:
https://aur.archlinux.org/packages/vapou...vsfunc-git

This exact error has also been mentioned as an issue on the havsfunc Github page below in June (with 7 likes), but it has not been addressed:
https://github.com/HomeOfVapourSynthEvol.../issues/95
Reply
#2
Hybrid only does not use havsfunc at all.
I removed the last reliances to havsfunc in February iirc.
Hybrid uses these scripts: https://github.com/Selur/VapoursynthScriptsInHybrid/

=> moving to 'A/V Talk' since it's not related to Hybrid.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#3
Here are my 2 cents about the problem. (untested)

Looking at vsdenoise:
https://github.com/Jaded-Encoding-Thauma...3d.py#L561
it seems like BM3D is defined in bm3d.py
and
the vsdenoise/__init__.py
https://github.com/Jaded-Encoding-Thauma..._init__.py
does include:
"from .bm3d import *"

=>
Is vsdenoise installed ? (pip show vsdenoise)
Does it contain 'from .bm3d import *' ?
(grep -A3 'from .bm3d' /usr/lib/python3.13/site-packages/vsdenoise/__init__.py)


Hmm,.. seeing that https://github.com/HomeOfVapourSynthEvol...me-ov-file only mentions vs-jetpack, and looking at:
https://github.com/Jaded-Encoding-Thauma..._init__.py
and seeing that it calls "from .blockmatch import *" and
https://github.com/Jaded-Encoding-Thauma...C13-L36C17
defines
__all__ = ["bm3d", "wnnm"]

a. you should deinstall vsdenoise and install vs-jetpack
b. instead of BM3D , 'bm3d' probably needs to be includes in havsfunc.

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#4
Thanks for the response. The vapoursynth-plugin-havsfunc-git package has vapoursynth-plugin-vsjetpack-git and vapoursynth-plugin-bm3d-git as dependencies. There are packages called vapoursnyth-plugin-vsdenoise and vapoursynth-plugin-vsdenoise-git, but those conflict with the vapoursynth-plugin-vsjetpack-git package.

https://aur.archlinux.org/packages/vapou...=1#pkgdeps
Reply
#5
Then in havsfunc, instead of BM3D ''bm3d' should be included in havsfunc.
from vsdenoise import BM3D, nl_means, prefilter_to_full_range
should be:
from vsdenoise import bm3d, nl_means, prefilter_to_full_range

Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#6
Thanks, I tried that and now I'm getting this error:

Script evaluation failed:
Python exception: cannot import name 'complexpr_available' from 'vsexprtools' (/usr/lib/python3.13/site-packages/vsexprtools/__init__.py)

Traceback (most recent call last):
  File "src/cython/vapoursynth.pyx", line 3378, in vapoursynth._vpy_evaluate
  File "src/cython/vapoursynth.pyx", line 3379, in vapoursynth._vpy_evaluate
  File "temp.vpy", line 2, in <module>
    import havsfunc as haf
  File "/usr/lib/python3.13/site-packages/havsfunc/__init__.py", line 1, in <module>
    from .havsfunc import *
  File "/usr/lib/python3.13/site-packages/havsfunc/havsfunc.py", line 8, in <module>
    from vsexprtools import complexpr_available, norm_expr
ImportError: cannot import name 'complexpr_available' from 'vsexprtools' (/usr/lib/python3.13/site-packages/vsexprtools/__init__.py)
Reply
#7
Judging by:
https://github.com/HomeOfVapourSynthEvol...53-L330C58
and
https://github.com/Jaded-Encoding-Thauma...op.py#L695
you probably need to replace every occurrence of 'complexpr_available' with 'ExprOp'.


Cu Selur
----
Dev versions are in the 'experimental'-folder of my GoogleDrive, which is linked on the download page.
Reply
#8
Thanks, that seems to have fixed it!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)