VideoHelp Forum




+ Reply to Thread
Results 1 to 18 of 18
  1. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    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)
    Quote Quote  
  2. here are some examples of typical AA calls http://pastebin.com/Y42s9hRZ that might help
    Quote Quote  
  3. Originally Posted by unclescoob View Post
    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?
    You have to resize afterwards. From the EEDI2 readme:
    EEDI2 resizes an image by 2x in the vertical direction by copying the existing
    image to 2*y(n) and interpolating the missing field.
    Or use one of the scripts graciously provided by Selur.
    Quote Quote  
  4. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    How do I use EEDI2 within TIVTC for NTSC animation content?
    Quote Quote  
  5. 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
    source: http://web.missouri.edu/~kes25c/
    Quote Quote  
  6. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    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?
    Quote Quote  
  7. try another AA function, or maybe QTGMC in progressive mode (inputtype=1)

    If you post a sample , you might get better suggestions
    Quote Quote  
  8. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    I worked it out, thanks though.
    Quote Quote  
  9. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    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)
    Quote Quote  
  10. 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)
    Quote Quote  
  11. 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.
    Quote Quote  
  12. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    Originally Posted by poisondeathray View Post
    You should read the instructions for more info and the settings
    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
    Quote Quote  
  13. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    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.
    Quote Quote  
  14. Member 2Bdecided's Avatar
    Join Date
    Nov 2007
    Location
    United Kingdom
    Search Comp PM
    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.
    Quote Quote  
  15. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    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.
    Quote Quote  
  16. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    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.
    Quote Quote  
  17. Originally Posted by unclescoob View Post
    Jagabo, you stated that AA is not necessary if I properly IVTC. My source is IVTC'ed, but still required AA
    My point was that you were probably performing the IVTC wrong. Or that the source wasn't suitable for IVTC. But since you refuse to post a sample of your source there's no helping you.
    Quote Quote  
  18. Banned
    Join Date
    Dec 2010
    Location
    New York
    Search Comp PM
    Originally Posted by jagabo View Post
    But since you refuse to post a sample of your source there's no helping you.


    Originally Posted by unclescoob View Post
    I know I was supposed to post the samples last night. Tonight. I promise.
    Easy, cowboy. Too quick on the draw, there.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!