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. |
11th March 2013, 20:47 | #1 | Link |
Registered User
Join Date: Feb 2013
Posts: 1
|
MPEG-2 BluRay aliasing removal
Hi, I have a huge aliasing problem thanks to a terrible source. It is 720p mpeg-2 from a bluray, but the company behind it screwed up severely by perhaps scaling up the 50i PAL source to HD using filters, and who the hell knows what process to deinterlace it. The video reports that it is 24 fps, not 23.976, but 24.000.
For whatever reason, as a consequence of what they did to it, there's tremendous aliasing everywhere, vertical and horizontal. Perhaps they used a sharpness filter to scale the 50i sd video, I'm not sure. I was trying to troubleshoot the problem, and I ran into this post in which Didée dealt with a similar problem, although on a much smaller scale. I used the info in Didée's avs script to construct a similar one that might deal with the problem in my case. Here is a resulting screenshot: http://ptpimg.me/0hv0h6.png Almost all aliasing removed, little or no loss of whatever high frequency details are present. All well and good except for this -- when I try the encode, the result has dropped frames and whole sequences are repeated. Totally unusable, even though everything's fine in AVPSmod frame by frame. Some of the material in the avs script is way beyond me. Here is the script I have been using: Code:
SetMemoryMax(512) SetMTMode(3) MPEG2Source("Nightwish - End of an Era.d2v", cpu=0) SetMTMode(2) crop(26,2+2,-18,-2-2,true) 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( "Slower", TR0=1, TR1=1, TR2=1, InputType=0 ) # Or whatever preset. All but "Ultra Fast" will use NNEDI3 mt_adddiff(mt_makediff(o,fft,U=3,V=3),U=3,V=3) return(last) |
12th March 2013, 08:09 | #2 | Link |
Registered User
Join Date: Feb 2009
Location: USA
Posts: 676
|
Code:
QTGMC(Preset="Slow").SelectEven().SharpAAMCMod() I suppose you could run them each in their own pass, via a lossless temporary file. QTGMC seemed to have the most impact by itself, but both together seem to clean up the edges a little bit more. Although you may or may not find the image too soft? I'm not a good judge on that. I made an MKV for you to look at (264avc + original audio) Just using that script, dumped to Lagarith AVI (YV12) in Vdub, then encoded and muxed thru MeGUI. If you're not gonna do any other work on it, you can just skip the Vdub/intermediate file step. Although it may slow down final encoding a little bit obviously. Download Last edited by osgZach; 12th March 2013 at 08:34. |
12th March 2013, 21:00 | #3 | Link |
Registered User
Join Date: Sep 2006
Posts: 1,657
|
looks like some extreme oversharpening to me, BlindDeHalo3 should do it.
http://forum.doom9.org/showthread.ph...275#post803275 |
Tags |
aliasing |
Thread Tools | Search this Thread |
Display Modes | |
|
|