+ Reply to Thread
Results 1 to 5 of 5
-
I know from medium to very slow presets it denoises. If you want to keep grain/textures you should try the lossless mode (but it's slow):
example:
# official docu: Twice refined source-match with true lossless. Exact detail, but likely combing and shimmer
QTGMC( Preset="fast", SourceMatch=3, Lossless=1, Sharpness=0.4, TR2=2, EdiThreads=4)
Selecteven()*** DIGITIZING VHS / ANALOG VIDEOS SINCE 2001**** GEAR: JVC HR-S7700MS, TOSHIBA V733EF AND MORE -
It can smear things at default settings. It can be destructive to details as well.
Use sourcematch=3 and slower settings to reduce this. It may encode somewhat slower, but the results will look better.
QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3) -
It would be useful if diginoob would post the exact QTGMC call he/she is using.
Under most situations dot crawl will be eliminated when deinterlacing since it's the interlacing that causes it in the first place. -
Is QTGMC denoising in default mode?
I think so, but is this right?
If you don't like the behavior adjust the settings. You might want to read http://avisynth.nl/index.php/QTGMC that should also clear up what the suggested 'sourcematch=3' does. You also probably want to read up on the 'lossless' option.
As a side note, looking in the QTGMC script you can see the defaults that are used for each preset:
Code:#--------------------------------------- # Presets lsbd = default( lsbd, false) lsb = default( lsb, false) n16 = default( n16, false) useEdiExt = default( useEdiExt, false) Str = default( Str, 1.0 ) Amp = default( Amp, 0.0625 ) TV_range = default( TV_range, !(Isrgb(input))) sispmt = Findstr(VersionString(), "AviSynth+") != 0 && Findstr(VersionString(), "r1576") == 0 sispmt ? Assert( !(Input.BitsPerComponent() > 8 && (lsb || lsbd)), "QTGMC: lsb hack is not Compatible with native high bit depth" ) : nop() # Select presets / tuning Preset = default( Preset, "Slower" ) pNum = (Preset == "Placebo" ) ? 0 : \ (Preset == "Very Slow" ) ? 1 : \ (Preset == "Slower" ) ? 2 : \ (Preset == "Slow" ) ? 3 : \ (Preset == "Medium" ) ? 4 : \ (Preset == "Fast" ) ? 5 : \ (Preset == "Faster" ) ? 6 : \ (Preset == "Very Fast" ) ? 7 : \ (Preset == "Super Fast") ? 8 : \ (Preset == "Ultra Fast") ? 9 : \ (Preset == "Draft" ) ? 10 : 11 Assert( pNum < 11, "'Preset' choice is invalid" ) mpNum1 = (!defined(MatchPreset)) ? ((pNum + 3 <= 9) ? (pNum + 3) : 9) : \ (MatchPreset == "Placebo" ) ? 0 : \ (MatchPreset == "Very Slow" ) ? 1 : \ (MatchPreset == "Slower" ) ? 2 : \ (MatchPreset == "Slow" ) ? 3 : \ (MatchPreset == "Medium" ) ? 4 : \ (MatchPreset == "Fast" ) ? 5 : \ (MatchPreset == "Faster" ) ? 6 : \ (MatchPreset == "Very Fast" ) ? 7 : \ (MatchPreset == "Super Fast") ? 8 : \ (MatchPreset == "Ultra Fast") ? 9 : \ (MatchPreset == "Draft" ) ? 10 : 11 Assert( mpNum1 < 10, "'MatchPreset' choice is invalid/unsupported" ) MatchPreset = Select( mpNum1, "Placebo", "Very Slow", "Slower", "Slow", "Medium", "Fast", "Faster", "Very Fast", "Super Fast", "Ultra Fast", "Draft" ) mpNum2 = (!defined(MatchPreset2)) ? ((mpNum1 + 2 <= 9) ? (mpNum1 + 2) : 9) : \ (MatchPreset2 == "Placebo" ) ? 0 : \ (MatchPreset2 == "Very Slow" ) ? 1 : \ (MatchPreset2 == "Slower" ) ? 2 : \ (MatchPreset2 == "Slow" ) ? 3 : \ (MatchPreset2 == "Medium" ) ? 4 : \ (MatchPreset2 == "Fast" ) ? 5 : \ (MatchPreset2 == "Faster" ) ? 6 : \ (MatchPreset2 == "Very Fast" ) ? 7 : \ (MatchPreset2 == "Super Fast") ? 8 : \ (MatchPreset2 == "Ultra Fast") ? 9 : \ (MatchPreset2 == "Draft" ) ? 10 : 11 Assert( mpNum2 < 10, "'MatchPreset2' choice is invalid/unsupported" ) MatchPreset2 = Select( mpNum2, "Placebo", "Very Slow", "Slower", "Slow", "Medium", "Fast", "Faster", "Very Fast", "Super Fast", "Ultra Fast", "Draft" ) NoisePreset = default( NoisePreset, "Fast" ) npNum = (NoisePreset == "Slower" ) ? 0 : \ (NoisePreset == "Slow" ) ? 1 : \ (NoisePreset == "Medium" ) ? 2 : \ (NoisePreset == "Fast" ) ? 3 : \ (NoisePreset == "Faster" ) ? 4 : 5 Assert( npNum < 5, "'NoisePreset' choice is invalid" ) Tuning = default( Tuning, "None" ) tNum = (Tuning == "None" ) ? 0 : \ (Tuning == "DV-SD" ) ? 1 : \ (Tuning == "DV-HD" ) ? 2 : 3 Assert( tNum < 3, "'Tuning' choice is invalid" ) # Tunings only affect blocksize in this version bs = Select( tNum, 16, 16, 32 ) bs2 = (bs >= 16) ? 32 : bs * 2 # 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 ) ) 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 ) ) # Noise presets Slower Slow Medium Fast Faster Denoiser = default( Denoiser, Select( npNum, "dfttest", "dfttest", "dfttest", "fft3df", "fft3df" ) ) DenoiseMC = default( DenoiseMC, Select( npNum, true, true, false, false, false ) ) NoiseTR = default( NoiseTR, Select( npNum, 2, 1, 1, 1, 0 ) ) NoiseDeint = default( NoiseDeint, Select( npNum, "Generate","Bob", "", "", "" ) ) StabilizeNoise = default( StabilizeNoise, Select( npNum, true, true, true, false, false ) ) # The basic source-match step corrects and re-runs the interpolation of the input clip. So it initialy uses same interpolation settings as the main preset SourceMatch = default( SourceMatch, 0 ) MatchNNSize = NNSize MatchNNeurons = NNeurons MatchEdiMaxD = EdiMaxD MatchEdiQual = EdiQual # However, can use a faster initial interpolation when using source-match allowing the basic source-match step to "correct" it with higher quality settings Assert( SourceMatch == 0 || mpNum1 >= pNum, "'MatchPreset' cannot use a slower setting than 'Preset'" ) # Very Very Super Ultra # Basic source-match presets Placebo Slow Slower Slow Medium Fast Faster Fast Fast Fast NNSize = (SourceMatch == 0) ? NNSize : Select( mpNum1, 1, 1, 1, 1, 5, 5, 4, 4, 4, 4 ) NNeurons = (SourceMatch == 0) ? NNeurons : Select( mpNum1, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0 ) EdiMaxD = (SourceMatch == 0) ? EdiMaxD : Select( mpNum1, 12, 10, 8, 7, 7, 6, 6, 5, 4, 4 ) EdiQual = (SourceMatch == 0) ? EdiQual : Select( mpNum1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ) TempEdi = EdiMode # Main interpolation is actually done by basic-source match step when enabled, so a little swap and wriggle is needed EdiMode = (SourceMatch == 0) ? EdiMode : default( MatchEdi, ((mpNum1 < 9) ? EdiMode : "Yadif") ) # Force Yadif for "Ultra Fast" basic source match MatchEdi = TempEdi # Very Very Super Ultra # Refined source-match presets Placebo Slow Slower Slow Medium Fast Faster Fast Fast Fast MatchEdi2 = default( MatchEdi2, Select( mpNum2, "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "NNEDI3", "TDeint", "" ) ) MatchNNSize2 = Select( mpNum2, 1, 1, 1, 1, 5, 5, 4, 4, 4, 4 ) MatchNNeurons2 = Select( mpNum2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0 ) MatchEdiMaxD2 = Select( mpNum2, 12, 10, 8, 7, 7, 6, 6, 5, 4, 4 ) MatchEdiQual2 = Select( mpNum2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 )
Cu Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini
Similar Threads
-
Sharpening after Denoising
By Valmont in forum Newbie / General discussionsReplies: 3Last Post: 27th Dec 2016, 12:17 -
Denoising, Deinterlacing, and Crop
By Anon45 in forum EditingReplies: 4Last Post: 19th Mar 2016, 13:13 -
QTGMC Multi-thread Mode and HD
By SameSelf in forum Video ConversionReplies: 20Last Post: 19th Jan 2016, 09:55 -
Idea for perfect denoising
By Mephesto in forum RestorationReplies: 6Last Post: 24th Jan 2015, 07:18 -
Desinterlacing / Denoising in which order ?
By Lumbermatt in forum RestorationReplies: 20Last Post: 12th Dec 2013, 14:38