SHOW:
|
|
- or go back to the newest paste.
1 | # By @WonkoVSane, for @dvoshart | |
2 | # Python 3 | |
3 | ||
4 | def convert(srcFPS, outFPS): | |
5 | dt=srcFPS/outFPS | |
6 | f=1 | |
7 | x0=0 | |
8 | lr=0 | |
9 | c=0 | |
10 | while c<3: | |
11 | x1=x0+dt | |
12 | x2=x1+dt | |
13 | x0r=round(x0) | |
14 | x1r=round(x1) | |
15 | x2r=round(x2) | |
16 | f0d='Unique' | |
17 | f1d='Blend' | |
18 | if x0r==lr and lr!=0: | |
19 | - | fd='Duplicate' |
19 | + | f0d='Duplicate' |
20 | c+=1 | |
21 | if x0r==x2r: | |
22 | f1d='Blend Dup' | |
23 | print(f'{f:4} {f0d:10} {x0r} {x0:.3f}') | |
24 | print(f'{f+1:4} {f1d:10} {x1r} {x1:.3f}') | |
25 | x0=x2 | |
26 | f+=2 | |
27 | lr=x0r | |
28 | ||
29 | def real_gif_fps(gif_fps): | |
30 | ft=round(100.0/gif_fps)/100 | |
31 | return 1.0/ft | |
32 | ||
33 | def test(): | |
34 | srcFPS=real_gif_fps(15) # gives ~14.286 | |
35 | # results don't quite match up :( But they do with 30fps output instead of 29.97 | |
36 | outFPS=30 #29.97 | |
37 | return convert(srcFPS,outFPS) | |
38 | ||
39 | --- | |
40 | ||
41 | 1 Unique 0 0.000 | |
42 | 2 Blend 0 0.476 | |
43 | 3 Unique 1 0.952 | |
44 | 4 Blend 1 1.429 | |
45 | 5 Unique 2 1.905 | |
46 | 6 Blend 2 2.381 | |
47 | 7 Unique 3 2.857 | |
48 | 8 Blend 3 3.333 | |
49 | 9 Unique 4 3.810 | |
50 | 10 Blend 4 4.286 | |
51 | 11 Unique 5 4.762 | |
52 | 12 Blend 5 5.238 | |
53 | 13 Unique 6 5.714 | |
54 | 14 Blend 6 6.190 | |
55 | 15 Unique 7 6.667 | |
56 | 16 Blend 7 7.143 | |
57 | 17 Unique 8 7.619 | |
58 | 18 Blend 8 8.095 | |
59 | 19 Unique 9 8.571 | |
60 | 20 Blend 9 9.048 | |
61 | 21 Unique 10 9.524 | |
62 | 22 Blend Dup 10 10.000 | |
63 | - | 23 Unique 10 10.476 |
63 | + | 23 Duplicate 10 10.476 |
64 | 24 Blend 11 10.952 | |
65 | 25 Unique 11 11.429 | |
66 | 26 Blend 12 11.905 | |
67 | 27 Unique 12 12.381 | |
68 | 28 Blend 13 12.857 | |
69 | 29 Unique 13 13.333 | |
70 | 30 Blend 14 13.810 | |
71 | 31 Unique 14 14.286 | |
72 | 32 Blend 15 14.762 | |
73 | 33 Unique 15 15.238 | |
74 | 34 Blend 16 15.714 | |
75 | 35 Unique 16 16.190 | |
76 | 36 Blend 17 16.667 | |
77 | 37 Unique 17 17.143 | |
78 | 38 Blend 18 17.619 | |
79 | 39 Unique 18 18.095 | |
80 | 40 Blend 19 18.571 | |
81 | 41 Unique 19 19.048 | |
82 | 42 Blend 20 19.524 | |
83 | 43 Unique 20 20.000 | |
84 | 44 Blend 20 20.476 | |
85 | 45 Unique 21 20.952 | |
86 | 46 Blend 21 21.429 | |
87 | 47 Unique 22 21.905 | |
88 | 48 Blend 22 22.381 | |
89 | 49 Unique 23 22.857 | |
90 | 50 Blend 23 23.333 | |
91 | 51 Unique 24 23.810 | |
92 | 52 Blend 24 24.286 | |
93 | 53 Unique 25 24.762 | |
94 | 54 Blend 25 25.238 | |
95 | 55 Unique 26 25.714 | |
96 | 56 Blend 26 26.190 | |
97 | 57 Unique 27 26.667 | |
98 | 58 Blend 27 27.143 | |
99 | 59 Unique 28 27.619 | |
100 | 60 Blend 28 28.095 | |
101 | 61 Unique 29 28.571 | |
102 | 62 Blend 29 29.048 | |
103 | 63 Unique 30 29.524 | |
104 | 64 Blend Dup 30 30.000 | |
105 | - | 65 Unique 30 30.476 |
105 | + | 65 Duplicate 30 30.476 |
106 | 66 Blend 31 30.952 | |
107 | 67 Unique 31 31.429 | |
108 | 68 Blend 32 31.905 | |
109 | 69 Unique 32 32.381 | |
110 | 70 Blend 33 32.857 | |
111 | 71 Unique 33 33.333 | |
112 | 72 Blend 34 33.810 | |
113 | 73 Unique 34 34.286 | |
114 | 74 Blend 35 34.762 | |
115 | 75 Unique 35 35.238 | |
116 | 76 Blend 36 35.714 | |
117 | 77 Unique 36 36.190 | |
118 | 78 Blend 37 36.667 | |
119 | 79 Unique 37 37.143 | |
120 | 80 Blend 38 37.619 | |
121 | 81 Unique 38 38.095 | |
122 | 82 Blend 39 38.571 | |
123 | 83 Unique 39 39.048 | |
124 | 84 Blend 40 39.524 | |
125 | 85 Unique 40 40.000 | |
126 | 86 Blend 40 40.476 | |
127 | 87 Unique 41 40.952 | |
128 | 88 Blend 41 41.429 | |
129 | 89 Unique 42 41.905 | |
130 | 90 Blend 42 42.381 | |
131 | 91 Unique 43 42.857 | |
132 | 92 Blend 43 43.333 | |
133 | 93 Unique 44 43.810 | |
134 | 94 Blend 44 44.286 | |
135 | 95 Unique 45 44.762 | |
136 | 96 Blend 45 45.238 | |
137 | 97 Unique 46 45.714 | |
138 | 98 Blend 46 46.190 | |
139 | 99 Unique 47 46.667 | |
140 | 100 Blend 47 47.143 | |
141 | 101 Unique 48 47.619 | |
142 | 102 Blend 48 48.095 | |
143 | 103 Unique 49 48.571 | |
144 | 104 Blend 49 49.048 | |
145 | 105 Unique 50 49.524 | |
146 | 106 Blend Dup 50 50.000 | |
147 | - | 107 Unique 50 50.476 |
147 | + | 107 Duplicate 50 50.476 |
148 | 108 Blend 51 50.952 |