Advertisement
AzraelNewtype

ivtc_helpers.avs

Aug 7th, 2016
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. Function ivtc_txt60mc (clip src, int frame_ref, bool "srcbob", bool "draft")
  3. {
  4.     srcbob    = Default (srcbob, false)
  5.     draft     = Default (draft,  false)
  6.  
  7.     field_ref = (srcbob) ? frame_ref : frame_ref * 2
  8.     field_ref =      field_ref  % 5
  9.     invpos    = (5 - field_ref) % 5
  10.     pel       = (draft) ? 1 : 2
  11.  
  12.     src
  13.       (srcbob) ? last
  14. \   : (draft ) ? Bob ()
  15. \   :            QTGMC ("fast")
  16.  
  17.     clean  = SelectEvery (5, 1 - invpos)
  18.     jitter = SelectEvery (5, 3 - invpos, 4 - invpos)
  19.     jsup   = jitter.MSuper (pel=pel)
  20.     vect_f = jsup.MAnalyse (isb=false, delta=1, overlap=4)
  21.     vect_b = jsup.MAnalyse (isb=true,  delta=1, overlap=4)
  22.     comp   = jitter.MFlowInter (jsup, vect_b, vect_f, time=50, thSCD1=400)
  23.     fixed  = comp.SelectEvery (2, 0)
  24.     Interleave (clean, fixed)
  25.     Trim (invpos / 2, 0)
  26. }
  27.  
  28.  
  29. function norm_ivtc(clip c, bool "dec_out", int "y0", int "y1") {
  30.     dec_out = Default(dec_out, true)    
  31.     y0i = Default(y0, 58)
  32.     y1i = Default(y1, 140)
  33.     c
  34.     dt = TDeint(order=1,field=1,type=1,edeint=nnedi3(field=1,threads=1))
  35.     tfm(pp=5,mode=2,order=1,slow=1,y0=y0i,y1=y1i,clip2=dt)
  36.     vinverse()
  37.     return (dec_out) ? last.tdecimate() : last.assumefps("ntsc_film")
  38. }
  39.  
  40. function fast_ivtc(clip c, bool "dec_out", int "y0", int "y1") {
  41.     dec_out = Default(dec_out, true)    
  42.     c
  43.     tfm(slow=0, pp=0)
  44.     return (dec_out) ? last.tdecimate() : last.assumefps("ntsc_film")
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement