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. |
30th October 2013, 10:38 | #1022 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
I suppose I could have a go at it now that tp7 has rewritten it. Should be fairly easy. The other thing is adding the remaining missing modes to removegrain which tp7 also reverse engineered.
Or someone could help by contributing a port. There's no shortage of small things to do.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
30th October 2013, 14:42 | #1024 | Link |
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,664
|
While I doubt that all of these will come into fruition, I think these plugins make a nice addition to VapourSynth:
Closed source plugins that hopefully get ported or get a VS equivalent.
Hey there Myrsloik, thank you for the updates! Last edited by Reel.Deel; 30th October 2013 at 14:50. |
30th October 2013, 16:11 | #1025 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
The only ones that can be salvaged for a somewhat easy port are: AddGrainC - not too horrible once you delete the asm dfttest - also has a C version so it's doable ExpLab - seemed very straightforward, the biggest challenge would be to structure the pile of arguments in a nicer way The rest are INLINE ASM MACRO PREPROCESSOR HELL. It's easier to start over and my duty as a mediocre coder to do so. Most of them don't have C versions of most functions. It's simply faster to read the filter description and then guess what should be done. Avisynth filter writers love to implement different kinds of median filters badly... in asm. With macros. Anyway, AddGrainC is a decent first porting project for anyone who's interested.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
30th October 2013, 20:25 | #1026 | Link |
Beyond Kawaii
Join Date: Feb 2008
Location: Russia
Posts: 724
|
By the way, VapourSynth keeps track of scene changes, right? Or does something need to be done for that? Is it possible to process a frame with different filter if it has scene change on both sides (flicker) within the script? Example please?
__________________
...desu! |
30th October 2013, 23:46 | #1027 | Link | |
unsigned int
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
|
Quote:
Obviously VapourSynth doesn't magically add these properties to the right frames for you. Some filter needs to find the scene changes and set the properties accordingly.
__________________
Buy me a "coffee" and/or hire me to write code! |
|
31st October 2013, 17:15 | #1028 | Link |
Pajas Mentales...
Join Date: Dec 2004
Location: Spanishtán
Posts: 496
|
hi, is possible port this script (the famous insertsign.avsi)
Code:
function insertsign(clip mainclip, clip overlayclip, int startframe, int "endframe") { endframe = default(endframe,startframe+overlayclip.framecount()-1) endframe = (endframe == 0) ? startframe+overlayclip.framecount()-1 : endframe endframe = (endframe >= mainclip.framecount()-1) ? mainclip.framecount()-1 : endframe begin= (startframe == 1) ? mainclip.trim(0,-1) : mainclip.trim(0,startframe-1) middle= mainclip.trim(startframe,endframe) end= (endframe == mainclip.framecount()-1) ? blankclip(mainclip,length=0) : mainclip.trim(endframe+1,0) middleoverlay = Overlay(middle, overlayclip, mask=overlayclip.showalpha()) final = (startframe == 0) ? middleoverlay ++ end : begin ++ middleoverlay ++ end return final } greetings Last edited by sl1pkn07; 31st October 2013 at 17:27. |
4th November 2013, 09:50 | #1031 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
Code:
import vapoursynth as vs import functools def select_processing(n, f, original_clip, extra_processed_clip, core): if f.props._SceneChangeNext and f.props._SceneChangePrev: return extra_processed_clip else: return original_clip core = vs.get_core() source = core.ffms2.Source(source='D:/dl/Super Size Me/Super Size Me.avi') source = core.scd.Detect(source) source = core.text.FrameProps(source) extra_processed_clip = core.std.BlankClip(source, color=[255,0,255]) # set the special frames to a distinct color final_clip = core.std.FrameEval(source, functools.partial(select_processing, original_clip=source, extra_processed_clip=extra_processed_clip, core=core), prop_src=source) final_clip.set_output()
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
5th November 2013, 01:16 | #1033 | Link | |||
Registered User
Join Date: Mar 2012
Location: Texas
Posts: 1,664
|
Quote:
Another one I was going to mention was Vinverse, but I see that lachs0r already ported it. Quote:
Quote:
And finally, someone started to port RemoveDirt to VS. ------ I agree, _SceneStart/End is definitely more straightforward. |
|||
5th November 2013, 16:42 | #1035 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Quote:
Anyway, about the scenechange naming. I probably won't change it now since it's being used. I also think it makes more sense since in my world a scenechange happens between two frames. Not on a frame. I'm busy converting the whole project to C++11 now and I've made quite a bit of progress. Qt has already been 80% removed from the codebase since C++11 finally gets a somewhat complete standard library.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
8th November 2013, 02:27 | #1038 | Link |
Registered User
Join Date: Sep 2006
Posts: 1,657
|
I just brought an i7 4470k and ran some speed test comparison between avisynth mt on the d2v source filter and tivtc/vivtc.
source was a 720x480 anime, all benchmark were measured by avsmeter. Code:
avisynth-mt(fps)/cpu% vapoursynth(fps)/cpu% d2v (mode 5)308/12% 912/12% tfm (mode 2)215/17% 330/12% tfm+tdecimate (mode 5)157/12% 255/12% vfm 253/12% vfm+vdecimate 31/13% With vapoursynth, cpu was never fully utilized, not even 30%. And there's definitely something wrong with vdecimate, as running it alone also gives me 60fps. Last edited by lansing; 8th November 2013 at 03:45. Reason: update more accurate benchmark for vapoursynth |
8th November 2013, 15:31 | #1039 | 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 |
|
8th November 2013, 16:24 | #1040 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,548
|
Here are two alternative vivtc dlls you can test:
Test1 Test2 Both are completely untested but should perform slightly better.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
Tags |
speed, vaporware, vapoursynth |
Thread Tools | Search this Thread |
Display Modes | |
|
|