]> git.sesse.net Git - mlt/blob - src/modules/vid.stab/filter_vidstab.yml
Added a fourth filter, that combines both detect and transform passes.
[mlt] / src / modules / vid.stab / filter_vidstab.yml
1 schema_version: 0.1
2 type: filter
3 identifier: vid.stab
4 title: Vid.Stab Detect and Transform
5 copyright: Jakub Ksiezniak
6 creator: Marco Gittler <g.marco@freenet.de>
7 version: 1
8 license: GPL
9 language: en
10 url: http://public.hronopik.de/vid.stab/
11 tags:
12   - Video
13 description: Stabilize Video (for wiggly/rolling video)
14 notes: >
15   This filter requires two passes. The first pass performs analysis and stores
16   the result in the vectors property. The second pass applies the vectors to
17   the image.
18   To use with melt, use 'melt ... -consumer xml:output.mlt all=1' for the
19   first pass. For the second pass, use output.mlt as the input.
20
21 parameters:
22   - identifier: vectors (transform)
23     title: Vectors
24     type: geometry
25     description: >
26       A set of X/Y coordinates by which to adjust the image.
27       When this is not supplied, the filter computes the vectors and stores
28       them in this property when the last frame has been processed.
29
30   - identifier: shakiness
31     title: Shakiness
32     type: integer
33     description: How shaky is the video (analysis)
34     readonly: no
35     required: no
36     minimum: 1
37     maximum: 10
38     default: 4
39     mutable: yes
40     widget: spinner
41
42   - identifier: accuracy
43     title: Accuracy
44     type: integer
45     description: Accuracy of shakiness detection (analysis)
46     readonly: no
47     required: no
48     minimum: 1
49     maximum: 15
50     default: 4
51     mutable: yes
52     widget: spinner
53
54   - identifier: stepsize
55     title: Stepsize
56     type: integer
57     description: Step size of search process (analysis)
58     readonly: no
59     required: no
60     minimum: 0
61     maximum: 100
62     default: 6
63     mutable: yes
64     widget: spinner
65
66   - identifier: algo
67     title: Algorithm
68     type: integer
69     description: 0 = brute force (translation only), 1 = small measurement fields (analysis)
70     readonly: no
71     required: no
72     minimum: 0
73     maximum: 1
74     default: 1
75     mutable: yes
76     widget: spinner
77
78   - identifier: mincontrast
79     title: Minimum Contrast
80     type: float
81     description: Below this contrast, a field is discarded (analysis)
82     readonly: no
83     required: no
84     minimum: 0
85     maximum: 1
86     default: 0.3
87     mutable: yes
88     widget: spinner
89
90   - identifier: show
91     title: Show
92     type: integer
93     description: 0 = draw nothing, 1 or 2 = show fields and transforms (analysis)
94     readonly: no
95     required: no
96     minimum: 0
97     maximum: 2
98     default: 0
99     mutable: yes
100     widget: spinner
101
102   - identifier: tripod
103     title: Tripod
104     type: integer
105     description: virtual tripod mode (if >0): motion is compared to a reference frame (frame N is the value)
106     readonly: no
107     required: no
108     minimum: 0
109     maximum: 100000
110     default: 0
111     mutable: yes
112     widget: spinner
113
114   - identifier: smoothing
115     title: Smoothing
116     type: integer
117     description: number of frames for lowpass filtering (2N + 1 frames) (transform)
118     readonly: no
119     required: no
120     minimum: 0
121     maximum: 100
122     default: 15
123     mutable: yes
124     widget: spinner
125
126   - identifier: maxshift
127     title: Maxshift
128     type: integer
129     description: maximum translation, -1 = no limit (transform)
130     unit: pixels
131     readonly: no
132     required: no
133     minimum: -1
134     maximum: 1000
135     default: -1
136     mutable: yes
137     widget: spinner
138
139   - identifier: maxangle
140     title: Maxangle
141     type: float
142     description: max angle to rotate, -1 = no limit (transform)
143     unit: radians
144     readonly: no
145     required: no
146     minimum: -1
147     maximum: 3.142
148     default: -1
149     mutable: yes
150     widget: spinner
151
152   - identifier: crop
153     title: Crop
154     type: integer
155     description: 0 = keep border, 1 = black background (transform)
156     readonly: no
157     required: no
158     minimum: 0
159     maximum: 1
160     default: 0
161     mutable: yes
162     widget: spinner
163
164   - identifier: invert
165     title: Invert
166     type: integer
167     description: Invert transforms (transform)
168     readonly: no
169     required: no
170     minimum: 0
171     maximum: 1
172     default: 0
173     mutable: yes
174     widget: spinner
175
176   - identifier: relative
177     title: Relative Transform
178     type: integer
179     description: 0 = absolute, 1 = relative (transform)
180     readonly: no
181     required: no
182     minimum: 0
183     maximum: 1
184     default: 1
185     mutable: yes
186     widget: spinner
187
188   - identifier: zoom
189     title: Zoom
190     type: integer
191     description: additional zoom amount (transform)
192     unit: percent
193     readonly: no
194     required: no
195     minimum: -500
196     maximum: 500
197     default: 0
198     mutable: yes
199     widget: spinner
200
201   - identifier: optzoom
202     title: Optimal Zoom
203     type: integer
204     description: automatically determine optimal zoom. 1 - static zoom, 2 - adaptive zoom (transform)
205     readonly: no
206     required: no
207     minimum: 0
208     maximum: 2
209     default: 1
210     mutable: yes
211     widget: spinner
212
213   - identifier: zoomspeed
214     title: Optimal Zoom Speed
215     type: float
216     description: zoom per frame in percent, (used when optzoom = 2) (transform)
217     readonly: no
218     required: no
219     minimum: 0
220     maximum: 1
221     default: 0.25
222     mutable: yes
223     widget: spinner
224
225   - identifier: refresh
226     description: >
227       Applications should set this when it updates a transform parameter.
228     type: integer
229     minimum: 0
230     maximum: 1