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. |
7th August 2020, 01:29 | #3941 | Link |
Registered User
Join Date: Sep 2006
Posts: 1,657
|
I think it should take RGB values and converted it to the destine format implicitly, because at the end of the day, we only need to produce a simple colored blankclip, people shouldn't need to look up the equation on their own in order to convert RGB value to YUV.
|
7th August 2020, 01:40 | #3942 | Link |
Registered User
Join Date: May 2011
Posts: 321
|
yeah, it is yuv because of format, is value 220 as 8 bit? For 16 bit it would be:
Code:
clip_yuv16 = core.resize.Bicubic(clip, format=vs.YUV444P16) MaxSize16bit = 2**16-1 color_clip = core.std.BlankClip(clip_yuv16, color=[0, 0, 220/255*MaxSize16bit]) color_clip.set_output() |
7th August 2020, 04:29 | #3943 | Link | |
Registered User
Join Date: Sep 2006
Posts: 1,657
|
Quote:
|
|
7th August 2020, 04:50 | #3944 | Link |
Registered User
Join Date: May 2011
Posts: 321
|
If format is YUV or attribute clip has that format then it is [Y,U,V].
To start as RGB you'd need one more conversion line, to set your 8bit 220 blue for final YUV 16bit for exampler: Code:
color_clip = core.std.BlankClip(format=vs.RGB24, color=[0,0,220]) color_clip = color_clip.resize.Point(format=vs.YUV444P16, matrix_s='709') color_clip.set_output() |
7th August 2020, 08:34 | #3945 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
7th August 2020, 08:34 | #3946 | Link |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
ShufflePlanes should automatically strip the "_Matrix" property if the target color family is vs.GRAY. otherwise an error message pops up bitchin' about "no _Matrix stuff allowed for GRAY" or whatever and you have to manually remove the "_Matrix" thingy before ShufflePlanes which is very annoying.
|
7th August 2020, 08:47 | #3947 | Link |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
you can reproduce the error using the following script
Code:
clp = core.std.BlankClip(format=vs.YUV444PS) clp = core.fmtc.matrix(clp, "601") clp = core.std.ShufflePlanes(clp, 0, vs.GRAY) # Resize error 1026: GRAY color family cannot have RGB matrix coefficients |
7th August 2020, 09:48 | #3948 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Can reproduce with R51 and also with R51-audio-test5.
Did you copy the text? Because my GRAY is spelled GREY here: Code:
Resize error 1026: GREY color family cannot have RGB matrix coefficients
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
7th August 2020, 10:05 | #3950 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
10th August 2020, 16:46 | #3951 | Link |
Registered User
Join Date: Sep 2006
Posts: 1,657
|
Found another memory leak when calling the evaluateScript function:
https://forum.doom9.org/showthread.p...41#post1920641 Way to reproduced it, with vseditor 2, load a script, open the PF window, and spam switching between the YUV channels (it is calling evaluateScript internally). memory would kept going up and wouldn't come down even when the script was closed. |
11th August 2020, 08:42 | #3952 | Link | |
Registered User
Join Date: Jul 2003
Location: India
Posts: 890
|
Quote:
Code:
base = core.vcmove.deBarrel(ret,a = 0.05, b= 0.05, c = 0.05,test = 1) def animator(n,clip): if n > 20: return clip else: return core.vcmove.deBarrel(ret,a = n * 0.0025 + 0.0005, b= 0.05, c = 0.05, test = 1) ret = core.std.FrameEval(base,functools.partial(animator,clip=base)) |
|
11th August 2020, 09:03 | #3953 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Shouldn't it be vcmove.DeBarrel ?
You have a type. it should be clip and not ret Code:
return core.vcmove.deBarrel(ret,a = n * 0.0025 + 0.0005, b= 0.05, c = 0.05, test = 1) EDIT ok check does spot this error too... EDIT2 Oh and YUV444 (10-32bit) produces a green image, rgb & YUV444P8 looks both okay. EDIT3 only RGB24 is ok higher precision is also broken for rgb. Or is it just not supported?
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database Last edited by ChaosKing; 11th August 2020 at 09:20. |
15th August 2020, 20:08 | #3955 | Link |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
fun stuff: https://github.com/IFeelBloated/Vapo.../VaporMagik.py
tired of the verbosity of filter calling syntax? cannot patch cython types like vs.VideoNode and list? with VaporMagik, no more Code:
clip = core.std.StackHorizontal([clip, core.std.Expr([clip, Adjust(clip, -0.4)], "x y + 2 /")]) |
15th August 2020, 21:40 | #3956 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
16th August 2020, 07:52 | #3957 | Link |
Registered User
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 377
|
https://github.com/Endilll/vapoursyn...dafeca718fbc4d - yet another way to do that (it's just enough to call core.augment(locals) after imports).
|
16th August 2020, 09:00 | #3958 | Link | |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
Quote:
Code:
def Super(self, *args, **kw): if self.format.bits_per_sample == 32: return core.mvsf.Super(self, *args, **kw) else: return core.mv.Super(self, *args, **kw) Injector.TargetType = VideoNode Injector["Super"] = Super clp1 = core.std.BlankClip(format = GRAYS) clp2 = core.std.BlankClip(format = GRAY16) clp1 = clp1.Super() # calls core.mvsf.Super clp2 = clp2.Super() # calls core.mv.Super Code:
clp = [clp1, clp2].Expr("x y + 2 /") clp = "x y + 2 /".Render([clp1, clp2]) |
|
17th August 2020, 13:30 | #3960 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,753
|
If you change the duration of every frame, but keep the number of frames constant, the overall playtime must change as well. Rule of proportion.
Typical example: "PAL speedup" – changing the frame rate from 24 fps to 25 fps causes a 1/25 shorter playtime. |
Tags |
speed, vaporware, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|