lansing
24th September 2006, 16:03
i used the analyze mode to determine the interlacing method, and it give me back this avs:
DGDecode_mpeg2source("source\VTS_01_CHAPTER_01_1.d2v",info=3)
ColorMatrix(hints=true)
edeintted = AssumeTFF().SeparateFields().SelectEven().EEDI2(field=-1)
tdeintted = TDeint(edeint=edeintted,order=1)
tfm(clip2=tdeintted).tdecimate(mode=1,hybrid=1)
crop( 2, 0, -2, 0)
Lanczos4Resize(640,480) # Lanczo4 (Sharp)
#denoise
the outcome seen very good, but on some fast motion scene, there's still interlaced.
original:
http://img178.imageshack.us/img178/461/original1mw7.jpg
MeGUI deinterlaced:
http://img178.imageshack.us/img178/7612/01dd9.jpg
the laces of this frame seen to be an overlaping with its next frame.
frame after:
http://img178.imageshack.us/img178/1517/02ki7.jpg
i've also tried other deinterlacers like tomsmocom and field deinterlacer, but they give out bad result eventhough they can deinterlace the fast motion scenes.
foxyshadis
24th September 2006, 22:33
Your source might be subtley broken, in a way that the deinterlacers aren't picking up on. The chroma might be messed up somehow. Can you post a chunk of the original vob (using dgindex or another mpeg-2 cutter) so we can look at it?
AMED
25th September 2006, 02:26
could you try and disable colormatrix and see how it comes out?
lansing
25th September 2006, 04:02
here's the part of the vob:
http://www.yousendit.com/transfer.php?action=download&ufid=17212F0B3A077284
to AMED:
i've tried, didn't work.
foxyshadis
25th September 2006, 10:16
A simple separatefields shows that the combing artifacts are present on the fields, a product of a bad resize or conversion. Sorry, someone goofed making these. :( So here's a script I slapped together to minimize it. I don't have the brainpower to fix it completely right now, maybe one of the other avisynth jockeys could. The frame you posted is one of the most egregious and hardest to fix. The good news is this will get you 80% of the way there, and it'll be faster too.
mpeg2source("source.d2v",info=3)
ColorMatrix(hints=true)
tfm(pp=7).tdecimate(mode=1)
mask=combmask(thy1=5,thy2=5).mt_deflate().mt_expand().mt_inpand().mt_inpand().removegrain(4).mt_expand().mt_expand().mt_inflate()#.removegrain(4)
blank=blankclip(mask,color=$000000)
mask=mask.scriptclip("""(averageluma < 9? blank : last) #.subtitle(string(averageluma()))""").mt_expand().mt_expand().mt_binarize(threshold=40)
vblur=removegrain(4).mt_convolution("1","1 2 1",chroma="process")#.temporalsoften(1,5,5,mode=2)
mt_merge(last,vblur,mask.fity2uv(),chroma="process")
crop( 2, 0, -2, 0)
It requires: Masktools, Masktools2, and Removegrain. Sorry about the mess, I just kept throwing filters at it until the masks came out right.
Oh yeah, this is the alternate I worked on last night, before I fell asleep:
mpeg2source("source.d2v",info=3)
ColorMatrix(hints=true)
separatefields
mask=maskoff()
vblur=mt_convolution("1","1 2 1",chroma="process")
mt_merge(last,vblur,mask.fity2uv(),chroma="process")
weave
tfm(pp=7).tdecimate(mode=1)
mask=maskoff()
vblur=mt_convolution("1","1 2 1",chroma="process")
mt_merge(last,vblur,mask.fity2uv(),chroma="process")
crop( 2, 0, -2, 0)
function maskoff(clip c) {
c
mask=combmask(thy1=5,thy2=5).mt_inpand().mt_expand().mt_expand()
blank=blankclip(mask,color=$000000)
mask=mask.scriptclip("""(averageluma < 5? blank : last) #.subtitle(string(averageluma()))""")
emask=mt_edge("roberts",thy1=10,thy2=10).removegrain(1)
mask=mt_logic(emask,mask,"andn")
return mask
}
It acts on each field first and works much better. The edgemask isn't quite right, it softens them up a little too much on some frames, but I sort of ran out of patience to finish.
lansing
26th September 2006, 04:39
the script works pretty good, i'm satisfy with the result.
thx foxyshadis.
lansing
29th October 2006, 14:55
it's me again, another problem of deinterlace occur with me. The sample video is here:
http://www.sendspace.com/file/38hbj9
i've tried all the deinterlacer i have and it still didn't work.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.