The underlying problem is interlace in the first placeInterlacing was a very clever way to reduce bandwidth in the old days, and it worked very well on CRT, because the persistance of the image on the screen. In modern days is a source of problems.so true,...
Because poisondeathray is on board, I should have mentioned his contribution also to the question of using SeparateFields + Select even/odd on temporal filtering. Sorry pdr, I lost your comments in my cut & paste:
https://forum.doom9.org/showthread.php?p=1691595#post1691595
Even if you group even/odd separate fields, and filter that way, then interleave and weave - then use of temporal filters is technically "wrong" and less effective, because in bobbed sequence, you will be filtering 0,2,4,6... separately from 1,3,5,7.... ie. there will be no temporal filtering between even and odd, only within
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays!
+ Reply to Thread
Results 31 to 60 of 71
Thread
-
-
Interesting! And you are right, I just checked and there is in fact some of this up/down/up/down motion, you can see it e.g. when the opening credits play and on some objects. However it's very minor and doesn't really bother me too much, in fact I haven't noticed it before you told me about it. What's more annoying to me is QTGMC's motion compensation (I think is the right term for it?) like when the camera and objects/persons are moving and the grain/noise is behaving very weird in that area, it kind of stays at the same place when it should in fact move (like I described in my original post it acts like a magnet). I'm trying Skiller's (how can I tag a user?) settings right now, I just need to do a full encode first to actually determine whether it's an improvement or not (11.45fps on my 9900K). But from my sample clip (15 seconds) it looks cleaner overall than NNEDI3, less blocky and a bit softer but sometimes details get a little bit lost.
Since NNEDI3 is an intra-field only deinterlacer, is there any alternative besides using QTGMC that is not intra-field only (e.g. EEDI2, etc. sometimes there's no word on it)? Does yadifmod2+NNEDI3 provide better results than just NNEDI3? I mean technically I could just do single rate deinterlacing to avoid this up/down motion, right? I prefer bobbing though, as it preserves the original framerate and looks better for PAL content.
And this might be a dumb question but it is okay that my output file size will be higher than the original one (about 950 MB interlaced source resulting in a 1.1GB 50fps progressive output file with near-lossless encoding settings), since I'm basically adding 2 times the information, right? I don't care about HDD space anyways..Last edited by sebastiaaan; 28th Dec 2021 at 11:56.
-
Yes, for single rate - 1/2 the information is discarded motion is less smooth. Either all even fields, or all odd fields, not both (ie. all "up", or all "down") . "Bobbing" doubles the original framerate (it does not preserve it), it retains the number of original motion samples. 25 frames per second interlaced has 50 fields per second. 50 moments in time represented. All motion samples from individual fields are retained
In terms of what? the up/down ? Partially. The difference is the whole image isn't filtered with NNEDI3 when used with yadifmod as edeint - Only certain areas are.
yadifmod/yadifmod2 + nnedi3 will still have some partial up/down motion and flicker during motion (less bad than nnedi3 alone), but will be better during static sections (but it doesn't process some pixels, such as the top and bottom rows), and have less edge enhancement (nnedi3 causes edge enhancement artifacts, a haloing effect).
Another "negative" of nnedi3 alone - it's not motion adaptive. It "blindly" processes everything. So in no motion scenes - where the image is actually progressive content - nnedi3 will degrade it (because it's a single field, not weaved 2 fields for full quality) . yadifmod2+nnedi3 will only slightly degrade it (yadifmod/yadifmod2 omit top and bottom rows, such as QTGMC border=false). QTGMC will be better (depending on the settings used), but bwdif should be almost perfect if it registers no motion
That was the reason for that "pause" at the beginning in the gif demo. Those first few frames have no motion. A perfect deinterlacer will weave() the 2 field to produce full quality image. QTGMC comes close, but very slightly degrades because of the additional processing . yadifmod+nnedi3 misses the top and bottom row (so does QTGMC default without border=true). Bwdif+nnedi3 is essentially perfect for the static sections, if it detects no motion correctly
But in motion, all of them will generally have more flickering artifacts more than QTGMC
bwdif + nnedi3 as edeint is generally better than yadifmod/yadifmod2 + nnedi3 as edeint . Bwdif alone is actually faster than yadif alone on most semi recent computers (with SSE2 and AVX) and produces higher quality - yadif and yadifmod are basically obsolete IMO, they can be safely replaced with bwdif for faster and higher qualtiy filtering
Of course, YMMV - different types of sources, scenes, content might react better to different deinterlacing algorithms.
What's more annoying to me is QTGMC's motion compensation (I think is the right term for it?) like when the camera and objects/persons are moving and the grain/noise is behaving very weird in that area, it kind of stays at the same place when it should in fact move (like I described in my original post it acts like a magnet).
But those types of can also be partially compounded from your encoding settings. More common with certain codecs like HEVC with certain settings. You can rule that out by using lossless encoding
is there any alternative besides using QTGMC that is not intra-field only
Pros/cons to any choice you make. If you dislike the QTGMC side effects , and cannot find QTGMC settings that get the results you want, I would also try bwdif with nnedi3 as edeint
And this might be a dumb question but it is okay that my output file size will be higher than the original one (about 950 MB interlaced source resulting in a 1.1GB 50fps progressive output file with near-lossless encoding settings), since I'm basically adding 2 times the information, right? I don't care about HDD space anyways..
Many factors to consider - It also depends on the encoding settings and the content. If you use longer GOP, more b-frames, etc.. that can help with compression -
You can alter some settings to make it much less destructive. The default settings really suck, and are indeed very destructive.
Code:QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=0.1)
Code:tfm(order=-1, slow=2, cthresh=8, clip2=QTGMC(preset="slow", matchpreset="slow", matchpreset2="slow", FPSDivisor=2, sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=0.1))
Last edited by killerteengohan; 29th Dec 2021 at 23:19.
-
-
-
-
-
-
Code:
SetFilterMTMode("DEFAULT_MT_MODE", 2) SetFilterMTMode("QTGMC", 2) AVISource("F:\Video Files\Video.avi") AssumeTFF() AssumeFPS(25) QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, \ DCT=5, ThSCD1=300, ThSCD2=110, \ SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", \ NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", \ StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob") Crop(0,0,-0,-6) Prefetch(5)
-
I don't get these artifacts with the script
Code:AVISource("Original Source.avi") AssumeTFF() AssumeFPS(25) QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4, \ DCT=5, ThSCD1=300, ThSCD2=110, \ SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow", \ NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow", \ StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob") Crop(0,0,-0,-6)
-
QTGMC at its default settings makes all of my videos with heavy grain look like crumpled cardboard.
-
Out of curiosity, can someone post before after images of such an occurrence? (I normally deal with content that doesn't have much noise and use QTGMC in mode 'Fast',...)
Cu SelurLast edited by Selur; 18th Nov 2022 at 15:09.
users currently on my ignore list: deadrats, Stears555 -
If you want to disable the noise reduction and sharpening, then disable the noise reduction and sharpening. This is what I use and it produces a near flawless output.
SetFilterMTMode("AVISource", 3)
SetFilterMTMode("QTGMC", MT_MULTI_INSTANCE)
AVISource("$inputFile")
AssumeTFF
QTGMC(Preset="Slower", EdiThreads=4, NoiseProcess=0, Sharpness=0, SourceMatch=3, Lossless=2)
ConverttoYV12
Prefetch(16) -
For SD sources (sharp enough like BetacamSP or DVD) it may be better to keep blocksize of 8x8. At least using RefineMotion from Dogway version of QTGMC or setup its manually with some not very poor search params:
preset="slow", thSAD2=150, BlockSize=8, SubPel=2, Search=3, SearchParam=2, Overlap=4, ChromaMotion=true, GlobalMotion=true, TrueMotion=true, TR2=1
Also I see the thSAD2 for final denoise looks like not good autoscaled between blocksize of 16 and blocksize of 8 so it may be required to set it to lower value (of default 256) to keep about the same noisereduction/blurring.
Blocksize of 8x8 can better track small details at complex moving areas but may fail to keep details in some big areas and it run significantly slower. Also subpel=4 may be tested by more die-hard perfectionists.
Also with the next -a.30 release of post-2.7.45 mvtools there will be avaialble even more slower modes of MVs refining like "Super Slow" and "Ultra Slow" (1,2,3...) with AreaMode MVs averaging from several full-searches of block in some surrounding area. With performance penalty from several times to 10x and more. While still keeping >1 fps rate at CPUs like i5-9600K (6 real cores no HT) at PAL SD source.Last edited by DTL2023; 2nd May 2024 at 07:23.
-
-
Isn't some noise reduction unavoidable (!and wanted!) when bobbing due to the nature of interpolating/upscaling (call it what you like) from fields to frames?
users currently on my ignore list: deadrats, Stears555 -
Interpolated noise is still noise.
I like some control over that and still think that noise reduction unavoidable (!and wanted!), but it's probably something like personal taste.
If you want simple bobbing, use Bob().users currently on my ignore list: deadrats, Stears555 -
Sure.
lossless bob versus QTGMC: https://imgsli.com/MjYxMDcx
lossless bob versus QTGMC(NoiseProcess=0): https://imgsli.com/MjYxMDcy
and finally QTGMC versus QTGMC(NoiseProcess=0): https://imgsli.com/MjYxMDcz
compare with metrics image:
compare with metrics movie:
compare.avi -
1. Then what's the point of the bypass mode? It's not my fault that the guide is wrong.
2. I suppose that means SourceMatch and Lossless are the more important settings. I did a test and excluding them produces a horrible quality output.
3. That junk in your example is more field to field flicker than noise.
4. Can you share the source file? -
1. Then what's the point of the bypass mode? It's not my fault that the guide is wrong.
2. I suppose that means SourceMatch and Lossless are the more important settings. I did a test and excluding them produces a horrible quality output.
3. That junk in your example is more field to field flicker than noise.
4. Can you share the source file?
let us know your findings -
-
There are no setting that will always produce nice results when deinterlacing. Depending on the source, you should adjust your settings,.. this is true for basically any filter and script.
users currently on my ignore list: deadrats, Stears555 -
-
Selur and Sharc said all!
-
First release of M_QTGMC() . https://github.com/DTL2020/QTGMC/releases/tag/m_0.1 (M is sort of Monster-QTGMC)
Zero params .
It opens Super and Ultra Slow processing. Release includes required new .dlls - release for test of mvtools2 2.8.0-a.00 and new created plugin MostDiffVal (used in M_QTGMC). Also some version of QTGMC2() based on Dogway version v3.384s .
With current settings (internal) it attempt to create sharpest possible - so most of noise also keeping in.
M_QTGMC is aggregator of 4 calls to QTGMC2 with blocksizes of 8x8 and 16x16 and PP on (for preset="slow") and off. Also each calls of QTGMC2() uses new AreaMode (with not very high AM params - only +4 additional points of search) of MVs internal refining in MAnalyse and new predictor modes for TrueMotion and for median predictor.
Total performance is expected about 0.1 of classic QTGMC(preset='slow') or maybe a bit higher. (Update: at Core2Duo E7500: 11 vs 0.17 fps = 64x times slower.)
Test on BetacamSP (into DV25) capture: https://imgsli.com/MjYxMTMx https://imgsli.com/MjYxMTQx
Most of details saving expected at fast moving subjects. Also may add something good to old noised BetacamSP sources.Last edited by DTL2023; 3rd May 2024 at 20:16.
-
How would someone use this instead of the old one? Just install it and it would remove the old QTGMC? Any video samples comparing the two?
Similar Threads
-
Qtgmc-GUI. A simple encoder for your Qtgmc scripts.
By ProWo in forum Video ConversionReplies: 17Last Post: 4th Mar 2023, 02:01 -
Having slow motion in 50p playback - destructive convert to 25p film?
By larioso in forum Camcorders (DV/HDV/AVCHD/HD)Replies: 0Last Post: 4th Jun 2019, 04:26 -
I think this just needs QTGMC...
By pooksahib in forum Video ConversionReplies: 2Last Post: 30th May 2019, 03:12 -
Help with QTGMC?
By attackworld in forum EditingReplies: 3Last Post: 26th Nov 2018, 21:57 -
What free software can people recommend for auto syncing clips to a beat?
By rflook in forum EditingReplies: 3Last Post: 19th Mar 2018, 05:36