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 > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 12th July 2019, 00:27   #4801  |  Link
LouieChuckyMerry
Registered User
 
LouieChuckyMerry's Avatar
 
Join Date: Feb 2014
Posts: 313
Back for more. After receiving enough help here to upgrade from 32 bit AviSynth+ to 64 bit--thanks again for all the help --for my usual Blu-ray sources, I'm now trying to learn how to use 64 bit AviSynth+ for my DVD sources. I've found all the required 64 bit .dll's for my upscale scripts except ColorMatrix (to convert from Rec.601 to Rec.709). After much searching and reading, it seems that I can simply replace the 32 bit line:

Code:
ColorMatrix(Mode="Rec.601->Rec.709")
with:

Code:
ConvertTo(Proper Symbols Here)
in 64 bit AviSynth+, but I can't figure out just what the proper symbols are. In case it matters, my script is something like:

Code:
DGSource Here
### Deinterlace ###
TFM(Mode=7,UBSCO=False)
### Color Conversion ###
ColorMatrix(Mode="Rec.601->Rec.709")
### Adjust Color ###
MergeChroma(aWarpSharp2(Depth=16))
### Crop ###
Crop(8,1,-8,0)
### Gibbs Noise Block ###
Edge=MT_Edge("prewitt",ThY1=20,ThY2=40).RemoveGrain(17)
Mask=MT_Logic(Edge.MT_Expand().MT_Expand().MT_Expand().MT_Expand(),Edge.MT_Inflate().MT_Inpand(),"xor").Blur(1.0)
MT_Merge(Minblur(),Mask,Luma=True)
### Overall Temporal Denoise ###
SMDegrain(TR=3,ThSAD=200,ContraSharp=True,RefineMotion=True,Plane=0,PreFilter=2,Chroma=False,n16=True,n16_Out=True)
### Resize ###
EDI_RPow2(CShift="Spline64",FWidth=960,FHeight=720)
aWarpSharp4xx(Depth=5)
### Darken-Thin Lines ###
FastLineDarkenMod4(Strength=24,Prot=6)
aWarpSharp4xx(Blur=4,Type=1,Depth=8,Chroma=2)
### Deband ###
F3KDB(Y=100,Cb=100,Cr=100,GrainY=0,GrainC=0)
As always, thanks for any help.

Edit: Happy Saturday! After banging my (obviously thick) head against the wall for a while longer I realized that MeGUI has a copy of ColorMatrix.dll in its AviSynth_Plugins folder, so I borrowed a copy from the 64 bit version and all is well. I'd still be curious if "ConvertTo(Something)" would do the same job...

Last edited by LouieChuckyMerry; 13th July 2019 at 20:54. Reason: Answered
LouieChuckyMerry is offline   Reply With Quote
Old 14th July 2019, 20:01   #4802  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 1,235
bug in expr? in float(32)

mt_lut( "x range_half - 0.1 * range_half +", scale_inputs="floatf", U=3,V=3 )

not same as

expr( "x range_half - 0.1 * range_half +" ,scale_inputs="floatf")

without scale_inputs="floatf" they are same
__________________
My Avisynth Stuff

Last edited by real.finder; 14th July 2019 at 20:12.
real.finder is offline   Reply With Quote
Old 16th July 2019, 10:02   #4803  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,231
Quote:
Originally Posted by real.finder View Post
bug in expr? in float(32)

mt_lut( "x range_half - 0.1 * range_half +", scale_inputs="floatf", U=3,V=3 )

not same as

expr( "x range_half - 0.1 * range_half +" ,scale_inputs="floatf")

without scale_inputs="floatf" they are same
Do you know which one is correct?
pinterf is offline   Reply With Quote
Old 16th July 2019, 15:19   #4804  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 1,235
Quote:
Originally Posted by pinterf View Post
Do you know which one is correct?
the mt_lut one is correct
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 16th July 2019, 15:29   #4805  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,231
Quote:
Originally Posted by real.finder View Post
the mt_lut one is correct
O.k. thanks, I check them both and found no problem for a quick five-minute investigation, so I need more time.
pinterf is offline   Reply With Quote
Old 21st July 2019, 08:08   #4806  |  Link
pinterf
Registered User
 
Join Date: Jan 2014
Posts: 1,231
Quote:
Originally Posted by real.finder View Post
the mt_lut one is correct
This issue was fixed, it's on git already, I'll make a build next week.
pinterf is offline   Reply With Quote
Old 21st July 2019, 09:12   #4807  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 1,235
Quote:
Originally Posted by pinterf View Post
This issue was fixed, it's on git already, I'll make a build next week.
thank you
__________________
My Avisynth Stuff
real.finder is offline   Reply With Quote
Old 21st July 2019, 21:38   #4808  |  Link
djonline
Registered User
 
Join Date: Mar 2011
Posts: 38
Quote:
Trim not work after Import, only after DirectShowSource.

DirectShowSource("avisynth-stage1-with-MTS.avs") still not work with LAV splitter 0.71
Quote:
Originally Posted by LigH View Post
Then write the Trim in a separate line, not after a dot.

If the imported script returns a clip, then it should be passed to the usual internal variable "last", which is then implicitly assumed where no explicit clip variable was written.

If it does not return any clip, then it can't be used as video source anyway.
Still not work with Deshaker, video is shaked when using Import

"00425.MTS-pass2.avs"
vid="00425.MTS"
o=DirectShowSource(vid)
o+o.Trim(0,29)
ConvertToRGB32
LoadVirtualDubPlugin ("c:\Program Files\Vdub\vdub64\plugins64\Deshaker_64.vdf", "deshaker",0) deshaker ("19|2|30|4|1|0|1|0|640|480|1|2|1000|1000|2000|2000|4|0|6|2|8|30|300|3|f:\\00425.MTS.1.1000.1000.2000.2000.log|0|0|0|0|0|0|0|0|0|0|0|0|0|1|70|70|10|30|1|1|30|30|0|0|0|0|1|0|1|10|1000|1|88|1|1|20|30000|100|20|1")

00425.MTS-loader.avs
#DirectShowSource("00425.MTS-pass2.avs").Trim(30,0)
Import("00425.MTS-pass2.avs")
Trim(30,0) #video is shaked with this
djonline is offline   Reply With Quote
Old 21st July 2019, 21:51   #4809  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 6,956
Code:
# "00425.MTS-pass2.avs"
vid="00425.MTS"
o=DirectShowSource(vid)
# o+o.Trim(0,29)  # Join o.trim(0,29) to END OF o
o.Trim(0,29)  # presume this is required
#o.Trim(29,0) # EDIT: Or, is it this
ConvertToRGB32
LoadVirtualDubPlugin ("c:\Program Files\Vdub\vdub64\plugins64\Deshaker_64.vdf", "deshaker",0)
deshaker ("19|2|30|4|1|0|1|0|640|480|1|2|1000|1000|2000|2000|4|0|6|2|8|30|300|3|f:\\00425.MTS.1.1000.1000.2000.2000.log"
 \ + "|0|0|0|0|0|0|0|0|0|0|0|0|0|1|70|70|10|30|1|1|30|30|0|0|0|0|1|0|1|10|1000|1|88|1|1|20|30000|100|20|1")
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 22nd July 2019 at 12:29.
StainlessS is online now   Reply With Quote
Old 26th July 2019, 17:03   #4810  |  Link
Stereodude
Registered User
 
Join Date: Dec 2002
Location: Region 0
Posts: 1,120
Is there an avisynth+ version of DitherTools by any chance (I searched but came up empty)? If not, is there a way to get dithertool's rgb48y output into RGBP16 which AVIsynth+ handles? I think rgb48y and RGBP16 are basically the same thing just stored differently.
Stereodude is offline   Reply With Quote
Old 26th July 2019, 17:32   #4811  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 1,235
Quote:
Originally Posted by Stereodude View Post
Is there an avisynth+ version of DitherTools by any chance (I searched but came up empty)? If not, is there a way to get dithertool's rgb48y output into RGBP16 which AVIsynth+ handles? I think rgb48y and RGBP16 are basically the same thing just stored differently.
avisynth+ version of DitherTools? no, it's still avs25/avs26

some DitherTools functions for avs+? yes, like the one I post here maybe there are others by another persons
__________________
My Avisynth Stuff

Last edited by real.finder; 26th July 2019 at 17:41.
real.finder is offline   Reply With Quote
Old 26th July 2019, 22:11   #4812  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,049
Quote:
Originally Posted by Stereodude View Post
Is there an avisynth+ version of DitherTools by any chance (I searched but came up empty)? If not, is there a way to get dithertool's rgb48y output into RGBP16 which AVIsynth+ handles? I think rgb48y and RGBP16 are basically the same thing just stored differently.
From the Dither tools wiki page:
Quote:
"rgb48y" 48-bit RGB. The components R, G and B are conveyed on three YV12 or Y8 (if supported) stack16 clips interleaved on a frame basis.
I don't truly know how to interpret that description. Because from what it sounds like, you'd have to treat a Y8 frame (assuming it would default to Y8 on 2.6 and Plus) as an individual RGB plane, but you *also* have to apply ConvertFromStacked() and Select every third frame into individual variables to try then stitching them back together into a real RGBP16 stream with CombinePlanes. That's just my best guess, assuming the 'interleaved on a frame basis' means something like 6 frames being R1-B1-G1-R2-B2-G2, and not 'interleaved' in the sense that Stack16 format's counterpart Interleaved16 was for doing high bit depth.

IMO, I think it'd be easier to see if other Plus-compatible plugins (or its native HBD and dither functionality) can do what you want without bringing DitherTools into it at all.

Last edited by qyot27; 26th July 2019 at 22:17.
qyot27 is offline   Reply With Quote
Old 19th August 2019, 00:19   #4813  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: Germany
Posts: 5,632
I would like to request scaling for Info() because with 4K it's barely readable.

A player such as mpv shows always the same OSD font size regardless of the video resolution.

Last edited by stax76; 19th August 2019 at 00:22.
stax76 is online now   Reply With Quote
Old 19th August 2019, 01:03   #4814  |  Link
qyot27
...?
 
qyot27's Avatar
 
Join Date: Nov 2005
Location: Florida
Posts: 1,049
Quote:
Originally Posted by stax76 View Post
I would like to request scaling for Info() because with 4K it's barely readable.

A player such as mpv shows always the same OSD font size regardless of the video resolution.
Just set the font size to 72. Or higher. Whatever you want; it's been customizable for three years now (AviSynth Wiki).

qyot27 is offline   Reply With Quote
Old 19th August 2019, 11:46   #4815  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 1,784
May I recommend Info2, which is much easier to read and much much faster (it's missing a couple of not-that-useful things from Info).

__________________
My AviSynth filters / I'm the Doctor

Last edited by wonkey_monkey; 20th August 2019 at 11:27.
wonkey_monkey is offline   Reply With Quote
Old 19th August 2019, 22:01   #4816  |  Link
VoodooFX
Registered User
 
Join Date: Sep 2008
Posts: 47
What AVS+ vs AVS 2.6 does differently at initial script load? I noticed that one of my script loads ~hundred times slower in AVS+.
Most slowness I localized to this pseudo code below, AVS loads it in milliseconds or a second when AVS+ takes ~few minutes. (I don't want to publish script atm).

Code:
a = clip.Trim(22,-30)+clip.Trim(22222,-30)
a = a+a+a+a+a+a+a+a+a+a
a = a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a+a

a.PseudoParse()
Trim(0,-1)
setA = PseudoSetting(last)
aClip = clip.PseudoJob(setA) 

b = aClip.Trim(22,-30)+aClip.Trim(22222,-30)
b = b+b+b+b+b+b+b+b+b+b
b = b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b+b

b.PseudoParse()
Trim(0,-1)
setB = PseudoSetting(last)
bClip = aClip.PseudoJob(setB) 

c = bClip.Trim(22,-30)+bClip.Trim(22222,-30)
c = c+c+c+c+c+c+c+c+c+c
c = c+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c+c

c.PseudoParse()
Trim(0,-1)
setC = PseudoSetting(last)
cClip = bClip.PseudoJob(setC) 

return cClip

Last edited by VoodooFX; 19th August 2019 at 22:05.
VoodooFX is offline   Reply With Quote
Old 19th August 2019, 22:25   #4817  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 1,784
Hard to say if we don't know what all the Pseudo functions do. Is there still a speed difference if you take those blocks out (replacing them aClip = a, etc), leaving just all the splices?
__________________
My AviSynth filters / I'm the Doctor
wonkey_monkey is offline   Reply With Quote
Old 19th August 2019, 23:19   #4818  |  Link
VoodooFX
Registered User
 
Join Date: Sep 2008
Posts: 47
It goes slower in some geometric progression with every xClip block, AVS 2.6 loads it in a second, when AVS+ runs script faster than AVS (I think). If it helps: PseudoParse() is AnalyzeLogo(), PseudoSetting() is ImageWriter(), PseudoJob() is DeblendLogo() from AVSInpaint.

Actual script will be more confusing without manual(yet), and I want to solve few other issues before publishing it.

PS:
Replacing to: aClip = Clip, bClip = Clip - just makes script 3 times faster to load. Remove all those "inception" blocks and AVS+ still is significantly slower at loading.

Last edited by VoodooFX; 20th August 2019 at 00:28.
VoodooFX is offline   Reply With Quote
Old 20th August 2019, 09:15   #4819  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 5,880
Quote:
Originally Posted by wonkey_monkey View Post
May I recommend Info2
Pretty pretty!
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old Yesterday, 10:24   #4820  |  Link
magiblot
Eurobeat Fan
 
Join Date: Sep 2014
Posts: 97
What is the range of expected pixel values for floating-point formats? [0..1], [0..255/256], or the former for RGB and the latter for YUV?
magiblot 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 19:11.


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