Thread: MVTools
View Single Post
Old 8th November 2004, 19:12   #13  |  Link
johnmeyer
Registered User
 
Join Date: Feb 2002
Location: California
Posts: 2,691
OK, I revised the script using MVTools v0.9.5. I have it working pretty well, but would REALLY appreciate any hints as to which settings -- either in the deinterlace, or in MVTools -- I should try changing in order to improve the results.

My source is interlaced NTSC DV AVI, and I plan to print back to a NTSC DV tape and view on an NTSC monitor. The test clip is a volleyball game, with the camera panning back and forth, and lots of action (inluding the ball) moving in front of the camera.

I am now getting very smooth, clear slow motion, but still sometimes get single frame "glitches," even in areas that are not moving much. I am VERY close to making this work really well.
Code:
loadplugin("c:\Program Files\AviSynth 2.5\plugins\kerneldeint140.dll")
loadplugin("C:\Program Files\AviSynth 2.5\plugins\MVTools\mvtools.dll") 

AVISource("E:\Volleyball\Volleyball (Soldedad)\Volleyball (soledad)0022.avi")

assumebff()
changespeed(4, 8) #Change to 1/4 speed (slow motion)

function changespeed(clip a, float factor, int th)
{

  ord = getparity(a) ? 1 : 0
  f=a.kerneldeint(order=ord, sharp=false, twoway=false, threshold=th) 
  e=a.separatefields.trim(1,0).weave.kerneldeint(order=1-ord, sharp=false, twoway=false, threshold=th)
  g=interleave(f,e).assumeframebased
  h=converttoyv12(g)

  vec_back = h.MVAnalyse(sx=8, sy=8, fth=20, isb=true)
  vec_forw = h.MVAnalyse(sx=8, sy=8, fth=20, isb=false)
  MVConvertFPS(h, vec_back, vec_forw, fps=h.framerate*factor, fbw=2, thSCD2=255, thSCD1=200)

  converttoyuy2()
  assumefps(a.framerate*2,true)
  separatefields()
  (ord==0) ? selectevery(4,0,3) : selectevery(4,1,2)
  weave()
}

Last edited by johnmeyer; 8th November 2004 at 19:42.
johnmeyer is offline   Reply With Quote