VideoHelp Forum


Try StreamFab All-in-One and rip Netflix video! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Page 2 of 2
FirstFirst 1 2
Results 31 to 43 of 43
Thread
  1. Kawaiiii
    Join Date
    May 2021
    Location
    Italy
    Search Comp PM
    Originally Posted by jagabo View Post
    There's no point in doubling the frame rate with QTGMC() after decimation. If you want to use it for its other cleanup properties use InputType=2, or FPSDivisor=2, or SelectEven() after.
    You are absolutely right: there's no need for that QTGMC() after decimation.. I missed it at all.

    You always give very nice tips and suggestion.. jagaboo!
    Quote Quote  
  2. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    What about simplifying the script and reducing it to
    Code:
    Mpeg2source("C:\Users\davex\Desktop\avs_test\digimonc.d2v",cpu2="ooooxx")
    assumetff()
    qtgmc()
    tdecimate(cycle=5,cycler=3)
    I could make a case that it's slightly cleaner.
    Image Attached Files
    Quote Quote  
  3. I like to use MPEG2Source() because of the de-ringing filter. Its deblocking filters are too strong -- they remove too much detail. But they only work in the 32 bit version.
    Quote Quote  
  4. My sincere apologies to everyone here. My health went downhill, and I was in the hospital for a few days.

    Originally Posted by krykmoon View Post
    I really like your enthusiasm .. and exchanging infos and opinions is funny and useful since we always learn new things ..
    Thank you for your kind words. Learning something you never thought possible is incredibly rewarding and fun

    Originally Posted by jagabo View Post
    A few things...

    ConvertToYV12() should be ConvertToYV12(interlaced=true) -- since the video is interlaced at this point. Without the interlaced argument it will blend the chroma of the two fields together. Fortunately, video is already YV12 so the filter isn't doing anything here.

    Checkmate() works best while the video is still interlaced. So it should be used before TFM().

    The Checkmate() settings are too high. It is causing ghosting of previous/next frames. Weaker settings will reduce that ghosting.

    There's no point in doubling the frame rate with QTGMC() after decimation. If you want to use it for its other cleanup properties use InputType=2, or FPSDivisor=2, or SelectEven() after.
    I learned a lot from this, thank you

    Originally Posted by jagabo View Post
    I modified the script to:

    Code:
    a = LWlibavAudioSource("H:\Avisynth\Digimon Digital Monsters S01E01.mkv")
    v = LWlibavVideoSource("H:\Avisynth\Digimon Digital Monsters S01E01.mkv")
    AudioDub(v,a)
    
    CheckMate(thr=10, max=20, tthr2=0) # tthr2 up to 10 might be ok, might produce more ghosting
    TFM()
    Santiag(strh=2, strv=2) # reduce the residual dot crawl
    TDecimate(mode=2, rate=23.96)
    #QTGMC( Preset="Slow", TR2=2 ).SelectEven()
    aWarpSharp2(depth=5) # resharpen after Santiag()
    Crop(10, 0, -10, -0) #Left, top, right, bottom.
    #ChubbyRain2(th=2, radius=2, show=false, sft=2, interlaced=false)
    Santiag() reduces some more of the residual dot crawl. QTGMC() helps with some problems (aliased lines, minor noise reduction), but messes up others (ghosting, blurring of small details). I decided not to use it. You might decide to keep it in since the things it fixes are more visible than most of the problems it causes. I didn't notice ChubbyRain2() helping much, and it caused some ghosting and chroma blending, so I removed it. Santiag() blurs some edges -- aWarpSharp2() was used to restore the sharpness.
    I tried your modified script out and the result is stunning. Well done. Thank you.

    Originally Posted by davexnet View Post
    What about simplifying the script and reducing it to
    Code:
    Mpeg2source("C:\Users\davex\Desktop\avs_test\digimonc.d2v",cpu2="ooooxx")
    assumetff()
    qtgmc()
    tdecimate(cycle=5,cycler=3)
    I could make a case that it's slightly cleaner.
    Thank you for the suggestion. I've never used MPEG2Source before, same with assumetff. Creating a d2v file doesn't really want to work. It sticks at 33%. No idea why Will look into it further.

    ----------------------------------------------------------------------

    I tried a test with batch processing with VirtualDub2. Seems to work perfectly if I create a script for every file and add them to the queue. Awesome!
    Quote Quote  
  5. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    I always use Avidemux to re-wrap the MKV to an mpeg program stream, then DGIndex works without issues
    Quote Quote  
  6. Kawaiiii
    Join Date
    May 2021
    Location
    Italy
    Search Comp PM
    Originally Posted by LighthouseonaCliff View Post
    Thank you for the suggestion. I've never used MPEG2Source before, same with assumetff. Creating a d2v file doesn't really want to work. It sticks at 33%. No idea why Will look into it further.
    It's because DGIndex doesn't work well with the MKV container (MKV is not a container meant for MPEG encoded material).. so you have to put the file back into an mpeg compliant container before indexing it and create the d2v file..

    I use this tool, tsMuxerR : it's easy to use, fast (since it doesn't re-encode anything, it only changes the container type) and with lot of options.

    https://www.videohelp.com/software/tsMuxeR

    Drag the MKV into tsMuxer, then choose either MUX to TS or to M2TS (they're pretty the same) and import the resulting Mpeg compliant file into DGIndex.. this time it will complete the process and you'll have your d2v file.


    Yes.. learning new things is really very rewarding .. and exchanging experiences and informations with other people is a lot of fun, too!
    Last edited by krykmoon; 14th May 2021 at 15:59.
    Quote Quote  
  7. Originally Posted by LighthouseonaCliff View Post
    Creating a d2v file doesn't really want to work. It sticks at 33%. No idea why Will look into it further.
    It's from a DVD originally, right? Then it never should have been turned into an MKV to begin with. That's why.
    Quote Quote  
  8. Rewrapping the mkv worked like a charm. Also tried it with the DVD and that also worked well.

    I remux the files for convenience. Just a personal preference.

    The result was good, but the settings jagabo recommended do look better (to my amateur eyes ). There is still a lot of rainbowing with these settings.

    Thank you for all the great help.

    I wish everyone a great weekend

    Originally Posted by krykmoon View Post
    Yes.. learning new things is really very rewarding .. and exchanging experiences and informations with other people is a lot of fun, too!
    It's hard finding patient and kind people who want to teach. I'm so glad and thankful that you all want to help.
    Last edited by LighthouseonaCliff; 15th May 2021 at 15:58.
    Quote Quote  
  9. I've been looking into what assumetff() means.

    If I understand correctly, framed-based means progressive and is best for computer viewing, and field-based means interlaced which is best for TV viewing.

    AssumeFrameBased = Progressive
    AssumeFieldBased = Interlaced

    Top field first and bottom first field relate to interlaced encoding. It means which field gets displayed first.

    AssumeTFF = Top field first
    AssumeBFF = Bottom field first

    I have used Mediainfo and DGIndex, and they both show if the video is frame or field-based. They also both show which field is shown first.

    Are these good ways to check, and am I understanding this correctly?


    The tdecimate settings is confusing to me:

    Code:
    tdecimate(cycle=5,cycler=3)
    I thought cycle=5 meant a cycle of 5 frames, while cycleR=3 meant that 3 frames out of those 5 will be dropped. Can someone please explain this to me further? I read the following page, but it's confusing me:

    TIVTC/TDecimate

    Thank you.
    Quote Quote  
  10. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by LighthouseonaCliff View Post
    I've been looking into what assumetff() means.

    If I understand correctly, framed-based means progressive and is best for computer viewing, and field-based means interlaced which is best for TV viewing.

    AssumeFrameBased = Progressive
    AssumeFieldBased = Interlaced

    Top field first and bottom first field relate to interlaced encoding. It means which field gets displayed first.

    AssumeTFF = Top field first
    AssumeBFF = Bottom field first

    I have used Mediainfo and DGIndex, and they both show if the video is frame or field-based. They also both show which field is shown first.

    Are these good ways to check, and am I understanding this correctly?


    The tdecimate settings is confusing to me:

    Code:
    tdecimate(cycle=5,cycler=3)
    I thought cycle=5 meant a cycle of 5 frames, while cycleR=3 meant that 3 frames out of those 5 will be dropped. Can someone please explain this to me further? I read the following page, but it's confusing me:

    TIVTC/TDecimate

    Thank you.
    Your definition of cycle and cycler are correct. It's the same ratio as 60/36, drop 36 out of 60, leaving 24 (which we want)

    Certain operations can be messed up if the field order as used by Avisynth is wrong. You can always check it by something like
    Code:
    AsssumeTFF()
    SeparateFields()
    and advance frame by frame in Virtualdub. If you see a forwards/backwards jumping, frame order is wrong
    Last edited by davexnet; 16th May 2021 at 19:40.
    Quote Quote  
  11. Originally Posted by davexnet View Post
    Your definition of cycle and cycler are correct. It's the same ratio as 60/36, drop 36 out of 60, leaving 24 (which we want)

    Certain operations can be messed up if the field order as used by Avisynth is wrong. You can always check it by something like
    Code:
    AsssumeTFF()
    SeparateFields()
    and advance frame by frame in Virtualdub. If you see a forwards/backwards jumping, frame order is wrong
    Okay, I think I'm understanding correctly now. Thank you for explaining this to me. It's fascinating how all this works.

    I wish you a wonderful day. Thanks again
    Quote Quote  
  12. In case it's not clear: each frame of interlaced video contains two separate half-images, called fields. They are intended to be viewed separately and sequentially. The player, or in this case QTGMC(), has to know what order the two fields are supposed to be displayed. If you specify the wrong field order (or AviSynth assumes the wrong field order) you will get 2-steps-forward-1-step-backward motion. Ie, instead of fields being seen in the order 0,1,2,3,4,5... they will be seen as 1,0,3,2,5,4...
    Quote Quote  
  13. Thank you for explaining it further. I'm going to experiment to see what that looks like. Am quite curious.
    Quote Quote  



Similar Threads