digitalFAQ.com Forum

digitalFAQ.com Forum (https://www.digitalfaq.com/forum/)
-   Encode, Convert for streaming (https://www.digitalfaq.com/forum/video-web/)
-   -   Hybrid (Avisynth) resize methods, fast vs. faster? (https://www.digitalfaq.com/forum/video-web/13211-hybrid-avisynth-resize.html)

Choomba696 01-07-2023 04:09 PM

Hybrid (Avisynth) resize methods, fast vs. faster?
 
I want to know which interpolation is best used when resizing DVD video to 540p. Lanczos? Spline64?

lordsmurf 01-07-2023 06:31 PM

It fully depend on content.

You can put most things into 3 buckets:
- bad
- not bad, but not great (passable)
- good, excellent

Right now, you're discussing things in that last/best bucket. At this stage, it starts to be nuanced, situation based, even preference.

Choomba696 01-07-2023 11:29 PM

The source material I'm converting is good quality. Mainstream DVDs. What's the best method for that situation? Also I want to know what QTGMC preset I should use for deinterlacing. Should I use Faster or Fast? I'm kinda torn between the two.

lordsmurf 01-08-2023 06:53 AM

For this decision, I'd suggest learning more about QTGMC.

QTGMC is not "a filter", but more like a controller for multiple filters being called up. Which filter is called, and those settings, determines quality. You can manually enable via switches, or you can choose presets.

Look at the actual script:
https://raw.githubusercontent.com/re...0up/QTGMC.avsi

In particular, this part:
Code:

#                                                              Very                                                        Very      Super      Ultra
    # Preset groups:                                    Placebo    Slow      Slower    Slow      Medium    Fast      Faster    Fast      Fast      Fast      Draft
    TR0          = default( TR0,          Select( pNum,  2,        2,        2,        2,        2,        2,        1,        1,        1,        1,        0      ) )
    TR1          = default( TR1,          Select( pNum,  2,        2,        2,        1,        1,        1,        1,        1,        1,        1,        1      ) )
    TR2X        = default( TR2,          Select( pNum,  3,        2,        1,        1,        1,        0,        0,        0,        0,        0,        0      ) )
    Rep0        = defined(Rep0) ? Rep0 : TR0 < 1 ? 0 : undefined()
    Rep0        = default( Rep0,        Select( pNum,  4,        4,        4,        4,        3,        3,        0,        0,        0,        0,        0      ) )
    Rep1        = default( Rep1,        Select( pNum,  0,        0,        0,        0,        0,        0,        0,        0,        0,        0,        0      ) )
    Rep2        = default( Rep2,        Select( pNum,  4,        4,        4,        4,        4,        4,        4,        4,        3,        3,        0      ) )
    EdiMode      = default( EdiMode,      Select( pNum, "NNEDI3",  "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3",  "RepYadif","Bob"  ) )
    NNSize      = default( NNSize,      Select( pNum,  1,        1,        1,        1,        5,        5,        4,        4,        4,        4,        4      ) )
    NNeurons    = default( NNeurons,    Select( pNum,  2,        2,        1,        1,        1,        0,        0,        0,        0,        0,        0      ) )
    EdiQual      = default( EdiQual,      Select( pNum,  1,        1,        1,        1,        1,        1,        1,        1,        1,        1,        1      ) )
    EdiMaxD      = default( EdiMaxD,      Select( pNum,  12,        10,      8,        7,        7,        6,        6,        5,        4,        4,        4      ) )
    SMode        = default( SMode,        Select( pNum,  2,        2,        2,        2,        2,        2,        2,        2,        2,        2,        0      ) )
    SLModeX      = default( SLMode,      Select( pNum,  2,        2,        2,        2,        2,        2,        2,        2,        0,        0,        0      ) )
    SLRad        = default( SLRad,        Select( pNum,  3,        1,        1,        1,        1,        1,        1,        1,        1,        1,        1      ) )
    Sbb          = default( Sbb,          Select( pNum,  3,        1,        1,        0,        0,        0,        0,        0,        0,        0,        0      ) )
    SrchClipPP  = default( SrchClipPP,  Select( pNum,  3,        3,        3,        3,        3,        2,        2,        2,        1,        1,        0      ) )
    SubPel      = default( SubPel,      Select( pNum,  2,        2,        2,        2,        1,        1,        1,        1,        1,        1,        1      ) )
    Blocksize    = default( Blocksize,    Select( pNum,  bs,        bs,      bs,      bs,      bs,      bs,      bs2,      bs2,      bs2,      bs2,      bs2    ) )
    bs = Blocksize
    Overlap      = default( Overlap,      Select( pNum,  bs/2,      bs/2,    bs/2,    bs/2,    bs/2,    bs/2,    bs/2,    bs/4,    bs/4,      bs/4,      bs/4  ) )
    Search      = default( Search,      Select( pNum,  5,        4,        4,        4,        4,        4,        4,        4,        0,        0,        0      ) )
    SearchParam  = default( SearchParam,  Select( pNum,  2,        2,        2,        2,        2,        2,        2,        1,        1,        1,        1      ) )
    SearchParam  = ESearchP && (Search==4 || Search==5) ? pNum < 4 ? 24 : pNum < 8 ? 16 : SearchParam : SearchParam
    PelSearch    = default( PelSearch,    Select( pNum,  2,        2,        2,        2,        1,        1,        1,        1,        1,        1,        1      ) )
    ChromaMotion = default( ChromaMotion, Select( pNum,  true,      true,    true,    false,    false,    false,    false,    false,    false,    false,    false  ) )
    Precise      = default( Precise,      Select( pNum,  true,      true,    false,    false,    false,    false,    false,    false,    false,    false,    false  ) )
    ProgSADMask  = default( ProgSADMask,  Select( pNum,  10.0,      10.0,    10.0,    10.0,    10.0,    0.0,      0.0,      0.0,      0.0,      0.0,      0.0    ) )

Now, to understand what TR0/1/2 is, etc, you'll want to refer to the official wiki
http://avisynth.nl/index.php/QTGMC

There's really not much different between "fast" and "faster" presets, mostly some housekeeping to the motion search refinement, and increased radius to TR0.

BTW, you can call up a preset, then add switches/syntax to alter or add the variable. So, for example, you could call up "faster" and then chase it with a TR0=2 to match the slower "fast" preset, and leave other fast vs. faster changes alone.

Does this all make sense?

Given your source, faster is probably fine. It's what I'd normally do in this situation.

Choomba696 01-09-2023 04:24 AM

It's beggining to make more sense to me. This deinterlacer is complicated. I noticed that Lanczos leave a larger file than bilinear. Does it mean more detail retention?


All times are GMT -5. The time now is 02:43 PM

Site design, images and content © 2002-2026 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2026 Jelsoft Enterprises Ltd.