Thread: Avisynth+
View Single Post
Old 9th September 2019, 22:38   #4874  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
Just curious, what is the purpose of
Code:
Null "c[copy]s"      # Function Null(clip c,String "Copy")
Is it some temp debug thing for test version avs+ r2915

Code:
colorbars(pixel_type="YV12")
#NULL("YV24")
NULL()
info
Quote:
Error reading source frame 0: Avisynth read error: bug found
EDIT: Also, I found a script from some time ago, (about june/july)
Code:
Colorbars
x=GetPlaneWidthSubSampling
return last
Dont know if it was implemented back then or whether or not I was just testing for the function existing, but it aint supported in r2915,
perhaps that is part reason I gave up s_ExLogo modding, is pretty fundamental function and easily added, can next issue of avs+ have it (GetPlaneWidthSubSampling) and
also GetPlaneHeigthSubSampling too please.
I can use RT_ColorSpaceXMod(clip) and RT_ColorSpaceYMod(clip,Laced) but not for avs+ colorspaces. https://forum.doom9.org/showthread.p...02#post1864802

EDIT: Below maybe handy for Wiki/Docs (where ColorSpaceXMod and ColorSpaceYMod cropping granularity of colorspace due to U and V)
where ColorSpaceYMod would be as BitLShift(1,Last.GetPlaneHeightSubSampling) OR Last.RT_ColorSpaceYMod() in Avs Std.
Code:
H=5                                            # Test height
CS="YV24"
ColorSpaceYMod = 1                             # ColorSpaceYMod = 1 : Can crop vertically in multiples of 1 for YV24 : ColorSpaceYMod = BitLShift(1,Last.GetPlaneHeightSubSampling)
                                               # ColorSpaceYMod = 1 : if eg Y8, GetPlaneHeightSubSampling() would produce error if no chroma.
Colorbars(Pixel_type=CS)
O=Last
crop(0,0,0,H*ColorSpaceYMod)

# MINIMUM CROPPED INPUT SIZE PER RESIZER
# Resizer Name                                 # Minimum (cropped) input size that succeeds (eg ColorSpaceYMod=2 for YV12, 1 for YV24 : ColorSpaceXMod for horizontal same sort of thing for width)
#PointResize(O.Width,O.Height)                 # 1*ColorSpaceYMod
#BilinearResize(O.Width,O.Height)              # 2*ColorSpaceYMod
#BiCubicResize(O.Width,O.Height)               # 3*ColorSpaceYMod
#Spline16Resize(O.Width,O.Height)              # 3*ColorSpaceYMod
#Spline36Resize(O.Width,O.Height)              # 4*ColorSpaceYMod
#Spline64Resize(O.Width,O.Height)              # 5*ColorSpaceYMod
#GaussResize(O.Width,O.Height,p=30.0)          # 5*ColorSpaceYMod
#Lanczos4Resize(O.Width,O.Height)              # 5*ColorSpaceYMod (taps=4)
#LanczosResize(O.Width,O.Height,taps=3)        # (taps+1)*ColorSpaceYMod
#BlackmanResize(O.Width,O.Height,taps=4)       # (taps+1)*ColorSpaceYMod
#SincResize(O.Width,O.Height,taps=4)           # (taps+1)*ColorSpaceYMod

# Uncomment one of above

return Info
EDIT: Maybe ColorSpaceXMod/YMod would actually be more useful [than GetPlane-Height/Width-SubSampling], and avoid special cases [in script] where no chroma or RGB.
__________________
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; 10th September 2019 at 02:36.
StainlessS is offline