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. |
12th October 2019, 05:55 | #3581 | Link |
Registered User
Join Date: May 2011
Posts: 321
|
Looking at that tinyvs.py, ...,this is a magic. How can you come up with stuff like this ,
core object is not copied, not wrapped but instead its attributes, plugins dir is just forwarded/copied to a new object so domains can be hijacked in script but functionality is kept. |
12th October 2019, 09:32 | #3583 | Link | |
Registered User
Join Date: Jan 2016
Posts: 162
|
Quote:
Last edited by WolframRhodium; 12th October 2019 at 09:54. |
|
12th October 2019, 22:21 | #3584 | Link | ||
Registered User
Join Date: May 2011
Posts: 321
|
Quote:
Quote:
Code:
import vapoursynth as vs from vapoursynth import core as _vscore import functools class _Core: def __getattr__(self, name): attr = getattr(_vscore, name) if isinstance(attr, vs.Plugin): self.__dict__.update({name : _Plugin(attr)}) return _Plugin(attr) else: self.__dict__.update({name : attr}) return attr class _Plugin: def __init__(self, namespace): self.__dict__.update((name, getattr(namespace, name)) for name in dir(namespace)) # func_name : func def CropAbs_extra(f): @functools.wraps(f) def wrapper(*args, **kwargs): print('in wrapper') c = f(*args, **kwargs) return c return wrapper core = _Core() core.std.CropAbs = CropAbs_extra(core.std.CropAbs) clip = core.std.BlankClip(width=640, height=360, format = vs.YUV420P8) clip = core.std.CropAbs(clip, 360,240, 0,0) Last edited by _Al_; 12th October 2019 at 22:42. |
||
12th October 2019, 22:32 | #3585 | Link | |
Cary Knoop
Join Date: Feb 2017
Location: Newark CA, USA
Posts: 397
|
Quote:
Redefining API's to me is like writing a novel while changing the meaning of the words. It's possible, but what would be the point? Please don't get me wrong, if you feel like doing it you certainly can, and if you want to do it don't let me stop you, but I personally think it is not a good idea. |
|
12th October 2019, 23:21 | #3587 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
If you really want to change the API that much it's a lot easier to just poke the cython code that generates the module directly. It's basically normal python with a few extensions.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
13th October 2019, 22:38 | #3588 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
R48-test2 64bit
Nothing new as such, just fixes all found regressions. Give it a try again. Speed comparisons with R46 also welcome.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
16th October 2019, 21:33 | #3589 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
R48 RC1
Go test it everywhere. Once again all known regressions have been fixed. Mask all the things! Code:
r48: it's now possible to select which optimized code path is used for internal filters (sekrit-twc) avx2 optimization in many filters, previously the internal ones were mostly sse2 (sekrit-twc) expr filter can now better optimize expressions (sekrit-twc) the 7zip executable is now bundled with vsrepo the portable version now includes the documentation as well the portable version now includes all the plugins bundled with the normal installer again
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
20th October 2019, 20:13 | #3590 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
Now that python 3.8 is final, will R48 support it?
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
20th October 2019, 20:18 | #3591 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Nope, there's no cython release with proper 3.8 support yet.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
21st October 2019, 17:55 | #3592 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
R48-RC2
More bugs and minor issues fixed. Should be the final RC unless someone finds a serious bug within a week. Test the new add to PATH option a bit extra. Code:
r48: it's now possible to select which optimized code path is used for internal filters (sekrit-twc) avx2 optimization in many filters, previously the internal ones were mostly sse2 (sekrit-twc) expr filter can now better optimize expressions (sekrit-twc) the 7zip executable is now bundled with vsrepo the portable version now includes the documentation as well the portable version now includes all the plugins bundled with the normal installer again fixed deadlock when setMessageHandler is called a second time added an option to add vspipe, avfs and vsrepo to path in the installer added registry entries for the path to vspipe and vsrepo imwri is now included in the installer the overwrite argument in imwri now also disables the requirement for output filesnames to contain a number fixed corrupt output from imwri when requesting alpha output but the read image doesn't have an alpha channel
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
21st October 2019, 18:15 | #3593 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,795
|
The PATH stuff works for me (vspipe, vsrepo, avfs). Green stripes are fixed too.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database |
21st October 2019, 18:25 | #3594 | Link |
Where's my loot?
Join Date: May 2019
Posts: 63
|
Unfortunately I still have the pink borders, when bbmod (from latest havsfunc) is used. See sample pics:
R47.2: https://images2.imgbox.com/21/ee/LCxpNQn8_o.png R48-RC2: https://images2.imgbox.com/f0/df/Nlp16rcQ_o.png Relevant part of the VS code: Code:
clip = core.std.SetFieldBased(clip, 0) clip = core.std.CropRel(clip=clip, left=0, right=0, top=20, bottom=20) clip = core.fb.FillBorders(clip, left=0, right=0, top=1, bottom=1, mode="fillmargins") clip = havsfunc.bbmod(clip, cTop = 2, cBottom = 2, cLeft = 0, cRight = 0, thresh = 128, blur = 999) clip = core.resize.Spline36(clip, width=clip.width-0-0, height=clip.height-1-1, src_left=0, src_top=1, src_width=clip.width-0-0, src_height=clip.height-1-1) Last edited by l00t; 21st October 2019 at 18:44. |
21st October 2019, 18:35 | #3595 | 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 Last edited by Myrsloik; 21st October 2019 at 18:40. |
|
21st October 2019, 18:47 | #3597 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Added how? Ideally I want a way to reproduce it using blankclip as the source and a complete script.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
21st October 2019, 18:52 | #3598 | Link | |
Where's my loot?
Join Date: May 2019
Posts: 63
|
Quote:
Code:
clip = core.dgdecodenv.DGSource(r'some_hd_video.dgi') clip = core.resize.Spline36(clip, matrix_in_s="709", transfer_in_s="709", primaries_in_s="709", range_s="limited") clip = core.std.AssumeFPS(clip, fpsnum=25000, fpsden=1000) clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1) clip = core.std.SetFieldBased(clip, 0) clip = core.std.CropRel(clip=clip, left=0, right=0, top=20, bottom=20) clip = core.fb.FillBorders(clip, left=0, right=0, top=1, bottom=1, mode="fillmargins") clip = havsfunc.bbmod(clip, cTop = 2, cBottom = 2, cLeft = 0, cRight = 0, thresh = 128, blur = 999) clip = core.resize.Spline36(clip, width=clip.width-0-0, height=clip.height-1-1, src_left=0, src_top=1, src_width=clip.width-0-0, src_height=clip.height-1-1) clip = core.remap.ReplaceFramesSimple(baseclip=clip, sourceclip=core.f3kdb.Deband(clip, range=20, grainy=32, grainc=24, sample_mode=2, dither_algo=3, keep_tv_range=1, blur_first=1, dynamic_grain=0), mappings="[0 1070]") clip.set_output() Last edited by l00t; 21st October 2019 at 18:54. |
|
22nd October 2019, 16:49 | #3599 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
R48-RC3
Fixes the aformentioned pink line at top and bottom (general expr bug) and another 32bit bug in expr as well. Keep testing it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
Tags |
speed, vaporware, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|