Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 22nd February 2017, 12:19   #61  |  Link
Are_
Registered User
 
Join Date: Jun 2012
Location: Ibiza, Spain
Posts: 309
Quote:
Originally Posted by feisty2 View Post
that's weird cuz I couldn't reproduce the error..
maybe just a bug exclusive to Linux vaporsynth?
Then it looks like this was a bug introduced in R36 for posix targets https://github.com/vapoursynth/vapoursynth/issues/290
Are_ is offline   Reply With Quote
Old 24th February 2017, 02:45   #62  |  Link
Cary Knoop
Cary Knoop
 
Cary Knoop's Avatar
 
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 257
Thanks for looking into this

Quote:
Originally Posted by feisty2 View Post
I got 2 things to say here,
1. before the next release of KNLMeansCL, please manually change line 67 to
Code:
nlm                  = self.KNLMeansCL(pad, d=d, a=a, s=s, h=h * math.sqrt(3), channels="YUV" if color else "Y", wref=1.0, rclip=rclip)
to fix a bug introduced in v1.0
2. what version of vaporsynth are you using? (the latest one?), will it work if you comment out "Oyster.Deringing"?
Sorry for the late reply.

The error was found on Windows using:
Vapoursynth: R36
KNLMeansCL. 1.01
Cary Knoop is offline   Reply With Quote
Old 25th February 2017, 09:15   #63  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
Quote:
Originally Posted by Cary Knoop View Post
Sorry for the late reply.

The error was found on Windows using:
Vapoursynth: R36
KNLMeansCL. 1.01
KNLMeansCL. 1.01 has a bug...Use version 0.7.7
Jindadil007 is offline   Reply With Quote
Old 25th February 2017, 14:43   #64  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: Providence, RI
Posts: 2,336
Quote:
Originally Posted by Cary Knoop View Post
Sorry for the late reply.

The error was found on Windows using:
Vapoursynth: R36
KNLMeansCL. 1.01
I think that's a vaporsynth bug and there's really nothing I can do..
https://github.com/vapoursynth/vapoursynth/issues/290
__________________
If I got new ideas, will post here: https://github.com/IFeelBloated
feisty2 is offline   Reply With Quote
Old 25th February 2017, 18:03   #65  |  Link
Cary Knoop
Cary Knoop
 
Cary Knoop's Avatar
 
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 257
Quote:
Originally Posted by Jindadil007 View Post
KNLMeansCL. 1.01 has a bug...Use version 0.7.7
Which bug are you referring to?
I did not see any open bugs on GitHub.
Cary Knoop is offline   Reply With Quote
Old 25th February 2017, 18:15   #66  |  Link
Are_
Registered User
 
Join Date: Jun 2012
Location: Ibiza, Spain
Posts: 309
h parameter is scaled differently, to have the same strength in 1.0.x you had in 0.7.x series you need to do h * math.sqrt(3) as feisty2 pointed out. The author knows about it and it will be solved in next release, probably.
Are_ is offline   Reply With Quote
Old 25th February 2017, 20:04   #67  |  Link
Cary Knoop
Cary Knoop
 
Cary Knoop's Avatar
 
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 257
Quote:
Originally Posted by Are_ View Post
h parameter is scaled differently, to have the same strength in 1.0.x you had in 0.7.x series you need to do h * math.sqrt(3) as feisty2 pointed out. The author knows about it and it will be solved in next release, probably.
The author should probably express his intent so others can anticipate, if it stays that way many scripts would have to be updated, if it is going to change then it is probably best to wait for 1.02.
Cary Knoop is offline   Reply With Quote
Old 25th February 2017, 20:09   #68  |  Link
Are_
Registered User
 
Join Date: Jun 2012
Location: Ibiza, Spain
Posts: 309
He expressed it in his main thread, it's a bug introduced in 1.x.x series and will be fixed, eventually.
Are_ is offline   Reply With Quote
Old 18th January 2018, 19:45   #69  |  Link
Tormaid
Registered User
 
Tormaid's Avatar
 
Join Date: Dec 2011
Posts: 24
This script (taken from the "examples" section on the github page) is consistently crashing Vaporusynth for me. I'm running R42.1 and using the most up-to-date versions of all of the prerequisite filters and scripts, as far as I am aware. The one I'm not 100% sure about is the version of libfftw3-3.dll I got from this site.

Code:
import vapoursynth as vs
import Oyster
core = vs.get_core()

v = core.ffms2.Source(r"clip.mp4")

v = core.fmtc.bitdepth(v, bits=32)
y = core.std.ShufflePlanes(v, 0, vs.GRAY)

sup = Oyster.Super(y)
ref_f = Oyster.Basic(y, sup, short_time=False)
ref_s = Oyster.Basic(y, sup, short_time=True)
y = Oyster.Destaircase(y, ref_f, sigma=24.0, block_step=2)
y = Oyster.Deringing(y, ref_s, sigma=24.0, h=9.6, block_step=2)

y.set_output()
It crashes whether I'm opening it in vsedit or directly using vspipe.

Edit: I've tested it on two different computers, both running Windows 10, and had the same results.

Last edited by Tormaid; 18th January 2018 at 19:50.
Tormaid is offline   Reply With Quote
Old 1st February 2018, 01:47   #70  |  Link
leon
Registered User
 
Join Date: Nov 2013
Posts: 134
When I try to import Oyster I get this error:

Code:
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1841, in vapoursynth.vpy_evaluateScript
File "C:/Users/.../Desktop/Untitled.vpy", line 3, in 
import Oyster
File "C:\Users\...\AppData\Local\Programs\Python\Python36\lib\site-packages\Oyster.py", line 3, in 
import mvmulti
ModuleNotFoundError: No module named 'mvmulti'
What am I doing wrong ?

Last edited by leon; 8th February 2019 at 23:27.
leon is offline   Reply With Quote
Old 1st February 2018, 02:10   #71  |  Link
WolframRhodium
Registered User
 
Join Date: Jan 2016
Posts: 111
Quote:
Originally Posted by leon View Post
When I try to import Oyster I get this error:

Code:
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1841, in vapoursynth.vpy_evaluateScript
File "C:/Users/Admin/Desktop/Untitled.vpy", line 3, in 
import Oyster
File "C:\Users\Admin\AppData\Local\Programs\Python\Python36\lib\site-packages\Oyster.py", line 3, in 
import mvmulti
ModuleNotFoundError: No module named 'mvmulti'
What am I doing wrong ?
https://github.com/IFeelBloated/vapo...src/mvmulti.py
WolframRhodium is offline   Reply With Quote
Old 1st February 2018, 04:09   #72  |  Link
leon
Registered User
 
Join Date: Nov 2013
Posts: 134
Quote:
Originally Posted by WolframRhodium View Post
I'd tried that before posting but oddly it didn't work(maybe wrong folder).
It works now
leon is offline   Reply With Quote
Old 6th February 2018, 15:07   #73  |  Link
Max_143
Registered User
 
Join Date: Dec 2011
Location: Odessa, Ukraine
Posts: 7
vapoursynth-nnedi3-v11-win64.7z and nnedi3_weights.bin
I took here https://github.com/dubhater/vapoursynth-nnedi3

Script
Quote:
sup = Oyster.Super(y)
ref_f = Oyster.Basic(y, sup, short_time=False)
ref_s = Oyster.Basic(y, sup, short_time=True)
y = Oyster.Destaircase(y, ref_f, sigma=24.0, block_step=2)
y = Oyster.Deringing(y, ref_s, sigma=24.0, h=9.6, block_step=2)
y.set_output()
I get an error

Quote:
Failed to evaluate the script:
Python exception: nnedi3: 'D:/Instal/Video/Vapoursynth/Instal/python-3.6.4-embed-amd64/vapoursynth64/plugins/nnedi3_weights.bin' has the wrong size. Expected 13574928 bytes, got 41011 bytes.

Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1847, in vapoursynth.vpy_evaluateScript
File "D:/Klipy/Obrabotka/VsPipe/2/vs2.vpy", line 44, in
sup = Oyster.Super(y)
File "D:\Instal\Video\Vapoursynth\Instal\python-3.6.4-embed-amd64\Oyster.py", line 230, in Super
clip = internal.super(core, src, pel)
File "D:\Instal\Video\Vapoursynth\Instal\python-3.6.4-embed-amd64\Oyster.py", line 108, in super
clip = core.Transpose(core.NNEDI(core.Transpose(core.NNEDI(src, **nnedi_args)), **nnedi_args))
File "src\cython\vapoursynth.pyx", line 1739, in vapoursynth.Function.__call__
vapoursynth.Error: nnedi3: 'D:/Instal/Video/Vapoursynth/Instal/python-3.6.4-embed-amd64/vapoursynth64/plugins/nnedi3_weights.bin' has the wrong size. Expected 13574928 bytes, got 41011 bytes.
I need another file nnedi3_weights.bin or error in another?
(Windows 7 x64)

P.S.
thanks, figured out)

Last edited by Max_143; 6th February 2018 at 15:50.
Max_143 is offline   Reply With Quote
Old 2nd September 2018, 04:52   #74  |  Link
Cary Knoop
Cary Knoop
 
Cary Knoop's Avatar
 
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 257
This script is excellent, the default settings are great as well but I made some compromises for speed.

On a deinterlaced PAL video I am using this:

ref_s = Oyster.Basic(y, short_time=True, pel=4)
y = Oyster.Deringing(y, ref_s, radius=3, sigma=24.0, h=8, block_step=6)

It's slow, I get about 3 fps on using 45GB of memory.
Would be interesting to see if the Threadripper 2 can improve speed.

Using a Threadripper 1950X with 64GB of memory and a 1080TI GPU.


To improve speed could a GPU implementation of bm3d be of help? Especially when having multiple GPUs.

https://github.com/JeffOwOSun/gpu-bm3d

Last edited by Cary Knoop; 2nd September 2018 at 04:58.
Cary Knoop is offline   Reply With Quote
Old 7th February 2019, 00:36   #75  |  Link
zorr
Registered User
 
Join Date: Mar 2018
Posts: 223
Quote:
Originally Posted by feisty2 View Post
been hours and I tried like a million sets of parameters to investigate if there's any chance of quality-speed tradeoff, and, failed to get rid of the abysmal performance
...
I'm out of ideas of performance boost..
Quote:
Originally Posted by feisty2 View Post
and also you HAVE TO create intermediate raw files for your process chain.
it will probably be hundreds times faster unless you have 1TB of RAM or so
I sped up one of my Avisynth processes by creating intermediate files for each phase (QTGMC -> SMDegrain -> other filters). It speeds up processing tremendously especially when using temporal filters. In theory the frames could be cached but perhaps there just isn't enough memory or maybe the caches are just too small.

Just wondering if doing that for the sub-processes inside Oyster functions would also give speedup. So for example Deblocking could make files between core.NLMeans and core.BMBasic etc. It would of course make calling the filters convoluted, you'd have to pass in a phase number and some extra input files and do the processing in multiple scripts. But I think it might be worth investigating if any speedup is possible that way.
zorr is offline   Reply With Quote
Old 6th March 2019, 01:11   #76  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Holy crap! This Oyster thing is wickedly good! Here's a sample from an old DVD of mine, called Old Enough. On the left is the restored image, on the right the original. Notice how extremely well the MPEG 'smudginess' has disappeared! (Look around the hair, for instance)

Oyster is not the fastest filter in the book, though.
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 6th March 2019, 06:42   #77  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by zorr View Post
I sped up one of my Avisynth processes by creating intermediate files for each phase (QTGMC -> SMDegrain -> other filters).
What kind of intermediate file-size are we talking about here? I tried a 'Super' intermediate pass, but ran out of hard disk space (Sic!) at several hundred G (for a 720x480p source).
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 6th March 2019, 10:55   #78  |  Link
zorr
Registered User
 
Join Date: Mar 2018
Posts: 223
Quote:
Originally Posted by asarian View Post
What kind of intermediate file-size are we talking about here? I tried a 'Super' intermediate pass, but ran out of hard disk space (Sic!) at several hundred G (for a 720x480p source).
Im my case it was all 8bit and the clips were not that long. Super will need much more because it's 4x the resolution (assuming pel=4) and in 32bits per component. If you run out of hd space then maybe try to do the processing in segments. Also using a compressed (but still lossless) intermediate file such as FFV1 will help.
zorr is offline   Reply With Quote
Old 6th March 2019, 11:07   #79  |  Link
asarian
Registered User
 
Join Date: May 2005
Posts: 1,372
Quote:
Originally Posted by zorr View Post
Im my case it was all 8bit and the clips were not that long. Super will need much more because it's 4x the resolution (assuming pel=4) and in 32bits per component. If you run out of hd space then maybe try to do the processing in segments. Also using a compressed (but still lossless) intermediate file such as FFV1 will help.
My 720x480p source was a full-length movie. So, a compressed output is good idea.
__________________
Gorgeous, delicious, deculture!
asarian is offline   Reply With Quote
Old 6th March 2019, 15:59   #80  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 4,233
Quote:
Originally Posted by asarian View Post
Holy crap! This Oyster thing is wickedly good! Here's a sample from an old DVD of mine, called Old Enough. On the left is the restored image, on the right the original. Notice how extremely well the MPEG 'smudginess' has disappeared! (Look around the hair, for instance)

Oyster is not the fastest filter in the book, though.
It does look impressive

One thing that stands out is the left cheek blemish - it looks over enhanced. Was that temporally consistent on other frames ? (or are you still waiting for it to finish processing other frames? )
poisondeathray is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 10:48.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.