zdark
10th April 2008, 21:31
Hi everyone, I'd like some help with my problem in which method I should utilize. I really read some options of Tdein, I've tried something beyond normal, but the problem persisted with my source. As an exemple, the megui detected a kind of interlacing, but when I put all the video file It apoints for another type of interlacing. In case, when something is not normal, which method I should use to do the correct desinterlacing? I've realized with my tests that with yadif, It is parcially solved, but it's unstable and other filters has no good results. I'm not expert in interlacing but I apreciate any light you guys may gimme. I'm a guy who performs a lot os tests before come here and ask for help, so any help would be GOOD.
my source: http://www.canalhas.org/zdark/VTS_01_1.VOB
VOB Sampler
http://www.canalhas.org/zdark/megui_sample.gif
VOB FULL
http://www.canalhas.org/zdark/megui_vob_full.gif
----------------------------------
frame original source
65
(megui option)
Yadif(order=1)
http://www.canalhas.org/zdark/yadit_megui_vob_full.png
----------------------------------
----------------------------------
frame original source
65
(megui option)
TDeint(order=1,full=false)
http://www.canalhas.org/zdark/tdeint_megui_vob_full.png
----------------------------------
--------------------------------------------------------------------------
frame original source
65
(megui option)
edeintted = last.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=-1)
TDeint(order=1,full=false,edeint=edeintted)
http://www.canalhas.org/zdark/tdeint_ed_megui_vob_full.png
--------------------------------------------------------------------------
--------------------------------------------------------------------------
frame original source
65
(megui option)
AssumeTFF().FieldDeinterlace(full=false)
http://www.canalhas.org/zdark/FieldDeinterlace_megui_vob_full.png
--------------------------------------------------------------------------
my script:
Load_stdcall_plugin("C:\Arquivos de programas\AviSynth 2.5\plugins\Yadif.dll")
LoadPlugin("C:\Arquivos de programas\AviSynth 2.5\plugins\DGDecode.dll")
MPEG2Source("C:\DVD\Initial D 2nd\Action.01\VIDEO_TS\ep1.d2v",cpu=6,info=3,cpu2="xxxxoo")
ConvertToYV12
#interlacing?
a = last.LimitedSharpenFaster(ss_x=1.5, ss_y=1.5, dest_x=last.width, dest_y=last.height, Smode=3, strength=55, radius=2, Lmode=1, wide=false, overshoot=1, edgemode=0, special=false, exborder=0)
b = Soothe(a,last)
b
Animfiltra()
crop( 12, 0, -6, -4).lanczos4resize(640,480)
my stuff
# Autor: Alyser & zdark #baka-br - irc.irchighway.net #annbr
#
#Masktools 1.5.8 e MVTools 0.9.9.1(http://jourdan.madism.org/~manao/), Deen e Removegrain,
#Avisynth 2.5.6 e YV12 colorspace
# Import("Animfiltra-v0.1b")
# Animfiltra()
function AnimFiltra ( clip source,int "radius", int "thrY", int "thrUV", float "ti")
{
radius = default( radius, 3 )
thrY = default( thrY, 4 )
thrUV = default( thrUV, 5 )
ti = default( ti, 5)
mask1 = logic( DEdgeMask(source,0,255,0,255,"8 16 8 0 0 0 -8 -16 -8", divisor=4, Y=3, V=1, U=1)
\ ,DEdgeMask(source,0,255,0,255,"8 0 -8 16 0 -16 8 0 -8", divisor=4, Y=3, V=1, U=1)
\ ,"max")
amplimask1 = mask1.Levels(10, 0.800, 255, 0, 255).blur(1.0)
maskgrossa = mask1.blur(1.0).blur(1.0).binarize(upper = false, threshold = 1,y=3,u=1,v=1)
maskfinal = Overlay(amplimask1.Invert(), maskgrossa, mode="multiply").Levels(100, 3.0, 255, 0,255).FitY2UV
sourcefiltrada = source.Removegrain(mode=2).Removegrain(mode=2).Deen("a3d", radius, thrY, thrUV, ti)
resultado = source.maskedmerge(sourcefiltrada,maskfinal,y=3,u=3,v=3)
return resultado
}
my source: http://www.canalhas.org/zdark/VTS_01_1.VOB
VOB Sampler
http://www.canalhas.org/zdark/megui_sample.gif
VOB FULL
http://www.canalhas.org/zdark/megui_vob_full.gif
----------------------------------
frame original source
65
(megui option)
Yadif(order=1)
http://www.canalhas.org/zdark/yadit_megui_vob_full.png
----------------------------------
----------------------------------
frame original source
65
(megui option)
TDeint(order=1,full=false)
http://www.canalhas.org/zdark/tdeint_megui_vob_full.png
----------------------------------
--------------------------------------------------------------------------
frame original source
65
(megui option)
edeintted = last.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=-1)
TDeint(order=1,full=false,edeint=edeintted)
http://www.canalhas.org/zdark/tdeint_ed_megui_vob_full.png
--------------------------------------------------------------------------
--------------------------------------------------------------------------
frame original source
65
(megui option)
AssumeTFF().FieldDeinterlace(full=false)
http://www.canalhas.org/zdark/FieldDeinterlace_megui_vob_full.png
--------------------------------------------------------------------------
my script:
Load_stdcall_plugin("C:\Arquivos de programas\AviSynth 2.5\plugins\Yadif.dll")
LoadPlugin("C:\Arquivos de programas\AviSynth 2.5\plugins\DGDecode.dll")
MPEG2Source("C:\DVD\Initial D 2nd\Action.01\VIDEO_TS\ep1.d2v",cpu=6,info=3,cpu2="xxxxoo")
ConvertToYV12
#interlacing?
a = last.LimitedSharpenFaster(ss_x=1.5, ss_y=1.5, dest_x=last.width, dest_y=last.height, Smode=3, strength=55, radius=2, Lmode=1, wide=false, overshoot=1, edgemode=0, special=false, exborder=0)
b = Soothe(a,last)
b
Animfiltra()
crop( 12, 0, -6, -4).lanczos4resize(640,480)
my stuff
# Autor: Alyser & zdark #baka-br - irc.irchighway.net #annbr
#
#Masktools 1.5.8 e MVTools 0.9.9.1(http://jourdan.madism.org/~manao/), Deen e Removegrain,
#Avisynth 2.5.6 e YV12 colorspace
# Import("Animfiltra-v0.1b")
# Animfiltra()
function AnimFiltra ( clip source,int "radius", int "thrY", int "thrUV", float "ti")
{
radius = default( radius, 3 )
thrY = default( thrY, 4 )
thrUV = default( thrUV, 5 )
ti = default( ti, 5)
mask1 = logic( DEdgeMask(source,0,255,0,255,"8 16 8 0 0 0 -8 -16 -8", divisor=4, Y=3, V=1, U=1)
\ ,DEdgeMask(source,0,255,0,255,"8 0 -8 16 0 -16 8 0 -8", divisor=4, Y=3, V=1, U=1)
\ ,"max")
amplimask1 = mask1.Levels(10, 0.800, 255, 0, 255).blur(1.0)
maskgrossa = mask1.blur(1.0).blur(1.0).binarize(upper = false, threshold = 1,y=3,u=1,v=1)
maskfinal = Overlay(amplimask1.Invert(), maskgrossa, mode="multiply").Levels(100, 3.0, 255, 0,255).FitY2UV
sourcefiltrada = source.Removegrain(mode=2).Removegrain(mode=2).Deen("a3d", radius, thrY, thrUV, ti)
resultado = source.maskedmerge(sourcefiltrada,maskfinal,y=3,u=3,v=3)
return resultado
}