+ 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. -
yesIs QTGMC denoising in default mode?
it is as intended by the author of the script.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:
source: QTGMC v3.361sCode:#--------------------------------------- # 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, 13:17 -
Denoising, Deinterlacing, and Crop
By Anon45 in forum EditingReplies: 4Last Post: 19th Mar 2016, 14:13 -
QTGMC Multi-thread Mode and HD
By SameSelf in forum Video ConversionReplies: 20Last Post: 19th Jan 2016, 10:55 -
Idea for perfect denoising
By Mephesto in forum RestorationReplies: 6Last Post: 24th Jan 2015, 08:18 -
Desinterlacing / Denoising in which order ?
By Lumbermatt in forum RestorationReplies: 20Last Post: 12th Dec 2013, 15:38


Quote