Log in

View Full Version : Inpainting plugin-can it be usefull for deinterlace?


Terka
3rd April 2008, 12:51
if yes, what about to use it not only spatial, but temporal too?

Mug Funky
5th April 2008, 06:19
i tried exinpaint for deinterlacing and uprezzing, but it seemed to need more than 1 line to work on to create any meaningful textures in the missing lines.

it may actually have crashed. i can't remember, but i know it didn't work or i'd probably still be using it :)

Terka
7th April 2008, 13:06
and for filling deshaked videos black borders?

Mug Funky
7th April 2008, 15:27
i think that's one of the uses Fizick lists in the exinpaint docs.

it's fantastic for scratch concealment. just run a quick mocomped removedirt after it and mask in the original around the scratch and it's like it was never there. tried it for removing a hair in the gate and it wasn't so good, but it's a case-by-case thing i think.

Terka
13th March 2009, 11:13
Fizick, can your inpaint plugin be used for deinterlace?

Terka
13th March 2009, 13:09
tried this, but doesnot work

PluginPath = "C:\Program Files\AviSynth\plugins\"
Loadplugin(PluginPath+"exinpaint.dll")

clp=avisource("c:\hj\kamera\avisynth\psi\!Psi.avi")

modrak=modra(clp)
OrigOverModra=OrigOverFilled (clp, modrak)
OrigOverModra.converttorgb
exinpaint(OrigOverModra,OrigOverModra,color=$0000ff)

function modra(clip clp) {
BlankClip(clp,color = 255)
#BlankClip(clp,color = 0)
#In decimal notation the number is as follows:
#the red channel value is multiplied by 65536,
#the green channel value is multiplied by 256
#and the two resulting products are both added to the blue channel value.
return(last)
}

function OrigOverFilled (clip orig, clip filled) {
order = (orig.GetParity == True) ? 0 : 1
ORDR = (order==0) ? "TFF" : "BFF"
ofields = orig.SeparateFields()
newfields = filled.AssumeParity(ORDR).SeparateFields().SelectEvery(4,1,2)
final = Interleave(ofields,newfields).SelectEvery(4,0,1,3,2).AssumeParity(ORDR).Weave()
return final
}

function AssumeParity(clip clp, string "order") {
order == "TFF" ? clp.assumeTFF() : clp.assumeBFF()
return(last)
}

Terka
20th March 2009, 10:56
could someone advice?