VideoHelp Forum
+ Reply to Thread
Results 1 to 3 of 3
Thread
  1. Member
    Join Date
    Nov 2006
    Location
    Washington, USA
    Search Comp PM
    I have read elsewhere that video resizing should not be done on interlaced source to avoid quality loss. My souce is 16:9 1920x1080 top field first interlaced source 29.97 frames per second (I assume that it is 60 fields per second). I am using avisynth and HC to do the conversion. My goal is highest quality for the conversion rather than speed. I am assuming that the avisynth script is feeding 29.97 frames per second progressive input to the HC encoder.

    Is the below the right approach for this? Comments will be appreciated.

    Thanks,

    AVISYNTH file:

    LoadPlugin("DGDecode.dll")
    MPEG2Source("c:\temp\temp\video.d2v")
    Load_Stdcall_plugin("yadif.dll")
    AssumeTFF()
    Yadif(Mode=1,Order=-1)
    SelectEven()
    AssumeFPS("ntsc_video")
    Spline64Resize(720,480)


    HC ini file:

    *INFILE c:\temp\temp\video.avs
    *OUTFILE c:\temp\temp\video.m2v
    *LOGFILE c:\temp\temp\video.log
    *BITRATE 6565
    *MAXBITRATE 9000
    *ASPECT 16:9
    *PROGRESSIVE
    *MATRIX MPEG
    *PROFILE BEST
    *WAIT 0
    *NOSEQ_ENDCODE
    Quote Quote  
  2. Is your source interlaced (60 different images per second) or telecined film (24 different images per second)? If the latter you will be better of with an inverse telecine:

    WhateverSource()
    AssumeTFF()
    TFM()
    TDecimate()
    WhateverResize(720,480)
    Encode to MPEG 2, progressive with pulldown flags.

    For true interlaced video, if you really want the best quality, use QTGMC() instead of Yadif(). Then resize and use SeparateFields().SelectEvery(4,0,3).Weave().

    WhateverSource()
    AssumeTFF()
    QTGMC()
    WhateverResize(720,480)
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    QTGMC is very slow. Use Yadif(mode=1, order=1) instead of QTGMC() in that sequence if you need faster conversions. Or check out QTGMC's faster presets. Encode to interlaced MPEG 2.

    For fast and dirty use:

    WhateverSource()
    AssumeTFF()
    SeparateFields()
    WhateverResize(720,240)
    Weave()
    Encode to interlaced MPEG 2.
    Last edited by jagabo; 23rd Jul 2011 at 12:26.
    Quote Quote  
  3. Member
    Join Date
    Jan 2009
    Location
    United States
    Search Comp PM
    Don't forget to add a ColorMatrix line when converting from 1080i to 480i/p as well:
    Code:
    ColorMatrix(mode="Rec.709->Rec.601")
    And I agree with jagabo, make sure it is actually interlaced footage. If you are talking about 1080i material from most ATSC broadcasts, it will likely be film material originally.

    If it is interlaced, you can use a faster preset in QTGMC to still get a lot of benefit from the script over what you can get out of just yadif alone. The following will run QTGMC using yadif rather than NNEDI2/3 or EEDI2 as the interpolator. It still eliminates the bob shimmer.
    Code:
    QTGMC("Ultra Fast")  ## <-- can change to "Ultra Fast",TR2=1 [or 2] if you still have issues with bob shimmer.
    Quote Quote  



Similar Threads

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