PDA

View Full Version : Do you need to test your filterchain settings? - here is TESTCLIP


redfordxx
11th May 2006, 20:12
I made this clip for testing deblockers I am working on now, but you can use it or change it for your purpose.
Maybe you find it sometimes useful...

TestClip.avsi

function TestClipSlow()
{
t=BlankClip(length=10,width=32,height=32,pixel_type="YV12")
xy011=t.PtrnHorizontal(3, 0,255, 0,255, 0,255, 0,255)
xy021=t.PtrnVertical (3, 0,128,255,128, 0,128,255,128)
xy031=t.PtrnHorizontal(3, 0, 0,255,255, 0, 0,255,255)
xy041=t.PtrnVertical (3, 0, 0,255,255,255, 0, 0,255)
xy051=t.PtrnHorizontal(3, 0, 64,192,255,255,192, 64, 0)
xy061=t.PtrnHorizontal(3, 0, 0, 0, 0,255,255,255,255)
xy071=t.PtrnBlock (3, 0,255, 0,255)
xy081=t.PtrnBlock (3, 0,255,255, 0)
xy091=t.PtrnBlock (3, 0,128,255,128)
xy101=t.PtrnBlock (3, 0, 64,160,255)
xy111=t.PtrnChess (3, 0,255, 0,255)
xy121=t.PtrnChess (3, 0,128,255, 64)
y=StackVertical(xy011,StackVertical(xy021,xy031,xy041,xy051,xy061,xy071,xy081,xy091,xy101,xy111,xy121))
y1=y.mt_lut("x 128 - 50 / 128 +",y=3,u=3,v=3)
y2=y.mt_lut("x 128 - 30 / 128 +",y=3,u=3,v=3)
y3=y.mt_lut("x 128 - 15 / 128 +",y=3,u=3,v=3)
y4=y.mt_lut("x 128 - 10 / 128 +",y=3,u=3,v=3)
y5=y.mt_lut("x 128 - 5 / 128 +", y=3,u=3,v=3)
y6=y.mt_lut("x 128 - 2 / 128 +", y=3,u=3,v=3)
y7=y
y0107=StackHorizontal(y1,y2,y3,y4,y5,y6,y7)y0814=y0107.DctFilter(1,1,1,1,1,0,0,0)
y1521=y0107.DctFilter(1,1,1,0,0,0,0,0)
y2228=y0107.DctFilterD(3)
y2935=y0107.DctFilterD(8)
y3642=y0107.DctFilterD(11)
y0142=StackHorizontal(y0107,y0814,y1521,y2228,y2935,y3642)
StackVertical(y0142,y0142.Blockbuster(detail_min=1, detail_max=100,method="dither",mean=0, variance=20),y0142.Blockbuster(detail_min=1, detail_max=100,method="noise",mean=0, variance=30))
#t.LanczosResize(int(t.width/1.5/16+0.5)*16,int(t.height/1.5/16+0.5)*16)
}




function TestClipImage()
{
ImageSource("C:\Program Files\Multimedia\AviSynth 2.5\plugins\testclip.png", end=300).ConvertToYV12()
}



You will need this function package (http://forum.doom9.org/showthread.php?p=825073#post825073) too.

redfordxx
11th May 2006, 20:17
Make script with TestClipSlow() only. This is really slow, so save one frame to testclip.png and place it somewhere. you have to adapt the path in the TestClipImage function.

Then use script like t=TestClipImage()
#t=t.LanczosResize(int(t.width/1.2/16+0.5)*16,int(t.height/1.2/16+0.5)*16)

r=t.Filter(settings)

##### uncommment only one of three following
#r
#t
mt_makediff(t,r,y=3,u=3,v=3).mt_lut("x 128 - 10 * 128 +",y=3,u=3,v=3)


##### luma only
#mt_lut(y=3,u=-128,v=-128)
and you can inquire the changes the script made to sample image... how much detail killed etc.

[EDIT]Bug in script