Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. Domains: forum.doom9.org / forum.doom9.net / forum.doom9.se |
|
|
#1 | Link |
|
Huh?
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
|
What are your current go-to filters?
I recently bought a couple of DVDs and want to use them as an excuse to get back into filtering. Now, since it's been a long time I'd like to know what are your most used filters. Here are mine:
* Bobbing/same-rate deinterlacing:TempGaussMC & SelectEven/Odd. Alternative: TDeint+NNEDI2+TMM & SelectEven/Odd. * IVTC: TIVTC + TDeint + NNEDI2 + TMM. On animated content, I might add Vinverse right before decimation. * Antialiasing, upsizing: NNEDI2. I haven't found a method that works as good as this or its predecessors. * Dotcrawl, mild rainbowing: TComb. I tried most other alternatives (DeDot, BiFrost, DeCross, SSIQ), but upon extensive testing they all seemed to produce some kind of minor artifacting. * Rainbowing: FFT3DFilter on chroma planes. In my humble opinion, it's simply unbeatable. * Denoising, light deblocking, light dotcrawl removal: DeGrainMedian and DFTTest. DGM is really something, it can treat all three of these kinds of artifacting quite effectively. DFTTest seems just as good on denoising and deblocking, haven't tested if it can remove dotcrawl too. * Denoising: MVDegrain3. This is one area I am very outdated in, as I never tried the new methods (McSpuds et al), so please let me know what am I missing. * Sharpening:LimitedSharpenFaster+Soothe. For very clean sources, SeeSaw is probably a good choice as well. * Line thinning: aWarpSharp2. Everything that was good about MarcFD's original, but without the lateral green smudges. I really love this as a follow-up to LSF on animated content. * Line darkening: VmToon. * Debanding: I was going to say Gradfun2DB, but apparently it has a small bug that GradFunkMirror solves. * Noise adding: AddGrain. Once again, I'm pretty sure more developments have surfaced in this areas, oriented to actual detail faking, but I am not fully aware of them. Any information would be appreciated. * Automatic levels HDR AGC. Autolevels v0.3 failed to work on a couple of scenes in a difficult clip I tried it on. * Very severe blocking: a variation on this great suggestion Didée gave me a long time ago: Code:
- deblock_QED (remove blocking, but keep detail) (-> it's on kassandro's forum, search) - soft upsampling (perhaps gaussian) to ~150% - extreme LimitedSharpen (updated version), with Smode=3, strength=1000, wide=true, soft=75~100 - 2x Upsampling by EEDI2, or custom script with good old SangNom - lanczos to final destination size - temporal filtering somewhere inbetween, perhaps MC'ed - eventually use SeeSaw instead of LimitedSharpen, or even both I think that's pretty much it. If I can think of anything else, it will be added. So, which are your preferred filters?
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it. |
|
|
|
|
|
#2 | Link |
|
Advanced Blogging
Join Date: May 2009
Posts: 480
|
Disclaimer: I mostly work in cartoons, so my advice may not be representative of general content.
Deinterlacing: I just use nnedi. Sometimes nnedi with TDeint. I find that most of the time when I need to deinterlace something, it's a stray field on a scene change, or some other telecine artifact. In general, I find that motion-compensated deinterlacers only seem to improve pans on cartoons. IVTC: TIVTC and then corrections in Yatta. Plain old TIVTC with blend postprocessing when I don't care enough. Antialiasing: Masked EEDI2. SangNom if I don't care enough. nnedi never seems to remove enough aliasing on cartoons. Dotcrawl: Checkmate. This is the only filter I've found that can remove dotcrawl on moving content. Rainbows: BiFrost with SSIQ (multiple times if necessary). Apparently this doesn't help much on real life footage though. Denoising: MDegrain variants. And no, you're not missing anything from using "advanced" scripted variants. They all seem to be various combinations of MDegrain, prefiltered analysis clips, and lame sharpening filters. More evil types of denoising: dfttest. Possibly dfttest with MC. Also, sometimes Deen depending on how bad it is. Deblocking: GradFun2DB/GradFunkMirror or AddGrainC. Normal deblocking filters seem to only turn the blocks into bands, which look much worse in my opinion. Sharpening: LimitedSharpenFaster. Does the job well enough, and I don't believe in the "filters make the output better than input" meme. Line thinning: Dunno, never needed to do it. On the other hand, aWarpSharp is great at removing chroma bleeding. Debanding: GradFun2DB/GradFunkMirror. Noise: AddGrain. GrainFactory3 always seemed way exaggerated to me. Levels adjustment: No idea here. Really bad blocking: AddLotsOfGrain. Framerate conversion/stabilization: Good luck with that. Last edited by thewebchat; 1st October 2009 at 05:11. |
|
|
|
|
|
#3 | Link |
|
Huh?
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
|
Oh, you made me remember that aWarpSharp also does minor halo removal, which reminds me of:
* Halo removal: DeHalo_Alpha. The best, bar none. Thanks for the thorough reply .
__________________
Read Decomb's readmes and tutorials, the IVTC tutorial and the capture guide in order to learn about combing and how to deal with it. |
|
|
|
|
|
#4 | Link |
|
Derek Prestegard IRL
![]() Join Date: Nov 2003
Location: Los Angeles
Posts: 6,017
|
I do mass encoding for a living, so my parameters are probably different than lots of folks here.
Also, I deal almost exclusively with film content, most of which is progressive, and of higher initial quality than most folks have access to. That doesn't mean it's perfect. You try feeding a gorgeous 1080p ProRes master - unfiltered - into x264 at low bitrate CBR and see what happens Denoisers are my friend, to put it keenly.Deinterlacing / Bobbing: YADIFMod + NNEDI for quality, YADIF for speed, or neuron2's CUDA tools when I'm working locally (maybe 5% of my total work). I rarely have time for the really good smart bobbers like TGMC or MCBob. IVTC: TFM.Vinverse.TDecimate... If this doesn't work, I usually reject the content, or brutalize it... LOL! I hate dealing with hard-telecined stuff. Thankfully I don't often have to! Spatial Interpolation: Spline36, NNEDI for 4x3LB -> 16x9 conversions, when I'm bored ![]() Temporal Interpolation: MVTools2. what else? AssumeFPS? Seriously though, I almost never do temporal interpolation. Neither should you, though I once did a mean 24p -> 60i "fix" to correct a dreadful mistake made during a multi-camera shoot... Thanks Fizick!"Free" Denoiser: FFT3DGPU / DeGrainMedian (depending on whether I'm on a local machine or a remote server) "Heavy" Denoiser / Degrainer: MDegrain2 with MT. Light up all 8 cores. I usually produce lots of encodes from one source, so I will create a degrained "mezzanine" file as an intermediate. Deblocking: DFTTest or FFT3DGPU, sometimes Deblock_QED - again depending on remote / local. Sometimes other stuff works wonders too! Dot Crawl Removal: Checkmate Rainbow Removal: FFT3DGPU on chroma Dither: GradFunkMirror(1.51). I always add this after fft3d***. It has a tendancy to create / reveal banding. Sharpening: LSFMod(SMode=4 or maybe 5, usually with reduced strength) PC <--->TV or other levels adjustments: SmoothLevels. Compare before / after histograms between this and ColorYUV. Wow! ![]() Grain Addition: GrainFactory3 at low settings, or maybe a low AddGrainC Other useful stuff I use all the time: QTSource, SoundOut, VSFilter, SupTitle, FFMPEGSource2, and tons of built in filters. #This is SO trick!!! a=last awesomeDenoiser interleave(a,last) histogram(mode="luma") ~MiSfit
__________________
These are all my personal statements, not those of my employer :) Last edited by Blue_MiSfit; 1st October 2009 at 07:54. |
|
|
|
|
|
#5 | Link |
|
Registered User
Join Date: Jan 2008
Posts: 110
|
I consider myself intermediate at avisynth filtering so when I feel very self-conscious giving any suggestions: like someone with nothing but first aid training trying to answer the questions of the doctor who's the head of the hospital emergency department. I don't have answers to these questions so I'm interested in the result.
For rainbowing, have you compared FFT3DFilter on the chroma to ChubbyRain2? Have you compared fastlinedarken to VmToon? Have you tried adding external motion compenstation to denoising? tritical did a recent test with updated filters and came up with some really good results. [http://forum.doom9.org/showthread.ph...4#post1272704] I asked a few questions but his answers were far beyond anything I could ever hope to understand. I'm not completely sure but I think the code for dtffilter with external motion compensation would look like this: Code:
sclip = msuper() vf1=manalyse(sclip,isb=false,delta=1,overlap=4) vf2=manalyse(sclip,isb=false,delta=2,overlap=4) vb1=manalyse(sclip,isb=true,delta=1,overlap=4) vb2=manalyse(sclip,isb=true,delta=2,overlap=4) mcomp5 = interleave(\ mcompensate(sclip,vf2,thSCD1=600)\ , mcompensate(sclip,vf1,thSCD1=600)\ , last\ , mcompensate(sclip,vb1,thSCD1=600)\ , mcompensate(sclip,vb2,thSCD1=600)) mcomp5.dfttest_dfttest(tbsize=5,ftype=1,sbsize=8,sosize=7,sigma=110).selectevery(5,2).mergechroma(last) Code:
vf=last.mvanalyse(pel=2,blksize=8,isb=false,idx=1,overlap=4,sharp=2,truemotion=true) vb=last.mvanalyse(pel=2,blksize=8,isb=true,idx=1,overlap=4,sharp=2,truemotion=true) vf2=last.mvanalyse(pel=2,blksize=8,isb=false,idx=1,delta=2,overlap=4,sharp=2,truemotion=true) interleave(\ mvcompensate(last,vf2,idx=1,thSCD1=600)\ , mvcompensate(last,vf,idx=1,thSCD1=600)\ , last\ , mvcompensate(last,vb,idx=1,thSCD1=600)) FFT3DFilter(sigma=3.7, bt=4, bw=8, bh=8, ow=4, oh=4) selectevery(4,2) In the test, using artificially added noise (AddNoise filter) dfttest removed more noise. But I prefer FFT3DFilter to do my denoising because I love its sharpener and I'm more familiar with it. It seems to me that replacing FFT3DFilter(sigma=3.7, bt=4, bw=8, bh=8, ow=4, oh=4) with FFT3DFilter(sigma=3.7,bt=4,bw=32,bh=32,ow=16,oh=16) is supposed to filter noise better, but if tritical used the first one and Fizick didn't tell him to change it then I'm probably wrong; especially since I can't even tell you what those settings do. |
|
|
|
|
|
#6 | Link |
|
I often say "maybe"...
Join Date: Jul 2009
Location: France
Posts: 586
|
My plugins directory. Nothing else...
Aeris.avsi ffavisynth.avsi hqd.avsi k9ma.avsi Degrain.avsi nrs.avsi xpd.avsi AddGrainC.dll aWarpSharp.dll aWarpSharp2.dll deblock.dll deen.dll dfttest.dll DGAVCDecode.dll DGDecode.dll DirectShowSource.dll ffavisynth.dll FFT3DFilter.dll gradfun2db.dll hqdn3d.dll mt_masktools.dll mvtools2.dll NicAudio.dll TIVTC.dll TomsMoComp.dll Toonlite.dll vsfilter.dll warpsharp.dll |
|
|
|
|
|
#7 | Link | |
|
Registered User
Join Date: Mar 2008
Posts: 61
|
Quote:
|
|
|
|
|
|
|
#9 | Link | |
|
LaTo INV.
Join Date: Jun 2007
Location: France
Posts: 701
|
Quote:
Lame? Yes, maybe... But in this case, what isn't lame?
|
|
|
|
|
|
|
#10 | Link |
|
Quality Freak
Join Date: Jun 2007
Location: Area 52
Posts: 597
|
Bobbing: TempGaussMC_beta1mod or MCBob
IVTC: AnimeIVTC (if simpler methods are needed, TDeint&Decimate) AA: AnimeIVTC's internal functions (It has 4 separate methods, each able to call outside of the AnimeIVTC function) Dotcrawl: Checkmate (never really had huge issues where checkmate didn't work) Rainbowing: Chubbyrain2 or DFMDeRainbow Denoising: Honestly, only real option (to me) is MVDegrain(multi). I have used dfttest and DGM, FFT3d and others in the past, I just like how well MVDegrain does it without harming any other factors. You're not (my opinion again) missing out on anything "groundbreaking" by not using MCSpuds or MCTemporalDenoise. Sharpening: What else? LSF. Line thinning: If ever needed, awarpsharp2 Line darkening: toon Debanding: gradfunkmirror (You shouldn't have to deband unless you've over-filtered or have a rare source, at least in my experience) Noise adding: Never had to. Grainfactory3 has good reviews though. Autolevels: Never. I do manual color correction when needed. On other notes, FizzKillerMulti is good for old/seriously crappy sources that have noise that cannot be taken out by other means. Dehalo_alpha is also the best for removing halo's, and Srestore for getting PAL transfers back to PAL or other blending crap. |
|
|
|
|
|
#11 | Link |
|
likes to tinker
Join Date: Jan 2004
Location: girt by sea
Posts: 635
|
Denoising: Convolution3D ... does no one like C3D anymore ? Or PixieDust (albeit no MTing with this) ?
Big Denoising: MDegrain1, MDegrain2, MDegrain3 DeSpoting: DeSpot Sharpening: LimitedSharpenFaster Deblocking: Deblock_QED_MT2 Automatic levels: HDRAGC Resizing: lanczos4resize and spline36resize Just wondering if some of the answers may be different for interlaced/progressive input vs progressive ? ie what techniques do people use to deal with interlaced material... |
|
|
|
|
|
#12 | Link |
|
Registered User
Join Date: Jul 2007
Posts: 137
|
I particularly like first creating a denoised source like this (maybe with a FFT3D prefiltered analysis clip) because MDegrain often solves other seemingly non-noise issues (e.g. blocking), eliminating the need for other filters.
Last edited by onesloth; 2nd October 2009 at 06:55. |
|
|
|
|
|
#14 | Link |
|
Registered User
Join Date: Jul 2007
Posts: 137
|
http://avisynth.org.ru/mvtools/mvtools2.html
http://avisynth.org/mediawiki/MT Those two should put you in business. ![]() I made TemporalDegrain_MT (if you really want to use MT()) and TemporalDegrain_ChromaMod (for SetMTMode()) a while ago but I stopped using TemporalDegrain after noticing motion blur in particular sources. Now I just use a modification of FastDegrain with added prefiltered clip and chroma parameters with SetMTMode(2). I like to keep it simple. Last edited by onesloth; 2nd October 2009 at 11:28. |
|
|
|
|
|
#17 | Link |
|
AviSynth/x264 user
Join Date: Jan 2009
Posts: 149
|
[/cygdrive/i/Encoding/AviSynth plugins]% ls
AAA.avs RepairSSE2.dll aWarpSharp.dll AddGrainC.dll SangNom.dll colors_rgb.avs DirectShowSource.dll Soothe.avs gradfun2db.dll EdgeCleaner.avs SubExSoftShade.avs jdl-effects.avs GradFun2DBmod.v1.3.avs SubtitleEx.dll jdl-range.avs GrainFactory3.avs TASCompSub.avs jdl-util.avs KenBurnsEffect.avs TCPDeliver.dll jdl-wrappers.avs LSFmod.v1.8.avs Toon-v1.0.dll libsndfile-1.dll RSharpenSSE2.dll TransAll.dll mt_masktools-26.dll RangeFPS.avs UnFilter.dll mvtools2.dll RemoveGrainSSE2.dll VariableBlur.dll nnedi2.dll
__________________
archlinux |
|
|
|
|
|
#20 | Link |
|
likes to tinker
Join Date: Jan 2004
Location: girt by sea
Posts: 635
|
Oh. I've seem some scripts separating fields and using some plugins whereas others however don't necessarily work nicely that way. Apparently some filters have an interlaced parameter to deal with interlaced. Was just wondering.
|
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|