-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvfmtest.py
68 lines (51 loc) · 1.76 KB
/
vfmtest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from vsmlrt import BackendV2
from vstools import vs, core, set_output
import sys
from ldzeug2.lddecode import LDDProject
from ldzeug2.colordecoder import *
from vstools import *
import os
selection = os.environ["SELECTION"]
pri = LDDProject(selection)
pri.frames = pri.frames[10000:]
kwa = { "crop": True }
c2d = comb1d(pri.frames,crop=True).std.Crop(10, 14, 6, 6)
vfmmatch = depth(get_y(c2d), 8, sample_type=vs.INTEGER).vivtc.VFM(order=True,clip2=pri.frames)
def ChangeFieldIDS(n,f):
f_vfm = f[0]
f_src = f[1]
f_nxt = f[2]
f_prv = f[3]
fout = f[0].copy()
vfmmatch = f_vfm.props["VFMMatch"]
top = "PhaseID_A"
bot = "PhaseID_B"
#pcnbu
if vfmmatch == 0:
fout.props[top] = f_src.props[top]
fout.props[bot] = f_prv.props[bot]
elif vfmmatch == 1:
fout.props[top] = f_src.props[top]
fout.props[bot] = f_src.props[bot]
elif vfmmatch == 2:
fout.props[top] = f_src.props[top]
fout.props[bot] = f_nxt.props[bot]
elif vfmmatch == 3:
fout.props[top] = f_prv.props[top]
fout.props[bot] = f_src.props[bot]
elif vfmmatch == 4:
fout.props[top] = f_nxt.props[top]
fout.props[bot] = f_src.props[bot]
else:
assert False
return fout
set_output(pri.frames)
frames2 = core.std.ModifyFrame(pri.frames,[
vfmmatch,
pri.frames,
pri.frames[1:] + pri.frames[-1],
pri.frames[0] + pri.frames[:-1],
],ChangeFieldIDS)
set_output(vfmmatch)
oo = combyc_frame_model(frames2,crop=True)
set_output(oo)