簡単フレーム補間60fps化

  • MVTools編

http://avisynth.org.ru/mvtools/mvtools2.html

から「Download MVTools v2.5.11.22」をダウンロードしてきてAvisynthのPluginフォルダにコピー

avsファイルの下のほうに

function nurunuru2(clip c, int “targetfps”, int “targetfps_den”){
targetfps_den = default(targetfps_den, 1)
#SetMTMode(2)
super=c.MSuper(pel=4, hpad=0, vpad=0)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=8, blksizev=8, searchparam=3, plevel=0, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=8, blksizev=8, searchparam=3, plevel=0, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=16, blksizev=16, searchparam=2, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=16, blksizev=16, searchparam=2, search=3)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=8, blksizev=8, searchparam=1, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=8, blksizev=8, searchparam=1, search=3)
c.MBlockFps(super, backward_3, forward_3, num=targetfps, den=targetfps_den, mode=0)
#SetMTMode(1)
#GetMTMode(false) > 0 ? distributor() : last
last
}

を書いておく。

avsファイルの動画のエフェクトをかけるところに

nurunuru2(60,1)

とか書けば60fps化

nurunuru2(movie.FrameRateNumerator*2,movie.frameratedenominator)
とか書けば元のフレームレートを倍に(例 29.97→59.94)

実際の例

 

moviefile=”hogehoge.mp4″

LWLibavVideoSource(moviefile,format=colerspace)
AudioDub(LWLibavAudioSource(moviefile))
movie=last

movie
nurunuru2(60,1)
return last

## 以降関数定義
function nurunuru2(clip c, int “targetfps”, int “targetfps_den”){
targetfps_den = default(targetfps_den, 1)
#SetMTMode(2)
super=c.MSuper(pel=4, hpad=0, vpad=0)
backward_1=MAnalyse(super, chroma=false, isb=true, blksize=8, blksizev=8, searchparam=3, plevel=0, search=3, badrange=(-24))
forward_1=MAnalyse(super, chroma=false, isb=false, blksize=8, blksizev=8, searchparam=3, plevel=0, search=3, badrange=(-24))
backward_2 = MRecalculate(super, chroma=false, backward_1, blksize=16, blksizev=16, searchparam=2, search=3)
forward_2 = MRecalculate(super, chroma=false, forward_1, blksize=16, blksizev=16, searchparam=2, search=3)
backward_3 = MRecalculate(super, chroma=false, backward_2, blksize=8, blksizev=8, searchparam=1, search=3)
forward_3 = MRecalculate(super, chroma=false, forward_2, blksize=8, blksizev=8, searchparam=1, search=3)
c.MBlockFps(super, backward_3, forward_3, num=targetfps, den=targetfps_den, mode=0)
#SetMTMode(1)
#GetMTMode(false) > 0 ? distributor() : last
last
}

こんな風に書くと、「nurunuru2(60,1)」と書いている先頭に「#」をつけると60fps化無効、外すと60fps化が有効になって簡単に切り替え可能。

  • SVP(SmoothVideo Project)編

「Latest SVP version: 4.1.0.101 from 2017-01-19」と書いてあるリンクをたどるとダウンロードページ移動して、
下の方にある「SVPflow」のダウンロードリンク先からダウンロードしてきてAvisynthのPluginフォルダにコピー

avsファイルの下のほうに

function nurunuru3(clip c, int “targetfps”, int “targetfps_den”){
targetfps_den = default(targetfps_den, 1)
threads=4
#SetMTMode(2)
super=c.SVSuper(“{gpu:1}”)
# Small 8×8 blocks with additional refine to 4×4
vectors=SVAnalyse(super, “{ block:{w:8}, refine:[{thsad:1000}] }”)
# Conversion to 5/2 of source frame rate with 2nd SVP-shader.
c.SVSmoothFps(super, vectors, “{ num:”+String(targetfps,”%d”)+”, den:”+String(targetfps_den,”%d”)+”, algo:2 }”, url=”www.svp-team.com”, mt=threads)
#SetMTMode(1)
#GetMTMode(false) > 0 ? distributor() : last
return last
}

 

avsファイルの動画のエフェクトをかけるところにを書いておく。

nurunuru3(60,1)

とか書けば60fps化

nurunuru3(movie.FrameRateNumerator*2,movie.frameratedenominator)
とか書けば元のフレームレートを倍に(例 29.97→59.94)

実際の例

file=”hogehoge.mp4″

LWLibavVideoSource(moviefile,format=colerspace)
AudioDub(LWLibavAudioSource(moviefile))
movie=last

movie
nurunuru3(60,1)
return last

## 以降関数定義
function nurunuru3(clip c, int “targetfps”, int “targetfps_den”){
targetfps_den = default(targetfps_den, 1)
threads=4
#SetMTMode(2)
super=c.SVSuper(“{gpu:1}”)
# Small 8×8 blocks with additional refine to 4×4
vectors=SVAnalyse(super, “{ block:{w:8}, refine:[{thsad:1000}] }”)
# Conversion to 5/2 of source frame rate with 2nd SVP-shader.
c.SVSmoothFps(super, vectors, “{ num:”+String(targetfps,”%d”)+”, den:”+String(targetfps_den,”%d”)+”, algo:2 }”, url=”www.svp-team.com”, mt=threads)
#SetMTMode(1)
#GetMTMode(false) > 0 ? distributor() : last
return last
}

こんな風に書くと、「nurunuru3(60,1)」と書いている先頭に「#」をつけると60fps化無効、外すと60fps化が有効になって簡単に切り替え可能。