Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
  2. .\"
  3. .\" Standard preamble:
  4. .\" ========================================================================
  5. .de Sh \" Subsection heading
  6. .br
  7. .if t .Sp
  8. .ne 5
  9. .PP
  10. \fB\\$1\fR
  11. .PP
  12. ..
  13. .de Sp \" Vertical space (when we can't use .PP)
  14. .if t .sp .5v
  15. .if n .sp
  16. ..
  17. .de Vb \" Begin verbatim text
  18. .ft CW
  19. .nf
  20. .ne \\$1
  21. ..
  22. .de Ve \" End verbatim text
  23. .ft R
  24. .fi
  25. ..
  26. .\" Set up some character translations and predefined strings.  \*(-- will
  27. .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
  28. .\" double quote, and \*(R" will give a right double quote.  | will give a
  29. .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
  30. .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
  31. .\" expand to `' in nroff, nothing in troff, for use with C<>.
  32. .tr \(*W-|\(bv\*(Tr
  33. .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
  34. .ie n \{\
  35. .    ds -- \(*W-
  36. .    ds PI pi
  37. .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
  38. .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
  39. .    ds L" ""
  40. .    ds R" ""
  41. .    ds C` ""
  42. .    ds C' ""
  43. 'br\}
  44. .el\{\
  45. .    ds -- \|\(em\|
  46. .    ds PI \(*p
  47. .    ds L" ``
  48. .    ds R" ''
  49. 'br\}
  50. .\"
  51. .\" If the F register is turned on, we'll generate index entries on stderr for
  52. .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
  53. .\" entries marked with X<> in POD.  Of course, you'll have to process the
  54. .\" output yourself in some meaningful fashion.
  55. .if \nF \{\
  56. .    de IX
  57. .    tm Index:\\$1\t\\n%\t"\\$2"
  58. ..
  59. .    nr % 0
  60. .    rr F
  61. .\}
  62. .\"
  63. .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
  64. .\" way too many mistakes in technical documents.
  65. .hy 0
  66. .if n .na
  67. .\"
  68. .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
  69. .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
  70. .    \" fudge factors for nroff and troff
  71. .if n \{\
  72. .    ds #H 0
  73. .    ds #V .8m
  74. .    ds #F .3m
  75. .    ds #[ \f1
  76. .    ds #] \fP
  77. .\}
  78. .if t \{\
  79. .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
  80. .    ds #V .6m
  81. .    ds #F 0
  82. .    ds #[ \&
  83. .    ds #] \&
  84. .\}
  85. .    \" simple accents for nroff and troff
  86. .if n \{\
  87. .    ds ' \&
  88. .    ds ` \&
  89. .    ds ^ \&
  90. .    ds , \&
  91. .    ds ~ ~
  92. .    ds /
  93. .\}
  94. .if t \{\
  95. .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
  96. .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
  97. .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
  98. .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
  99. .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
  100. .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
  101. .\}
  102. .    \" troff and (daisy-wheel) nroff accents
  103. .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
  104. .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
  105. .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
  106. .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
  107. .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
  108. .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
  109. .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
  110. .ds ae a\h'-(\w'a'u*4/10)'e
  111. .ds Ae A\h'-(\w'A'u*4/10)'E
  112. .    \" corrections for vroff
  113. .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
  114. .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
  115. .    \" for low resolution devices (crt and lpr)
  116. .if \n(.H>23 .if \n(.V>19 \
  117. \{\
  118. .    ds : e
  119. .    ds 8 ss
  120. .    ds o a
  121. .    ds d- d\h'-1'\(ga
  122. .    ds D- D\h'-1'\(hy
  123. .    ds th \o'bp'
  124. .    ds Th \o'LP'
  125. .    ds ae ae
  126. .    ds Ae AE
  127. .\}
  128. .rm #[ #] #H #V #F C
  129. .\" ========================================================================
  130. .\"
  131. .IX Title "FFMPEG-UTILS 1"
  132. .TH FFMPEG-UTILS 1 "2013-12-14" " " " "
  133. .SH "NAME"
  134. ffmpeg\-utils \- FFmpeg utilities
  135. .SH "DESCRIPTION"
  136. .IX Header "DESCRIPTION"
  137. This document describes some generic features and utilities provided
  138. by the libavutil library.
  139. .SH "SYNTAX"
  140. .IX Header "SYNTAX"
  141. This section documents the syntax and formats employed by the FFmpeg
  142. libraries and tools.
  143. .Sh "Quoting and escaping"
  144. .IX Subsection "Quoting and escaping"
  145. FFmpeg adopts the following quoting and escaping mechanism, unless
  146. explicitly specified. The following rules are applied:
  147. .IP "\(bu" 4
  148. \&\f(CW\*(C`'\*(C'\fR and \f(CW\*(C`\e\*(C'\fR are special characters (respectively used for
  149. quoting and escaping). In addition to them, there might be other
  150. special characters depending on the specific syntax where the escaping
  151. and quoting are employed.
  152. .IP "\(bu" 4
  153. A special character is escaped by prefixing it with a '\e'.
  154. .IP "\(bu" 4
  155. All characters enclosed between '' are included literally in the
  156. parsed string. The quote character \f(CW\*(C`'\*(C'\fR itself cannot be quoted,
  157. so you may need to close the quote and escape it.
  158. .IP "\(bu" 4
  159. Leading and trailing whitespaces, unless escaped or quoted, are
  160. removed from the parsed string.
  161. .PP
  162. Note that you may need to add a second level of escaping when using
  163. the command line or a script, which depends on the syntax of the
  164. adopted shell language.
  165. .PP
  166. The function \f(CW\*(C`av_get_token\*(C'\fR defined in
  167. \&\fIlibavutil/avstring.h\fR can be used to parse a token quoted or
  168. escaped according to the rules defined above.
  169. .PP
  170. The tool \fItools/ffescape\fR in the FFmpeg source tree can be used
  171. to automatically quote or escape a string in a script.
  172. .PP
  173. \fIExamples\fR
  174. .IX Subsection "Examples"
  175. .IP "\(bu" 4
  176. Escape the string \f(CW\*(C`Crime d'Amour\*(C'\fR containing the \f(CW\*(C`'\*(C'\fR special
  177. character:
  178. .Sp
  179. .Vb 1
  180. \&        Crime d\e'Amour
  181. .Ve
  182. .IP "\(bu" 4
  183. The string above contains a quote, so the \f(CW\*(C`'\*(C'\fR needs to be escaped
  184. when quoting it:
  185. .Sp
  186. .Vb 1
  187. \&        'Crime d'\e''Amour'
  188. .Ve
  189. .IP "\(bu" 4
  190. Include leading or trailing whitespaces using quoting:
  191. .Sp
  192. .Vb 1
  193. \&        '  this string starts and ends with whitespaces  '
  194. .Ve
  195. .IP "\(bu" 4
  196. Escaping and quoting can be mixed together:
  197. .Sp
  198. .Vb 1
  199. \&        ' The string '\e'string\e'' is a string '
  200. .Ve
  201. .IP "\(bu" 4
  202. To include a literal \f(CW\*(C`\e\*(C'\fR you can use either escaping or quoting:
  203. .Sp
  204. .Vb 1
  205. \&        'c:\efoo' can be written as c:\e\efoo
  206. .Ve
  207. .Sh "Date"
  208. .IX Subsection "Date"
  209. The accepted syntax is:
  210. .PP
  211. .Vb 2
  212. \&        [(YYYY-MM-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z]
  213. \&        now
  214. .Ve
  215. .PP
  216. If the value is \*(L"now\*(R" it takes the current time.
  217. .PP
  218. Time is local time unless Z is appended, in which case it is
  219. interpreted as \s-1UTC\s0.
  220. If the year-month-day part is not specified it takes the current
  221. year\-month\-day.
  222. .Sh "Time duration"
  223. .IX Subsection "Time duration"
  224. There are two accepted syntaxes for expressing time duration.
  225. .PP
  226. .Vb 1
  227. \&        [-][<HH>:]<MM>:<SS>[.<m>...]
  228. .Ve
  229. .PP
  230. \&\fI\s-1HH\s0\fR expresses the number of hours, \fI\s-1MM\s0\fR the number of minutes
  231. for a maximum of 2 digits, and \fI\s-1SS\s0\fR the number of seconds for a
  232. maximum of 2 digits. The \fIm\fR at the end expresses decimal value for
  233. \&\fI\s-1SS\s0\fR.
  234. .PP
  235. \&\fIor\fR
  236. .PP
  237. .Vb 1
  238. \&        [-]<S>+[.<m>...]
  239. .Ve
  240. .PP
  241. \&\fIS\fR expresses the number of seconds, with the optional decimal part
  242. \&\fIm\fR.
  243. .PP
  244. In both expressions, the optional \fB\-\fR indicates negative duration.
  245. .PP
  246. \fIExamples\fR
  247. .IX Subsection "Examples"
  248. .PP
  249. The following examples are all valid time duration:
  250. .IP "\fB55\fR" 4
  251. .IX Item "55"
  252. 55 seconds
  253. .IP "\fB12:03:45\fR" 4
  254. .IX Item "12:03:45"
  255. 12 hours, 03 minutes and 45 seconds
  256. .IP "\fB23.189\fR" 4
  257. .IX Item "23.189"
  258. 23.189 seconds
  259. .Sh "Video size"
  260. .IX Subsection "Video size"
  261. Specify the size of the sourced video, it may be a string of the form
  262. \&\fIwidth\fRx\fIheight\fR, or the name of a size abbreviation.
  263. .PP
  264. The following abbreviations are recognized:
  265. .IP "\fBntsc\fR" 4
  266. .IX Item "ntsc"
  267. 720x480
  268. .IP "\fBpal\fR" 4
  269. .IX Item "pal"
  270. 720x576
  271. .IP "\fBqntsc\fR" 4
  272. .IX Item "qntsc"
  273. 352x240
  274. .IP "\fBqpal\fR" 4
  275. .IX Item "qpal"
  276. 352x288
  277. .IP "\fBsntsc\fR" 4
  278. .IX Item "sntsc"
  279. 640x480
  280. .IP "\fBspal\fR" 4
  281. .IX Item "spal"
  282. 768x576
  283. .IP "\fBfilm\fR" 4
  284. .IX Item "film"
  285. 352x240
  286. .IP "\fBntsc-film\fR" 4
  287. .IX Item "ntsc-film"
  288. 352x240
  289. .IP "\fBsqcif\fR" 4
  290. .IX Item "sqcif"
  291. 128x96
  292. .IP "\fBqcif\fR" 4
  293. .IX Item "qcif"
  294. 176x144
  295. .IP "\fBcif\fR" 4
  296. .IX Item "cif"
  297. 352x288
  298. .IP "\fB4cif\fR" 4
  299. .IX Item "4cif"
  300. 704x576
  301. .IP "\fB16cif\fR" 4
  302. .IX Item "16cif"
  303. 1408x1152
  304. .IP "\fBqqvga\fR" 4
  305. .IX Item "qqvga"
  306. 160x120
  307. .IP "\fBqvga\fR" 4
  308. .IX Item "qvga"
  309. 320x240
  310. .IP "\fBvga\fR" 4
  311. .IX Item "vga"
  312. 640x480
  313. .IP "\fBsvga\fR" 4
  314. .IX Item "svga"
  315. 800x600
  316. .IP "\fBxga\fR" 4
  317. .IX Item "xga"
  318. 1024x768
  319. .IP "\fBuxga\fR" 4
  320. .IX Item "uxga"
  321. 1600x1200
  322. .IP "\fBqxga\fR" 4
  323. .IX Item "qxga"
  324. 2048x1536
  325. .IP "\fBsxga\fR" 4
  326. .IX Item "sxga"
  327. 1280x1024
  328. .IP "\fBqsxga\fR" 4
  329. .IX Item "qsxga"
  330. 2560x2048
  331. .IP "\fBhsxga\fR" 4
  332. .IX Item "hsxga"
  333. 5120x4096
  334. .IP "\fBwvga\fR" 4
  335. .IX Item "wvga"
  336. 852x480
  337. .IP "\fBwxga\fR" 4
  338. .IX Item "wxga"
  339. 1366x768
  340. .IP "\fBwsxga\fR" 4
  341. .IX Item "wsxga"
  342. 1600x1024
  343. .IP "\fBwuxga\fR" 4
  344. .IX Item "wuxga"
  345. 1920x1200
  346. .IP "\fBwoxga\fR" 4
  347. .IX Item "woxga"
  348. 2560x1600
  349. .IP "\fBwqsxga\fR" 4
  350. .IX Item "wqsxga"
  351. 3200x2048
  352. .IP "\fBwquxga\fR" 4
  353. .IX Item "wquxga"
  354. 3840x2400
  355. .IP "\fBwhsxga\fR" 4
  356. .IX Item "whsxga"
  357. 6400x4096
  358. .IP "\fBwhuxga\fR" 4
  359. .IX Item "whuxga"
  360. 7680x4800
  361. .IP "\fBcga\fR" 4
  362. .IX Item "cga"
  363. 320x200
  364. .IP "\fBega\fR" 4
  365. .IX Item "ega"
  366. 640x350
  367. .IP "\fBhd480\fR" 4
  368. .IX Item "hd480"
  369. 852x480
  370. .IP "\fBhd720\fR" 4
  371. .IX Item "hd720"
  372. 1280x720
  373. .IP "\fBhd1080\fR" 4
  374. .IX Item "hd1080"
  375. 1920x1080
  376. .IP "\fB2k\fR" 4
  377. .IX Item "2k"
  378. 2048x1080
  379. .IP "\fB2kflat\fR" 4
  380. .IX Item "2kflat"
  381. 1998x1080
  382. .IP "\fB2kscope\fR" 4
  383. .IX Item "2kscope"
  384. 2048x858
  385. .IP "\fB4k\fR" 4
  386. .IX Item "4k"
  387. 4096x2160
  388. .IP "\fB4kflat\fR" 4
  389. .IX Item "4kflat"
  390. 3996x2160
  391. .IP "\fB4kscope\fR" 4
  392. .IX Item "4kscope"
  393. 4096x1716
  394. .IP "\fBnhd\fR" 4
  395. .IX Item "nhd"
  396. 640x360
  397. .IP "\fBhqvga\fR" 4
  398. .IX Item "hqvga"
  399. 240x160
  400. .IP "\fBwqvga\fR" 4
  401. .IX Item "wqvga"
  402. 400x240
  403. .IP "\fBfwqvga\fR" 4
  404. .IX Item "fwqvga"
  405. 432x240
  406. .IP "\fBhvga\fR" 4
  407. .IX Item "hvga"
  408. 480x320
  409. .IP "\fBqhd\fR" 4
  410. .IX Item "qhd"
  411. 960x540
  412. .Sh "Video rate"
  413. .IX Subsection "Video rate"
  414. Specify the frame rate of a video, expressed as the number of frames
  415. generated per second. It has to be a string in the format
  416. \&\fIframe_rate_num\fR/\fIframe_rate_den\fR, an integer number, a float
  417. number or a valid video frame rate abbreviation.
  418. .PP
  419. The following abbreviations are recognized:
  420. .IP "\fBntsc\fR" 4
  421. .IX Item "ntsc"
  422. 30000/1001
  423. .IP "\fBpal\fR" 4
  424. .IX Item "pal"
  425. 25/1
  426. .IP "\fBqntsc\fR" 4
  427. .IX Item "qntsc"
  428. 30000/1001
  429. .IP "\fBqpal\fR" 4
  430. .IX Item "qpal"
  431. 25/1
  432. .IP "\fBsntsc\fR" 4
  433. .IX Item "sntsc"
  434. 30000/1001
  435. .IP "\fBspal\fR" 4
  436. .IX Item "spal"
  437. 25/1
  438. .IP "\fBfilm\fR" 4
  439. .IX Item "film"
  440. 24/1
  441. .IP "\fBntsc-film\fR" 4
  442. .IX Item "ntsc-film"
  443. 24000/1001
  444. .Sh "Ratio"
  445. .IX Subsection "Ratio"
  446. A ratio can be expressed as an expression, or in the form
  447. \&\fInumerator\fR:\fIdenominator\fR.
  448. .PP
  449. Note that a ratio with infinite (1/0) or negative value is
  450. considered valid, so you should check on the returned value if you
  451. want to exclude those values.
  452. .PP
  453. The undefined value can be expressed using the \*(L"0:0\*(R" string.
  454. .Sh "Color"
  455. .IX Subsection "Color"
  456. It can be the name of a color as defined below (case insensitive match) or a
  457. \&\f(CW\*(C`[0x|#]RRGGBB[AA]\*(C'\fR sequence, possibly followed by @ and a string
  458. representing the alpha component.
  459. .PP
  460. The alpha component may be a string composed by \*(L"0x\*(R" followed by an
  461. hexadecimal number or a decimal number between 0.0 and 1.0, which
  462. represents the opacity value (\fB0x00\fR or \fB0.0\fR means completely
  463. transparent, \fB0xff\fR or \fB1.0\fR completely opaque). If the alpha
  464. component is not specified then \fB0xff\fR is assumed.
  465. .PP
  466. The string \fBrandom\fR will result in a random color.
  467. .PP
  468. The following names of colors are recognized:
  469. .IP "\fBAliceBlue\fR" 4
  470. .IX Item "AliceBlue"
  471. 0xF0F8FF
  472. .IP "\fBAntiqueWhite\fR" 4
  473. .IX Item "AntiqueWhite"
  474. 0xFAEBD7
  475. .IP "\fBAqua\fR" 4
  476. .IX Item "Aqua"
  477. 0x00FFFF
  478. .IP "\fBAquamarine\fR" 4
  479. .IX Item "Aquamarine"
  480. 0x7FFFD4
  481. .IP "\fBAzure\fR" 4
  482. .IX Item "Azure"
  483. 0xF0FFFF
  484. .IP "\fBBeige\fR" 4
  485. .IX Item "Beige"
  486. 0xF5F5DC
  487. .IP "\fBBisque\fR" 4
  488. .IX Item "Bisque"
  489. 0xFFE4C4
  490. .IP "\fBBlack\fR" 4
  491. .IX Item "Black"
  492. 0x000000
  493. .IP "\fBBlanchedAlmond\fR" 4
  494. .IX Item "BlanchedAlmond"
  495. 0xFFEBCD
  496. .IP "\fBBlue\fR" 4
  497. .IX Item "Blue"
  498. 0x0000FF
  499. .IP "\fBBlueViolet\fR" 4
  500. .IX Item "BlueViolet"
  501. 0x8A2BE2
  502. .IP "\fBBrown\fR" 4
  503. .IX Item "Brown"
  504. 0xA52A2A
  505. .IP "\fBBurlyWood\fR" 4
  506. .IX Item "BurlyWood"
  507. 0xDEB887
  508. .IP "\fBCadetBlue\fR" 4
  509. .IX Item "CadetBlue"
  510. 0x5F9EA0
  511. .IP "\fBChartreuse\fR" 4
  512. .IX Item "Chartreuse"
  513. 0x7FFF00
  514. .IP "\fBChocolate\fR" 4
  515. .IX Item "Chocolate"
  516. 0xD2691E
  517. .IP "\fBCoral\fR" 4
  518. .IX Item "Coral"
  519. 0xFF7F50
  520. .IP "\fBCornflowerBlue\fR" 4
  521. .IX Item "CornflowerBlue"
  522. 0x6495ED
  523. .IP "\fBCornsilk\fR" 4
  524. .IX Item "Cornsilk"
  525. 0xFFF8DC
  526. .IP "\fBCrimson\fR" 4
  527. .IX Item "Crimson"
  528. 0xDC143C
  529. .IP "\fBCyan\fR" 4
  530. .IX Item "Cyan"
  531. 0x00FFFF
  532. .IP "\fBDarkBlue\fR" 4
  533. .IX Item "DarkBlue"
  534. 0x00008B
  535. .IP "\fBDarkCyan\fR" 4
  536. .IX Item "DarkCyan"
  537. 0x008B8B
  538. .IP "\fBDarkGoldenRod\fR" 4
  539. .IX Item "DarkGoldenRod"
  540. 0xB8860B
  541. .IP "\fBDarkGray\fR" 4
  542. .IX Item "DarkGray"
  543. 0xA9A9A9
  544. .IP "\fBDarkGreen\fR" 4
  545. .IX Item "DarkGreen"
  546. 0x006400
  547. .IP "\fBDarkKhaki\fR" 4
  548. .IX Item "DarkKhaki"
  549. 0xBDB76B
  550. .IP "\fBDarkMagenta\fR" 4
  551. .IX Item "DarkMagenta"
  552. 0x8B008B
  553. .IP "\fBDarkOliveGreen\fR" 4
  554. .IX Item "DarkOliveGreen"
  555. 0x556B2F
  556. .IP "\fBDarkorange\fR" 4
  557. .IX Item "Darkorange"
  558. 0xFF8C00
  559. .IP "\fBDarkOrchid\fR" 4
  560. .IX Item "DarkOrchid"
  561. 0x9932CC
  562. .IP "\fBDarkRed\fR" 4
  563. .IX Item "DarkRed"
  564. 0x8B0000
  565. .IP "\fBDarkSalmon\fR" 4
  566. .IX Item "DarkSalmon"
  567. 0xE9967A
  568. .IP "\fBDarkSeaGreen\fR" 4
  569. .IX Item "DarkSeaGreen"
  570. 0x8FBC8F
  571. .IP "\fBDarkSlateBlue\fR" 4
  572. .IX Item "DarkSlateBlue"
  573. 0x483D8B
  574. .IP "\fBDarkSlateGray\fR" 4
  575. .IX Item "DarkSlateGray"
  576. 0x2F4F4F
  577. .IP "\fBDarkTurquoise\fR" 4
  578. .IX Item "DarkTurquoise"
  579. 0x00CED1
  580. .IP "\fBDarkViolet\fR" 4
  581. .IX Item "DarkViolet"
  582. 0x9400D3
  583. .IP "\fBDeepPink\fR" 4
  584. .IX Item "DeepPink"
  585. 0xFF1493
  586. .IP "\fBDeepSkyBlue\fR" 4
  587. .IX Item "DeepSkyBlue"
  588. 0x00BFFF
  589. .IP "\fBDimGray\fR" 4
  590. .IX Item "DimGray"
  591. 0x696969
  592. .IP "\fBDodgerBlue\fR" 4
  593. .IX Item "DodgerBlue"
  594. 0x1E90FF
  595. .IP "\fBFireBrick\fR" 4
  596. .IX Item "FireBrick"
  597. 0xB22222
  598. .IP "\fBFloralWhite\fR" 4
  599. .IX Item "FloralWhite"
  600. 0xFFFAF0
  601. .IP "\fBForestGreen\fR" 4
  602. .IX Item "ForestGreen"
  603. 0x228B22
  604. .IP "\fBFuchsia\fR" 4
  605. .IX Item "Fuchsia"
  606. 0xFF00FF
  607. .IP "\fBGainsboro\fR" 4
  608. .IX Item "Gainsboro"
  609. 0xDCDCDC
  610. .IP "\fBGhostWhite\fR" 4
  611. .IX Item "GhostWhite"
  612. 0xF8F8FF
  613. .IP "\fBGold\fR" 4
  614. .IX Item "Gold"
  615. 0xFFD700
  616. .IP "\fBGoldenRod\fR" 4
  617. .IX Item "GoldenRod"
  618. 0xDAA520
  619. .IP "\fBGray\fR" 4
  620. .IX Item "Gray"
  621. 0x808080
  622. .IP "\fBGreen\fR" 4
  623. .IX Item "Green"
  624. 0x008000
  625. .IP "\fBGreenYellow\fR" 4
  626. .IX Item "GreenYellow"
  627. 0xADFF2F
  628. .IP "\fBHoneyDew\fR" 4
  629. .IX Item "HoneyDew"
  630. 0xF0FFF0
  631. .IP "\fBHotPink\fR" 4
  632. .IX Item "HotPink"
  633. 0xFF69B4
  634. .IP "\fBIndianRed\fR" 4
  635. .IX Item "IndianRed"
  636. 0xCD5C5C
  637. .IP "\fBIndigo\fR" 4
  638. .IX Item "Indigo"
  639. 0x4B0082
  640. .IP "\fBIvory\fR" 4
  641. .IX Item "Ivory"
  642. 0xFFFFF0
  643. .IP "\fBKhaki\fR" 4
  644. .IX Item "Khaki"
  645. 0xF0E68C
  646. .IP "\fBLavender\fR" 4
  647. .IX Item "Lavender"
  648. 0xE6E6FA
  649. .IP "\fBLavenderBlush\fR" 4
  650. .IX Item "LavenderBlush"
  651. 0xFFF0F5
  652. .IP "\fBLawnGreen\fR" 4
  653. .IX Item "LawnGreen"
  654. 0x7CFC00
  655. .IP "\fBLemonChiffon\fR" 4
  656. .IX Item "LemonChiffon"
  657. 0xFFFACD
  658. .IP "\fBLightBlue\fR" 4
  659. .IX Item "LightBlue"
  660. 0xADD8E6
  661. .IP "\fBLightCoral\fR" 4
  662. .IX Item "LightCoral"
  663. 0xF08080
  664. .IP "\fBLightCyan\fR" 4
  665. .IX Item "LightCyan"
  666. 0xE0FFFF
  667. .IP "\fBLightGoldenRodYellow\fR" 4
  668. .IX Item "LightGoldenRodYellow"
  669. 0xFAFAD2
  670. .IP "\fBLightGreen\fR" 4
  671. .IX Item "LightGreen"
  672. 0x90EE90
  673. .IP "\fBLightGrey\fR" 4
  674. .IX Item "LightGrey"
  675. 0xD3D3D3
  676. .IP "\fBLightPink\fR" 4
  677. .IX Item "LightPink"
  678. 0xFFB6C1
  679. .IP "\fBLightSalmon\fR" 4
  680. .IX Item "LightSalmon"
  681. 0xFFA07A
  682. .IP "\fBLightSeaGreen\fR" 4
  683. .IX Item "LightSeaGreen"
  684. 0x20B2AA
  685. .IP "\fBLightSkyBlue\fR" 4
  686. .IX Item "LightSkyBlue"
  687. 0x87CEFA
  688. .IP "\fBLightSlateGray\fR" 4
  689. .IX Item "LightSlateGray"
  690. 0x778899
  691. .IP "\fBLightSteelBlue\fR" 4
  692. .IX Item "LightSteelBlue"
  693. 0xB0C4DE
  694. .IP "\fBLightYellow\fR" 4
  695. .IX Item "LightYellow"
  696. 0xFFFFE0
  697. .IP "\fBLime\fR" 4
  698. .IX Item "Lime"
  699. 0x00FF00
  700. .IP "\fBLimeGreen\fR" 4
  701. .IX Item "LimeGreen"
  702. 0x32CD32
  703. .IP "\fBLinen\fR" 4
  704. .IX Item "Linen"
  705. 0xFAF0E6
  706. .IP "\fBMagenta\fR" 4
  707. .IX Item "Magenta"
  708. 0xFF00FF
  709. .IP "\fBMaroon\fR" 4
  710. .IX Item "Maroon"
  711. 0x800000
  712. .IP "\fBMediumAquaMarine\fR" 4
  713. .IX Item "MediumAquaMarine"
  714. 0x66CDAA
  715. .IP "\fBMediumBlue\fR" 4
  716. .IX Item "MediumBlue"
  717. 0x0000CD
  718. .IP "\fBMediumOrchid\fR" 4
  719. .IX Item "MediumOrchid"
  720. 0xBA55D3
  721. .IP "\fBMediumPurple\fR" 4
  722. .IX Item "MediumPurple"
  723. 0x9370D8
  724. .IP "\fBMediumSeaGreen\fR" 4
  725. .IX Item "MediumSeaGreen"
  726. 0x3CB371
  727. .IP "\fBMediumSlateBlue\fR" 4
  728. .IX Item "MediumSlateBlue"
  729. 0x7B68EE
  730. .IP "\fBMediumSpringGreen\fR" 4
  731. .IX Item "MediumSpringGreen"
  732. 0x00FA9A
  733. .IP "\fBMediumTurquoise\fR" 4
  734. .IX Item "MediumTurquoise"
  735. 0x48D1CC
  736. .IP "\fBMediumVioletRed\fR" 4
  737. .IX Item "MediumVioletRed"
  738. 0xC71585
  739. .IP "\fBMidnightBlue\fR" 4
  740. .IX Item "MidnightBlue"
  741. 0x191970
  742. .IP "\fBMintCream\fR" 4
  743. .IX Item "MintCream"
  744. 0xF5FFFA
  745. .IP "\fBMistyRose\fR" 4
  746. .IX Item "MistyRose"
  747. 0xFFE4E1
  748. .IP "\fBMoccasin\fR" 4
  749. .IX Item "Moccasin"
  750. 0xFFE4B5
  751. .IP "\fBNavajoWhite\fR" 4
  752. .IX Item "NavajoWhite"
  753. 0xFFDEAD
  754. .IP "\fBNavy\fR" 4
  755. .IX Item "Navy"
  756. 0x000080
  757. .IP "\fBOldLace\fR" 4
  758. .IX Item "OldLace"
  759. 0xFDF5E6
  760. .IP "\fBOlive\fR" 4
  761. .IX Item "Olive"
  762. 0x808000
  763. .IP "\fBOliveDrab\fR" 4
  764. .IX Item "OliveDrab"
  765. 0x6B8E23
  766. .IP "\fBOrange\fR" 4
  767. .IX Item "Orange"
  768. 0xFFA500
  769. .IP "\fBOrangeRed\fR" 4
  770. .IX Item "OrangeRed"
  771. 0xFF4500
  772. .IP "\fBOrchid\fR" 4
  773. .IX Item "Orchid"
  774. 0xDA70D6
  775. .IP "\fBPaleGoldenRod\fR" 4
  776. .IX Item "PaleGoldenRod"
  777. 0xEEE8AA
  778. .IP "\fBPaleGreen\fR" 4
  779. .IX Item "PaleGreen"
  780. 0x98FB98
  781. .IP "\fBPaleTurquoise\fR" 4
  782. .IX Item "PaleTurquoise"
  783. 0xAFEEEE
  784. .IP "\fBPaleVioletRed\fR" 4
  785. .IX Item "PaleVioletRed"
  786. 0xD87093
  787. .IP "\fBPapayaWhip\fR" 4
  788. .IX Item "PapayaWhip"
  789. 0xFFEFD5
  790. .IP "\fBPeachPuff\fR" 4
  791. .IX Item "PeachPuff"
  792. 0xFFDAB9
  793. .IP "\fBPeru\fR" 4
  794. .IX Item "Peru"
  795. 0xCD853F
  796. .IP "\fBPink\fR" 4
  797. .IX Item "Pink"
  798. 0xFFC0CB
  799. .IP "\fBPlum\fR" 4
  800. .IX Item "Plum"
  801. 0xDDA0DD
  802. .IP "\fBPowderBlue\fR" 4
  803. .IX Item "PowderBlue"
  804. 0xB0E0E6
  805. .IP "\fBPurple\fR" 4
  806. .IX Item "Purple"
  807. 0x800080
  808. .IP "\fBRed\fR" 4
  809. .IX Item "Red"
  810. 0xFF0000
  811. .IP "\fBRosyBrown\fR" 4
  812. .IX Item "RosyBrown"
  813. 0xBC8F8F
  814. .IP "\fBRoyalBlue\fR" 4
  815. .IX Item "RoyalBlue"
  816. 0x4169E1
  817. .IP "\fBSaddleBrown\fR" 4
  818. .IX Item "SaddleBrown"
  819. 0x8B4513
  820. .IP "\fBSalmon\fR" 4
  821. .IX Item "Salmon"
  822. 0xFA8072
  823. .IP "\fBSandyBrown\fR" 4
  824. .IX Item "SandyBrown"
  825. 0xF4A460
  826. .IP "\fBSeaGreen\fR" 4
  827. .IX Item "SeaGreen"
  828. 0x2E8B57
  829. .IP "\fBSeaShell\fR" 4
  830. .IX Item "SeaShell"
  831. 0xFFF5EE
  832. .IP "\fBSienna\fR" 4
  833. .IX Item "Sienna"
  834. 0xA0522D
  835. .IP "\fBSilver\fR" 4
  836. .IX Item "Silver"
  837. 0xC0C0C0
  838. .IP "\fBSkyBlue\fR" 4
  839. .IX Item "SkyBlue"
  840. 0x87CEEB
  841. .IP "\fBSlateBlue\fR" 4
  842. .IX Item "SlateBlue"
  843. 0x6A5ACD
  844. .IP "\fBSlateGray\fR" 4
  845. .IX Item "SlateGray"
  846. 0x708090
  847. .IP "\fBSnow\fR" 4
  848. .IX Item "Snow"
  849. 0xFFFAFA
  850. .IP "\fBSpringGreen\fR" 4
  851. .IX Item "SpringGreen"
  852. 0x00FF7F
  853. .IP "\fBSteelBlue\fR" 4
  854. .IX Item "SteelBlue"
  855. 0x4682B4
  856. .IP "\fBTan\fR" 4
  857. .IX Item "Tan"
  858. 0xD2B48C
  859. .IP "\fBTeal\fR" 4
  860. .IX Item "Teal"
  861. 0x008080
  862. .IP "\fBThistle\fR" 4
  863. .IX Item "Thistle"
  864. 0xD8BFD8
  865. .IP "\fBTomato\fR" 4
  866. .IX Item "Tomato"
  867. 0xFF6347
  868. .IP "\fBTurquoise\fR" 4
  869. .IX Item "Turquoise"
  870. 0x40E0D0
  871. .IP "\fBViolet\fR" 4
  872. .IX Item "Violet"
  873. 0xEE82EE
  874. .IP "\fBWheat\fR" 4
  875. .IX Item "Wheat"
  876. 0xF5DEB3
  877. .IP "\fBWhite\fR" 4
  878. .IX Item "White"
  879. 0xFFFFFF
  880. .IP "\fBWhiteSmoke\fR" 4
  881. .IX Item "WhiteSmoke"
  882. 0xF5F5F5
  883. .IP "\fBYellow\fR" 4
  884. .IX Item "Yellow"
  885. 0xFFFF00
  886. .IP "\fBYellowGreen\fR" 4
  887. .IX Item "YellowGreen"
  888. 0x9ACD32
  889. .Sh "Channel Layout"
  890. .IX Subsection "Channel Layout"
  891. A channel layout specifies the spatial disposition of the channels in
  892. a multi-channel audio stream. To specify a channel layout, FFmpeg
  893. makes use of a special syntax.
  894. .PP
  895. Individual channels are identified by an id, as given by the table
  896. below:
  897. .IP "\fB\s-1FL\s0\fR" 4
  898. .IX Item "FL"
  899. front left
  900. .IP "\fB\s-1FR\s0\fR" 4
  901. .IX Item "FR"
  902. front right
  903. .IP "\fB\s-1FC\s0\fR" 4
  904. .IX Item "FC"
  905. front center
  906. .IP "\fB\s-1LFE\s0\fR" 4
  907. .IX Item "LFE"
  908. low frequency
  909. .IP "\fB\s-1BL\s0\fR" 4
  910. .IX Item "BL"
  911. back left
  912. .IP "\fB\s-1BR\s0\fR" 4
  913. .IX Item "BR"
  914. back right
  915. .IP "\fB\s-1FLC\s0\fR" 4
  916. .IX Item "FLC"
  917. front left-of-center
  918. .IP "\fB\s-1FRC\s0\fR" 4
  919. .IX Item "FRC"
  920. front right-of-center
  921. .IP "\fB\s-1BC\s0\fR" 4
  922. .IX Item "BC"
  923. back center
  924. .IP "\fB\s-1SL\s0\fR" 4
  925. .IX Item "SL"
  926. side left
  927. .IP "\fB\s-1SR\s0\fR" 4
  928. .IX Item "SR"
  929. side right
  930. .IP "\fB\s-1TC\s0\fR" 4
  931. .IX Item "TC"
  932. top center
  933. .IP "\fB\s-1TFL\s0\fR" 4
  934. .IX Item "TFL"
  935. top front left
  936. .IP "\fB\s-1TFC\s0\fR" 4
  937. .IX Item "TFC"
  938. top front center
  939. .IP "\fB\s-1TFR\s0\fR" 4
  940. .IX Item "TFR"
  941. top front right
  942. .IP "\fB\s-1TBL\s0\fR" 4
  943. .IX Item "TBL"
  944. top back left
  945. .IP "\fB\s-1TBC\s0\fR" 4
  946. .IX Item "TBC"
  947. top back center
  948. .IP "\fB\s-1TBR\s0\fR" 4
  949. .IX Item "TBR"
  950. top back right
  951. .IP "\fB\s-1DL\s0\fR" 4
  952. .IX Item "DL"
  953. downmix left
  954. .IP "\fB\s-1DR\s0\fR" 4
  955. .IX Item "DR"
  956. downmix right
  957. .IP "\fB\s-1WL\s0\fR" 4
  958. .IX Item "WL"
  959. wide left
  960. .IP "\fB\s-1WR\s0\fR" 4
  961. .IX Item "WR"
  962. wide right
  963. .IP "\fB\s-1SDL\s0\fR" 4
  964. .IX Item "SDL"
  965. surround direct left
  966. .IP "\fB\s-1SDR\s0\fR" 4
  967. .IX Item "SDR"
  968. surround direct right
  969. .IP "\fB\s-1LFE2\s0\fR" 4
  970. .IX Item "LFE2"
  971. low frequency 2
  972. .PP
  973. Standard channel layout compositions can be specified by using the
  974. following identifiers:
  975. .IP "\fBmono\fR" 4
  976. .IX Item "mono"
  977. \&\s-1FC\s0
  978. .IP "\fBstereo\fR" 4
  979. .IX Item "stereo"
  980. \&\s-1FL+FR\s0
  981. .IP "\fB2.1\fR" 4
  982. .IX Item "2.1"
  983. \&\s-1FL+FR+LFE\s0
  984. .IP "\fB3.0\fR" 4
  985. .IX Item "3.0"
  986. \&\s-1FL+FR+FC\s0
  987. .IP "\fB3.0(back)\fR" 4
  988. .IX Item "3.0(back)"
  989. \&\s-1FL+FR+BC\s0
  990. .IP "\fB4.0\fR" 4
  991. .IX Item "4.0"
  992. \&\s-1FL+FR+FC+BC\s0
  993. .IP "\fBquad\fR" 4
  994. .IX Item "quad"
  995. \&\s-1FL+FR+BL+BR\s0
  996. .IP "\fBquad(side)\fR" 4
  997. .IX Item "quad(side)"
  998. \&\s-1FL+FR+SL+SR\s0
  999. .IP "\fB3.1\fR" 4
  1000. .IX Item "3.1"
  1001. \&\s-1FL+FR+FC+LFE\s0
  1002. .IP "\fB5.0\fR" 4
  1003. .IX Item "5.0"
  1004. \&\s-1FL+FR+FC+BL+BR\s0
  1005. .IP "\fB5.0(side)\fR" 4
  1006. .IX Item "5.0(side)"
  1007. \&\s-1FL+FR+FC+SL+SR\s0
  1008. .IP "\fB4.1\fR" 4
  1009. .IX Item "4.1"
  1010. \&\s-1FL+FR+FC+LFE+BC\s0
  1011. .IP "\fB5.1\fR" 4
  1012. .IX Item "5.1"
  1013. \&\s-1FL+FR+FC+LFE+BL+BR\s0
  1014. .IP "\fB5.1(side)\fR" 4
  1015. .IX Item "5.1(side)"
  1016. \&\s-1FL+FR+FC+LFE+SL+SR\s0
  1017. .IP "\fB6.0\fR" 4
  1018. .IX Item "6.0"
  1019. \&\s-1FL+FR+FC+BC+SL+SR\s0
  1020. .IP "\fB6.0(front)\fR" 4
  1021. .IX Item "6.0(front)"
  1022. \&\s-1FL+FR+FLC+FRC+SL+SR\s0
  1023. .IP "\fBhexagonal\fR" 4
  1024. .IX Item "hexagonal"
  1025. \&\s-1FL+FR+FC+BL+BR+BC\s0
  1026. .IP "\fB6.1\fR" 4
  1027. .IX Item "6.1"
  1028. \&\s-1FL+FR+FC+LFE+BC+SL+SR\s0
  1029. .IP "\fB6.1\fR" 4
  1030. .IX Item "6.1"
  1031. \&\s-1FL+FR+FC+LFE+BL+BR+BC\s0
  1032. .IP "\fB6.1(front)\fR" 4
  1033. .IX Item "6.1(front)"
  1034. \&\s-1FL+FR+LFE+FLC+FRC+SL+SR\s0
  1035. .IP "\fB7.0\fR" 4
  1036. .IX Item "7.0"
  1037. \&\s-1FL+FR+FC+BL+BR+SL+SR\s0
  1038. .IP "\fB7.0(front)\fR" 4
  1039. .IX Item "7.0(front)"
  1040. \&\s-1FL+FR+FC+FLC+FRC+SL+SR\s0
  1041. .IP "\fB7.1\fR" 4
  1042. .IX Item "7.1"
  1043. \&\s-1FL+FR+FC+LFE+BL+BR+SL+SR\s0
  1044. .IP "\fB7.1(wide)\fR" 4
  1045. .IX Item "7.1(wide)"
  1046. \&\s-1FL+FR+FC+LFE+BL+BR+FLC+FRC\s0
  1047. .IP "\fB7.1(wide\-side)\fR" 4
  1048. .IX Item "7.1(wide-side)"
  1049. \&\s-1FL+FR+FC+LFE+FLC+FRC+SL+SR\s0
  1050. .IP "\fBoctagonal\fR" 4
  1051. .IX Item "octagonal"
  1052. \&\s-1FL+FR+FC+BL+BR+BC+SL+SR\s0
  1053. .IP "\fBdownmix\fR" 4
  1054. .IX Item "downmix"
  1055. \&\s-1DL+DR\s0
  1056. .PP
  1057. A custom channel layout can be specified as a sequence of terms, separated by
  1058. \&'+' or '|'. Each term can be:
  1059. .IP "\(bu" 4
  1060. the name of a standard channel layout (e.g. \fBmono\fR,
  1061. \&\fBstereo\fR, \fB4.0\fR, \fBquad\fR, \fB5.0\fR, etc.)
  1062. .IP "\(bu" 4
  1063. the name of a single channel (e.g. \fB\s-1FL\s0\fR, \fB\s-1FR\s0\fR, \fB\s-1FC\s0\fR, \fB\s-1LFE\s0\fR, etc.)
  1064. .IP "\(bu" 4
  1065. a number of channels, in decimal, optionally followed by 'c', yielding
  1066. the default channel layout for that number of channels (see the
  1067. function \f(CW\*(C`av_get_default_channel_layout\*(C'\fR)
  1068. .IP "\(bu" 4
  1069. a channel layout mask, in hexadecimal starting with \*(L"0x\*(R" (see the
  1070. \&\f(CW\*(C`AV_CH_*\*(C'\fR macros in \fIlibavutil/channel_layout.h\fR.
  1071. .PP
  1072. Starting from libavutil version 53 the trailing character \*(L"c\*(R" to
  1073. specify a number of channels will be required, while a channel layout
  1074. mask could also be specified as a decimal number (if and only if not
  1075. followed by \*(L"c\*(R").
  1076. .PP
  1077. See also the function \f(CW\*(C`av_get_channel_layout\*(C'\fR defined in
  1078. \&\fIlibavutil/channel_layout.h\fR.
  1079. .SH "EXPRESSION EVALUATION"
  1080. .IX Header "EXPRESSION EVALUATION"
  1081. When evaluating an arithmetic expression, FFmpeg uses an internal
  1082. formula evaluator, implemented through the \fIlibavutil/eval.h\fR
  1083. interface.
  1084. .PP
  1085. An expression may contain unary, binary operators, constants, and
  1086. functions.
  1087. .PP
  1088. Two expressions \fIexpr1\fR and \fIexpr2\fR can be combined to form
  1089. another expression "\fIexpr1\fR;\fIexpr2\fR".
  1090. \&\fIexpr1\fR and \fIexpr2\fR are evaluated in turn, and the new
  1091. expression evaluates to the value of \fIexpr2\fR.
  1092. .PP
  1093. The following binary operators are available: \f(CW\*(C`+\*(C'\fR, \f(CW\*(C`\-\*(C'\fR,
  1094. \&\f(CW\*(C`*\*(C'\fR, \f(CW\*(C`/\*(C'\fR, \f(CW\*(C`^\*(C'\fR.
  1095. .PP
  1096. The following unary operators are available: \f(CW\*(C`+\*(C'\fR, \f(CW\*(C`\-\*(C'\fR.
  1097. .PP
  1098. The following functions are available:
  1099. .IP "\fBabs(x)\fR" 4
  1100. .IX Item "abs(x)"
  1101. Compute absolute value of \fIx\fR.
  1102. .IP "\fBacos(x)\fR" 4
  1103. .IX Item "acos(x)"
  1104. Compute arccosine of \fIx\fR.
  1105. .IP "\fBasin(x)\fR" 4
  1106. .IX Item "asin(x)"
  1107. Compute arcsine of \fIx\fR.
  1108. .IP "\fBatan(x)\fR" 4
  1109. .IX Item "atan(x)"
  1110. Compute arctangent of \fIx\fR.
  1111. .IP "\fBbetween(x, min, max)\fR" 4
  1112. .IX Item "between(x, min, max)"
  1113. Return 1 if \fIx\fR is greater than or equal to \fImin\fR and lesser than or
  1114. equal to \fImax\fR, 0 otherwise.
  1115. .IP "\fBbitand(x, y)\fR" 4
  1116. .IX Item "bitand(x, y)"
  1117. .PD 0
  1118. .IP "\fBbitor(x, y)\fR" 4
  1119. .IX Item "bitor(x, y)"
  1120. .PD
  1121. Compute bitwise and/or operation on \fIx\fR and \fIy\fR.
  1122. .Sp
  1123. The results of the evaluation of \fIx\fR and \fIy\fR are converted to
  1124. integers before executing the bitwise operation.
  1125. .Sp
  1126. Note that both the conversion to integer and the conversion back to
  1127. floating point can lose precision. Beware of unexpected results for
  1128. large numbers (usually 2^53 and larger).
  1129. .IP "\fBceil(expr)\fR" 4
  1130. .IX Item "ceil(expr)"
  1131. Round the value of expression \fIexpr\fR upwards to the nearest
  1132. integer. For example, \*(L"ceil(1.5)\*(R" is \*(L"2.0\*(R".
  1133. .IP "\fBcos(x)\fR" 4
  1134. .IX Item "cos(x)"
  1135. Compute cosine of \fIx\fR.
  1136. .IP "\fBcosh(x)\fR" 4
  1137. .IX Item "cosh(x)"
  1138. Compute hyperbolic cosine of \fIx\fR.
  1139. .IP "\fBeq(x, y)\fR" 4
  1140. .IX Item "eq(x, y)"
  1141. Return 1 if \fIx\fR and \fIy\fR are equivalent, 0 otherwise.
  1142. .IP "\fBexp(x)\fR" 4
  1143. .IX Item "exp(x)"
  1144. Compute exponential of \fIx\fR (with base \f(CW\*(C`e\*(C'\fR, the Euler's number).
  1145. .IP "\fBfloor(expr)\fR" 4
  1146. .IX Item "floor(expr)"
  1147. Round the value of expression \fIexpr\fR downwards to the nearest
  1148. integer. For example, \*(L"floor(\-1.5)\*(R" is \*(L"\-2.0\*(R".
  1149. .IP "\fBgauss(x)\fR" 4
  1150. .IX Item "gauss(x)"
  1151. Compute Gauss function of \fIx\fR, corresponding to
  1152. \&\f(CW\*(C`exp(\-x*x/2) / sqrt(2*PI)\*(C'\fR.
  1153. .IP "\fBgcd(x, y)\fR" 4
  1154. .IX Item "gcd(x, y)"
  1155. Return the greatest common divisor of \fIx\fR and \fIy\fR. If both \fIx\fR and
  1156. \&\fIy\fR are 0 or either or both are less than zero then behavior is undefined.
  1157. .IP "\fBgt(x, y)\fR" 4
  1158. .IX Item "gt(x, y)"
  1159. Return 1 if \fIx\fR is greater than \fIy\fR, 0 otherwise.
  1160. .IP "\fBgte(x, y)\fR" 4
  1161. .IX Item "gte(x, y)"
  1162. Return 1 if \fIx\fR is greater than or equal to \fIy\fR, 0 otherwise.
  1163. .IP "\fBhypot(x, y)\fR" 4
  1164. .IX Item "hypot(x, y)"
  1165. This function is similar to the C function with the same name; it returns
  1166. "sqrt(\fIx\fR*\fIx\fR + \fIy\fR*\fIy\fR)", the length of the hypotenuse of a
  1167. right triangle with sides of length \fIx\fR and \fIy\fR, or the distance of the
  1168. point (\fIx\fR, \fIy\fR) from the origin.
  1169. .IP "\fBif(x, y)\fR" 4
  1170. .IX Item "if(x, y)"
  1171. Evaluate \fIx\fR, and if the result is non-zero return the result of
  1172. the evaluation of \fIy\fR, return 0 otherwise.
  1173. .IP "\fBif(x, y, z)\fR" 4
  1174. .IX Item "if(x, y, z)"
  1175. Evaluate \fIx\fR, and if the result is non-zero return the evaluation
  1176. result of \fIy\fR, otherwise the evaluation result of \fIz\fR.
  1177. .IP "\fBifnot(x, y)\fR" 4
  1178. .IX Item "ifnot(x, y)"
  1179. Evaluate \fIx\fR, and if the result is zero return the result of the
  1180. evaluation of \fIy\fR, return 0 otherwise.
  1181. .IP "\fBifnot(x, y, z)\fR" 4
  1182. .IX Item "ifnot(x, y, z)"
  1183. Evaluate \fIx\fR, and if the result is zero return the evaluation
  1184. result of \fIy\fR, otherwise the evaluation result of \fIz\fR.
  1185. .IP "\fBisinf(x)\fR" 4
  1186. .IX Item "isinf(x)"
  1187. Return 1.0 if \fIx\fR is +/\-INFINITY, 0.0 otherwise.
  1188. .IP "\fBisnan(x)\fR" 4
  1189. .IX Item "isnan(x)"
  1190. Return 1.0 if \fIx\fR is \s-1NAN\s0, 0.0 otherwise.
  1191. .IP "\fBld(var)\fR" 4
  1192. .IX Item "ld(var)"
  1193. Allow to load the value of the internal variable with number
  1194. \&\fIvar\fR, which was previously stored with st(\fIvar\fR, \fIexpr\fR).
  1195. The function returns the loaded value.
  1196. .IP "\fBlog(x)\fR" 4
  1197. .IX Item "log(x)"
  1198. Compute natural logarithm of \fIx\fR.
  1199. .IP "\fBlt(x, y)\fR" 4
  1200. .IX Item "lt(x, y)"
  1201. Return 1 if \fIx\fR is lesser than \fIy\fR, 0 otherwise.
  1202. .IP "\fBlte(x, y)\fR" 4
  1203. .IX Item "lte(x, y)"
  1204. Return 1 if \fIx\fR is lesser than or equal to \fIy\fR, 0 otherwise.
  1205. .IP "\fBmax(x, y)\fR" 4
  1206. .IX Item "max(x, y)"
  1207. Return the maximum between \fIx\fR and \fIy\fR.
  1208. .IP "\fBmin(x, y)\fR" 4
  1209. .IX Item "min(x, y)"
  1210. Return the maximum between \fIx\fR and \fIy\fR.
  1211. .IP "\fBmod(x, y)\fR" 4
  1212. .IX Item "mod(x, y)"
  1213. Compute the remainder of division of \fIx\fR by \fIy\fR.
  1214. .IP "\fBnot(expr)\fR" 4
  1215. .IX Item "not(expr)"
  1216. Return 1.0 if \fIexpr\fR is zero, 0.0 otherwise.
  1217. .IP "\fBpow(x, y)\fR" 4
  1218. .IX Item "pow(x, y)"
  1219. Compute the power of \fIx\fR elevated \fIy\fR, it is equivalent to
  1220. "(\fIx\fR)^(\fIy\fR)".
  1221. .IP "\fBprint(t)\fR" 4
  1222. .IX Item "print(t)"
  1223. .PD 0
  1224. .IP "\fBprint(t, l)\fR" 4
  1225. .IX Item "print(t, l)"
  1226. .PD
  1227. Print the value of expression \fIt\fR with loglevel \fIl\fR. If
  1228. \&\fIl\fR is not specified then a default log level is used.
  1229. Returns the value of the expression printed.
  1230. .Sp
  1231. Prints t with loglevel l
  1232. .IP "\fBrandom(x)\fR" 4
  1233. .IX Item "random(x)"
  1234. Return a pseudo random value between 0.0 and 1.0. \fIx\fR is the index of the
  1235. internal variable which will be used to save the seed/state.
  1236. .IP "\fBroot(expr, max)\fR" 4
  1237. .IX Item "root(expr, max)"
  1238. Find an input value for which the function represented by \fIexpr\fR
  1239. with argument \fI\fIld\fI\|(0)\fR is 0 in the interval 0..\fImax\fR.
  1240. .Sp
  1241. The expression in \fIexpr\fR must denote a continuous function or the
  1242. result is undefined.
  1243. .Sp
  1244. \&\fI\fIld\fI\|(0)\fR is used to represent the function input value, which means
  1245. that the given expression will be evaluated multiple times with
  1246. various input values that the expression can access through
  1247. \&\f(CWld(0)\fR. When the expression evaluates to 0 then the
  1248. corresponding input value will be returned.
  1249. .IP "\fBsin(x)\fR" 4
  1250. .IX Item "sin(x)"
  1251. Compute sine of \fIx\fR.
  1252. .IP "\fBsinh(x)\fR" 4
  1253. .IX Item "sinh(x)"
  1254. Compute hyperbolic sine of \fIx\fR.
  1255. .IP "\fBsqrt(expr)\fR" 4
  1256. .IX Item "sqrt(expr)"
  1257. Compute the square root of \fIexpr\fR. This is equivalent to
  1258. "(\fIexpr\fR)^.5".
  1259. .IP "\fBsquish(x)\fR" 4
  1260. .IX Item "squish(x)"
  1261. Compute expression \f(CW\*(C`1/(1 + exp(4*x))\*(C'\fR.
  1262. .IP "\fBst(var, expr)\fR" 4
  1263. .IX Item "st(var, expr)"
  1264. Allow to store the value of the expression \fIexpr\fR in an internal
  1265. variable. \fIvar\fR specifies the number of the variable where to
  1266. store the value, and it is a value ranging from 0 to 9. The function
  1267. returns the value stored in the internal variable.
  1268. Note, Variables are currently not shared between expressions.
  1269. .IP "\fBtan(x)\fR" 4
  1270. .IX Item "tan(x)"
  1271. Compute tangent of \fIx\fR.
  1272. .IP "\fBtanh(x)\fR" 4
  1273. .IX Item "tanh(x)"
  1274. Compute hyperbolic tangent of \fIx\fR.
  1275. .IP "\fBtaylor(expr, x)\fR" 4
  1276. .IX Item "taylor(expr, x)"
  1277. .PD 0
  1278. .IP "\fBtaylor(expr, x, id)\fR" 4
  1279. .IX Item "taylor(expr, x, id)"
  1280. .PD
  1281. Evaluate a Taylor series at \fIx\fR, given an expression representing
  1282. the \f(CW\*(C`ld(id)\*(C'\fR\-th derivative of a function at 0.
  1283. .Sp
  1284. When the series does not converge the result is undefined.
  1285. .Sp
  1286. \&\fIld(id)\fR is used to represent the derivative order in \fIexpr\fR,
  1287. which means that the given expression will be evaluated multiple times
  1288. with various input values that the expression can access through
  1289. \&\f(CW\*(C`ld(id)\*(C'\fR. If \fIid\fR is not specified then 0 is assumed.
  1290. .Sp
  1291. Note, when you have the derivatives at y instead of 0,
  1292. \&\f(CW\*(C`taylor(expr, x\-y)\*(C'\fR can be used.
  1293. .IP "\fB\f(BItime\fB\|(0)\fR" 4
  1294. .IX Item "time"
  1295. Return the current (wallclock) time in seconds.
  1296. .IP "\fBtrunc(expr)\fR" 4
  1297. .IX Item "trunc(expr)"
  1298. Round the value of expression \fIexpr\fR towards zero to the nearest
  1299. integer. For example, \*(L"trunc(\-1.5)\*(R" is \*(L"\-1.0\*(R".
  1300. .IP "\fBwhile(cond, expr)\fR" 4
  1301. .IX Item "while(cond, expr)"
  1302. Evaluate expression \fIexpr\fR while the expression \fIcond\fR is
  1303. non\-zero, and returns the value of the last \fIexpr\fR evaluation, or
  1304. \&\s-1NAN\s0 if \fIcond\fR was always false.
  1305. .PP
  1306. The following constants are available:
  1307. .IP "\fB\s-1PI\s0\fR" 4
  1308. .IX Item "PI"
  1309. area of the unit disc, approximately 3.14
  1310. .IP "\fBE\fR" 4
  1311. .IX Item "E"
  1312. \&\fIexp\fR\|(1) (Euler's number), approximately 2.718
  1313. .IP "\fB\s-1PHI\s0\fR" 4
  1314. .IX Item "PHI"
  1315. golden ratio (1+\fIsqrt\fR\|(5))/2, approximately 1.618
  1316. .PP
  1317. Assuming that an expression is considered \*(L"true\*(R" if it has a non-zero
  1318. value, note that:
  1319. .PP
  1320. \&\f(CW\*(C`*\*(C'\fR works like \s-1AND\s0
  1321. .PP
  1322. \&\f(CW\*(C`+\*(C'\fR works like \s-1OR\s0
  1323. .PP
  1324. For example the construct:
  1325. .PP
  1326. .Vb 1
  1327. \&        if (A AND B) then C
  1328. .Ve
  1329. .PP
  1330. is equivalent to:
  1331. .PP
  1332. .Vb 1
  1333. \&        if(A*B, C)
  1334. .Ve
  1335. .PP
  1336. In your C code, you can extend the list of unary and binary functions,
  1337. and define recognized constants, so that they are available for your
  1338. expressions.
  1339. .PP
  1340. The evaluator also recognizes the International System unit prefixes.
  1341. If 'i' is appended after the prefix, binary prefixes are used, which
  1342. are based on powers of 1024 instead of powers of 1000.
  1343. The 'B' postfix multiplies the value by 8, and can be appended after a
  1344. unit prefix or used alone. This allows using for example '\s-1KB\s0', 'MiB',
  1345. \&'G' and 'B' as number postfix.
  1346. .PP
  1347. The list of available International System prefixes follows, with
  1348. indication of the corresponding powers of 10 and of 2.
  1349. .IP "\fBy\fR" 4
  1350. .IX Item "y"
  1351. 10^\-24 / 2^\-80
  1352. .IP "\fBz\fR" 4
  1353. .IX Item "z"
  1354. 10^\-21 / 2^\-70
  1355. .IP "\fBa\fR" 4
  1356. .IX Item "a"
  1357. 10^\-18 / 2^\-60
  1358. .IP "\fBf\fR" 4
  1359. .IX Item "f"
  1360. 10^\-15 / 2^\-50
  1361. .IP "\fBp\fR" 4
  1362. .IX Item "p"
  1363. 10^\-12 / 2^\-40
  1364. .IP "\fBn\fR" 4
  1365. .IX Item "n"
  1366. 10^\-9 / 2^\-30
  1367. .IP "\fBu\fR" 4
  1368. .IX Item "u"
  1369. 10^\-6 / 2^\-20
  1370. .IP "\fBm\fR" 4
  1371. .IX Item "m"
  1372. 10^\-3 / 2^\-10
  1373. .IP "\fBc\fR" 4
  1374. .IX Item "c"
  1375. 10^\-2
  1376. .IP "\fBd\fR" 4
  1377. .IX Item "d"
  1378. 10^\-1
  1379. .IP "\fBh\fR" 4
  1380. .IX Item "h"
  1381. 10^2
  1382. .IP "\fBk\fR" 4
  1383. .IX Item "k"
  1384. 10^3 / 2^10
  1385. .IP "\fBK\fR" 4
  1386. .IX Item "K"
  1387. 10^3 / 2^10
  1388. .IP "\fBM\fR" 4
  1389. .IX Item "M"
  1390. 10^6 / 2^20
  1391. .IP "\fBG\fR" 4
  1392. .IX Item "G"
  1393. 10^9 / 2^30
  1394. .IP "\fBT\fR" 4
  1395. .IX Item "T"
  1396. 10^12 / 2^40
  1397. .IP "\fBP\fR" 4
  1398. .IX Item "P"
  1399. 10^15 / 2^40
  1400. .IP "\fBE\fR" 4
  1401. .IX Item "E"
  1402. 10^18 / 2^50
  1403. .IP "\fBZ\fR" 4
  1404. .IX Item "Z"
  1405. 10^21 / 2^60
  1406. .IP "\fBY\fR" 4
  1407. .IX Item "Y"
  1408. 10^24 / 2^70
  1409. .SH "OPENCL OPTIONS"
  1410. .IX Header "OPENCL OPTIONS"
  1411. When FFmpeg is configured with \f(CW\*(C`\-\-enable\-opencl\*(C'\fR, it is possible
  1412. to set the options for the global OpenCL context.
  1413. .PP
  1414. The list of supported options follows:
  1415. .IP "\fBbuild_options\fR" 4
  1416. .IX Item "build_options"
  1417. Set build options used to compile the registered kernels.
  1418. .Sp
  1419. See reference \*(L"OpenCL Specification Version: 1.2 chapter 5.6.4\*(R".
  1420. .IP "\fBplatform_idx\fR" 4
  1421. .IX Item "platform_idx"
  1422. Select the index of the platform to run OpenCL code.
  1423. .Sp
  1424. The specified index must be one of the indexes in the device list
  1425. which can be obtained with \f(CW\*(C`av_opencl_get_device_list()\*(C'\fR.
  1426. .IP "\fBdevice_idx\fR" 4
  1427. .IX Item "device_idx"
  1428. Select the index of the device used to run OpenCL code.
  1429. .Sp
  1430. The specifed index must be one of the indexes in the device list which
  1431. can be obtained with \f(CW\*(C`av_opencl_get_device_list()\*(C'\fR.
  1432. .SH "SEE ALSO"
  1433. .IX Header "SEE ALSO"
  1434. \&\fIffmpeg\fR\|(1), \fIffplay\fR\|(1), \fIffprobe\fR\|(1), \fIffserver\fR\|(1), \fIlibavutil\fR\|(3)
  1435. .SH "AUTHORS"
  1436. .IX Header "AUTHORS"
  1437. The FFmpeg developers.
  1438. .PP
  1439. For details about the authorship, see the Git history of the project
  1440. (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
  1441. \&\fBgit log\fR in the FFmpeg source directory, or browsing the
  1442. online repository at <\fBhttp://source.ffmpeg.org\fR>.
  1443. .PP
  1444. Maintainers for the specific components are listed in the file
  1445. \&\fI\s-1MAINTAINERS\s0\fR in the source code tree.
  1446.