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. |
2nd August 2013, 09:18 | #461 | Link | |
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
|
Quote:
The test clip is a short 720p avc video. Script: Code:
LoadPlugin("DGDecodeNV.dll") LoadPlugin("nnedi3.dll") DGSource("F:\Test\test.dgi") NNEDI3_rpow2(rfactor = 2) Code:
nnedi3_tritical.dll : 26.70 fps (from tritical's website) nnedi3_fturn.dll : 28.14 fps nnedi3_icl10.dll : 28.28 fps |
|
2nd August 2013, 10:17 | #465 | Link |
Registered User
Join Date: Jan 2010
Posts: 270
|
Let me just paste the code.
Code:
auto turnRightFunction = env->FunctionExists("FTurnRight") ? "FTurnRight" : "TurnRight"; auto turnLeftFunction = env->FunctionExists("FTurnLeft") ? "FTurnLeft" : "TurnLeft"; try { double hshift = 0.0, vshift = 0.0; if (vi.IsRGB24()) { for (int i=0; i<ct; ++i) { v = new nnedi3(v.AsClip(),i==0?1:0,true,true,true,true,nsize,nns,qual,etype,pscrn,threads,opt,fapprox,env); v = env->Invoke(turnRightFunction,v).AsClip(); v = new nnedi3(v.AsClip(),i==0?1:0,true,true,true,true,nsize,nns,qual,etype,pscrn,threads,opt,fapprox,env); v = env->Invoke(turnLeftFunction,v).AsClip(); } hshift = vshift = -0.5; } |
2nd August 2013, 13:10 | #468 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Since we're on the subject of speed and turning...
Currently nnedi3_rpow2() does this internally: nnedi3() turnright() nnedi3() turnleft() It should in theory be slightly faster if rearranged to: turnright() nnedi3() turnleft() nnedi3() I didn't bother to test it myself but you'll be turning half the number of pixels so maybe it'll be a noticable improvement. Or maybe it'll look a lot different... who knows...
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
11th November 2013, 11:25 | #474 | Link |
͡҉҉ ̵̡̢̛̗̘̙̜̝̞̟̠͇̊̋̌̍̎̏̿̿
Join Date: Feb 2009
Location: No support in PM
Posts: 712
|
I did some modifications on EEDI3 0.9.2:
If you compare the C++ and SSE2 results, there are some rare and minor differences here and there, but I don’t know the exact reason at the moment (different rounding? bug?), and it’s difficult to tell which result is better.
__________________
dither 1.28.1 for AviSynth | avstp 1.0.4 for AviSynth development | fmtconv r30 for Vapoursynth & Avs+ | trimx264opt segmented encoding Last edited by cretindesalpes; 11th November 2013 at 11:43. Reason: VS2012 redist |
21st November 2013, 06:43 | #475 | Link |
Registered User
Join Date: Jan 2007
Posts: 729
|
Regarding eedi3... today I found that eedi3rpow2 displays the same chroma shift issue that nnedi3rpow2 has - see this post and following discussion. Just so that people know.
Sadly I totally forgot that the issue is (still) there, only finding out today. Aw, I was using nnedi3rpow2 for antialiasing purposes... I'm not sure how correct would Sapo84's scripted workaround (described back there) be, since I have no idea how exactly does nnedi3 implement the shifting mechanism in nnedi3rpow2. Edit: Nice to see this update, cretindesalpes. Thanks! |
22nd November 2013, 04:06 | #476 | Link | |
Registered User
Join Date: Aug 2011
Posts: 103
|
Quote:
For horizontal scaling, nnedi3_rpow2 doesn't produce horizontal chroma shift for MPEG-2 chroma placement by nnedi3(dh=True, field=1).nnedi3(dh=True, field=1).nnedi3(dh=True, field=1)...(both of them are left-aligned) When "cshift" is set, nnedi3_rpow2 uses AviSynth resizers to fix the center shift introduced by nnedi3. As for the chroma shift issues when "fwidth" is set, that's exactly the problem of AviSynth's resizers. For 4:2:x content, AviSynth's resizers always assume they are of MPEG-1 chroma placement and produce horizontal chroma shift. Recently I wrote a script named Resize8, which fixes the chroma shift issues of AviSynth's resizers: http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&t=1323 I have also written a script named nnedi3_resize16, which combines nnedi3 & Dither_resize16 for scaling & color space transferring, and it also correctly deal with center shift & chroma shift: http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&t=1117 Last edited by mawen1250; 22nd November 2013 at 04:24. |
|
|
|