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.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 6th July 2009, 04:33   #61  |  Link
10L23r
Registered User
 
Join Date: Apr 2009
Posts: 122
Quote:
pscrn -

Controls whether or not the prescreener neural network is used to decide which pixels
should be processed by the predictor neural network and which can be handled by simple
cubic interpolation.
why not spline or lanczos instead of cubic?
10L23r is offline   Reply With Quote
Old 7th July 2009, 17:33   #62  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
Quote:
Originally Posted by tritical View Post
I goofed on that one. Make sure this - nnedi2.dll - works before I post a new version again.
I was experiencing VDubMod crashes with v1.3 too, although it would just crash down without giving me time to see the error message (I think it was the "oops" one, not sure though). This DLL works perfectly. Thanks .


By the way, I have one example where it seems like EEDI2 gives better results than NNEDI2. The first screenshot is with the former, the second with the latter:




Yep, it's that clip again . I assume that due to the unique nature of both the source and the script, it's not just the switch from EEDI2 to NNEDI2 that causes the differences. In fact, the script might only work with EEDI2. In any case, I can provide you with a clip (or the whole video, it's ~160MB) and the script if you want.
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it.

Last edited by Chainmax; 7th July 2009 at 17:50.
Chainmax is offline   Reply With Quote
Old 7th July 2009, 22:44   #63  |  Link
JohannesL
AviSynth/x264 user
 
JohannesL's Avatar
 
Join Date: Jan 2009
Posts: 149
EEDI2 smoothes edges (and the whole image) more. NNEDI2 is sharper and thus enhances detail (and noise) more.
__________________
archlinux
JohannesL is offline   Reply With Quote
Old 7th July 2009, 23:03   #64  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
That's not the only difference. Look closely at the microphone: the lines on the EEDI2 version are completely straight (and the edges themselves are sharper), whereas the ones in the NNEDI2 version aren't.
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it.

Last edited by Chainmax; 7th July 2009 at 23:05.
Chainmax is offline   Reply With Quote
Old 8th July 2009, 02:22   #65  |  Link
10L23r
Registered User
 
Join Date: Apr 2009
Posts: 122
what's the source?

imo, the mic in nnedi2 looks better...
nnedi2 also keeps more details; eedi2 feels more artificial.
the only place where i find eedi2 better is the outline of the face.
10L23r is offline   Reply With Quote
Old 8th July 2009, 03:05   #66  |  Link
Keiyakusha
契約者
 
Keiyakusha's Avatar
 
Join Date: Jun 2008
Posts: 1,576
I like EEDI2 result. On NNEDI2 screenshot these additional details are less noticeable than microphone (where eedi2 shows better result). In motion these details probably can't be noticed at all, while jagged lines - easily. I wonder how NNEDI2 looks on Anime compared to eedi2...
Keiyakusha is offline   Reply With Quote
Old 8th July 2009, 03:54   #67  |  Link
shoopdabloop
Registered User
 
Join Date: Mar 2009
Posts: 166
EEDI2 is the smoother deinterlacer, so if you can deal with the slight loss of detail it is definitely the way to go.

NNEDI2, on the other hand, is the far superior upsizer, hands down.

Last edited by shoopdabloop; 8th July 2009 at 03:58.
shoopdabloop is offline   Reply With Quote
Old 8th July 2009, 05:29   #68  |  Link
10L23r
Registered User
 
Join Date: Apr 2009
Posts: 122
wait... what is the mic supposed to look like? cus the mic in eedi2 looks rly rly fake
10L23r is offline   Reply With Quote
Old 8th July 2009, 06:50   #69  |  Link
shoopdabloop
Registered User
 
Join Date: Mar 2009
Posts: 166
Chainmax, could you upload a clip of the unfiltered source? A small one.

Unless there are other filters that are somehow causing the poor deinterlacing in both cases, perhaps it would be best to go with MCBob or TempGaussMC.
I would like to try out various deinterlacers on the source myself.

Last edited by shoopdabloop; 8th July 2009 at 06:53.
shoopdabloop is offline   Reply With Quote
Old 8th July 2009, 07:23   #70  |  Link
scharfis_brain
brainless
 
scharfis_brain's Avatar
 
Join Date: Mar 2003
Location: Germany
Posts: 3,653
@chainmax: provide your unprocessed sample as well as both scripts (for eedi2 and nnedi2)
__________________
Don't forget the 'c'!

Don't PM me for technical support, please.
scharfis_brain is offline   Reply With Quote
Old 8th July 2009, 09:14   #71  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Quote:
Originally Posted by Chainmax View Post
That's not the only difference. Look closely at the microphone: the lines on the EEDI2 version are completely straight (and the edges themselves are sharper), whereas the ones in the NNEDI2 version aren't.
It's give and take. The diagonal rods are more straight with EEDI2, yes. But then, the lattice on the microphone's corpus are correctly (non-)interpolated only by NNEDI ... there, EEDI2 creates an artificial geometric pattern that should not be there. (And it probably will warp-around when there is slight motion.)

It's okay if you like EEDI2 better in some parts, but one should note that at the same time EEDI2 *fails* in other parts.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 8th July 2009, 11:57   #72  |  Link
*.mp4 guy
Registered User
 
*.mp4 guy's Avatar
 
Join Date: Feb 2004
Posts: 1,348
A good interpolator will only blur/antialias/lowpass to the extent that must in order to remove aliasing. EEDI2 is far too aggressive for even the most aliased source achievable using a competent processing chain. nnedi(1/2) are extremely good at processing sources containing medium to high aliasing that is still more or less recoverable, but are not very good on sources with low/no aliasing (too slow for, if anything, likely reduced quality).

I should note at this point that most good sources will have some aliasing. Killing all aliasing in a signal will take too much of said signal to the grave with it, wheather through blurring or ringing, the damage is more or less the same.

If your source is butchered : eedi2
If your source is on the sharp side of good quality : nnedi
If your source is blurry : high quality linear resampling

Obviously there are gaps between the categories, they fall to personal taste.
*.mp4 guy is offline   Reply With Quote
Old 8th July 2009, 19:30   #73  |  Link
tritical
Registered User
 
Join Date: Dec 2003
Location: MO, US
Posts: 999
I put up version 1.4. Same as the standalone nnedi2.dll that I posted before, except that it adds another nsize value (nsize 0,1 in v1.3 are now 1,2).

Quote:
Originally Posted by 10L23r
why not spline or lanczos instead of cubic?
It's faster. Also, it doesn't make any noticeable difference. In the areas where it gets used (non-edges) they all give the same result.

@Chainmax
If you can provide a sample that would be great. As mentioned already, there is always a tradeoff between eedi2/nnedi2.
tritical is offline   Reply With Quote
Old 9th July 2009, 05:44   #74  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
[EDIT]Link to the full video

shoopdabloop: the source is progressive, the EDI interpolators are used as a resizing method and to diminish aliasing actually.

Here's a clip of the source, which most of you guys will recognize . It contains the intro and the scene where the screenshots were taken from. Bear in mind it's encoded on Microsoft Video 1, in order to be able to work with it you'll have to load the file in VDub and make a lossless encode out of it, as AFAIK Avisynth cannot load it.

The script used is, again, familiar to most of you guys:

Code:
f=4

AVISource("X:\wherever\MakingGK-LssLss.avi",audio=false)

a=last

a.converttoyv12()

nnedi2_rpow2(qual=3,rfactor=2,cshift="spline36resize")

pointresize(a.width*f,a.height*f)

vf=last.mvanalyse(isb=false,blksize=16, truemotion=true)
vb=last.mvanalyse(isb=true,blksize=16, truemotion=true)
vf1=last.mvanalyse(isb=false,delta=2,blksize=16, truemotion=true)
vb1=last.mvanalyse(isb=true,delta=2,blksize=16, truemotion=true)

xf1=last.mvflow(vf1,thSCD1=9999)
xf=last.mvflow(vf,thSCD1=9999)
xb=last.mvflow(vb,thSCD1=9999)
xb1=last.mvflow(vb1,thSCD1=9999)

interleave(xf1,xf,last,xb,xb1)
temporalsoften(2,40,50,mode=2)
x=selectevery(5,2)

x.converttorgb()
xa=pointresize(a.width*2,a.height*2).converttoyv12().nnedi2_rpow2(qual=3,rfactor=2,cshift="spline36resize")
xb=crop(1,1,0,0).addborders(0,0,1,1).converttoyv12().pointresize(a.width*2,a.height*2).nnedi2_rpow2(qual=3,rfactor=2,cshift="spline36resize")
x=merge(xa,xb)

xvf=x.mvanalyse(isb=false,blksize=16, truemotion=true)
xvb=x.mvanalyse(isb=true,blksize=16, truemotion=true)
xvf1=x.mvanalyse(isb=false,delta=2,blksize=16, truemotion=true)
xvb1=x.mvanalyse(isb=true,delta=2,blksize=16, truemotion=true)

xxf1=x.mvflow(xvf1,thSCD1=9999)
xxf=x.mvflow(xvf,thSCD1=9999)
xxb=X.mvflow(xvb,thSCD1=9999)
xxb1=x.mvflow(xvb1,thSCD1=9999)

interleave(xxf1,xxf,x,xxb,xxb1)
temporalsoften(2,255,255,mode=2)
selectevery(5,2)

Spline36Resize(512,384)

Levels(0,1,245,16,235)

FFT3DFilter(sigma=6,plane=3,bw=32,bh=32,bt=3,ow=16,oh=16)

Tweak(sat=1.3)

dull=last
sharp=dull.LimitedSharpenFaster(Smode=4,Strength=200)
Soothe(sharp,dull,25)

c=last
GrainU=c.UtoY().AddGrain(4,0,0)
GrainV=c.VtoY().AddGrain(4,0,0)
Return ytouv(GrainU,GrainV).MergeLuma(c).gradfun2db(thr=2.4).gradfun2db().AddGrain(10,0,0)
The EEDI2 version is the same, only substituting nnedi2_rpow2(qual=3,rfactor=2,cshift="spline36resize") for eedi2().turnleft().eedi2().turnright()
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it.

Last edited by Chainmax; 26th July 2009 at 08:26.
Chainmax is offline   Reply With Quote
Old 29th July 2009, 18:31   #75  |  Link
tritical
Registered User
 
Join Date: Dec 2003
Location: MO, US
Posts: 999
See if this: [removed] works on that processor.

Last edited by tritical; 16th May 2010 at 18:40.
tritical is offline   Reply With Quote
Old 29th July 2009, 18:42   #76  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by HolyWu View Post
01eac208: 0fd4c1 paddq mm0, mm1 <-- FAULT
What?!

Quote:
PADDQ mm1,mm2/m64 ; 0F D4 /r [PENT,MMX]
paddq is part of MMX1, which should be on every chip since the Pentium 2 (and a few before).
Dark Shikari is offline   Reply With Quote
Old 29th July 2009, 20:53   #77  |  Link
MasterNobody
Registered User
 
Join Date: Jul 2007
Posts: 552
Quote:
Originally Posted by tritical View Post
See if this: nnedi2.dll works on that processor.
Yes. It fixes the crash.
Quote:
Originally Posted by Dark Shikari View Post
paddq is part of MMX1, which should be on every chip since the Pentium 2 (and a few before).
Probably, you are wrong and PADDQ is SSE2 instruction.
MasterNobody is offline   Reply With Quote
Old 29th July 2009, 21:18   #78  |  Link
Dark Shikari
x264 developer
 
Dark Shikari's Avatar
 
Join Date: Sep 2005
Posts: 8,666
Quote:
Originally Posted by MasterNobody View Post
Yes. It fixes the crash.

Probably, you are wrong and PADDQ is SSE2 instruction.
NASM documentation says it's MMX, but it could be wrong.
Dark Shikari is offline   Reply With Quote
Old 29th July 2009, 21:33   #79  |  Link
MasterNobody
Registered User
 
Join Date: Jul 2007
Posts: 552
http://www.intel.com/Assets/PDF/manual/253667.pdf says it's SSE2. So I would trust Intel documentation more than NASM.
MasterNobody is offline   Reply With Quote
Old 29th July 2009, 22:39   #80  |  Link
IanB
Avisynth Developer
 
Join Date: Jan 2003
Location: Melbourne, Australia
Posts: 3,167
And from the Fastwire defs (very reliable) :-

{"PADDQ", "mmreg,r/m64", "0F D4 /r", Instruction::CPU_WILLAMETTE|Instruction::CPU_SSE2},

So you need CPUF_SSE2 = 0x20
IanB is offline   Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:25.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.