View Single Post
Old 5th October 2007, 13:53   #72  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Well, the problem is about correct usage of NNEDI, so it does fit here somehow.

Wrong:
Code:
Function nnEDIbob(clip Input)
	{
            [...]
	    GetParity(Input) ? Input.SeparateFields().nnEDI(dh=true,Field = 1) : Input.SeparateFields().nnEDI(dh=true,Field = 0)
	    AssumeFrameBased()
	    GetParity(Input) ? AssumeTFF() : AssumeBFF()
	}
NNEDI has slightly different operating modes compared to EEDI2, hence you can not just replace EEDI2 -> NNEDI in all circumstances.

Correct:
Code:
Function nnEDIbob(clip Input)
	{
            [...]
	    Input.SeparateFields()
	    GetParity(Input) ? Interleave( SelectEven().nnEDI(dh=true,Field = 1), SelectOdd().nnEDI(dh=true,Field = 0) )
	     \               : Interleave( SelectEven().nnEDI(dh=true,Field = 0), SelectOdd().nnEDI(dh=true,Field = 1) )
	    AssumeFrameBased()
	    GetParity(Input) ? AssumeTFF() : AssumeBFF()
	}
It would be less irritating if modes -2...3 were working the same way in EEDI2 and NNEDI, agreed.
__________________
- 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!)

Last edited by Didée; 5th October 2007 at 13:56.
Didée is offline   Reply With Quote