View Full Version : Lots of aliasing - how to get rid of them?
dragon_warrior
30th March 2011, 06:46
This is a sample of what I'm going to encode to .mkv : http://www.multiupload.com/BTHF5OWTO4. The .vob is a perfect stuff except some disturbing aliasing which appear throughout the video.
I have tried
QTGMC(Preset="Medium",InputType=3)
SharpAAMCMod()
but it seems a little aliasing cannot be washed off completely.
Can anyone give me a suggestion :thanks:
SubJunk
30th March 2011, 07:58
Have you tried the other input types (0, 1 and 2) for QTGMC?
Also try the Placebo Preset (probably not worth it as usual, but just check to be sure)
dragon_warrior
5th April 2011, 06:50
Have you tried the other input types (0, 1 and 2) for QTGMC?
Also try the Placebo Preset (probably not worth it as usual, but just check to be sure)
Nope, I don't think QTGMC is designed to deal with aliasing, so it's not worth using the sluggish Placebo Preset. (However, I've tried it but it seems useless)
Didée
5th April 2011, 11:52
http://www.mediafire.com/download.php?l5lvc4hzbp1big8
Like so?
dragon_warrior
5th April 2011, 15:22
http://www.mediafire.com/download.php?l5lvc4hzbp1big8
Like so?
Well, it's more than I possibly ever expect :eek:
You're surprising me again with your powerful script
Looks like you reverted the framerate to 23.976, right?
Didée
5th April 2011, 15:40
Well, the basic idea was
daa()
turnleft.daa().turnright() # may be unneeded ... is there aliasing in horizontal direction, or is there not?
QTGMC(inputtype=1)
Though, I put it up manually, to make a few small customisations here & there.
5 minutes of typing during lunch break .... as-is, without any clean-up:
mpeg2source("D:\__root\sample_(dragon.warrior)-AA_FF.d2v")
o0=crop(0,104,-0,-104,true)
crop(0,104+2,-0,-104-2,true)
pointresize(width,height+4,0,-2,width,height+4)
o=last
fft = o.fft3dfilter(sigma=4.0,bw=16,bh=16,ow=8,oh=8,bt=1,plane=4)
fft
nnedi3(field=-2)
merge(selecteven,selectodd)
d1=mt_makediff(last,fft,U=3,V=3)
d2=mt_makediff(last,last.removegrain(20),U=3,V=3).mt_lut("x 128 - 1.51 * 128 +",U=3,V=3)
last.mt_adddiff(d2.repair(d1,12),U=3,V=3)
turnleft()
AA1=last
nnedi3(field=-2)
merge(selecteven,selectodd)
d1=mt_makediff(last,AA1,U=3,V=3)
d2=mt_makediff(last,last.removegrain(20),U=3,V=3).mt_lut("x 128 - 2.51 * 128 +",U=3,V=3)
last.mt_adddiff(d2.repair(d1,12),U=3,V=3)
turnright()
QTGMC(1,1,1,inputtype=1,edimode="nnedi3")
mt_adddiff(mt_makediff(o,fft,U=3,V=3),U=3,V=3)
crop(0,2,-0,-2,true).addborders(0,12,0,0)
stackvertical(o0,last)
return(last)
I.e.
- first there is some noise removed & added back later (like noise bypass in QTGMC, but I didn't use it there because I wanted the bypass to act already at the AA stage)
- then AA is done: basically daa(), but with some stronger contra-sharpening
- not sure if the 2nd stage of AA is really needed, I did put it in just incase.
- apply QTGMC, mainly for stabilisation
- re-add the noise removed by FFT3DFilter
Some frickling with the top+bottom borders was necessary, because the AA filter didn't particularly like the transition of/to the black borders.
dragon_warrior
5th April 2011, 16:08
I saw no blending in the video, so why did you revert the framerate back to 23.976?
Didée
5th April 2011, 16:13
Because at 29.97, I saw: 4 frames - 1 dup - 4 frames - 1 dup ...
Hence DGIndex -> forced film.
EuropeanMan
5th April 2011, 16:28
I saw no blending in the video, so why did you revert the framerate back to 23.976?
If there were blends, it'd most probably go to 25/24.975...
dragon_warrior
5th April 2011, 16:29
How accomplished you are!
The result is just dead good. Thanks for helping me out
-Vit-
5th April 2011, 16:40
Nice solution Didée. Just watch out since recent QTGMC no longer accept the TGMC-style unnamed parameter input: QTGMC(1,1,1), a deliberate change to promote named parameter use for all except preset. It needs to be:
QTGMC( "Slower", TR0=1, TR1=1, TR2=1, InputType=1 ) # Or whatever preset. All but "Ultra Fast" will use NNEDI3
Well, I guess you could read the script to find the new parameter order, but I promise to change it with every version if you do that :devil:
dragon_warrior
6th April 2011, 10:29
pointresize(width,height+4,0,-2,width,height+4)
Last question: Can I leave out this line? (Actually I don't want to apply any resizers when encoding dvd)
Didée
6th April 2011, 11:03
As noted earlier, that's part of the border frickling ... the pointresize is performing "padding", to eliminating all residuals of the black mattes, while keeping the resolution mod8 compliant. (mod8 fits better to blksize=16/overlap=8 in MVTools/QTGMC.)
Effectively, there is no resizing happening in this script. Input-to-output has 1:1 pixel mapping.
@ Vit:
Erhm, yes, I was using an older version of QTGMC, probably v3.0. The office machine is not always uptodate (it's neither meant nor suited for video stuff...)
Thoughts about InputType=4 ? ;)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.