16/02/18 00:27:09.93 bnH8mLRR.net
ツイッターを使えればいいんだけど、使えないのでここで質問
かなり前にVapourSynthのスクリプト「30fpsの単純なブレンド型インタレ解除されちゃってるやつを、少しはまともな24pに復元するスクリプト」
ツイッターで公表後になにか変更有りますか?
---↓自分がコピーしてたもの---
import vapoursynth as vs
def restore24from30blending( clip ) :
# 24p: [a][b][c][d]
# 30p: [a][b][e=(b+c)/2][f=(c+d)/2][d]
#
# e = (b + c) / 2
# f = (c + d) / 2
#
# e + f = c + (b + d)/2
# c = e + f - (b + d)/2
a = clip[0::5]
b = clip[1::5]
e = clip[2::5]
f = clip[3::5]
d = clip[4::5]
def gen_c( e, f, b, d ) :
def average( b, d ) :
return vs.get_core().std.Lut2(clipa=b, clipb=d, function=lambda x, y : (x + y)//2)
avg = average( b, d )
return vs.get_core().std.Expr(clips=[e, f, avg], expr="x y + z -")
c = gen_c( e, f, b, d )
return vs.get_core().std.Interleave(clips=[a,b,c,d])
#URLリンク(up-cat.net)
#averageはLut2に明らかな利点がない限りはMergeにしたほうがいいよ。Lut2は実質8bit専用だし、CPUキャッシュ効かなかったら大幅にスピードダウンするかもしれない。