adrianveidt
11th March 2013, 20:47
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 (http://forum.doom9.org/showthread.php?p=1490010#post1490010) 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:
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)
If anybody has a version of this script that works, I'd appreciate it. Here is a sample of the raw bluray video, in the section the screenshot was from: SAMPLE (http://multiupload.biz/ul_xjow6vsdlz5o)
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 (http://forum.doom9.org/showthread.php?p=1490010#post1490010) 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:
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)
If anybody has a version of this script that works, I'd appreciate it. Here is a sample of the raw bluray video, in the section the screenshot was from: SAMPLE (http://multiupload.biz/ul_xjow6vsdlz5o)