-
Notifications
You must be signed in to change notification settings - Fork 10
/
easings-inline.txt
118 lines (79 loc) · 2.36 KB
/
easings-inline.txt
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# FFmpeg XFade custom easing and transition expressions, made with xfade-easing.sh v. 3.0.3
# by Raymond Luckhurst, https://scriptit.uk, https://github.com/scriptituk/xfade-easing
# Inline easing expressions for xfade filter_complex filterchains
LINEAR
st(0,P)
QUADRATIC-IN
st(0,P*(2-P))
QUADRATIC-OUT
st(0,P*P)
QUADRATIC-IN-OUT
st(0,if(lt(P,0.5),2*P*P,2*P*(2-P)-1))
CUBIC-IN
st(0,1-(1-P)^3)
CUBIC-OUT
st(0,P^3)
CUBIC-IN-OUT
st(0,if(lt(P,0.5),4*P^3,1-4*(1-P)^3))
QUARTIC-IN
st(0,1-(1-P)^4)
QUARTIC-OUT
st(0,P^4)
QUARTIC-IN-OUT
st(0,if(lt(P,0.5),8*P^4,1-8*(1-P)^4))
QUINTIC-IN
st(0,1-(1-P)^5)
QUINTIC-OUT
st(0,P^5)
QUINTIC-IN-OUT
st(0,if(lt(P,0.5),16*P^5,1-16*(1-P)^5))
SINUSOIDAL-IN
st(0,sin(P*PI/2))
SINUSOIDAL-OUT
st(0,1-cos(P*PI/2))
SINUSOIDAL-IN-OUT
st(0,(1-cos(P*PI))/2)
EXPONENTIAL-IN
st(0,if(gte(P,1),1,1-pow(2,-10*P)))
EXPONENTIAL-OUT
st(0,if(lte(P,0),0,pow(2,10*P-10)))
EXPONENTIAL-IN-OUT
st(0,if(lt(P,0.5),if(lte(P,0),0,pow(2,20*P-11)),if(gte(P,1),1,1-pow(2,9-20*P))))
CIRCULAR-IN
st(0,sqrt(P*(2-P)))
CIRCULAR-OUT
st(0,1-sqrt(1-P*P))
CIRCULAR-IN-OUT
st(0,if(lt(P,0.5),1-sqrt(1-4*P*P),1+sqrt(4*P*(2-P)-3))/2)
ELASTIC-IN
st(0,1-cos(20*P*PI/3)/pow(2,10*P))
ELASTIC-OUT
st(0,cos(20*(1-P)*PI/3)/pow(2,10*(1-P)))
ELASTIC-IN-OUT
st(0,st(1,cos(40*st(2,2*P-1)*PI/9)/2);st(2,pow(2,10*ld(2)));if(lt(P,0.5),ld(1)*ld(2),1-ld(1)/ld(2)))
BACK-IN
st(0,1-(1-P)^2*(1-P*2.70158))
BACK-OUT
st(0,P*P*(P*2.70158-1.70158))
BACK-IN-OUT
st(0,if(lt(P,0.5),2*P*P*(2*P*3.59491-2.59491),1-2*(1-P)^2*(4.59491-2*P*3.59491)))
BOUNCE-IN
st(0,st(1,121/16);if(lt(P,4/11),ld(1)*P*P,if(lt(P,8/11),ld(1)*(P-6/11)^2+3/4,if(lt(P,10/11),ld(1)*(P-9/11)^2+15/16,ld(1)*(P-21/22)^2+63/64))))
BOUNCE-OUT
st(0,st(0,1-P);1-(st(1,121/16);if(lt(ld(0),4/11),ld(1)*ld(0)*ld(0),if(lt(ld(0),8/11),ld(1)*(ld(0)-6/11)^2+3/4,if(lt(ld(0),10/11),ld(1)*(ld(0)-9/11)^2+15/16,ld(1)*(ld(0)-21/22)^2+63/64)))))
BOUNCE-IN-OUT
st(0,st(1,st(0,st(2,lt(P,0.5)*2-1)*(1-2*P));st(1,121/16);if(lt(ld(0),4/11),ld(1)*ld(0)*ld(0),if(lt(ld(0),8/11),ld(1)*(ld(0)-6/11)^2+3/4,if(lt(ld(0),10/11),ld(1)*(ld(0)-9/11)^2+15/16,ld(1)*(ld(0)-21/22)^2+63/64))));(1-ld(2)*ld(1))/2)
SQUAREROOT-IN
st(0,1-sqrt((1-P)))
SQUAREROOT-OUT
st(0,sqrt(P))
SQUAREROOT-IN-OUT
st(0,if(lt(P,0.5),sqrt(P/2),1-sqrt((1-P)/2)))
CUBEROOT-IN
st(0,pow(P,1/3))
CUBEROOT-OUT
st(0,1-pow((1-P),1/3))
CUBEROOT-IN-OUT
st(0,if(lt(P,0.5),pow(P/4,1/3),1-pow((1-P)/4,1/3)))
LINEAR
st(0,P)