Log in

View Full Version : iip: Integrated Image Processor, e.g. DVD -> 720p HDTV


Pages : 1 2 3 4 5 6 7 [8]

G_M_C
2nd December 2006, 12:57
Well, i want to try this function too, and i've allmost got everything i need. Bu i cannot find DustV5.dll anywhere. I understand i might be found trough the avisynth.org website, but thats been offline for a few months now.

Can someone please help me out with a link to DustV5.dll ?

Thx in advance :)

Taurus
2nd December 2006, 14:16
Well, i want to try this function too, and i've allmost got everything i need. Bu i cannot find DustV5.dll anywhere. I understand i might be found trough the avisynth.org website, but thats been offline for a few months now.

Can someone please help me out with a link to DustV5.dll ?

Thx in advance :)
If still in need for the DustV5.dll just P.M. me with your E-Mail Adress and I will send you a copy (Date 2003).

Cheers
Taurus

Didée
2nd December 2006, 14:37
If still in need for the DustV5.dll just P.M. me with your E-Mail Adress ..
... and become member of a druid's circle, or what? :)

No need to hide out ... since quite some time, the DustV5 package can be downloaded e.g. >here (http://home.arcor.de/dhanselmann/_stuff/dust_v5.zip)<, too ... :)

G_M_C
2nd December 2006, 16:00
Thx to you both :)

I've got it the dll, and i'm gonna expiriment with iip now.

PS: I also got the "useMMX" error. Resolved it by removing every instance of it, but it makes iip go very slow. Think i'll have to read up on some of the used plugins to see if there was a change in commands (when useMMX was removed for a different CPU-optimization command or something).

mahsah
7th December 2006, 21:29
Well, I am reletively new to avisynth, so this is confusing to me, especially when this is exactly what I would like too accomplish for my old dvds. Could someone post an (example) script for an mpeg2source at NTSC resolution of 720 x 480 to HD?

mahsah
8th December 2006, 22:23
Ah, nevermind, I got it all figured out. Although it was a pain to find dustv5.dll :D

turstar
19th May 2007, 00:02
# iip : Integrated Image Processor, v.0.5a
#
#
# ---------------
# | It is slow. |
# ---------------
#
# New in v.0.5 :
#
# EQ [int] : Edge quality. 0=deaktivated (don't do that!!!), 1=standard (as formerly), 2=better'n'slower, 3=evenbetter'n'evenslower
# Note: when using EQ = 2|3, then it's a good idea to *DEACTIVATE* deringing in iiP (don't hit the dog twice).
#
# warp_Y, warp_UV [bool] additional Luma & Chroma Warping.
#
# Luma warping should make the picture more 'gracile' when upsizing to bigger resolution, e.g. DVD -> HDTV.
# For same resolution or downsizing, it may (?) help for sources with distorted detail. Or it may not - YMMV.
#
# Chroma warping helps on sources with bleeding colors (e.g. Enterprise: on the uniforms, the red stripes are bleeding into
# the blue cloth, which looks *very* ugly [like an aquarell that's gotten wet]. It looks much better with chroma warping.)
# On clean sources, chroma warping is a waste of CPU cycles.
#
# exborder [bool] : exclude outmost 8-pixel-border from sharpening (gradient masked)
#
# dering: old method: called with positive values for "dering"
# new method: called with negative values for "dering" (better, but slower)
#
# detail_floor [int] : was formerly hardcoded, now user-definable. default 20.
#

function Ylevels(clip clp, int a, float gamma, int b, int c, int d)
{ wicked="x "+string(a)+" - "+string(b)+" "+string(a)+" - / 1 "+string(gamma)+" / ^ "+string(d)+" "+string(c)+" - * "+string(c)+" +"
# Reminder: Yexpr = "x a - b a - / 1 gamma / ^ d c - * c +"
# return( clp.subtitle(wicked) )
return( clp.YV12LUT(Yexpr = wicked) )
}

function FineEdge( clip clp, int "div" )
{
logic( clp.DEdgeMask(0,255,0,255,"5 10 5 0 0 0 -5 -10 -5", setdivisor=true, divisor=div)
\ ,clp.DEdgeMask(0,255,0,255,"5 0 -5 10 0 -10 5 0 -5", setdivisor=true, divisor=div), "max", Y=3,U=1,V=1 )
}

function iip( clip clp,
\ int "dest_x", int "dest_y",
\ int "duststr", float "dustweight",
\ float "ss1_x", float "ss1_y",
\ int "detailcontr1", int "detailcontr2",
\ int "contr_radius", float "PixSharp",
\ float "ss2_x", float "ss2_y",
\ int "Xstren", int "Xlimit",
\ float "subpelstren", int "flatweight",
\ bool "antiflicker1", bool "antiflicker2",
\ int "protect_floor",int "protect_bias",
\ int "dering", float "dering_weight",
\ int "dering_floor", float "dering_bias",
\ int "detail_floor",
\ int "EQ", bool "exborder",
\ bool "warp_Y", bool "warp_UV",
\ string "debug",
\ int "cropx", int "cropy"
\ )
{
ox = clp.width
oy = clp.height
xcorr=(int(ox/16.0+.9999)*16)-ox
ycorr=(int(oy/ 8.0+.9999)* 8)-oy
dest_x = default(dest_x, clp.width)
dest_y = default(dest_y, clp.height)
ss1_x = default(ss1_x, 1.414)
ss1_y = default(ss1_y, 1.414)
ss2_x = default(ss2_x, 3.5)
ss2_y = default(ss2_y, 3.5)
duststr = default(duststr, 2)
dustweight = default(dustweight, 1.0)
antiflicker1= default(antiflicker1, true)
antiflicker2= default(antiflicker2, true)
Xlimit = default(Xlimit, 255) # SS<3 ? 23 : 255
Xstren = default(Xstren, 255) # SS<3 ? 216 : 255
detailcontr1= default(detailcontr1, 104)
detailcontr2= default(detailcontr2, 208)
contr_radius= default(contr_radius, 2)
PixSharp = default(PixSharp, 0.4)
subpelstren = default(subpelstren, 1.58)
flatweight = default(flatweight, 0)
protect_floor=default(protect_floor, 0)
protect_bias= default(protect_bias, 16)
dering = default(dering, -80)
dering_floor= default(dering_floor, 8)
dering_floor= dering<0 ? dering_floor*2 : dering_floor
dering_bias = default(dering_bias, 16)
dering_weight=default(dering_weight, 1.0)
detail_floor= default(detail_floor, 20)
EQ = default(EQ, 2)
EQ = (EQ>3) ? 3 : EQ
exborder = default(exborder, false)
warp_Y = default(warp_Y, false)
warp_UV = default(warp_UV, false)
debug = default(debug, "Mickey Mouse")
cropx = default(cropx, 40)
cropy = default(cropy, 20)

cropx=int(cropx/4)*4
cropy=int(cropy/4)*4
xx_ss1 = int(ox*ss1_x/16+.5)*16
yy_ss1 = int(oy*ss1_y/16+.5)*16
xx_ss2 = int(ox*ss2_x/16+.5)*16
yy_ss2 = int(oy*ss2_y/16+.5)*16
xx_small = int(ox/(abs(dering)/80+1.0)/16+.5)*16 + 32
yy_small = int(oy/(abs(dering)/80+1.0)/16+.5)*16 + 16

# Now I have the other idea - but it's too slow, yet
clp = antiflicker1 == true ? clp.temporalsoften(2,2,3,23,2) : clp

#---------------------------------------------------------------------------------------------------------------------
# Base denoising by PixieDust
#
dusted = clp.addborders(0,0,xcorr,ycorr).converttoyuy2().PixieDust(limit=duststr).converttoyv12().crop(0,0,-xcorr,-ycorr)
dusted = (dustweight==0.0) ? clp
\ : ( dustweight<1.00 ? Overlay(clp, dusted, opacity=dustweight)
\ : dusted )

soft=dusted.bicubicresize(xx_small,yy_small,.2,.4).bicubicresize(xx_ss1,yy_ss1,1.0,.0)

#---------------------------------------------------------------------------------------------------------------------
# Build EdgeMask to protect already sharp detail from oversharpening
#
YV12subtract( dusted.sharpen(0.6).sharpen(0.6), dusted.blur(1.0).blur(1.0) )

edge00 = bicubicResize(xx_ss1,yy_ss1,-1.0,1.0)
edge0=edge00
\ .YV12LUT(Yexpr="x 128 - abs "+string(protect_floor)+" - "+string(protect_bias)+" *")
\ .deflate(Y=3,U=1,V=1).inflate(Y=3,U=1,V=1).blur(1.58)
edge00 = edge00.yv12lut(yexpr="x 128 - 2 *").expand(Y=3,U=1,V=1).blur(1.58)

#---------------------------------------------------------------------------------------------------------------------
# Build DeRing'ing Mask: +++ OLD ROUTINE +++
#
dering > 0 ? expand(Y=3,U=1,V=1) : NOP
edge1b = dering > 0
\ ? yv12subtract( expand(Y=3,U=1,V=1).blur(1.58),
\ inpand(Y=3,U=1,V=1),tol=1,wideRange=true )
\ .bicubicResize(xx_ss1,yy_ss1,-1.0,1.0)
\ .yv12LUT(Yexpr="x 128 - abs "+string(dering_floor)+" - "+string(dering_bias)+" *")
\ .deflate(Y=3,U=1,V=1).blur(1.58)
\ : last
# .Ylevels(0,3.0,255,0,255)
#---------------------------------------------------------------------------------------------------------------------
# 1st supersampling stage to perform sharpening at
#

(ss1_x > 1.0 || ss1_y > 1.0) ? dusted.Lanczosresize(xx_ss1,yy_ss1)
\ : dusted

#---------------------------------------------------------------------------------------------------------------------
# Build DeRing'ing Mask & perform dering'ing: +++ NEW ROUTINE (Pre-processor) +++
#
tmpp = string(dering_floor)
edge1b = dering < 0
\ ? yv12subtract( last, last.xsharpen(255,255),tol=1,wideRange=true )
\ .yv12lut(yexpr="x 128 - abs "+tmpp+" *")
\ .expand().inflate().expand().inflate().FineEdge(dering_bias).blur(1.58)
\ .greyscale.Ylevels(19,1.6,208,0,255)
\ : edge1b
dering < 0 ? maskedmerge( last, soft, edge1b, Y=3,U=1,V=1, useMMX=true ) : NOP

#-------- iterative sharpening, currently only 3-fold: its slow enough ... --------

temp = last
shrpcnt = 0
mskcnt = 0
shrpcnt = (PixSharp != 0) ? shrpcnt + 1 : shrpcnt
shrpcnt = (detailcontr2 != 0) ? shrpcnt + 1 : shrpcnt
shrpcnt = (detailcontr1 != 0) ? shrpcnt + 1 : shrpcnt
mskcnt = (EQ>shrpcnt) ? shrpcnt : EQ

# Stage 1 : UnsharpMasking, wide radius -----------------------
detailcontr1 != 0
\ ? unsharpmask(detailcontr1,contr_radius,0)
\ : NOP
detailcontr1 != 0 && (shrpcnt==1 || mskcnt>1 && shrpcnt>=mskcnt) && (EQ>0)
\ ? MaskedMerge(last,temp,edge0.expand.inflate.inflate, Y=3,U=1,V=1,useMMX=true)
\ : NOP
mskcnt = (detailcontr1 != 0 && (shrpcnt==1 || mskcnt>1 && shrpcnt>=mskcnt))
\ ? mskcnt - 1
\ : mskcnt
shrpcnt = detailcontr1 != 0 ? shrpcnt - 1 : shrpcnt

# Stage 2 : UnsharpMasking, small radius ----------------------
detailcontr2 != 0
\ ? unsharpmask(detailcontr2, 1,0)
\ : NOP
detailcontr2 != 0 && (shrpcnt==1 || mskcnt>1&&shrpcnt>=mskcnt) && (EQ>0)
\ ? MaskedMerge(last,temp,edge0.inflate.inflate,Y=3,U=1,V=1,useMMX=true)
\ : NOP
mskcnt = (detailcontr2 != 0 && (shrpcnt==1 || mskcnt>1&&shrpcnt>=mskcnt))
\ ? mskcnt - 1
\ : mskcnt
shrpcnt = detailcontr2 != 0 ? shrpcnt - 1 : shrpcnt

# Stage 3 : per-pixel sharpening ------------------------------
PixSharp != 0.0
\ ? sharpen( PixSharp )
\ : NOP
PixSharp != 0.0 && shrpcnt > 0 && EQ>0
\ ? MaskedMerge(last,temp,edge0, Y=3,U=1,V=1,useMMX=true)
\ : NOP
undot()

#---------------------------------------------------------------------------------------------------------------------
# DeRing'ing of sharpen'ed clip: +++ OLD ROUTINE (Post-processor) +++
#
dering > 0 ? MaskedMerge(last,last.unfilter(-dering,-dering),edge1b.bicubicresize(xx_ss1,yy_ss1),Y=3,U=1,V=1,useMMX=true)
\ : NOP

# Now I have the other idea - but it's too slow, yet
antiflicker2 == true ? temporalsoften(1,2,3,23,2) : NOP

#---------------------------------------------------------------------------------------------------------------------
# 2nd supersampling stage to perform SubPel operation & XSharpening at
#
# Notes: Luma Warping - may help for sources that are hard to get a "clean" picure from.
# - Should help making the picture a little more "gracile" when doing DVD -> HDTV upsizing

xx_ss2 != ox || yy_ss2 != oy ? LanczosResize(xx_ss2,yy_ss2) : NOP

subpelstren != 0.0 ? blur(subpelstren) : NOP

warp_Y ? awarpsharp(depth=(ss2_x+ss2_y)/2*3,thresh=0.5,blurlevel=2,cm=0) : NOP

Xstren != 0 && Xlimit !=0 ? xsharpen(Xstren,Xlimit) : NOP

LanczosResize(dest_x,dest_y).undot()

#---------------------------------------------------------------------------------------------------------------------
# Build new EdgeMask of the enhanced clip
#
edge2 = bicubicresize(int(dest_x/1.75/16+.5)*16,int(dest_y/1.75/16+.5)*16,1.0,.0)
\ .DEdgeMask(0,255,0,255,"-5 -7 -5 -7 48 -7 -5 -7 -5",Y=3,U=1,V=1,useMMX=true,setdivisor=true,divisor=1)
bordermask = blankclip(edge2,width=dest_x-16,height=dest_y-16,color=$FFFFFF)
\ .addborders(2,2,2,2,color=$8F8F8F).addborders(2,2,2,2,color=$6F6F6F)
\ .addborders(2,2,2,2,color=$202020).addborders(2,2,2,2,color=$000000)
edge2 = edge2
\ .levels( (detail_floor+int(detailcontr1/15+detailcontr2/30+PixSharp*15)), 4.0,128,flatweight,255,false)
\ .bicubicResize(dest_x,dest_y,1.0,0)
edge2 = exborder ? edge2.logic(bordermask,"min") : edge2
edge2 = edge2
\ .inflate(Y=3,U=1,V=1).inflate(Y=3,U=1,V=1)
\ .blur(1.58).greyscale()
\ .inflate(Y=3,U=1,V=1).inflate(Y=3,U=1,V=1)
\ .temporalsoften(1,63,63,255,2)

#---------------------------------------------------------------------------------------------------------------------
# Put original de-noised & not-sharpened clip into areas still appearing flat, after all that sharpening
#
MaskedMerge(dusted.lanczosresize(dest_x,dest_y),last,edge2,Y=3,U=1,V=1,useMMX=true)

#---------------------------------------------------------------------------------------------------------------------
# Chroma Warping - often useful for sources where colors are "bleeding". Superfluid for clean sources.
#
warp_UV ? MergeChroma( aWarpSharp(depth = 8.5 * (dest_x/ox + dest_y/oy), thresh=0.5, cm=1, blurlevel=2) ) : NOP

#---------------------------------------------------------------------------------------------------------------------
# Visualizations
#
debug == "dering" ? overlay(last,blankclip(last,color=$00A000),mask=edge1b.bicubicresize(dest_x,dest_y),mode="blend",opacity=dering_weight)
\ : NOP
debug == "protect" ? overlay(last,blankclip(last,color=$00A000),mask=edge0.bicubicresize(dest_x,dest_y),mode="blend",opacity=0.75)
\ : NOP
debug == "detail" ? overlay(last,blankclip(last,color=$00A000),mask=edge2.bicubicresize(dest_x,dest_y),mode="blend",opacity=0.75)
\ : NOP
debug == "compareH" ? stackhorizontal(clp.lanczosresize(dest_x,dest_y).crop(cropx,0,-cropx,-0).addborders(0,0,4,0,color=$800000).subtitle("Original"),
\ last.crop(cropx,0,-cropx,-0).subtitle("iiP") )
\ : NOP
debug == "compareV" ? stackvertical(clp.lanczosresize(dest_x,dest_y).crop(0,cropy,-0,-cropy).addborders(0,0,0,4,color=$800000).subtitle("Original"),
\ last .crop(0,cropy,-0,-cropy).subtitle("iiP") )
\ : NOP
debug == "showall" ? stackvertical( stackhorizontal( edge0 .greyscale().lanczosresize(dest_x,dest_y).crop(cropx,cropy,-cropx,-cropy)
\ .addborders(0,0,4,4,color=$800000).subtitle("Protection of sharp edges"),
\ edge1b.greyscale().lanczosresize(dest_x,dest_y).crop(cropx,cropy,-cropx,-cropy)
\ .addborders(0,0,0,4,color=$800000).subtitle("DeRing'ing") ),
\ stackhorizontal( edge2 .greyscale().lanczosresize(dest_x,dest_y).crop(cropx,cropy,-cropx,-cropy)
\ .addborders(0,0,4,0,color=$800000).subtitle("Detail areas"),
\ last .crop(cropx,cropy,-cropx,-cropy).subtitle("iiP") ) )
\ : NOP

return(last)
}

#




SCRIPT

Import("D:\megui\AviSynthPlugins\IIP.avs")

LoadPlugin("D:\megui\AviSynthPlugins\Undot.dll")
LoadPlugin("D:\megui\AviSynthPlugins\masktools-v1.4.16\MaskTools.dll")
LoadPlugin("D:\megui\AviSynthPlugins\WarpSharp.dll")
LoadPlugin("D:\megui\AviSynthPlugins\LoadPluginEx.dll")
LoadPlugin("D:\megui\AviSynthPlugins\dust_20_dll_20030123\dustv5.dll")

mpeg2source("D:\DVD\matrix\MARY_REILLY\VIDEO_TS\matrix.d2v")

iip( dest_x= 720, dest_y= 360,
\ ss1_x = 1.414, ss1_y = 1.414,
\ duststr = 2, dustweight = 1, antiflicker1= false, antiflicker2= false,
\ detailcontr1=127, detailcontr2 = 255, contr_radius = 2, PixSharp=0.4,
\ ss2_x = 3.5, ss2_y = 3.5,
\ Xstren = 255, Xlimit = 255,
\ subpelstren= 1.0, flatweight = 0,
\ protect_floor= 4, protect_bias = 16,
\ dering = -60, dering_weight= 1.0, dering_floor = 16, dering_bias=8,
\ detail_floor= 1, EQ = 2,
\ warp_Y = false, warp_UV = false,
\ debug= "",
\ cropx=32, cropy=16
\ )




ERROR
http://img295.imageshack.us/img295/7114/11111111jf1.jpg

please!

foxyshadis
19th May 2007, 01:08
That's part of warpsharp.dll. You might verify that you have the right version of it, you should be able to get it off of warpenterprises.

Pookie
19th May 2007, 01:47
I'm pretty sure this is the correct one...

http://www.geocities.co.jp/SiliconValley-PaloAlto/2382/warpsharp_2003_1103.cab


OT -

Looks like somebody created an MMX optimized version of the plugin - dunno if it is the same warpsharp, however.

http://seraphy.fam.cx/~seraphy/program/WarpSharp/index.html

turstar
19th May 2007, 10:58
Thanks for reply My problem is solved but now i have this problem
http://img292.imageshack.us/img292/2519/55555555xq6.jpg

Didée
19th May 2007, 11:15
now i have this problem
http://img292.imageshack.us/img292/2519/55555555xq6.jpg
Older versions of iiP had only one single "antiflicker=true/false" switch.

Later versions don't have "antiflicker" anymore. Instead, they have
- "antiflicker1=true/false" (pre-calming) , and
- "antiflicker2=true/false" (post-calming).

Jeremy Duncan
23rd May 2007, 17:32
Maybe foxyshadis or Didée can upgrade this iip so it can be played in realtime using ffdshow.
I can play this using about 60% cpu, so it's not the cpu speed.


LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\undot.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MaskTools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\WarpSharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\dustv5.dll")
iip( dest_x= 1680, dest_y= 1050,
\ ss1_x = 1.414, ss1_y = 1.414,
\ duststr = 4, dustweight = 0.1, antiflicker1= true, antiflicker2= true,
\ detailcontr1= 134, detailcontr2 = 308, contr_radius = 1, PixSharp=0.18,
\ ss2_x = 3.5, ss2_y = 3.5,
\ Xstren = 255, Xlimit = 255,
\ subpelstren= 1.58, flatweight = 0,
\ protect_floor = 0, protect_bias = 16,
\ dering = -80, dering_weight= 1.0, dering_floor = 8, dering_bias=12,
\ detail_floor = 10, EQ = 2,
\ warp_Y = false, warp_UV = false, exborder = false,
\ debug= "protect | dering | compareH|V | showall",
\ cropx=64, cropy=32
\ )


Here's a link to the necessary plugins
Link (http://rapidshare.com/files/32952761/Plugins.zip.html)

I'm hoping foxyshadis can make a mt_masktools version. :)

Jeremy Duncan
23rd May 2007, 17:45
Actually, you know.
Didée made this in the beginning of 2004. Close to 3 1/2 years ago, and he's using plugins from 2003.

Maybe make a iip using more modern plugins ?
Hopefully making it faster ?

Terranigma
23rd May 2007, 17:52
Or you can wait it out and let Didée focus his attention on the MV-version of seesaw. ;)

canuckerfan
9th March 2008, 10:05
anyone have a link to dust.dll?

Taurus
9th March 2008, 10:59
anyone have a link to dust.dll?
Three posts above @ Jeremy's provided link.

canuckerfan
9th March 2008, 19:00
Thanks. don't know how I missed that. but I can't seem to load dustv5.dll - it doesn't seem to load automatically and when I try to do it manually it gives this weird error:

LoadPlugin: "some weird characters"
(blach blach, line 13) <-- obviously the load line

what's up?

Taurus
9th March 2008, 19:57
Thanks. don't know how I missed that. but I can't seem to load dustv5.dll - it doesn't seem to load automatically and when I try to do it manually it gives this weird error:

LoadPlugin: "some weird characters"
(blach blach, line 13) <-- obviously the load line

what's up?
LoadPlugin("C:\Programme\AviSynth 2.5\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Programme\AviSynth 2.5\plugins\dustv5.dll")
LoadPluginEx.dll is needed because dust is a pre AviSynth 2.5 plugin.

canuckerfan
9th March 2008, 21:57
oh ok. but turns out I've been loading it all along...

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TMM.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TDeint.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TIVTC.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\nnedi.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\despot.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mt_masktools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\vinverse.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\asharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\awarpsharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\undot.dll")
LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\DustV5.dll")
Import("C:\Program Files\AviSynth 2.5\plugins\IIP.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\Ylevels_MT.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\dehalo_alpha_mt.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\SootheMT.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\LimitedSharpenFaster.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\LimitedSharpen2.avs")

SetMemoryMax(768)

avisource("G:\Hindi Movies\DCH\temp_1.avi")

iip (duststr=2, dustweight=1.0,
\ ss1_x=1.5, ss1_y=1.5,
\ detailcontr1=104, detailcontr2=208,
\ contr_radius=2, PixSharp=0.0,
\ ss2_x=1.5, ss2_y=1.5,
\ XSmode=3, Xstren=40, Xradius=2, XLmode=2,
\ Xovershoot=1, Xwide=false, Xsoft=false,
\ subpelstren=0.0, flatweight=0,
\ antiflicker1=true, antiflicker2=true,
\ protect_floor=0, protect_bias=20,
\ dering=-80, dering_weight=1.0,
\ dering_floor=8, dering_bias=16,
\ detail_floor=16,
\ EQ=2, exborder=false,
\ warp_Y=false, warp_UV=false,
\ debug="dering | protect | detail | compareH | compareV | compareT | showall",
\ cropx=8, cropy=8
\ )

#converttoyuy2()

canuckerfan
12th March 2008, 04:07
any ideas, guys?

Didée
12th March 2008, 08:28
See: http://forum.doom9.org/showthread.php?p=543622#post543622

Socio
12th March 2008, 19:55
any ideas, guys?

Try setting your imports and loads portion of your script like this and see if it helps:

SetMemoryMax(768)
Import("C:\Program Files\AviSynth 2.5\plugins\IIP.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\Ylevels_MT.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\dehalo_alpha_mt.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\SootheMT.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\LimitedSharpenFaster.avs")
Import("C:\Program Files\AviSynth 2.5\plugins\LimitedSharpen2.avs")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TMM.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TDeint.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TIVTC.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\nnedi.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\despot.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mt_masktools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\vinverse.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\asharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\awarpsharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\undot.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LoadPluginEx.dll")
LoadPlugin("E:\Program Files\AviSynth 2.5\plugins\DustV5.dll")

I always import then load dll's saving the Loadplugin and Dust for last when I use IIP and it works for me.

canuckerfan
12th March 2008, 22:47
thanks for the suggestions, guys.

See: http://forum.doom9.org/showthread.php?p=543622#post543622
this did the trick:)

badshah
17th March 2008, 18:54
~edit~

error solved ... sorry for the trouble. :(

San07
7th July 2008, 08:51
Iam getting these Errors.:confused:


If i use mt_masktool the error i get is "There is no function named YV12Subtract".

If i use Masktool V1.5.8 the error i get "maskedmerge doesnot have a named arguement USEMMX"

If i use Masktool V1.4.16 the error i get "Cannot open video input".



LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LeakKernelDeint.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MaskTools-v1.5.8\MaskTools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\warpsharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\UnDot.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\dust_20_dll_20030123\DustV5.dll")

DGDecode_mpeg2source("E:\Rough\Bheema\VIDEO_TS\VTS_02_1.d2v")
crop( 4, 66, -6, -64)

import("C:\Program Files\AviSynth 2.5\Scripts\IIP.avs")

iip( dest_x= 1240, dest_y= 576,
\ ss1_x = 1.414, ss1_y = 1.414,
\ duststr = 2, dustweight = 1.0, antiflicker1= true, antiflicker2= true,
\ detailcontr1= 104, detailcontr2 = 208, contr_radius = 2, PixSharp=0.38,
\ ss2_x = 3.5, ss2_y = 3.5,
\ Xstren = 255, Xlimit = 255,
\ subpelstren= 1.58, flatweight = 0,
\ protect_floor = 0, protect_bias = 16,
\ dering = -80, dering_weight= 1.0, dering_floor = 8, dering_bias=12,
\ detail_floor = 10, EQ = 2,
\ warp_Y = false, warp_UV = false, exborder = false,
\ debug= "protect | dering | compareH|V | showall",
\ cropx=64, cropy=32
\ )


Guys what am i doing wrong ?

Didée
7th July 2008, 09:40
MaskTools have undergone many small changes that time back. iiP was created for/under MaskTools v1.5.6, but wasn't adapted for each and every of those small changes.

For using MaskTools v1.5.8, go ahead and simply delete all "useMMX=true" parameters from the script.

Else: use MaskTools v1.5.6 (http://manao4.free.fr/MaskTools-v1.5.6.zip).


BTW, iiP is a real Dinosaur, I consider it pretty much outdated.

San07
7th July 2008, 12:16
MaskTools have undergone many small changes that time back. iiP was created for/under MaskTools v1.5.6, but wasn't adapted for each and every of those small changes.

For using MaskTools v1.5.8, go ahead and simply delete all "useMMX=true" parameters from the script.

Else: use MaskTools v1.5.6 (http://manao4.free.fr/MaskTools-v1.5.6.zip).


BTW, iiP is a real Dinosaur, I consider it pretty much outdated.

Version 1.5.6 also didn't work, after deleting "useMMX=true" parameters from the script it worked.


Thank's a lot for this awesome IIP Didee, a small request y can't build a new version of IIP with fast process.:)

San07
7th July 2008, 13:07
Oops before i saw only the preview of script in megui & i said it works.

now a problem when i load avs file in megui it showed.

http://i187.photobucket.com/albums/x20/srini07/Error2.jpg

i gave yes


after that the job shows error.:confused:

http://i187.photobucket.com/albums/x20/srini07/Error-1.jpg

SetMemoryMax(96)

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LeakKernelDeint.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\UnDot.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MaskTools-v1.5.6\MaskTools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\warpsharppackage_25_dll_20031103\warpsharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\dust_20_dll_20030123\DustV5.dll")
DGDecode_mpeg2source("E:\Rough\Bheema\Sample.d2v")

import("C:\Program Files\AviSynth 2.5\Scripts\IIP.avs")

iip( dest_x= 1060, dest_y= 540,
\ ss1_x = 1.414, ss1_y = 1.414,
\ duststr = 2, dustweight = 1.0, antiflicker1= true, antiflicker2= true,
\ detailcontr1= 104, detailcontr2 = 208, contr_radius = 2, PixSharp=0.38,
\ ss2_x = 3.5, ss2_y = 3.5,
\ Xstren = 255, Xlimit = 255,
\ subpelstren= 1.58, flatweight = 0,
\ protect_floor = 0, protect_bias = 16,
\ dering = -80, dering_weight= 1.0, dering_floor = 8, dering_bias=12,
\ detail_floor = 10, EQ = 2,
\ warp_Y = false, warp_UV = false, exborder = false,
\ debug= "protect | dering | compareH|V | showall",
\ cropx=64, cropy=32
\ )

crop( 10, 76, -12, -72)

return last


any sugessions what to do now.:confused:

LaTo
7th July 2008, 17:57
Oops before i saw only the preview of script in megui & i said it works.

now a problem when i load avs file in megui it showed.

http://i187.photobucket.com/albums/x20/srini07/Error2.jpg

i gave yes


after that the job shows error.:confused:
[/CODE]

any sugessions what to do now.:confused:

MOD16:
-------
width / 16 = int
height / 16 = int

YOUR SOURCE:
--------------
1002 / 16 = float
392 /16 = float

FIX:
----
Replace crop( 10, 76, -12, -72) by crop(16, 78, -16, -78)
OR
Add this line after crop: Lanczosresize(992,384)

San07
8th July 2008, 21:47
Thank's After changing Crop it gave same message after giving yes it Worked.

Brother Darrell
5th October 2008, 17:28
BTW, iiP is a real Dinosaur, I consider it pretty much outdated.

What is being suggested as a replacement?

Sagekilla
6th October 2008, 00:45
Try any one of the very similar MVTools based cleanup functions -- TemporalDegrain, mcspuds, MCTemporalDenoise. Most of them are all very similar to each other in their core components: MVDegrain being used as a major component for the denoising, in varying stages

espy2
26th May 2009, 11:35
Got it working basically OK meaning I get a result with no error messages but the image quality is odd - looks like an impressionist painting (blotchy detail). Source video was noisy DV footage (PAL 16-9 720x576) rendered via AviSynth's TDeint(mode=0) to 25p stored as HuffYuv (result looked good). Maybe "iip" is being upset by the noise?

Please, for uprezzing noisy DV footage, what is my best overall strategy or what iip settings are recommended? Without understanding the iip code in detail I see it uses some motion estimation etc. so I wonder if it could be persuaded to do deinterlacing and temporal denoising at the same time as uprezzing (I don't ask much!) or if instead I need to do these things as pre-iip processing stages (like my current TDeint stage).

Any help appreciated.

th3obr0
9th June 2009, 23:37
I get a really sharp image at first, and then on moving the slider in AvsP, it crashes.

I am unable to use iip. I guess it's pretty heavy for my laptop :confused:.

uzair_rock
4th September 2009, 16:12
Guys im having a problem while using the iip function.
Im using it in Avisynth for ripping dvd and also upscaling it to 720p, Avisynth is giving me the following error:
"AviSynth Script Error:
The Script's return was not a video clip"

The script im using in AviSynth is as follow:

Import("C:\Program Files\AviSynth 2.5\plugins\iip.avs")

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\UnDot.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MaskTools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\WarpSharp.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LoadPluginEx.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DustV5.dll")

DGDecode_mpeg2source("C:\Documents and Settings\Uzair\My Documents\Video enhancement tools\PROJECT\New Folder (2)\sample2.d2v", info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
tfm(order=1).tdecimate()
crop( 2, 10, -6, -8)

Spline64Resize(720,480) # Spline64 (Sharp)

iip( dest_x= 720, dest_y= 480,
\ ss1_x = 1.414, ss1_y = 1.414,
\ duststr = 0, dustweight = 0, antiflicker1= true, antiflicker2= true,
\ detailcontr1=127, detailcontr2 = 255, contr_radius = 3, PixSharp=0.25,
\ ss2_x = 3.5, ss2_y = 3.5,
\ Xstren = 255, Xlimit = 255,
\ subpelstren= 1.0, flatweight = 64,
\ protect_floor= 4, protect_bias = 16,
\ dering = -60, dering_weight= 1.0, dering_floor = 16, dering_bias=8,
\ detail_floor= 1, EQ = 2,
\ warp_Y = false, warp_UV = false,
\ debug= "showall | compareH/V | protect | dering",
\ cropx=32, cropy=16
\ )

Can anyone please tell what am i missing and why this error is occuring?

Adub
4th September 2009, 18:14
Are you sure that your stored iip.avs script is complete, and has no missing return calls at the end?

uzair_rock
4th September 2009, 18:31
Yes i am, here's my iip.avs :

function iip( clip clp,
\ int "dest_x", int "dest_y",
\ int "duststr", float "dustweight",
\ float "ss1_x", float "ss1_y",
\ int "detailcontr1", int "detailcontr2",
\ int "contr_radius", float "PixSharp",
\ float "ss2_x", float "ss2_y",
\ int "Xstren", int "Xlimit",
\ float "subpelstren", int "flatweight",
\ bool "antiflicker1", bool "antiflicker2",
\ int "protect_floor",int "protect_bias",
\ int "dering", float "dering_weight",
\ int "dering_floor", float "dering_bias",
\ int "detail_floor",
\ int "EQ", bool "exborder",
\ bool "warp_Y", bool "warp_UV",
\ string "debug",
\ int "cropx", int "cropy"
\ )
{
ox = clp.width
oy = clp.height
xcorr=(int(ox/16.0+.9999)*16)-ox
ycorr=(int(oy/ 8.0+.9999)* 8)-oy
dest_x = default(dest_x, clp.width)
dest_y = default(dest_y, clp.height)
ss1_x = default(ss1_x, 1.414)
ss1_y = default(ss1_y, 1.414)
ss2_x = default(ss2_x, 3.5)
ss2_y = default(ss2_y, 3.5)
duststr = default(duststr, 2)
dustweight = default(dustweight, 1.0)
antiflicker1= default(antiflicker1, true)
antiflicker2= default(antiflicker2, true)
Xlimit = default(Xlimit, 255) # SS<3 ? 23 : 255
Xstren = default(Xstren, 255) # SS<3 ? 216 : 255
detailcontr1= default(detailcontr1, 104)
detailcontr2= default(detailcontr2, 208)
contr_radius= default(contr_radius, 2)
PixSharp = default(PixSharp, 0.4)
subpelstren = default(subpelstren, 1.58)
flatweight = default(flatweight, 0)
protect_floor=default(protect_floor, 0)
protect_bias= default(protect_bias, 16)
dering = default(dering, -80)
dering_floor= default(dering_floor, 8)
dering_floor= dering<0 ? dering_floor*2 : dering_floor
dering_bias = default(dering_bias, 16)
dering_weight=default(dering_weight, 1.0)
detail_floor= default(detail_floor, 20)
EQ = default(EQ, 2)
EQ = (EQ>3) ? 3 : EQ
exborder = default(exborder, false)
warp_Y = default(warp_Y, false)
warp_UV = default(warp_UV, false)
debug = default(debug, "Mickey Mouse")
cropx = default(cropx, 40)
cropy = default(cropy, 20)

cropx=int(cropx/4)*4
cropy=int(cropy/4)*4
xx_ss1 = int(ox*ss1_x/16+.5)*16
yy_ss1 = int(oy*ss1_y/16+.5)*16
xx_ss2 = int(ox*ss2_x/16+.5)*16
yy_ss2 = int(oy*ss2_y/16+.5)*16
xx_small = int(ox/(abs(dering)/80+1.0)/16+.5)*16 + 32
yy_small = int(oy/(abs(dering)/80+1.0)/16+.5)*16 + 16
}

uzair_rock
4th September 2009, 19:25
Here is the iip.avs :

function iip( clip clp,
\ int "dest_x", int "dest_y",
\ int "duststr", float "dustweight",
\ float "ss1_x", float "ss1_y",
\ int "detailcontr1", int "detailcontr2",
\ int "contr_radius", float "PixSharp",
\ float "ss2_x", float "ss2_y",
\ int "Xstren", int "Xlimit",
\ float "subpelstren", int "flatweight",
\ bool "antiflicker1", bool "antiflicker2",
\ int "protect_floor",int "protect_bias",
\ int "dering", float "dering_weight",
\ int "dering_floor", float "dering_bias",
\ int "detail_floor",
\ int "EQ", bool "exborder",
\ bool "warp_Y", bool "warp_UV",
\ string "debug",
\ int "cropx", int "cropy"
\ )
{
ox = clp.width
oy = clp.height
xcorr=(int(ox/16.0+.9999)*16)-ox
ycorr=(int(oy/ 8.0+.9999)* 8)-oy
dest_x = default(dest_x, clp.width)
dest_y = default(dest_y, clp.height)
ss1_x = default(ss1_x, 1.414)
ss1_y = default(ss1_y, 1.414)
ss2_x = default(ss2_x, 3.5)
ss2_y = default(ss2_y, 3.5)
duststr = default(duststr, 2)
dustweight = default(dustweight, 1.0)
antiflicker1= default(antiflicker1, true)
antiflicker2= default(antiflicker2, true)
Xlimit = default(Xlimit, 255) # SS<3 ? 23 : 255
Xstren = default(Xstren, 255) # SS<3 ? 216 : 255
detailcontr1= default(detailcontr1, 104)
detailcontr2= default(detailcontr2, 208)
contr_radius= default(contr_radius, 2)
PixSharp = default(PixSharp, 0.4)
subpelstren = default(subpelstren, 1.58)
flatweight = default(flatweight, 0)
protect_floor=default(protect_floor, 0)
protect_bias= default(protect_bias, 16)
dering = default(dering, -80)
dering_floor= default(dering_floor, 8)
dering_floor= dering<0 ? dering_floor*2 : dering_floor
dering_bias = default(dering_bias, 16)
dering_weight=default(dering_weight, 1.0)
detail_floor= default(detail_floor, 20)
EQ = default(EQ, 2)
EQ = (EQ>3) ? 3 : EQ
exborder = default(exborder, false)
warp_Y = default(warp_Y, false)
warp_UV = default(warp_UV, false)
debug = default(debug, "Mickey Mouse")
cropx = default(cropx, 40)
cropy = default(cropy, 20)

cropx=int(cropx/4)*4
cropy=int(cropy/4)*4
xx_ss1 = int(ox*ss1_x/16+.5)*16
yy_ss1 = int(oy*ss1_y/16+.5)*16
xx_ss2 = int(ox*ss2_x/16+.5)*16
yy_ss2 = int(oy*ss2_y/16+.5)*16
xx_small = int(ox/(abs(dering)/80+1.0)/16+.5)*16 + 32
yy_small = int(oy/(abs(dering)/80+1.0)/16+.5)*16 + 16
}

Sagekilla
4th September 2009, 19:35
That looks highly incomplete. You have a bunch of stuff going on but no filtering whatsoever.

Gavino
4th September 2009, 19:48
Yes, it's clearly incomplete.

Compare with the version in post#105 (http://forum.doom9.org/showthread.php?p=517100#post517100) of this thread.

uzair_rock
4th September 2009, 20:28
im sorry guys i got the full script from the above mention post, but now im having a script error:

Avisynth script error:
maskedmerge does not have a named argument "useMMX"
(C:\Program Files\AviSynth 2.5\plugins\iip.avs, line 164)

The error is now from the iip.avs, what can it be?

uzair_rock
4th September 2009, 21:40
well i resolved the above problem.
can we use seesaw and limtedsharpenfaster at the same time? and which is better to use under what conditions??

matfra
23rd July 2012, 17:30
Hi guys,
Im trying to test ipp.avs
But it keep telling me errors. I copied the script from page 6, but still issue.
Can someone upload a working avs so we can download it easy. I never understood why people just past script. This script is massive. It should be downloadble and well document. I have to look on many pages to find part of script.

Boulotaur2024
23rd July 2012, 18:04
iip is really old and dated as mentionned in this very page, you will never get support for that.
You might want to use a combination of :

- Resizers Functions Pack (http://www.mediafire.com/?rz047g74fis5el9)
- SMDegrain for denoising + Sharpening (its 'Contrasharp" parameter set to > 50)
- SmoothAdjust for the levels correction