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

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 1st October 2009, 04:48   #1  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
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
*Never found a satisfactory solution for: framerate interpolation and stabilization.


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.
Chainmax is offline   Reply With Quote
Old 1st October 2009, 05:07   #2  |  Link
thewebchat
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.
thewebchat is offline   Reply With Quote
Old 1st October 2009, 05:15   #3  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
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.
Chainmax is offline   Reply With Quote
Old 1st October 2009, 07:40   #4  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
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.
Blue_MiSfit is offline   Reply With Quote
Old 1st October 2009, 10:50   #5  |  Link
MadRat
Registered User
 
MadRat's Avatar
 
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)
I'm not entirely sure this is right either but but I think the code for FFT3DFilter with external motion compensation would look like this:


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.
MadRat is offline   Reply With Quote
Old 1st October 2009, 12:19   #6  |  Link
MatLz
I often say "maybe"...
 
MatLz's Avatar
 
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
MatLz is offline   Reply With Quote
Old 1st October 2009, 12:37   #7  |  Link
Firebird
Registered User
 
Join Date: Mar 2008
Posts: 61
Quote:
Originally Posted by Chainmax View Post
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 .
EdgeCleaner + Dehalo_Alpha for animated content.
Firebird is offline   Reply With Quote
Old 1st October 2009, 15:49   #8  |  Link
g-force
Guest
 
Posts: n/a
Great Thread!

-G
  Reply With Quote
Old 1st October 2009, 15:53   #9  |  Link
LaTo
LaTo INV.
 
LaTo's Avatar
 
Join Date: Jun 2007
Location: France
Posts: 701
Quote:
Originally Posted by thewebchat View Post
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.
MCTD's sharpening is: LSFmod (preblur/secure mode) + Temporal limiting + Spatial repartition

Lame? Yes, maybe... But in this case, what isn't lame?
LaTo is offline   Reply With Quote
Old 1st October 2009, 18:57   #10  |  Link
Nightshiver
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.
Nightshiver is offline   Reply With Quote
Old 2nd October 2009, 06:11   #11  |  Link
halsboss
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...
halsboss is offline   Reply With Quote
Old 2nd October 2009, 06:51   #12  |  Link
onesloth
Registered User
 
Join Date: Jul 2007
Posts: 137
Quote:
Originally Posted by Blue_MiSfit View Post
"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.
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.
onesloth is offline   Reply With Quote
Old 2nd October 2009, 08:39   #13  |  Link
halsboss
likes to tinker
 
Join Date: Jan 2004
Location: girt by sea
Posts: 635
Quote:
Originally Posted by onesloth View Post
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.
Gee, do you have a link to a MT type script handy ?
halsboss is offline   Reply With Quote
Old 2nd October 2009, 11:21   #14  |  Link
onesloth
Registered User
 
Join Date: Jul 2007
Posts: 137
Quote:
Originally Posted by halsboss View Post
Gee, do you have a link to a MT type script handy ?
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.
onesloth is offline   Reply With Quote
Old 2nd October 2009, 18:01   #15  |  Link
thewebchat
Advanced Blogging
 
Join Date: May 2009
Posts: 480
Quote:
Originally Posted by halsboss View Post
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...
We deal with interlaced material by deinterlacing of course!
thewebchat is offline   Reply With Quote
Old 2nd October 2009, 18:07   #16  |  Link
Nightshiver
Quality Freak
 
Join Date: Jun 2007
Location: Area 52
Posts: 597
If, like he may have been wondering, what actual filters some use, it's simply a matter of preference. AnimeIVTC, TFM, telecide, yadif, the list goes on and on.
Nightshiver is offline   Reply With Quote
Old 2nd October 2009, 21:27   #17  |  Link
JohannesL
AviSynth/x264 user
 
JohannesL's Avatar
 
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
JohannesL is offline   Reply With Quote
Old 2nd October 2009, 23:10   #18  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,442
Quote:
Originally Posted by JohannesL View Post
... mt_masktools-26.dll ...
Are you running Avisynth 2.6?
If not, you should be using mt_masktools-25.dll.
Gavino is offline   Reply With Quote
Old 2nd October 2009, 23:58   #19  |  Link
rtjnyoface
Constantly learning
 
rtjnyoface's Avatar
 
Join Date: Jul 2008
Location: Mountain Time, U.S.
Posts: 189
TomsMoComp and Lanczos4. That's it .
rtjnyoface is offline   Reply With Quote
Old 3rd October 2009, 03:16   #20  |  Link
halsboss
likes to tinker
 
Join Date: Jan 2004
Location: girt by sea
Posts: 635
Quote:
Originally Posted by thewebchat View Post
We deal with interlaced material by deinterlacing of course!
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.
halsboss is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 05:37.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.