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 14th February 2017, 07:13   #41  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
Fiesty: Would appreciate if you could update correct sequence to run your scripts. I am using like this :

QTGMC > Vine > VBm3d > Oyster (For Deblocking) > Encode with (Plum is very slow therefore sticking with Finesharp alongwith VBm3d script)

Source : 720*480 DVD9. 29.970 fps

Thanks !!!
Jindadil007 is offline   Reply With Quote
Old 14th February 2017, 07:47   #42  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
qtgmc -> vine -> oyster -> v-bm3d -> finesharp
feisty2 is offline   Reply With Quote
Old 14th February 2017, 08:18   #43  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
Quote:
Originally Posted by feisty2 View Post
qtgmc -> vine -> oyster -> v-bm3d -> finesharp
Thanks dear...
Jindadil007 is offline   Reply With Quote
Old 14th February 2017, 19:26   #44  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
This is super slow @ 0.00158 fps...it took 20 minutes to process 2 frames ... can't we run it faster ? This is my script :

ref_f = Oyster.Basic(y, Oyster.Super (y), short_time=False)
ref_s = Oyster.Basic(y, Oyster.Super (y), short_time=True)
y = Oyster.Deblocking(y, ref_f, block_step=2)
y = Oyster.Deringing(y, ref_s, sigma=24.0, h=10.8, block_step=2)
Jindadil007 is offline   Reply With Quote
Old 15th February 2017, 06:11   #45  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Oyster.Super (y) -> None
block_step=2 -> block_step=6
lower "pel" to 2, "radius" to 3
feisty2 is offline   Reply With Quote
Old 15th February 2017, 12:27   #46  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
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
feisty2 is offline   Reply With Quote
Old 15th February 2017, 13:10   #47  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
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
Many Thanks...I am testing it on 16GB DDR4 ... Basic Script is pretty fast...This serves my purpose...

Last edited by Jindadil007; 15th February 2017 at 13:31.
Jindadil007 is offline   Reply With Quote
Old 15th February 2017, 13:28   #48  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by Jindadil007 View Post
Many Thanks...I am testing it on 16GB DDR4 ... Would check with new radius and block values as suggested by you... Would update after testing...
if you wanna stick to
Code:
ref_f = Oyster.Basic(y, Oyster.Super (y), short_time=False)
ref_s = Oyster.Basic(y, Oyster.Super (y), short_time=True)
y = Oyster.Deblocking(y, ref_f, block_step=2)
y = Oyster.Deringing(y, ref_s, sigma=24.0, h=10.8, block_step=2)
and don't wanna spend eternity waiting...
you have no other choice but to split the script up.

script 1:
Code:
y = ....
clip = Oyster.Super (y)
clip.set_output()
Code:
vspipe script1.vpy super.raw -p
script 2:
Code:
super = core.raws.Source("super.raw", ...)
ref_f = Oyster.Basic(y, super, short_time=False)
ref_f.set_output()
Code:
vspipe script2.vpy ref_f.raw -p
script 3:
Code:
super = core.raws.Source("super.raw", ...)
ref_s = Oyster.Basic(y, super, short_time=True)
ref_s.set_output()
Code:
vspipe script3.vpy ref_s.raw -p
del super.raw
script 4:
Code:
ref_f = core.raws.Source("ref_f.raw", ...)
y = Oyster.Deblocking(y, ref_f, block_step=2)
y.set_output()
Code:
vspipe script4.vpy deblocked.raw -p
del ref_f.raw
script 5:
Code:
y = core.raws.Source("deblocked.raw", ...)
ref_s = core.raws.Source("ref_s.raw", ...)
y = Oyster.Deringing(y, ref_s, sigma=24.0, h=10.8, block_step=2) 
y.set_output()
Code:
vspipe script5.vpy final.raw -p
del ref_s.raw
del deblocked.raw
feisty2 is offline   Reply With Quote
Old 15th February 2017, 13:56   #49  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
Quote:
Originally Posted by feisty2 View Post
if you wanna stick to and don't wanna spend eternity waiting...you have no other choice but to split the script up.
Thanks for a detailed explanation... Would surely try it that way... Currently I am sticking to :
y = Oyster.Basic(y, super=None, radius=6, pel=4, sad=2000.0, short_time=False)

Once I check output video quality then I would test the way you have suggested...
Jindadil007 is offline   Reply With Quote
Old 16th February 2017, 13:17   #50  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
Quote:
Originally Posted by Jindadil007 View Post
Thanks for a detailed explanation... Would surely try it that way... Currently I am sticking to :
y = Oyster.Basic(y, super=None, radius=6, pel=4, sad=2000.0, short_time=False)

Once I check output video quality then I would test the way you have suggested...
Hi feisty...With the Oyster Basic script, Video gets darkened a bit...Black gets intensified...is it natural with Oyster ?

Last edited by Jindadil007; 16th February 2017 at 13:55.
Jindadil007 is offline   Reply With Quote
Old 16th February 2017, 13:38   #51  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Post your full script
feisty2 is offline   Reply With Quote
Old 16th February 2017, 13:40   #52  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
Quote:
Originally Posted by feisty2 View Post
Post your full script
import vapoursynth as vs
import adjust
import Vine
import Oyster
import mvmulti
import finesharp
import havsfunc as haf
import mvsfunc as mvf
core = vs.get_core()
core.max_cache_size = 12000
video = core.lsmas.LWLibavSource(r'C:\DVD\Sample\Vine.mkv')
video = core.fmtc.bitdepth(video,bits=32,fulls=False,fulld=True)
y = core.std.ShufflePlanes(video,0,vs.GRAY)
y = Oyster.Basic(y, super=None, radius=6, pel=4, sad=2000.0, short_time=False)
video = core.std.ShufflePlanes([y,video], [0,1,2], vs.YUV)
video = core.fmtc.bitdepth(video,bits=8,fulls=False,fulld=True)
video.set_output()
Jindadil007 is offline   Reply With Quote
Old 16th February 2017, 13:44   #53  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Read the documentation of fmtconv then you'll know the answer, Oyster has nothing to do with your problem
Key words: fulls fulld
feisty2 is offline   Reply With Quote
Old 16th February 2017, 13:55   #54  |  Link
Jindadil007
Registered User
 
Join Date: Dec 2016
Posts: 71
Quote:
Originally Posted by feisty2 View Post
Read the documentation of fmtconv then you'll know the answer, Oyster has nothing to do with your problem
Key words: fulls fulld
Many Thanks...Read the documentation...Changed fulld to TV Range=False and it did the trick...
Jindadil007 is offline   Reply With Quote
Old 20th February 2017, 07:02   #55  |  Link
Cary Knoop
Cary Knoop
 
Cary Knoop's Avatar
 
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 397
I encountered the same error

Quote:
Originally Posted by bebs View Post
Hello,

I tried to use Oyster on a de-interlaced PAL clip (768x576), and it failed with :
Code:
Failed to evaluate the script:
Python exception: BlankClip: color value out of range
Traceback (most recent call last):
File "src\cython\vapoursynth.pyx", line 1712, in vapoursynth.vpy_evaluateScript (src\cython\vapoursynth.c:34991)
File "C:/Video/Ori/Capture OK/WES-2003/WES 2003.vpy", line 167, in 
y= Oyster.Destaircase(src, ref)
File "C:\Program Files\Python36\lib\site-packages\Oyster.py", line 383, in Destaircase
thr, elast, lowpass, matrix)
File "C:\Program Files\Python36\lib\site-packages\Oyster.py", line 173, in destaircase
mask = core.GenBlockMask(core.ShufflePlanes(src, 0, vs.GRAY))
File "C:\Program Files\Python36\lib\site-packages\Oyster.py", line 89, in GenBlockMask
clip = self.BlankClip(src, 24, 24, color=0.0)
File "src\cython\vapoursynth.pyx", line 1604, in vapoursynth.Function.__call__ (src\cython\vapoursynth.c:33131)
vapoursynth.Error: BlankClip: color value out of range
I just encountered exactly the same error. Any hint as to what might be the problem?

Oyster is called in the following way:
Code:
    clip = core.fmtc.bitdepth(c, bits=32, fulls=False, fulld=False)
    y = core.std.ShufflePlanes(clip, 0, vs.GRAY)

    ref = Oyster.Basic(y, Oyster.Super(y))

    y = Oyster.Deblocking(y, ref, block_step=2)
    y = Oyster.Deringing(y, ref, sigma=24.0, h=10.8, block_step=2)

    clip = core.std.ShufflePlanes([y, clip], [0, 1, 2], vs.YUV)
Cary Knoop is offline   Reply With Quote
Old 22nd February 2017, 09:01   #56  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by Cary Knoop View Post
I just encountered exactly the same error. Any hint as to what might be the problem?

Oyster is called in the following way:
Code:
    clip = core.fmtc.bitdepth(c, bits=32, fulls=False, fulld=False)
    y = core.std.ShufflePlanes(clip, 0, vs.GRAY)

    ref = Oyster.Basic(y, Oyster.Super(y))

    y = Oyster.Deblocking(y, ref, block_step=2)
    y = Oyster.Deringing(y, ref, sigma=24.0, h=10.8, block_step=2)

    clip = core.std.ShufflePlanes([y, clip], [0, 1, 2], vs.YUV)
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"?
feisty2 is offline   Reply With Quote
Old 22nd February 2017, 10:35   #57  |  Link
Are_
Registered User
 
Join Date: Jun 2012
Location: Ibiza, Spain
Posts: 321
Using VapourSynth and Oyster at current git.
Deblocking, Deringin, Destaircase, anything triggers this bug.
Even this script raises an error:
Code:
import vapoursynth as vs
core = vs.get_core()
clip = core.std.BlankClip(format=vs.GRAYS, color=0.0)
clip.set_output()
And I'm not sure anything should be wrong there.
Also documentation being so scarce on BlankClip does not help either.
So welp, I'm pretty sure the bug is in VapourSynth, maybe I will fill a bug if I gather the strength to do it. :/

EDIT: Hohum, same problem with vapoursynth-36, now I'm not sure anymore about anything.

Last edited by Are_; 22nd February 2017 at 10:42.
Are_ is offline   Reply With Quote
Old 22nd February 2017, 11:52   #58  |  Link
jackoneill
unsigned int
 
jackoneill's Avatar
 
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
Quote:
Originally Posted by Are_ View Post
Using VapourSynth and Oyster at current git.
Deblocking, Deringin, Destaircase, anything triggers this bug.
Even this script raises an error:
Code:
import vapoursynth as vs
core = vs.get_core()
clip = core.std.BlankClip(format=vs.GRAYS, color=0.0)
clip.set_output()
And I'm not sure anything should be wrong there.
Also documentation being so scarce on BlankClip does not help either.
So welp, I'm pretty sure the bug is in VapourSynth, maybe I will fill a bug if I gather the strength to do it. :/

EDIT: Hohum, same problem with vapoursynth-36, now I'm not sure anymore about anything.
What's missing from the documentation? I can fix that.
__________________
Buy me a "coffee" and/or hire me to write code!
jackoneill is offline   Reply With Quote
Old 22nd February 2017, 11:59   #59  |  Link
feisty2
I'm Siri
 
feisty2's Avatar
 
Join Date: Oct 2012
Location: void
Posts: 2,633
Quote:
Originally Posted by Are_ View Post
Using VapourSynth and Oyster at current git.
Deblocking, Deringin, Destaircase, anything triggers this bug.
Even this script raises an error:
Code:
import vapoursynth as vs
core = vs.get_core()
clip = core.std.BlankClip(format=vs.GRAYS, color=0.0)
clip.set_output()
And I'm not sure anything should be wrong there.
Also documentation being so scarce on BlankClip does not help either.
So welp, I'm pretty sure the bug is in VapourSynth, maybe I will fill a bug if I gather the strength to do it. :/

EDIT: Hohum, same problem with vapoursynth-36, now I'm not sure anymore about anything.

that's weird cuz I couldn't reproduce the error..
maybe just a bug exclusive to Linux vaporsynth?
feisty2 is offline   Reply With Quote
Old 22nd February 2017, 12:17   #60  |  Link
Are_
Registered User
 
Join Date: Jun 2012
Location: Ibiza, Spain
Posts: 321
Quote:
Originally Posted by jackoneill View Post
What's missing from the documentation? I can fix that.
Well, I expected color to be a float from the documentation, but the error got me confused about the actual allowed range for it. Maybe saying something like it mapping to the format range and if chroma in float formats maps to -0.5 too. If bugs didn't exist this will be not a problem, though.

Last edited by Are_; 22nd February 2017 at 12:20.
Are_ 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:40.


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