View Full Version : recombine fields - reinterlace - I love smoothness!
skyline
18th April 2002, 05:25
I find deinterlacing annoys me with it's jerkyness.
Currently, I capture DV 720x576 then avisynth bob to 720x288x25 then resize to 352x288 & compress to xvid. This results in nice smooth PC playback.
What I would like to be able to do is put this xvid back to DV tape sometimes (whilst maintaining smooth motion). How do I do this? I thought weave would be the answer but that has no effect on frame based source clip. How do I combine the progressive 352x288x50 to 720x576x25 interlaced?
I also am of the understanding that each field will have to be offset by one line when reinterlacing. how?
dividee
18th April 2002, 16:51
You can use Weave, but you have to tell avisynth your clip is field-based with AssumeFieldBased:
AssumeFieldBased().Weave()
Quality may still be better than if you encoded to xvid by discarding one of the fields. However, quality of the encoded xvid itself would be a lot better by doing that.
I'm not sure how you could undo the "bobbing". Maybe something like this (untested):
BicubicResize(width,height*2) # resize to full height
SeparateFields().SelectEvery(4,0,3) # keep top field of even frames and bottom field of odd frames
Weave()
skyline
19th April 2002, 06:00
>Quality may still be better than if you encoded to xvid by discarding one of the fields. However, quality of the encoded xvid itself would be a lot better by doing that.
AssumeFieldbased worked :)
Quality is much better IMHO than discarding a field with regards to motion. I simply increase the bitrate to compensate for the extra frames (currently pleased with about 2500).
I have noticed though when I reencode to DV output to camcorder and play on TV, there is a slight "shimmering" effect. Is this a result of the bobbing not being correctly undone? or perhaps i need ComplementParity as well?
I will do more testing. Thanks!
hakko504
19th April 2002, 09:15
I think the shimmering is created by the original bob. The bob function of AVIsynth is only a lineshifted resize. You could try this script as a form of smartbob:function GreedyBob(clip clip)
{
Loadplugin("greedyHMA.dll")
video1=clip.GreedyHMA(1,0,0,0,0,0,0,0)
video2=clip.GreedyHMA(0,0,0,0,0,0,0,0)
return Interleave(video1,video2)
}Do note that this will not resize the video buit leave it in the original size. A possible usage is this:video=AVISource("DV.avi")
GreedyBob(video)
BicubicResize(352,288,0,0.5)And to recombine to interlaced 25fps:AVISource("xvid.avi")
BicubicResize(720,576,0,0.5)
Separatefields()
SelectEvery(4,0,3)
Weave()
skyline
19th April 2002, 19:31
Thanks for the reply hakko.
Can't seem to get greedyHMA working.
I read in another post after many attempts that it is only for sse2 machines (mine isn't).
Perhaps there is another way using xvid's "interlaced" option?
My goal is to:
1) Watch Xvid encodes of my DV footage(PAL) at 352x288 with SMOOTH MOTION.
and
2) Be able to convert that Xvid back to DV type 2 AVI with SMOOTH MOTION for sending back to camcorder for viewing on TV (I don't have TV-out).
I find all modes of deinterlacing ruin the motion, but at 50fps the motion is preserved for viewing on PC monitor.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.