it stretches my clip vertically. The lines look perfect, but my footage is distorted. I'm working with IVTC'ed 720 X480 content. Here's my script. Anything I need to change to enjoy the AA'ed lines AND my normal footage size?
EEDI2(mthresh=10, lthresh=20, vthresh=20, estr=2, dstr=4, maxd=24, field=-1, map=0, nt=50, pp=1)
+ Reply to Thread
Results 1 to 18 of 18
-
-
here are some examples of typical AA calls http://pastebin.com/Y42s9hRZ that might help
-
-
personally I would apply IVTC and then apply one of the AA scripts I linked to, but here you go:
directly from the author of EEDI2:
EEDI2 resizes an image by 2x in the vertical direction by copying the existing image to 2*y(n) and interpolating the missing field. It is intended for edge-directed interpolation for deinterlacing (i.e. not really made for resizing a normal image, but can do that as well). EEDI2 can be used with both TDeint and TIVTC, see the discussion link for more info on how to do this.
Discussion: http://forum.doom9.org/showthread.php?p=744308#post744308 -
Cool discussion. I'm noticing that EEDI2 is kinda tricky: It corrects ratty edges, but causes other lines to move. Is there any particular setup on this filter that can do both, correct the edges AND not cause "shimmering movement" on the lines?
-
try another AA function, or maybe QTGMC in progressive mode (inputtype=1)
If you post a sample , you might get better suggestions -
Ok, I am a bit confused here and hope I obtain some clarification on EEDI2: I understand this is an AA filter, but I've also just gathered that this is a deinterlacer as well. No problem. But here's my confusion: What is it actually doing to an IVTC'ed clip then other than reducing the jaggies? I can't see any problem with my clip but is this filter doing something else that I need to look out for? MCTemporalDenoise uses the function (if called), but I'm choosing to run it separately AFTER my source is IVTC'ed and smoothed. So my script looks as follows. Please advise if I'm missing something, or if there's a better way to do this. My source is telecined NTSC. I can post a sample tonight after work, if needed.
Mpeg2Source()
AssumeTFF()
TFMerge()
Tdecimate()
MCTemporalDenoise(AA=off)
EEDI2()
LancszosResize(720,480) -
Usually a better way is to use other AA functions.
You do realize EEDI2 has been repaced by NNEDI, NNEDI2, and now NNEDI3 ? In that order. In other words, EEDI2 is very old. NNEDI3 has been optimized to run faster and has been "trained" better
You should read the instructions for more info and the settings, but to use EEDI2 as a basic AA you have to use turnleft, turnright , then resize back to normal
TurnLeft().EEDI2().TurnRight().EEDI2()
#Resize
In very rare cases, you might get slightly better results with EEDI2 or functions based on it (like parts of 1 or 2 frames but the rest are worse)
DAA3 and santiag are examples wrapper functions for NNEDI3. Beware DAA3 has contra sharpening as well that might or might not be desireable
There are dozens of different AA functions. This thread alone has about a dozen
http://forum.doom9.org/showthread.php?t=153835
Note of these are spatial antialiasers. So even though the aliasing might be improved in a single frame, in motion you might still get a buzzing effect when viewed in motion. QTGMC in progressive mode should fix that (either alone or stacked) -
There should be no need for eedi2/nnedi3 if you are running an inverse telecine. You're probably not handling your source correctly. Without a sample nobody can help you.
-
I'd love to. Except they're as clear as mud. If the authors of most of these filters (not all, but most) made the instructions a little more user-friendly and less pretentious, this website would probably not be as popular. Of course, it's all a game. PDR, your advice was clear. Listed below are the instructions to the filter. I want anyone to tell point out where it talks about turning left, turning right, etc before resizing. Piece of shit vage ass instructions. If these people wrote instructions to kids on wiping their own asses, we'd all be in quite a pickle, I'll tell you that.
EEDI2 v0.9.2 (June 07, 2006) -- README
INFO:
** Only YV12 and YUY2 colorspaces are currently supported
EEDI2 resizes an image by 2x in the vertical direction by copying the existing
image to 2*y(n) and interpolating the missing field. It is intended for edge-directed
interpolation for deinterlacing (i.e. not really made for resizing a normal image, but
can do that as well).
syntax => EEDI2(int mthresh, int lthresh, int vthresh, int estr, int dstr, int maxd,
int field, int map, int nt, int pp)
Parameters:
mthresh/lthresh/vthresh -
These all control edge detection used for building the initial edge map. mthresh
is the edge magnitude threshold... its range is from 0 to 255, lower values will
detect weaker edges. lthresh is the laplacian threshold... its range is 0 to 510,
lower values will detect weaker lines. vthresh is the variance threshold... its
range is 0 to a large number, lower values will detect weaker edges. Use the "map"
option to tweak these settings as needed.
default - mthresh = 10 (int)
lthresh = 20 (int)
vthresh = 20 (int)
estr, dstr -
These are used for dilation and erosion of the edge map. estr sets the required
number of edge pixels (<=) in a 3x3 area, in which the center pixel has been
detected as an edge pixel, for the center pixel to be removed from the edge map.
dstr sets the required number of edge pixels (>=) in a 3x3 area, in which the
center pixel has not been detected as an edge pixel, for the center pixel to be
added to the edge map. Use the "map" option to tweak these settings as needed.
default - estr = 2 (int)
dstr = 4 (int)
maxd -
Sets the maximum pixel search distance for determining the interpolation direction.
Larger values will be able to connect edges and lines of smaller slope but can
lead to artifacts. Sometimes using a smaller maxd will give better results than
a larger setting. The maximum possible value for maxd is 29.
default - 24 (int)
field -
Controls which field in the resized image the original image will be copied too.
When using avisynth's internal parity value top field first (tff) = 1 and bottom
field first (bff) = 0. Possible options:
-2 = alternates each frame, uses avisynth's internal parity value to start
-1 = uses avisynth's internal parity value
0 = bottom field
1 = top field
2 = alternates each frame, starts with bottom
3 = alternates each frame, starts with top
default - -1 (int)
map -
Allows one of three possible maps to be shown. Possible settings:
0 - no map
1 - edge map
Edge pixels will be set to 255 and non-edge pixels
will be set to 0.
2 - original scale direction map
3 - 2x scale direction map
default - 0 (int)
nt -
Defines a noise threshold between pixels in the sliding vectors, this is used to
set initial starting values. Lower values should reduce artifacts but sacrifice
edge reconstruction... while higher values should improve edge recontruction but
lead to more artifacts. The possible range of values is 0 to 256.
default - 50 (int)
pp -
Enables two optional post-processing modes aimed at reducing artifacts by identifying
problems areas and then using plain vertical linear interpolation in those parts.
The possible settings are:
0 - no post-processing
1 - check for spatial consistency of final interpolation directions
2 - check for junctions and corners
3 - do both 1 and 2
Using the pp modes will slow down processing and can cause some loss of edge
directedness.
default - 1 (int)
CHANGE LIST:
06/07/2006 v0.9.2
+ various internal changes to help reduce artifacts around repeated
patterns and to improve construction of lines/edges with small
slope
- Changed map from bool to int
- Changed default maxd value from 12 to 24
- Changed default pp value from 0 to 1
- a few minor bugfixes
04/03/2006 v0.9.1
+ Added pp parameter and pp modes 1, 2, and 3
- A few minor internal changes
- Fixed some documentation errors (field parameter)
- do a vi.SetFieldBased(false) in constructor
- fixed a bug causing reads past the last line and incorrect interpolation
of the very top or very bottom line in some cases
11/29/2005 v0.9
- Initial release
TODO:
- add generalized resize version (resize to any resolution in one step).
Should provide much better results on resizing of progressive images
than chaining multiple eedi2() calls together.
contact: forum.doom9.org nick = tritical or email: kes25c@mizzou.edu -
In any event, I'm encoding both, a sample clip ONLY Inverse Telecined WITHOUT EEDI2, and IVTC'ed WITH EEDI2 (as per PDR's script). I'll post it here tomorrow evening. I'm exhausted. 2 kids will do that to you. You'll judge for yourselves. C ya tomorrow.
-
Oh UncleScoob - you keep complaining that people who gave you something for free didn't write the instructions for the free thing properly.
Yet in this case, you didn't read the instructions: the first line tells you it's a deinterlacer and that it doubles the height of what you feed it - yet your first post complains that it's changing the shape of the image, then way down the thread you're amazed to find that it's a deinterlacer.
Further, the instructions are just fine for using it as a deinterlacer - but you're doing something different - something the original author and others found it was good for after releasing it. So of course the instructions don't mention it.
"Oh boo hoo - why didn't they re-write the instructions afterwards to explain all the other things you can use it for" - well, everyone else here found the right doom9 threads (we're in a Google world, you know?) and looked at how to do it. There are guides too, if you look. Though any using EEDI2 for what you want must be pretty old.
I find EEDI2 is still useful for upsizing some content, especially some animation. But otherwise, as you've been told, it's been superseded by NNEDI3. (I still prefer NNEDI2 for some content - it's trivial to try the different options and see which works best for any given source).
And also as you've been told, there are some really nice integrated all-in-one solutions for IVTC and anti-aliasing. No reason to be playing with raw EEDI2 for this task. Especially if it confuses you.
I think you just like to make your life difficult so that people here will come and help you. Maybe you're playing some kind of mind games with us? Will our responses end up published in some research paper?
Anyway, I admit that Googling antialias AVIsynth will find several solutions from 2004, but the newer and better stuff is in the second link...
http://avisynth.org/mediawiki/External_plugins
...and the antialias and IVTC sections are pretty easy to find
btw, did anyone mention AnimeIVTC? I don't use it myself, but I gather it's a bit of a swiss army knife and includes some of the best solutions to several problems (and isn't just made for Anime).
Hope this helps.
David. -
LMAO @ me publishing your answers on a paper!!!
David, I wish I had time for that type of gag. Sounds like a sociological experiment. I AM a psychology major, after all
I know, I know..I was being a crotchety old man about it.
On a serious note, though I did some reading on NNEDI2 and NNEDI3 and got my hands on Santiag(which uses NNDI3). I toyed around with it this morning and it did very well on my content. as PDR stated, it's definitely more tame. It's perfect. Jagabo, you stated that AA is not necessary if I properly IVTC. My source is IVTC'ed, but still required AA to correct the jagabo'ed edges (jaggy, get it? I'm feeling extremely goofy this morning, you "thilly" gooses!).
I know I was supposed to post the samples last night. Tonight. I promise. One thing I'd like to clarify on AA filters, however in the form of a question: Isn't it logical to place the AA command AFTER you mergechroma, sharpen and darken lines? Considering the latter 3 commands cause some type of aliasing, I figured it just made sense. Am I missing something?
Dave, I've heard about this AnimeIVTC but haven't tried it yet. What makes it so different from your typical TIVTC functions? I think I read that it also thins lines and contains some AA function, but I can't remember at this point. Would it be any different from the following script for NTSC 29.97fps animation content?:
Mpeg2Source()
AssumeTFF()
TFM()
Tdecimate()
AA filter of choice()Last edited by unclescoob; 12th Sep 2012 at 08:41.
-
And by the way, I've posted said samples here several times and script suggestions by the seasoned guys here (PDR, Manono, Jagabo) ALWAYS used regular IVTC instead of animeIVTC.
-
-
Similar Threads
-
A Great Editing Example
By budwzr in forum EditingReplies: 0Last Post: 22nd Jul 2011, 16:26 -
What would be a great room size for great video production?
By williec in forum Newbie / General discussionsReplies: 0Last Post: 3rd Apr 2011, 03:43 -
It seems like a great deal!
By blackrice in forum Off topicReplies: 5Last Post: 3rd Mar 2011, 08:53 -
In the market for a new PC that would be great for editing...HELP!
By burrowsfan in forum Newbie / General discussionsReplies: 13Last Post: 10th Mar 2009, 23:07