VideoHelp Forum




+ Reply to Thread
Results 1 to 19 of 19
  1. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    After reading and testing, I cannot get this to work:

    LoadPlugin("c:\shared\Convolution3d.dll")
    LoadPlugin("C:\shared\SmoothDeinterlacer.dll")
    LoadPlugin("C:\shared\MPEG2Dec3.dll")
    MPEG2Source("c:\shared\AVSEQ01.MPG")
    SeparateFields()
    odd=SelectOdd.Convolution3D (0, 6, 10, 6, 8, 2.8, 0)
    evn=SelectEven.Convolution3D (0, 6, 10, 6, 8, 2.8, 0)
    Interleave(evn,odd)
    Weave()
    AddBorders(16,12,16,12)
    SmoothDeinterlace(tff=true, doublerate=true)
    LanczosResize(352,480)
    ChangeFPS(59.94)
    SeparateFields()
    SelectEvery(4,1,2)
    Weave()
    ConvertToRGB(interlaced=true)


    I get this:


    Much of this is based off the work of Xesdeeni and FulciLives, among others:
    https://www.videohelp.com/forum/viewtopic.php?p=986938#986938
    http://www.geocities.com/xesdeeni2001/StandardsConversion/index.html#PALVideoDVD2NTSCDVD

    Help.

    Just to give you advanced warning, this AVISYNTH stuff is outside of my normal workflow, and something I really don't understand or generally don't have a need for the stuff I do understand.
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  2. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    Got it!

    Code:
    LoadPlugin("c:\shared\Convolution3d.dll") 
    LoadPlugin("C:\shared\SmoothDeinterlacer.dll") 
    LoadPlugin("C:\shared\MPEG2Dec3.dll") 
    MPEG2Source("c:\shared\testvid.d2v")
    ConvertToYUY2(interlaced=true)
    SeparateFields() 
    odd=SelectOdd.Convolution3D (0, 6, 10, 6, 8, 2.8, 0) 
    evn=SelectEven.Convolution3D (0, 6, 10, 6, 8, 2.8, 0) 
    Interleave(evn,odd) 
    Weave() 
    AddBorders(16,12,16,12) 
    SmoothDeinterlace(tff=true, doublerate=true) 
    LanczosResize(352,480) 
    ChangeFPS(59.94) 
    SeparateFields() 
    SelectEvery(4,1,2) 
    Weave() 
    ConvertToRGB(interlaced=true)
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  3. Member pchan's Avatar
    Join Date
    Mar 2003
    Location
    Singapore
    Search Comp PM
    Hi Lordsmurf, What script needs to change for NTSC -> PAL ? Thanks.
    Quote Quote  
  4. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    Originally Posted by pchan
    Hi Lordsmurf, What script needs to change for NTSC -> PAL ? Thanks.
    Oh, I'm so the wrong person to ask.
    I rarely use this software.

    The PAL->NTSC conversion worked without a problem, however. Very pleased.

    Look at the guides/info I linked to in the first post. You'll find the info in there, eventually.
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  5. Member erratic's Avatar
    Join Date
    Oct 2003
    Location
    Belgium
    Search Comp PM
    I would use KernelBob (now included in the KernelDeint plugin) instead of SmoothDeinterlacer. Xesdeeni has come to the same conclusion lately.
    http://forum.doom9.org/showthread.php?&postid=537131#post537131
    Quote Quote  
  6. Member NamPla's Avatar
    Join Date
    Jun 2004
    Location
    Whoop Whoop
    Search Comp PM
    Originally Posted by pchan
    Hi Lordsmurf, What script needs to change for NTSC -> PAL ? Thanks.
    Look at Erratic's link and there is scripts for both PAL-NTSC and NTSC-PAL!

    SmoothDeinterlace worked wonders for me recently, but I will try KernelBob instead now.

    Never had much luck with ConvertFPS, looked terrible, but ChangeFPS looks fantastic!? I'm sure I musta did something wrong there...

    Erratic, what script do you use for PAL-NTSC?

    Cheers.
    Quote Quote  
  7. Member erratic's Avatar
    Join Date
    Oct 2003
    Location
    Belgium
    Search Comp PM
    I don't often convert PAL to NTSC but the last script I used was this:

    Code:
    AviSource("capture.avi")
    AssumeTFF() # optional in this case
    KernelBob(1) # for TFF source, (0) for BFF
    Lanczos4Resize(704,480) # or (352,480) for Half D1, (720,480) if you prefer
    ConvertFPS(59.94) # or ChangeFPS if you prefer
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    ChangeFPS creates duplicate fields. You can test this by omitting the Weave() command and watching the script with VirtualDub. ConvertFPS doesn't create duplicate fields but inserts new blended fields instead. You'll have to decide for yourself what you prefer.

    By the way, install Avisynth 2.5.5 first. It was released yesterday.
    Quote Quote  
  8. Member NamPla's Avatar
    Join Date
    Jun 2004
    Location
    Whoop Whoop
    Search Comp PM
    Thanks for the tip-off.
    Quote Quote  
  9. Member NamPla's Avatar
    Join Date
    Jun 2004
    Location
    Whoop Whoop
    Search Comp PM
    So, to combine this with the Convolution3D stuff like LordSmurf was originally doing, does this look OK?

    LoadPlugin("Convolution3d.dll")
    LoadPlugin("Kerneldeint.dll")
    avisource("C:\...\capture.avi", false)
    SeparateFields()
    odd=SelectOdd.Convolution3D (1, 6, 10, 6, 8, 2.8, 0)
    evn=SelectEven.Convolution3D (1, 6, 10, 6, 8, 2.8, 0)
    Interleave(evn,odd)
    Weave()
    AssumeTFF()
    KernelBob(order=1,sharp=true)
    Lanczos4Resize(352,480)
    ConvertFPS(59.94)
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()
    ConvertToYUY2(interlaced=true)

    (NB I was using a huffyuv avi capture for my test).

    I compared it side-by-side with the "smooth deinterlacer" script and liked it a lot better - smoother movement, bit sharper etc. ConvertFPS seems a definate improvement over ChangeFPS too, in my eyes. Also it was a faster encode.

    Does the script look OK? I just like some reassurance before I race off & convert everything in sight. :P

    (Just unsure about the "SelectEvery(4,0,3)" line, because it has changed from (4,1,2) like before...?)

    Thanks.
    Quote Quote  
  10. Member erratic's Avatar
    Join Date
    Oct 2003
    Location
    Belgium
    Search Comp PM
    Yes, the script looks fine to me. You don't need AssumeTFF() anymore, but it won't hurt. Avisynth stores the field order of a video file in an internal flag. BFF is the Avisynth default, so all my scripts for TFF AVI sources start with AviSource("capture.avi").AssumeTFF() whether it's necessary or not.

    I also noticed that SelectEvery has changed from (4,1,2) to (4,0,3) with KernelBob. If you use (4,1,2) with KernelBob you're changing the field order.

    You don't need the LoadPlugin commands anymore with Avisynth 2.5.5.
    Quote Quote  
  11. Member NamPla's Avatar
    Join Date
    Jun 2004
    Location
    Whoop Whoop
    Search Comp PM
    Thanks a lot, Erratic. I appreciate your replies.
    Quote Quote  
  12. Member pchan's Avatar
    Join Date
    Mar 2003
    Location
    Singapore
    Search Comp PM
    Hi erratic & NamPla, Thanks for your help.
    Quote Quote  
  13. Is there a version for a PAL>NTSC with a MPEG2Source with this new script? Ive tried with the old Smoothdeinterlacer and had issues... The video wasn't jerky (cool result), but it had SOME jerks... (I did already some conversions and never had problems, so I believe something is fucked in my system... I was using 2.08 with proper .dll i believe...)


    Also, Ive got issues with Avisynth 2.5.5 since it says Convolution3d isn't a Avisynth 2.5 plugin... Also, I still need to write LoadPlugin() even if everyone says it's not needed anymore

    Can someone tell me what Im doing wrong?
    Im not a video geek, just enjoy it a bit and don't really understand scripts....
    Quote Quote  
  14. Member erratic's Avatar
    Join Date
    Oct 2003
    Location
    Belgium
    Search Comp PM
    You're probably using an older version of Convolution3D. Download a version for Avisynth 2.5 there.

    You don't need LoadPlugin if your plugins are in the default plugin directory. Seems to work for me anyway.

    You should be able to use your old script. Just replace SmoothDeinterlace with KernelBob and make sure KernelBob gets the correct field order setting (order=1 for TFF, 0 for BFF). Also ConvertFPS should be less jerky than ChangeFPS. Lanczos4Resize is the sharpest resizer AFAIK.

    Finally it's now known why SelectEvery(4,0,3) always maintains the field order and (4,1,2) always changes the field order after KernelBob, while other bobbers require (4,1,2) for a TFF result and (4,0,3) for a BFF result. Apparently other bobbers call the AssumeFrameBased command and KernelBob doesn't. So to get the same behaviour with KernelBob you could use it like this (TFF example):
    KernelBob(order=1,sharp=true).AssumeFrameBased()
    Later on in the script you then have to use SeparateFields().SelectEvery(4,1,2).Weave() to maintain the TFF field order. That way KernelBob works like the other bobbers. KernelBob probably will call AssumeFrameBased() internally when it's updated.

    For a BFF source it would be KernelBob(order=0,sharp=true).AssumeFrameBased() followed by SeparateFields().SelectEvery(4,0,3).Weave() to maintain the BFF field order.
    Quote Quote  
  15. here is what ive written, my mpeg2 source is PAL Interlace, Bottom Field(B)

    I feel silly since I downloaded .dll for 2.08
    Now I've got the 2.5 ones and don't need to write Loadplugin...

    now, i still can't load my avs file...

    MPEG2Source("E:\NTSC Project\jools2001.d2v")
    KernelBob(order=0,sharp=true).AssumeFrameBased()
    LanczosResize(720,480)
    ConvertFPS(59.94)
    SeparateFields()
    SelectEvery(4,0,3)
    Weave()

    Im pretty sure I look stupid but I consider it is worth asking to get a good conversion. Ive got an error Line 4 (Unrecognised exception!), I just edited this script with the things you advised me, considering my own source.
    Quote Quote  
  16. Member erratic's Avatar
    Join Date
    Oct 2003
    Location
    Belgium
    Search Comp PM
    Try this: insert ConvertToYUY2(interlaced=true) between MPEG2Source and KernelBob.

    EDIT: I just read in the Avisynth manual that ConvertFPS requires YUY2 input. MPEG-2 is YV12 which causes an error with ConvertFPS. ChangeFPS accepts YV12 input.
    Quote Quote  
  17. wanted to thank you erratic!!!
    it worked great (did a short conversion and no jerks where there were with the old script)

    i know you guys are very patient with us and tolerant also (the way i ask and not read avisyth read me files and stuff like that, you know, the ask before trying yourself...)

    so yeah, thank you for answering

    Etienne
    Quote Quote  
  18. Member erratic's Avatar
    Join Date
    Oct 2003
    Location
    Belgium
    Search Comp PM
    By the way, a new smart bobber is being developed: TDeint. Apparently this one is (or will be) even better than KernelBob. I haven't fully tested it yet, but I thought I'd mention it here because some of you might want to follow its development and eventually use it for PAL<->NTSC conversions instead of KernelDeint.
    Quote Quote  
  19. Member erratic's Avatar
    Join Date
    Oct 2003
    Location
    Belgium
    Search Comp PM
    New version of KernelDeint (KernelBob) available: KernelDeint 1.5.2
    Quote Quote  



Similar Threads

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