4re / vapoursynth-portage

Unofficial portage tree with all VapourSynth related ebuilds
25 stars 11 forks source link

havsfunc QTGMC errors #107

Closed q3cpma closed 2 years ago

q3cpma commented 2 years ago

With 33, I get:

Python exception: There is no attribute or namespace named mv

Traceback (most recent call last):
  File "src/cython/vapoursynth.pyx", line 2324, in vapoursynth.vpy_evaluateScript
  File "src/cython/vapoursynth.pyx", line 2325, in vapoursynth.vpy_evaluateScript
  File "cure.vpy", line 8, in <module>
    vid = haf.QTGMC(vid, TFF=True, Preset="Slower")
  File "/usr/lib/python3.9/site-packages/havsfunc.py", line 1214, in QTGMC
    srchSuper = DitherLumaRebuild(srchClip, s0=1, chroma=ChromaMotion).mv.Super(pel=SubPel, sharp=SubPelInterp, hpad=hpad, vpad=vpad, chroma=ChromaMotion)
  File "src/cython/vapoursynth.pyx", line 1523, in vapoursynth.VideoNode.__getattr__
AttributeError: There is no attribute or namespace named mv

and with 9999, I get:

Python exception: There is no attribute or namespace named focus2

Traceback (most recent call last):
  File "src/cython/vapoursynth.pyx", line 2786, in vapoursynth._vpy_evaluate
  File "src/cython/vapoursynth.pyx", line 2787, in vapoursynth._vpy_evaluate
  File "cure.vpy", line 8, in <module>
    vid = haf.QTGMC(vid, TFF=True, Preset="Slower")
  File "/usr/lib/python3.9/site-packages/havsfunc.py", line 1181, in QTGMC
    if TR0 > 0: ts1 = bobbed.focus2.TemporalSoften2(1, 255, CMts, 28, 2)  # 0.00  0.33  0.33  0.33  0.00
  File "src/cython/vapoursynth.pyx", line 1728, in vapoursynth.VideoNode.__getattr__
AttributeError: There is no attribute or namespace named focus2

Both of these with vapoursynth 55 and 9999.

EDIT: fixed the second one by installing vapoursynth-temporalsoften2 and the first one by rebuilding (with --usepkg=n) and reinstalling vapoursynth-mvtools. I then got:

Python exception: No attribute with the name eedi3m exists. Did you mistype a plugin namespace?

Traceback (most recent call last):
  File "src/cython/vapoursynth.pyx", line 2324, in vapoursynth.vpy_evaluateScript
  File "src/cython/vapoursynth.pyx", line 2325, in vapoursynth.vpy_evaluateScript
  File "cure.vpy", line 8, in <module>
    vid = haf.QTGMC(vid, TFF=True, Preset="Slower")
  File "/usr/lib/python3.9/site-packages/havsfunc.py", line 1320, in QTGMC
    edi1 = QTGMC_Interpolate(ediInput, InputType, EdiMode, NNSize, NNeurons, EdiQual, EdiMaxD, pscrn, int16_prescreener, int16_predictor, exp, alpha, beta, gamma, nrad, vcheck,
  File "/usr/lib/python3.9/site-packages/havsfunc.py", line 1588, in QTGMC_Interpolate
    eedi3 = partial(core.eedi3m.EEDI3, alpha=alpha, beta=beta, gamma=gamma, nrad=nrad, mdis=EdiMaxD, vcheck=vcheck)
  File "src/cython/vapoursynth.pyx", line 1973, in vapoursynth._CoreProxy.__getattr__
  File "src/cython/vapoursynth.pyx", line 1836, in vapoursynth.Core.__getattr__
AttributeError: No attribute with the name eedi3m exists. Did you mistype a plugin namespace?

which I solved the same way as mvtools. Is there some python or vapoursynth cache to invalidate or something?

4re commented 2 years ago

Hi @q3cpma

Currently, I'm a little busy with IRL and low on energy when I'm finished with it, so I don't know how much time it will take to look at these issues. Also, I was in the middle of making all the changes for the new Vapoursynth API so because of that, a solution may take even a little bit longer.

I will make you know if I need more info on those.

4re commented 2 years ago

I updated the deps for the live ebuild, but you will not be able to use it as the new API is not ready in the overlay yet.

As for the problems with broken dependencies, the only thing I can think of if revdep-rebuild fails you is to use something like

#!/bin/bash

echo "List of dependencies to rebuild:"
printf "%s\n" $(equery -C g --depth=1 -MUl "$1" | awk '{if (!x[$NF]++ && $NF ~ /[^[:space:]]+/) print "=" $NF}' | tail -n +2)

emerge -a1v $(equery -C g --depth=1 -MUl "$1" | awk '{if (!x[$NF]++ && $NF ~ /[^[:space:]]+/) print "=" $NF}' | tail -n +2)

to update its deps. Note that this script needs a full ebuild name and will pull all deps not respecting your use flags.

Feel free to reopen this issue if you think your problem has not been solved.