yading@10
|
1 .\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14)
|
yading@10
|
2 .\"
|
yading@10
|
3 .\" Standard preamble:
|
yading@10
|
4 .\" ========================================================================
|
yading@10
|
5 .de Sp \" Vertical space (when we can't use .PP)
|
yading@10
|
6 .if t .sp .5v
|
yading@10
|
7 .if n .sp
|
yading@10
|
8 ..
|
yading@10
|
9 .de Vb \" Begin verbatim text
|
yading@10
|
10 .ft CW
|
yading@10
|
11 .nf
|
yading@10
|
12 .ne \\$1
|
yading@10
|
13 ..
|
yading@10
|
14 .de Ve \" End verbatim text
|
yading@10
|
15 .ft R
|
yading@10
|
16 .fi
|
yading@10
|
17 ..
|
yading@10
|
18 .\" Set up some character translations and predefined strings. \*(-- will
|
yading@10
|
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
|
yading@10
|
20 .\" double quote, and \*(R" will give a right double quote. \*(C+ will
|
yading@10
|
21 .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
|
yading@10
|
22 .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
|
yading@10
|
23 .\" nothing in troff, for use with C<>.
|
yading@10
|
24 .tr \(*W-
|
yading@10
|
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
|
yading@10
|
26 .ie n \{\
|
yading@10
|
27 . ds -- \(*W-
|
yading@10
|
28 . ds PI pi
|
yading@10
|
29 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
|
yading@10
|
30 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
|
yading@10
|
31 . ds L" ""
|
yading@10
|
32 . ds R" ""
|
yading@10
|
33 . ds C` ""
|
yading@10
|
34 . ds C' ""
|
yading@10
|
35 'br\}
|
yading@10
|
36 .el\{\
|
yading@10
|
37 . ds -- \|\(em\|
|
yading@10
|
38 . ds PI \(*p
|
yading@10
|
39 . ds L" ``
|
yading@10
|
40 . ds R" ''
|
yading@10
|
41 'br\}
|
yading@10
|
42 .\"
|
yading@10
|
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
|
yading@10
|
44 .ie \n(.g .ds Aq \(aq
|
yading@10
|
45 .el .ds Aq '
|
yading@10
|
46 .\"
|
yading@10
|
47 .\" If the F register is turned on, we'll generate index entries on stderr for
|
yading@10
|
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
|
yading@10
|
49 .\" entries marked with X<> in POD. Of course, you'll have to process the
|
yading@10
|
50 .\" output yourself in some meaningful fashion.
|
yading@10
|
51 .ie \nF \{\
|
yading@10
|
52 . de IX
|
yading@10
|
53 . tm Index:\\$1\t\\n%\t"\\$2"
|
yading@10
|
54 ..
|
yading@10
|
55 . nr % 0
|
yading@10
|
56 . rr F
|
yading@10
|
57 .\}
|
yading@10
|
58 .el \{\
|
yading@10
|
59 . de IX
|
yading@10
|
60 ..
|
yading@10
|
61 .\}
|
yading@10
|
62 .\"
|
yading@10
|
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
|
yading@10
|
64 .\" Fear. Run. Save yourself. No user-serviceable parts.
|
yading@10
|
65 . \" fudge factors for nroff and troff
|
yading@10
|
66 .if n \{\
|
yading@10
|
67 . ds #H 0
|
yading@10
|
68 . ds #V .8m
|
yading@10
|
69 . ds #F .3m
|
yading@10
|
70 . ds #[ \f1
|
yading@10
|
71 . ds #] \fP
|
yading@10
|
72 .\}
|
yading@10
|
73 .if t \{\
|
yading@10
|
74 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
|
yading@10
|
75 . ds #V .6m
|
yading@10
|
76 . ds #F 0
|
yading@10
|
77 . ds #[ \&
|
yading@10
|
78 . ds #] \&
|
yading@10
|
79 .\}
|
yading@10
|
80 . \" simple accents for nroff and troff
|
yading@10
|
81 .if n \{\
|
yading@10
|
82 . ds ' \&
|
yading@10
|
83 . ds ` \&
|
yading@10
|
84 . ds ^ \&
|
yading@10
|
85 . ds , \&
|
yading@10
|
86 . ds ~ ~
|
yading@10
|
87 . ds /
|
yading@10
|
88 .\}
|
yading@10
|
89 .if t \{\
|
yading@10
|
90 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
|
yading@10
|
91 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
|
yading@10
|
92 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
|
yading@10
|
93 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
|
yading@10
|
94 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
|
yading@10
|
95 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
|
yading@10
|
96 .\}
|
yading@10
|
97 . \" troff and (daisy-wheel) nroff accents
|
yading@10
|
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
|
yading@10
|
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
|
yading@10
|
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
|
yading@10
|
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
|
yading@10
|
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
|
yading@10
|
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
|
yading@10
|
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
|
yading@10
|
105 .ds ae a\h'-(\w'a'u*4/10)'e
|
yading@10
|
106 .ds Ae A\h'-(\w'A'u*4/10)'E
|
yading@10
|
107 . \" corrections for vroff
|
yading@10
|
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
|
yading@10
|
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
|
yading@10
|
110 . \" for low resolution devices (crt and lpr)
|
yading@10
|
111 .if \n(.H>23 .if \n(.V>19 \
|
yading@10
|
112 \{\
|
yading@10
|
113 . ds : e
|
yading@10
|
114 . ds 8 ss
|
yading@10
|
115 . ds o a
|
yading@10
|
116 . ds d- d\h'-1'\(ga
|
yading@10
|
117 . ds D- D\h'-1'\(hy
|
yading@10
|
118 . ds th \o'bp'
|
yading@10
|
119 . ds Th \o'LP'
|
yading@10
|
120 . ds ae ae
|
yading@10
|
121 . ds Ae AE
|
yading@10
|
122 .\}
|
yading@10
|
123 .rm #[ #] #H #V #F C
|
yading@10
|
124 .\" ========================================================================
|
yading@10
|
125 .\"
|
yading@10
|
126 .IX Title "FFMPEG-UTILS 1"
|
yading@10
|
127 .TH FFMPEG-UTILS 1 "2013-04-21" " " " "
|
yading@10
|
128 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
|
yading@10
|
129 .\" way too many mistakes in technical documents.
|
yading@10
|
130 .if n .ad l
|
yading@10
|
131 .nh
|
yading@10
|
132 .SH "NAME"
|
yading@10
|
133 ffmpeg\-utils \- FFmpeg utilities
|
yading@10
|
134 .SH "DESCRIPTION"
|
yading@10
|
135 .IX Header "DESCRIPTION"
|
yading@10
|
136 This document describes some generic features and utilities provided
|
yading@10
|
137 by the libavutil library.
|
yading@10
|
138 .SH "SYNTAX"
|
yading@10
|
139 .IX Header "SYNTAX"
|
yading@10
|
140 This section documents the syntax and formats employed by the FFmpeg
|
yading@10
|
141 libraries and tools.
|
yading@10
|
142 .SS "Quoting and escaping"
|
yading@10
|
143 .IX Subsection "Quoting and escaping"
|
yading@10
|
144 FFmpeg adopts the following quoting and escaping mechanism, unless
|
yading@10
|
145 explicitly specified. The following rules are applied:
|
yading@10
|
146 .IP "\(bu" 4
|
yading@10
|
147 \&\f(CW\*(C`\*(Aq\*(C'\fR and \f(CW\*(C`\e\*(C'\fR are special characters (respectively used for
|
yading@10
|
148 quoting and escaping). In addition to them, there might be other
|
yading@10
|
149 special characters depending on the specific syntax where the escaping
|
yading@10
|
150 and quoting are employed.
|
yading@10
|
151 .IP "\(bu" 4
|
yading@10
|
152 A special character is escaped by prefixing it with a '\e'.
|
yading@10
|
153 .IP "\(bu" 4
|
yading@10
|
154 All characters enclosed between '' are included literally in the
|
yading@10
|
155 parsed string. The quote character \f(CW\*(C`\*(Aq\*(C'\fR itself cannot be quoted,
|
yading@10
|
156 so you may need to close the quote and escape it.
|
yading@10
|
157 .IP "\(bu" 4
|
yading@10
|
158 Leading and trailing whitespaces, unless escaped or quoted, are
|
yading@10
|
159 removed from the parsed string.
|
yading@10
|
160 .PP
|
yading@10
|
161 Note that you may need to add a second level of escaping when using
|
yading@10
|
162 the command line or a script, which depends on the syntax of the
|
yading@10
|
163 adopted shell language.
|
yading@10
|
164 .PP
|
yading@10
|
165 The function \f(CW\*(C`av_get_token\*(C'\fR defined in
|
yading@10
|
166 \&\fIlibavutil/avstring.h\fR can be used to parse a token quoted or
|
yading@10
|
167 escaped according to the rules defined above.
|
yading@10
|
168 .PP
|
yading@10
|
169 The tool \fItools/ffescape\fR in the FFmpeg source tree can be used
|
yading@10
|
170 to automatically quote or escape a string in a script.
|
yading@10
|
171 .PP
|
yading@10
|
172 \fIExamples\fR
|
yading@10
|
173 .IX Subsection "Examples"
|
yading@10
|
174 .IP "\(bu" 4
|
yading@10
|
175 Escape the string \f(CW\*(C`Crime d\*(AqAmour\*(C'\fR containing the \f(CW\*(C`\*(Aq\*(C'\fR special
|
yading@10
|
176 character:
|
yading@10
|
177 .Sp
|
yading@10
|
178 .Vb 1
|
yading@10
|
179 \& Crime d\e\*(AqAmour
|
yading@10
|
180 .Ve
|
yading@10
|
181 .IP "\(bu" 4
|
yading@10
|
182 The string above contains a quote, so the \f(CW\*(C`\*(Aq\*(C'\fR needs to be escaped
|
yading@10
|
183 when quoting it:
|
yading@10
|
184 .Sp
|
yading@10
|
185 .Vb 1
|
yading@10
|
186 \& \*(AqCrime d\*(Aq\e\*(Aq\*(AqAmour\*(Aq
|
yading@10
|
187 .Ve
|
yading@10
|
188 .IP "\(bu" 4
|
yading@10
|
189 Include leading or trailing whitespaces using quoting:
|
yading@10
|
190 .Sp
|
yading@10
|
191 .Vb 1
|
yading@10
|
192 \& \*(Aq this string starts and ends with whitespaces \*(Aq
|
yading@10
|
193 .Ve
|
yading@10
|
194 .IP "\(bu" 4
|
yading@10
|
195 Escaping and quoting can be mixed together:
|
yading@10
|
196 .Sp
|
yading@10
|
197 .Vb 1
|
yading@10
|
198 \& \*(Aq The string \*(Aq\e\*(Aqstring\e\*(Aq\*(Aq is a string \*(Aq
|
yading@10
|
199 .Ve
|
yading@10
|
200 .IP "\(bu" 4
|
yading@10
|
201 To include a literal \f(CW\*(C`\e\*(C'\fR you can use either escaping or quoting:
|
yading@10
|
202 .Sp
|
yading@10
|
203 .Vb 1
|
yading@10
|
204 \& \*(Aqc:\efoo\*(Aq can be written as c:\e\efoo
|
yading@10
|
205 .Ve
|
yading@10
|
206 .SS "Date"
|
yading@10
|
207 .IX Subsection "Date"
|
yading@10
|
208 The accepted syntax is:
|
yading@10
|
209 .PP
|
yading@10
|
210 .Vb 2
|
yading@10
|
211 \& [(YYYY\-MM\-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
|
yading@10
|
212 \& now
|
yading@10
|
213 .Ve
|
yading@10
|
214 .PP
|
yading@10
|
215 If the value is \*(L"now\*(R" it takes the current time.
|
yading@10
|
216 .PP
|
yading@10
|
217 Time is local time unless Z is appended, in which case it is
|
yading@10
|
218 interpreted as \s-1UTC\s0.
|
yading@10
|
219 If the year-month-day part is not specified it takes the current
|
yading@10
|
220 year-month-day.
|
yading@10
|
221 .SS "Time duration"
|
yading@10
|
222 .IX Subsection "Time duration"
|
yading@10
|
223 The accepted syntax is:
|
yading@10
|
224 .PP
|
yading@10
|
225 .Vb 2
|
yading@10
|
226 \& [\-][HH:]MM:SS[.m...]
|
yading@10
|
227 \& [\-]S+[.m...]
|
yading@10
|
228 .Ve
|
yading@10
|
229 .PP
|
yading@10
|
230 \&\fI\s-1HH\s0\fR expresses the number of hours, \fI\s-1MM\s0\fR the number a of minutes
|
yading@10
|
231 and \fI\s-1SS\s0\fR the number of seconds.
|
yading@10
|
232 .SS "Video size"
|
yading@10
|
233 .IX Subsection "Video size"
|
yading@10
|
234 Specify the size of the sourced video, it may be a string of the form
|
yading@10
|
235 \&\fIwidth\fRx\fIheight\fR, or the name of a size abbreviation.
|
yading@10
|
236 .PP
|
yading@10
|
237 The following abbreviations are recognized:
|
yading@10
|
238 .IP "\fBntsc\fR" 4
|
yading@10
|
239 .IX Item "ntsc"
|
yading@10
|
240 720x480
|
yading@10
|
241 .IP "\fBpal\fR" 4
|
yading@10
|
242 .IX Item "pal"
|
yading@10
|
243 720x576
|
yading@10
|
244 .IP "\fBqntsc\fR" 4
|
yading@10
|
245 .IX Item "qntsc"
|
yading@10
|
246 352x240
|
yading@10
|
247 .IP "\fBqpal\fR" 4
|
yading@10
|
248 .IX Item "qpal"
|
yading@10
|
249 352x288
|
yading@10
|
250 .IP "\fBsntsc\fR" 4
|
yading@10
|
251 .IX Item "sntsc"
|
yading@10
|
252 640x480
|
yading@10
|
253 .IP "\fBspal\fR" 4
|
yading@10
|
254 .IX Item "spal"
|
yading@10
|
255 768x576
|
yading@10
|
256 .IP "\fBfilm\fR" 4
|
yading@10
|
257 .IX Item "film"
|
yading@10
|
258 352x240
|
yading@10
|
259 .IP "\fBntsc-film\fR" 4
|
yading@10
|
260 .IX Item "ntsc-film"
|
yading@10
|
261 352x240
|
yading@10
|
262 .IP "\fBsqcif\fR" 4
|
yading@10
|
263 .IX Item "sqcif"
|
yading@10
|
264 128x96
|
yading@10
|
265 .IP "\fBqcif\fR" 4
|
yading@10
|
266 .IX Item "qcif"
|
yading@10
|
267 176x144
|
yading@10
|
268 .IP "\fBcif\fR" 4
|
yading@10
|
269 .IX Item "cif"
|
yading@10
|
270 352x288
|
yading@10
|
271 .IP "\fB4cif\fR" 4
|
yading@10
|
272 .IX Item "4cif"
|
yading@10
|
273 704x576
|
yading@10
|
274 .IP "\fB16cif\fR" 4
|
yading@10
|
275 .IX Item "16cif"
|
yading@10
|
276 1408x1152
|
yading@10
|
277 .IP "\fBqqvga\fR" 4
|
yading@10
|
278 .IX Item "qqvga"
|
yading@10
|
279 160x120
|
yading@10
|
280 .IP "\fBqvga\fR" 4
|
yading@10
|
281 .IX Item "qvga"
|
yading@10
|
282 320x240
|
yading@10
|
283 .IP "\fBvga\fR" 4
|
yading@10
|
284 .IX Item "vga"
|
yading@10
|
285 640x480
|
yading@10
|
286 .IP "\fBsvga\fR" 4
|
yading@10
|
287 .IX Item "svga"
|
yading@10
|
288 800x600
|
yading@10
|
289 .IP "\fBxga\fR" 4
|
yading@10
|
290 .IX Item "xga"
|
yading@10
|
291 1024x768
|
yading@10
|
292 .IP "\fBuxga\fR" 4
|
yading@10
|
293 .IX Item "uxga"
|
yading@10
|
294 1600x1200
|
yading@10
|
295 .IP "\fBqxga\fR" 4
|
yading@10
|
296 .IX Item "qxga"
|
yading@10
|
297 2048x1536
|
yading@10
|
298 .IP "\fBsxga\fR" 4
|
yading@10
|
299 .IX Item "sxga"
|
yading@10
|
300 1280x1024
|
yading@10
|
301 .IP "\fBqsxga\fR" 4
|
yading@10
|
302 .IX Item "qsxga"
|
yading@10
|
303 2560x2048
|
yading@10
|
304 .IP "\fBhsxga\fR" 4
|
yading@10
|
305 .IX Item "hsxga"
|
yading@10
|
306 5120x4096
|
yading@10
|
307 .IP "\fBwvga\fR" 4
|
yading@10
|
308 .IX Item "wvga"
|
yading@10
|
309 852x480
|
yading@10
|
310 .IP "\fBwxga\fR" 4
|
yading@10
|
311 .IX Item "wxga"
|
yading@10
|
312 1366x768
|
yading@10
|
313 .IP "\fBwsxga\fR" 4
|
yading@10
|
314 .IX Item "wsxga"
|
yading@10
|
315 1600x1024
|
yading@10
|
316 .IP "\fBwuxga\fR" 4
|
yading@10
|
317 .IX Item "wuxga"
|
yading@10
|
318 1920x1200
|
yading@10
|
319 .IP "\fBwoxga\fR" 4
|
yading@10
|
320 .IX Item "woxga"
|
yading@10
|
321 2560x1600
|
yading@10
|
322 .IP "\fBwqsxga\fR" 4
|
yading@10
|
323 .IX Item "wqsxga"
|
yading@10
|
324 3200x2048
|
yading@10
|
325 .IP "\fBwquxga\fR" 4
|
yading@10
|
326 .IX Item "wquxga"
|
yading@10
|
327 3840x2400
|
yading@10
|
328 .IP "\fBwhsxga\fR" 4
|
yading@10
|
329 .IX Item "whsxga"
|
yading@10
|
330 6400x4096
|
yading@10
|
331 .IP "\fBwhuxga\fR" 4
|
yading@10
|
332 .IX Item "whuxga"
|
yading@10
|
333 7680x4800
|
yading@10
|
334 .IP "\fBcga\fR" 4
|
yading@10
|
335 .IX Item "cga"
|
yading@10
|
336 320x200
|
yading@10
|
337 .IP "\fBega\fR" 4
|
yading@10
|
338 .IX Item "ega"
|
yading@10
|
339 640x350
|
yading@10
|
340 .IP "\fBhd480\fR" 4
|
yading@10
|
341 .IX Item "hd480"
|
yading@10
|
342 852x480
|
yading@10
|
343 .IP "\fBhd720\fR" 4
|
yading@10
|
344 .IX Item "hd720"
|
yading@10
|
345 1280x720
|
yading@10
|
346 .IP "\fBhd1080\fR" 4
|
yading@10
|
347 .IX Item "hd1080"
|
yading@10
|
348 1920x1080
|
yading@10
|
349 .IP "\fB2k\fR" 4
|
yading@10
|
350 .IX Item "2k"
|
yading@10
|
351 2048x1080
|
yading@10
|
352 .IP "\fB2kflat\fR" 4
|
yading@10
|
353 .IX Item "2kflat"
|
yading@10
|
354 1998x1080
|
yading@10
|
355 .IP "\fB2kscope\fR" 4
|
yading@10
|
356 .IX Item "2kscope"
|
yading@10
|
357 2048x858
|
yading@10
|
358 .IP "\fB4k\fR" 4
|
yading@10
|
359 .IX Item "4k"
|
yading@10
|
360 4096x2160
|
yading@10
|
361 .IP "\fB4kflat\fR" 4
|
yading@10
|
362 .IX Item "4kflat"
|
yading@10
|
363 3996x2160
|
yading@10
|
364 .IP "\fB4kscope\fR" 4
|
yading@10
|
365 .IX Item "4kscope"
|
yading@10
|
366 4096x1716
|
yading@10
|
367 .SS "Video rate"
|
yading@10
|
368 .IX Subsection "Video rate"
|
yading@10
|
369 Specify the frame rate of a video, expressed as the number of frames
|
yading@10
|
370 generated per second. It has to be a string in the format
|
yading@10
|
371 \&\fIframe_rate_num\fR/\fIframe_rate_den\fR, an integer number, a float
|
yading@10
|
372 number or a valid video frame rate abbreviation.
|
yading@10
|
373 .PP
|
yading@10
|
374 The following abbreviations are recognized:
|
yading@10
|
375 .IP "\fBntsc\fR" 4
|
yading@10
|
376 .IX Item "ntsc"
|
yading@10
|
377 30000/1001
|
yading@10
|
378 .IP "\fBpal\fR" 4
|
yading@10
|
379 .IX Item "pal"
|
yading@10
|
380 25/1
|
yading@10
|
381 .IP "\fBqntsc\fR" 4
|
yading@10
|
382 .IX Item "qntsc"
|
yading@10
|
383 30000/1001
|
yading@10
|
384 .IP "\fBqpal\fR" 4
|
yading@10
|
385 .IX Item "qpal"
|
yading@10
|
386 25/1
|
yading@10
|
387 .IP "\fBsntsc\fR" 4
|
yading@10
|
388 .IX Item "sntsc"
|
yading@10
|
389 30000/1001
|
yading@10
|
390 .IP "\fBspal\fR" 4
|
yading@10
|
391 .IX Item "spal"
|
yading@10
|
392 25/1
|
yading@10
|
393 .IP "\fBfilm\fR" 4
|
yading@10
|
394 .IX Item "film"
|
yading@10
|
395 24/1
|
yading@10
|
396 .IP "\fBntsc-film\fR" 4
|
yading@10
|
397 .IX Item "ntsc-film"
|
yading@10
|
398 24000/1001
|
yading@10
|
399 .SS "Ratio"
|
yading@10
|
400 .IX Subsection "Ratio"
|
yading@10
|
401 A ratio can be expressed as an expression, or in the form
|
yading@10
|
402 \&\fInumerator\fR:\fIdenominator\fR.
|
yading@10
|
403 .PP
|
yading@10
|
404 Note that a ratio with infinite (1/0) or negative value is
|
yading@10
|
405 considered valid, so you should check on the returned value if you
|
yading@10
|
406 want to exclude those values.
|
yading@10
|
407 .PP
|
yading@10
|
408 The undefined value can be expressed using the \*(L"0:0\*(R" string.
|
yading@10
|
409 .SS "Color"
|
yading@10
|
410 .IX Subsection "Color"
|
yading@10
|
411 It can be the name of a color (case insensitive match) or a
|
yading@10
|
412 [0x|#]RRGGBB[\s-1AA\s0] sequence, possibly followed by \*(L"@\*(R" and a string
|
yading@10
|
413 representing the alpha component.
|
yading@10
|
414 .PP
|
yading@10
|
415 The alpha component may be a string composed by \*(L"0x\*(R" followed by an
|
yading@10
|
416 hexadecimal number or a decimal number between 0.0 and 1.0, which
|
yading@10
|
417 represents the opacity value (0x00/0.0 means completely transparent,
|
yading@10
|
418 0xff/1.0 completely opaque).
|
yading@10
|
419 If the alpha component is not specified then 0xff is assumed.
|
yading@10
|
420 .PP
|
yading@10
|
421 The string \*(L"random\*(R" will result in a random color.
|
yading@10
|
422 .SH "EXPRESSION EVALUATION"
|
yading@10
|
423 .IX Header "EXPRESSION EVALUATION"
|
yading@10
|
424 When evaluating an arithmetic expression, FFmpeg uses an internal
|
yading@10
|
425 formula evaluator, implemented through the \fIlibavutil/eval.h\fR
|
yading@10
|
426 interface.
|
yading@10
|
427 .PP
|
yading@10
|
428 An expression may contain unary, binary operators, constants, and
|
yading@10
|
429 functions.
|
yading@10
|
430 .PP
|
yading@10
|
431 Two expressions \fIexpr1\fR and \fIexpr2\fR can be combined to form
|
yading@10
|
432 another expression "\fIexpr1\fR;\fIexpr2\fR".
|
yading@10
|
433 \&\fIexpr1\fR and \fIexpr2\fR are evaluated in turn, and the new
|
yading@10
|
434 expression evaluates to the value of \fIexpr2\fR.
|
yading@10
|
435 .PP
|
yading@10
|
436 The following binary operators are available: \f(CW\*(C`+\*(C'\fR, \f(CW\*(C`\-\*(C'\fR,
|
yading@10
|
437 \&\f(CW\*(C`*\*(C'\fR, \f(CW\*(C`/\*(C'\fR, \f(CW\*(C`^\*(C'\fR.
|
yading@10
|
438 .PP
|
yading@10
|
439 The following unary operators are available: \f(CW\*(C`+\*(C'\fR, \f(CW\*(C`\-\*(C'\fR.
|
yading@10
|
440 .PP
|
yading@10
|
441 The following functions are available:
|
yading@10
|
442 .IP "\fBabs(x)\fR" 4
|
yading@10
|
443 .IX Item "abs(x)"
|
yading@10
|
444 Compute absolute value of \fIx\fR.
|
yading@10
|
445 .IP "\fBacos(x)\fR" 4
|
yading@10
|
446 .IX Item "acos(x)"
|
yading@10
|
447 Compute arccosine of \fIx\fR.
|
yading@10
|
448 .IP "\fBasin(x)\fR" 4
|
yading@10
|
449 .IX Item "asin(x)"
|
yading@10
|
450 Compute arcsine of \fIx\fR.
|
yading@10
|
451 .IP "\fBatan(x)\fR" 4
|
yading@10
|
452 .IX Item "atan(x)"
|
yading@10
|
453 Compute arctangent of \fIx\fR.
|
yading@10
|
454 .IP "\fBbetween(x, min, max)\fR" 4
|
yading@10
|
455 .IX Item "between(x, min, max)"
|
yading@10
|
456 Return 1 if \fIx\fR is greater than or equal to \fImin\fR and lesser than or
|
yading@10
|
457 equal to \fImax\fR, 0 otherwise.
|
yading@10
|
458 .IP "\fBbitand(x, y)\fR" 4
|
yading@10
|
459 .IX Item "bitand(x, y)"
|
yading@10
|
460 .PD 0
|
yading@10
|
461 .IP "\fBbitor(x, y)\fR" 4
|
yading@10
|
462 .IX Item "bitor(x, y)"
|
yading@10
|
463 .PD
|
yading@10
|
464 Compute bitwise and/or operation on \fIx\fR and \fIy\fR.
|
yading@10
|
465 .Sp
|
yading@10
|
466 The results of the evaluation of \fIx\fR and \fIy\fR are converted to
|
yading@10
|
467 integers before executing the bitwise operation.
|
yading@10
|
468 .Sp
|
yading@10
|
469 Note that both the conversion to integer and the conversion back to
|
yading@10
|
470 floating point can lose precision. Beware of unexpected results for
|
yading@10
|
471 large numbers (usually 2^53 and larger).
|
yading@10
|
472 .IP "\fBceil(expr)\fR" 4
|
yading@10
|
473 .IX Item "ceil(expr)"
|
yading@10
|
474 Round the value of expression \fIexpr\fR upwards to the nearest
|
yading@10
|
475 integer. For example, \*(L"ceil(1.5)\*(R" is \*(L"2.0\*(R".
|
yading@10
|
476 .IP "\fBcos(x)\fR" 4
|
yading@10
|
477 .IX Item "cos(x)"
|
yading@10
|
478 Compute cosine of \fIx\fR.
|
yading@10
|
479 .IP "\fBcosh(x)\fR" 4
|
yading@10
|
480 .IX Item "cosh(x)"
|
yading@10
|
481 Compute hyperbolic cosine of \fIx\fR.
|
yading@10
|
482 .IP "\fBeq(x, y)\fR" 4
|
yading@10
|
483 .IX Item "eq(x, y)"
|
yading@10
|
484 Return 1 if \fIx\fR and \fIy\fR are equivalent, 0 otherwise.
|
yading@10
|
485 .IP "\fBexp(x)\fR" 4
|
yading@10
|
486 .IX Item "exp(x)"
|
yading@10
|
487 Compute exponential of \fIx\fR (with base \f(CW\*(C`e\*(C'\fR, the Euler's number).
|
yading@10
|
488 .IP "\fBfloor(expr)\fR" 4
|
yading@10
|
489 .IX Item "floor(expr)"
|
yading@10
|
490 Round the value of expression \fIexpr\fR downwards to the nearest
|
yading@10
|
491 integer. For example, \*(L"floor(\-1.5)\*(R" is \*(L"\-2.0\*(R".
|
yading@10
|
492 .IP "\fBgauss(x)\fR" 4
|
yading@10
|
493 .IX Item "gauss(x)"
|
yading@10
|
494 Compute Gauss function of \fIx\fR, corresponding to
|
yading@10
|
495 \&\f(CW\*(C`exp(\-x*x/2) / sqrt(2*PI)\*(C'\fR.
|
yading@10
|
496 .IP "\fBgcd(x, y)\fR" 4
|
yading@10
|
497 .IX Item "gcd(x, y)"
|
yading@10
|
498 Return the greatest common divisor of \fIx\fR and \fIy\fR. If both \fIx\fR and
|
yading@10
|
499 \&\fIy\fR are 0 or either or both are less than zero then behavior is undefined.
|
yading@10
|
500 .IP "\fBgt(x, y)\fR" 4
|
yading@10
|
501 .IX Item "gt(x, y)"
|
yading@10
|
502 Return 1 if \fIx\fR is greater than \fIy\fR, 0 otherwise.
|
yading@10
|
503 .IP "\fBgte(x, y)\fR" 4
|
yading@10
|
504 .IX Item "gte(x, y)"
|
yading@10
|
505 Return 1 if \fIx\fR is greater than or equal to \fIy\fR, 0 otherwise.
|
yading@10
|
506 .IP "\fBhypot(x, y)\fR" 4
|
yading@10
|
507 .IX Item "hypot(x, y)"
|
yading@10
|
508 This function is similar to the C function with the same name; it returns
|
yading@10
|
509 "sqrt(\fIx\fR*\fIx\fR + \fIy\fR*\fIy\fR)", the length of the hypotenuse of a
|
yading@10
|
510 right triangle with sides of length \fIx\fR and \fIy\fR, or the distance of the
|
yading@10
|
511 point (\fIx\fR, \fIy\fR) from the origin.
|
yading@10
|
512 .IP "\fBif(x, y)\fR" 4
|
yading@10
|
513 .IX Item "if(x, y)"
|
yading@10
|
514 Evaluate \fIx\fR, and if the result is non-zero return the result of
|
yading@10
|
515 the evaluation of \fIy\fR, return 0 otherwise.
|
yading@10
|
516 .IP "\fBif(x, y, z)\fR" 4
|
yading@10
|
517 .IX Item "if(x, y, z)"
|
yading@10
|
518 Evaluate \fIx\fR, and if the result is non-zero return the evaluation
|
yading@10
|
519 result of \fIy\fR, otherwise the evaluation result of \fIz\fR.
|
yading@10
|
520 .IP "\fBifnot(x, y)\fR" 4
|
yading@10
|
521 .IX Item "ifnot(x, y)"
|
yading@10
|
522 Evaluate \fIx\fR, and if the result is zero return the result of the
|
yading@10
|
523 evaluation of \fIy\fR, return 0 otherwise.
|
yading@10
|
524 .IP "\fBifnot(x, y, z)\fR" 4
|
yading@10
|
525 .IX Item "ifnot(x, y, z)"
|
yading@10
|
526 Evaluate \fIx\fR, and if the result is zero return the evaluation
|
yading@10
|
527 result of \fIy\fR, otherwise the evaluation result of \fIz\fR.
|
yading@10
|
528 .IP "\fBisinf(x)\fR" 4
|
yading@10
|
529 .IX Item "isinf(x)"
|
yading@10
|
530 Return 1.0 if \fIx\fR is +/\-INFINITY, 0.0 otherwise.
|
yading@10
|
531 .IP "\fBisnan(x)\fR" 4
|
yading@10
|
532 .IX Item "isnan(x)"
|
yading@10
|
533 Return 1.0 if \fIx\fR is \s-1NAN\s0, 0.0 otherwise.
|
yading@10
|
534 .IP "\fBld(var)\fR" 4
|
yading@10
|
535 .IX Item "ld(var)"
|
yading@10
|
536 Allow to load the value of the internal variable with number
|
yading@10
|
537 \&\fIvar\fR, which was previously stored with st(\fIvar\fR, \fIexpr\fR).
|
yading@10
|
538 The function returns the loaded value.
|
yading@10
|
539 .IP "\fBlog(x)\fR" 4
|
yading@10
|
540 .IX Item "log(x)"
|
yading@10
|
541 Compute natural logarithm of \fIx\fR.
|
yading@10
|
542 .IP "\fBlt(x, y)\fR" 4
|
yading@10
|
543 .IX Item "lt(x, y)"
|
yading@10
|
544 Return 1 if \fIx\fR is lesser than \fIy\fR, 0 otherwise.
|
yading@10
|
545 .IP "\fBlte(x, y)\fR" 4
|
yading@10
|
546 .IX Item "lte(x, y)"
|
yading@10
|
547 Return 1 if \fIx\fR is lesser than or equal to \fIy\fR, 0 otherwise.
|
yading@10
|
548 .IP "\fBmax(x, y)\fR" 4
|
yading@10
|
549 .IX Item "max(x, y)"
|
yading@10
|
550 Return the maximum between \fIx\fR and \fIy\fR.
|
yading@10
|
551 .IP "\fBmin(x, y)\fR" 4
|
yading@10
|
552 .IX Item "min(x, y)"
|
yading@10
|
553 Return the maximum between \fIx\fR and \fIy\fR.
|
yading@10
|
554 .IP "\fBmod(x, y)\fR" 4
|
yading@10
|
555 .IX Item "mod(x, y)"
|
yading@10
|
556 Compute the remainder of division of \fIx\fR by \fIy\fR.
|
yading@10
|
557 .IP "\fBnot(expr)\fR" 4
|
yading@10
|
558 .IX Item "not(expr)"
|
yading@10
|
559 Return 1.0 if \fIexpr\fR is zero, 0.0 otherwise.
|
yading@10
|
560 .IP "\fBpow(x, y)\fR" 4
|
yading@10
|
561 .IX Item "pow(x, y)"
|
yading@10
|
562 Compute the power of \fIx\fR elevated \fIy\fR, it is equivalent to
|
yading@10
|
563 "(\fIx\fR)^(\fIy\fR)".
|
yading@10
|
564 .IP "\fBprint(t)\fR" 4
|
yading@10
|
565 .IX Item "print(t)"
|
yading@10
|
566 .PD 0
|
yading@10
|
567 .IP "\fBprint(t, l)\fR" 4
|
yading@10
|
568 .IX Item "print(t, l)"
|
yading@10
|
569 .PD
|
yading@10
|
570 Print the value of expression \fIt\fR with loglevel \fIl\fR. If
|
yading@10
|
571 \&\fIl\fR is not specified then a default log level is used.
|
yading@10
|
572 Returns the value of the expression printed.
|
yading@10
|
573 .Sp
|
yading@10
|
574 Prints t with loglevel l
|
yading@10
|
575 .IP "\fBrandom(x)\fR" 4
|
yading@10
|
576 .IX Item "random(x)"
|
yading@10
|
577 Return a pseudo random value between 0.0 and 1.0. \fIx\fR is the index of the
|
yading@10
|
578 internal variable which will be used to save the seed/state.
|
yading@10
|
579 .IP "\fBroot(expr, max)\fR" 4
|
yading@10
|
580 .IX Item "root(expr, max)"
|
yading@10
|
581 Find an input value for which the function represented by \fIexpr\fR
|
yading@10
|
582 with argument \fI\fIld\fI\|(0)\fR is 0 in the interval 0..\fImax\fR.
|
yading@10
|
583 .Sp
|
yading@10
|
584 The expression in \fIexpr\fR must denote a continuous function or the
|
yading@10
|
585 result is undefined.
|
yading@10
|
586 .Sp
|
yading@10
|
587 \&\fI\fIld\fI\|(0)\fR is used to represent the function input value, which means
|
yading@10
|
588 that the given expression will be evaluated multiple times with
|
yading@10
|
589 various input values that the expression can access through
|
yading@10
|
590 \&\f(CWld(0)\fR. When the expression evaluates to 0 then the
|
yading@10
|
591 corresponding input value will be returned.
|
yading@10
|
592 .IP "\fBsin(x)\fR" 4
|
yading@10
|
593 .IX Item "sin(x)"
|
yading@10
|
594 Compute sine of \fIx\fR.
|
yading@10
|
595 .IP "\fBsinh(x)\fR" 4
|
yading@10
|
596 .IX Item "sinh(x)"
|
yading@10
|
597 Compute hyperbolic sine of \fIx\fR.
|
yading@10
|
598 .IP "\fBsqrt(expr)\fR" 4
|
yading@10
|
599 .IX Item "sqrt(expr)"
|
yading@10
|
600 Compute the square root of \fIexpr\fR. This is equivalent to
|
yading@10
|
601 "(\fIexpr\fR)^.5".
|
yading@10
|
602 .IP "\fBsquish(x)\fR" 4
|
yading@10
|
603 .IX Item "squish(x)"
|
yading@10
|
604 Compute expression \f(CW\*(C`1/(1 + exp(4*x))\*(C'\fR.
|
yading@10
|
605 .IP "\fBst(var, expr)\fR" 4
|
yading@10
|
606 .IX Item "st(var, expr)"
|
yading@10
|
607 Allow to store the value of the expression \fIexpr\fR in an internal
|
yading@10
|
608 variable. \fIvar\fR specifies the number of the variable where to
|
yading@10
|
609 store the value, and it is a value ranging from 0 to 9. The function
|
yading@10
|
610 returns the value stored in the internal variable.
|
yading@10
|
611 Note, Variables are currently not shared between expressions.
|
yading@10
|
612 .IP "\fBtan(x)\fR" 4
|
yading@10
|
613 .IX Item "tan(x)"
|
yading@10
|
614 Compute tangent of \fIx\fR.
|
yading@10
|
615 .IP "\fBtanh(x)\fR" 4
|
yading@10
|
616 .IX Item "tanh(x)"
|
yading@10
|
617 Compute hyperbolic tangent of \fIx\fR.
|
yading@10
|
618 .IP "\fBtaylor(expr, x)\fR" 4
|
yading@10
|
619 .IX Item "taylor(expr, x)"
|
yading@10
|
620 .PD 0
|
yading@10
|
621 .IP "\fBtaylor(expr, x, id)\fR" 4
|
yading@10
|
622 .IX Item "taylor(expr, x, id)"
|
yading@10
|
623 .PD
|
yading@10
|
624 Evaluate a Taylor series at \fIx\fR, given an expression representing
|
yading@10
|
625 the \f(CW\*(C`ld(id)\*(C'\fR\-th derivative of a function at 0.
|
yading@10
|
626 .Sp
|
yading@10
|
627 When the series does not converge the result is undefined.
|
yading@10
|
628 .Sp
|
yading@10
|
629 \&\fIld(id)\fR is used to represent the derivative order in \fIexpr\fR,
|
yading@10
|
630 which means that the given expression will be evaluated multiple times
|
yading@10
|
631 with various input values that the expression can access through
|
yading@10
|
632 \&\f(CW\*(C`ld(id)\*(C'\fR. If \fIid\fR is not specified then 0 is assumed.
|
yading@10
|
633 .Sp
|
yading@10
|
634 Note, when you have the derivatives at y instead of 0,
|
yading@10
|
635 \&\f(CW\*(C`taylor(expr, x\-y)\*(C'\fR can be used.
|
yading@10
|
636 .IP "\fB\f(BItime\fB\|(0)\fR" 4
|
yading@10
|
637 .IX Item "time"
|
yading@10
|
638 Return the current (wallclock) time in seconds.
|
yading@10
|
639 .IP "\fBtrunc(expr)\fR" 4
|
yading@10
|
640 .IX Item "trunc(expr)"
|
yading@10
|
641 Round the value of expression \fIexpr\fR towards zero to the nearest
|
yading@10
|
642 integer. For example, \*(L"trunc(\-1.5)\*(R" is \*(L"\-1.0\*(R".
|
yading@10
|
643 .IP "\fBwhile(cond, expr)\fR" 4
|
yading@10
|
644 .IX Item "while(cond, expr)"
|
yading@10
|
645 Evaluate expression \fIexpr\fR while the expression \fIcond\fR is
|
yading@10
|
646 non-zero, and returns the value of the last \fIexpr\fR evaluation, or
|
yading@10
|
647 \&\s-1NAN\s0 if \fIcond\fR was always false.
|
yading@10
|
648 .PP
|
yading@10
|
649 The following constants are available:
|
yading@10
|
650 .IP "\fB\s-1PI\s0\fR" 4
|
yading@10
|
651 .IX Item "PI"
|
yading@10
|
652 area of the unit disc, approximately 3.14
|
yading@10
|
653 .IP "\fBE\fR" 4
|
yading@10
|
654 .IX Item "E"
|
yading@10
|
655 \&\fIexp\fR\|(1) (Euler's number), approximately 2.718
|
yading@10
|
656 .IP "\fB\s-1PHI\s0\fR" 4
|
yading@10
|
657 .IX Item "PHI"
|
yading@10
|
658 golden ratio (1+\fIsqrt\fR\|(5))/2, approximately 1.618
|
yading@10
|
659 .PP
|
yading@10
|
660 Assuming that an expression is considered \*(L"true\*(R" if it has a non-zero
|
yading@10
|
661 value, note that:
|
yading@10
|
662 .PP
|
yading@10
|
663 \&\f(CW\*(C`*\*(C'\fR works like \s-1AND\s0
|
yading@10
|
664 .PP
|
yading@10
|
665 \&\f(CW\*(C`+\*(C'\fR works like \s-1OR\s0
|
yading@10
|
666 .PP
|
yading@10
|
667 For example the construct:
|
yading@10
|
668 .PP
|
yading@10
|
669 .Vb 1
|
yading@10
|
670 \& if (A AND B) then C
|
yading@10
|
671 .Ve
|
yading@10
|
672 .PP
|
yading@10
|
673 is equivalent to:
|
yading@10
|
674 .PP
|
yading@10
|
675 .Vb 1
|
yading@10
|
676 \& if(A*B, C)
|
yading@10
|
677 .Ve
|
yading@10
|
678 .PP
|
yading@10
|
679 In your C code, you can extend the list of unary and binary functions,
|
yading@10
|
680 and define recognized constants, so that they are available for your
|
yading@10
|
681 expressions.
|
yading@10
|
682 .PP
|
yading@10
|
683 The evaluator also recognizes the International System unit prefixes.
|
yading@10
|
684 If 'i' is appended after the prefix, binary prefixes are used, which
|
yading@10
|
685 are based on powers of 1024 instead of powers of 1000.
|
yading@10
|
686 The 'B' postfix multiplies the value by 8, and can be appended after a
|
yading@10
|
687 unit prefix or used alone. This allows using for example '\s-1KB\s0', 'MiB',
|
yading@10
|
688 \&'G' and 'B' as number postfix.
|
yading@10
|
689 .PP
|
yading@10
|
690 The list of available International System prefixes follows, with
|
yading@10
|
691 indication of the corresponding powers of 10 and of 2.
|
yading@10
|
692 .IP "\fBy\fR" 4
|
yading@10
|
693 .IX Item "y"
|
yading@10
|
694 10^\-24 / 2^\-80
|
yading@10
|
695 .IP "\fBz\fR" 4
|
yading@10
|
696 .IX Item "z"
|
yading@10
|
697 10^\-21 / 2^\-70
|
yading@10
|
698 .IP "\fBa\fR" 4
|
yading@10
|
699 .IX Item "a"
|
yading@10
|
700 10^\-18 / 2^\-60
|
yading@10
|
701 .IP "\fBf\fR" 4
|
yading@10
|
702 .IX Item "f"
|
yading@10
|
703 10^\-15 / 2^\-50
|
yading@10
|
704 .IP "\fBp\fR" 4
|
yading@10
|
705 .IX Item "p"
|
yading@10
|
706 10^\-12 / 2^\-40
|
yading@10
|
707 .IP "\fBn\fR" 4
|
yading@10
|
708 .IX Item "n"
|
yading@10
|
709 10^\-9 / 2^\-30
|
yading@10
|
710 .IP "\fBu\fR" 4
|
yading@10
|
711 .IX Item "u"
|
yading@10
|
712 10^\-6 / 2^\-20
|
yading@10
|
713 .IP "\fBm\fR" 4
|
yading@10
|
714 .IX Item "m"
|
yading@10
|
715 10^\-3 / 2^\-10
|
yading@10
|
716 .IP "\fBc\fR" 4
|
yading@10
|
717 .IX Item "c"
|
yading@10
|
718 10^\-2
|
yading@10
|
719 .IP "\fBd\fR" 4
|
yading@10
|
720 .IX Item "d"
|
yading@10
|
721 10^\-1
|
yading@10
|
722 .IP "\fBh\fR" 4
|
yading@10
|
723 .IX Item "h"
|
yading@10
|
724 10^2
|
yading@10
|
725 .IP "\fBk\fR" 4
|
yading@10
|
726 .IX Item "k"
|
yading@10
|
727 10^3 / 2^10
|
yading@10
|
728 .IP "\fBK\fR" 4
|
yading@10
|
729 .IX Item "K"
|
yading@10
|
730 10^3 / 2^10
|
yading@10
|
731 .IP "\fBM\fR" 4
|
yading@10
|
732 .IX Item "M"
|
yading@10
|
733 10^6 / 2^20
|
yading@10
|
734 .IP "\fBG\fR" 4
|
yading@10
|
735 .IX Item "G"
|
yading@10
|
736 10^9 / 2^30
|
yading@10
|
737 .IP "\fBT\fR" 4
|
yading@10
|
738 .IX Item "T"
|
yading@10
|
739 10^12 / 2^40
|
yading@10
|
740 .IP "\fBP\fR" 4
|
yading@10
|
741 .IX Item "P"
|
yading@10
|
742 10^15 / 2^40
|
yading@10
|
743 .IP "\fBE\fR" 4
|
yading@10
|
744 .IX Item "E"
|
yading@10
|
745 10^18 / 2^50
|
yading@10
|
746 .IP "\fBZ\fR" 4
|
yading@10
|
747 .IX Item "Z"
|
yading@10
|
748 10^21 / 2^60
|
yading@10
|
749 .IP "\fBY\fR" 4
|
yading@10
|
750 .IX Item "Y"
|
yading@10
|
751 10^24 / 2^70
|
yading@10
|
752 .SH "OPENCL OPTIONS"
|
yading@10
|
753 .IX Header "OPENCL OPTIONS"
|
yading@10
|
754 When FFmpeg is configured with \f(CW\*(C`\-\-enable\-opencl\*(C'\fR, it is possible
|
yading@10
|
755 to set the options for the global OpenCL context.
|
yading@10
|
756 .PP
|
yading@10
|
757 The list of supported options follows:
|
yading@10
|
758 .IP "\fBbuild_options\fR" 4
|
yading@10
|
759 .IX Item "build_options"
|
yading@10
|
760 Set build options used to compile the registered kernels.
|
yading@10
|
761 .Sp
|
yading@10
|
762 See reference \*(L"OpenCL Specification Version: 1.2 chapter 5.6.4\*(R".
|
yading@10
|
763 .IP "\fBplatform_idx\fR" 4
|
yading@10
|
764 .IX Item "platform_idx"
|
yading@10
|
765 Select the index of the platform to run OpenCL code.
|
yading@10
|
766 .Sp
|
yading@10
|
767 The specified index must be one of the indexes in the device list
|
yading@10
|
768 which can be obtained with \f(CW\*(C`av_opencl_get_device_list()\*(C'\fR.
|
yading@10
|
769 .IP "\fBdevice_idx\fR" 4
|
yading@10
|
770 .IX Item "device_idx"
|
yading@10
|
771 Select the index of the device used to run OpenCL code.
|
yading@10
|
772 .Sp
|
yading@10
|
773 The specifed index must be one of the indexes in the device list which
|
yading@10
|
774 can be obtained with \f(CW\*(C`av_opencl_get_device_list()\*(C'\fR.
|
yading@10
|
775 .SH "SEE ALSO"
|
yading@10
|
776 .IX Header "SEE ALSO"
|
yading@10
|
777 \&\fIffmpeg\fR\|(1), \fIffplay\fR\|(1), \fIffprobe\fR\|(1), \fIffserver\fR\|(1), \fIlibavutil\fR\|(3)
|
yading@10
|
778 .SH "AUTHORS"
|
yading@10
|
779 .IX Header "AUTHORS"
|
yading@10
|
780 The FFmpeg developers.
|
yading@10
|
781 .PP
|
yading@10
|
782 For details about the authorship, see the Git history of the project
|
yading@10
|
783 (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
|
yading@10
|
784 \&\fBgit log\fR in the FFmpeg source directory, or browsing the
|
yading@10
|
785 online repository at <\fBhttp://source.ffmpeg.org\fR>.
|
yading@10
|
786 .PP
|
yading@10
|
787 Maintainers for the specific components are listed in the file
|
yading@10
|
788 \&\fI\s-1MAINTAINERS\s0\fR in the source code tree.
|