From 4a6d9312cc1c9d62d66c4def71246d9faae29edb Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期三, 03 三月 2021 14:26:16 +0800 Subject: [PATCH] environment settings --- module/VideoPlayer/lib/linux/ffmpeg/share/man/man1/ffmpeg-utils.1 | 1449 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 1,449 insertions(+), 0 deletions(-) diff --git a/module/VideoPlayer/lib/linux/ffmpeg/share/man/man1/ffmpeg-utils.1 b/module/VideoPlayer/lib/linux/ffmpeg/share/man/man1/ffmpeg-utils.1 new file mode 100644 index 0000000..046baba --- /dev/null +++ b/module/VideoPlayer/lib/linux/ffmpeg/share/man/man1/ffmpeg-utils.1 @@ -0,0 +1,1449 @@ +.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.13) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. \*(C+ will +.\" give a nicer C++. Capital omega is used to do unbreakable dashes and +.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, +.\" nothing in troff, for use with C<>. +.tr \(*W- +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.ie \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.el \{\ +. de IX +.. +.\} +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "FFMPEG-UTILS 1" +.TH FFMPEG-UTILS 1 " " " " " " +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +ffmpeg\-utils \- FFmpeg utilities +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This document describes some generic features and utilities provided +by the libavutil library. +.SH "SYNTAX" +.IX Header "SYNTAX" +This section documents the syntax and formats employed by the FFmpeg +libraries and tools. +.SS "Quoting and escaping" +.IX Subsection "Quoting and escaping" +FFmpeg adopts the following quoting and escaping mechanism, unless +explicitly specified. The following rules are applied: +.IP "\(bu" 4 +\&\fB'\fR and \fB\e\fR are special characters (respectively used for +quoting and escaping). In addition to them, there might be other +special characters depending on the specific syntax where the escaping +and quoting are employed. +.IP "\(bu" 4 +A special character is escaped by prefixing it with a \fB\e\fR. +.IP "\(bu" 4 +All characters enclosed between \fB''\fR are included literally in the +parsed string. The quote character \fB'\fR itself cannot be quoted, +so you may need to close the quote and escape it. +.IP "\(bu" 4 +Leading and trailing whitespaces, unless escaped or quoted, are +removed from the parsed string. +.PP +Note that you may need to add a second level of escaping when using +the command line or a script, which depends on the syntax of the +adopted shell language. +.PP +The function \f(CW\*(C`av_get_token\*(C'\fR defined in +\&\fIlibavutil/avstring.h\fR can be used to parse a token quoted or +escaped according to the rules defined above. +.PP +The tool \fItools/ffescape\fR in the FFmpeg source tree can be used +to automatically quote or escape a string in a script. +.PP +\fIExamples\fR +.IX Subsection "Examples" +.IP "\(bu" 4 +Escape the string \f(CW\*(C`Crime d\*(AqAmour\*(C'\fR containing the \f(CW\*(C`\*(Aq\*(C'\fR special +character: +.Sp +.Vb 1 +\& Crime d\e\*(AqAmour +.Ve +.IP "\(bu" 4 +The string above contains a quote, so the \f(CW\*(C`\*(Aq\*(C'\fR needs to be escaped +when quoting it: +.Sp +.Vb 1 +\& \*(AqCrime d\*(Aq\e\*(Aq\*(AqAmour\*(Aq +.Ve +.IP "\(bu" 4 +Include leading or trailing whitespaces using quoting: +.Sp +.Vb 1 +\& \*(Aq this string starts and ends with whitespaces \*(Aq +.Ve +.IP "\(bu" 4 +Escaping and quoting can be mixed together: +.Sp +.Vb 1 +\& \*(Aq The string \*(Aq\e\*(Aqstring\e\*(Aq\*(Aq is a string \*(Aq +.Ve +.IP "\(bu" 4 +To include a literal \fB\e\fR you can use either escaping or quoting: +.Sp +.Vb 1 +\& \*(Aqc:\efoo\*(Aq can be written as c:\e\efoo +.Ve +.SS "Date" +.IX Subsection "Date" +The accepted syntax is: +.PP +.Vb 2 +\& [(YYYY\-MM\-DD|YYYYMMDD)[T|t| ]]((HH:MM:SS[.m...]]])|(HHMMSS[.m...]]]))[Z] +\& now +.Ve +.PP +If the value is \*(L"now\*(R" it takes the current time. +.PP +Time is local time unless Z is appended, in which case it is +interpreted as \s-1UTC\s0. +If the year-month-day part is not specified it takes the current +year-month-day. +.SS "Time duration" +.IX Subsection "Time duration" +There are two accepted syntaxes for expressing time duration. +.PP +.Vb 1 +\& [\-][<HH>:]<MM>:<SS>[.<m>...] +.Ve +.PP +\&\fI\s-1HH\s0\fR expresses the number of hours, \fI\s-1MM\s0\fR the number of minutes +for a maximum of 2 digits, and \fI\s-1SS\s0\fR the number of seconds for a +maximum of 2 digits. The \fIm\fR at the end expresses decimal value for +\&\fI\s-1SS\s0\fR. +.PP +\&\fIor\fR +.PP +.Vb 1 +\& [\-]<S>+[.<m>...] +.Ve +.PP +\&\fIS\fR expresses the number of seconds, with the optional decimal part +\&\fIm\fR. +.PP +In both expressions, the optional \fB\-\fR indicates negative duration. +.PP +\fIExamples\fR +.IX Subsection "Examples" +.PP +The following examples are all valid time duration: +.IP "\fB55\fR" 4 +.IX Item "55" +55 seconds +.IP "\fB12:03:45\fR" 4 +.IX Item "12:03:45" +12 hours, 03 minutes and 45 seconds +.IP "\fB23.189\fR" 4 +.IX Item "23.189" +23.189 seconds +.SS "Video size" +.IX Subsection "Video size" +Specify the size of the sourced video, it may be a string of the form +\&\fIwidth\fRx\fIheight\fR, or the name of a size abbreviation. +.PP +The following abbreviations are recognized: +.IP "\fBntsc\fR" 4 +.IX Item "ntsc" +720x480 +.IP "\fBpal\fR" 4 +.IX Item "pal" +720x576 +.IP "\fBqntsc\fR" 4 +.IX Item "qntsc" +352x240 +.IP "\fBqpal\fR" 4 +.IX Item "qpal" +352x288 +.IP "\fBsntsc\fR" 4 +.IX Item "sntsc" +640x480 +.IP "\fBspal\fR" 4 +.IX Item "spal" +768x576 +.IP "\fBfilm\fR" 4 +.IX Item "film" +352x240 +.IP "\fBntsc-film\fR" 4 +.IX Item "ntsc-film" +352x240 +.IP "\fBsqcif\fR" 4 +.IX Item "sqcif" +128x96 +.IP "\fBqcif\fR" 4 +.IX Item "qcif" +176x144 +.IP "\fBcif\fR" 4 +.IX Item "cif" +352x288 +.IP "\fB4cif\fR" 4 +.IX Item "4cif" +704x576 +.IP "\fB16cif\fR" 4 +.IX Item "16cif" +1408x1152 +.IP "\fBqqvga\fR" 4 +.IX Item "qqvga" +160x120 +.IP "\fBqvga\fR" 4 +.IX Item "qvga" +320x240 +.IP "\fBvga\fR" 4 +.IX Item "vga" +640x480 +.IP "\fBsvga\fR" 4 +.IX Item "svga" +800x600 +.IP "\fBxga\fR" 4 +.IX Item "xga" +1024x768 +.IP "\fBuxga\fR" 4 +.IX Item "uxga" +1600x1200 +.IP "\fBqxga\fR" 4 +.IX Item "qxga" +2048x1536 +.IP "\fBsxga\fR" 4 +.IX Item "sxga" +1280x1024 +.IP "\fBqsxga\fR" 4 +.IX Item "qsxga" +2560x2048 +.IP "\fBhsxga\fR" 4 +.IX Item "hsxga" +5120x4096 +.IP "\fBwvga\fR" 4 +.IX Item "wvga" +852x480 +.IP "\fBwxga\fR" 4 +.IX Item "wxga" +1366x768 +.IP "\fBwsxga\fR" 4 +.IX Item "wsxga" +1600x1024 +.IP "\fBwuxga\fR" 4 +.IX Item "wuxga" +1920x1200 +.IP "\fBwoxga\fR" 4 +.IX Item "woxga" +2560x1600 +.IP "\fBwqsxga\fR" 4 +.IX Item "wqsxga" +3200x2048 +.IP "\fBwquxga\fR" 4 +.IX Item "wquxga" +3840x2400 +.IP "\fBwhsxga\fR" 4 +.IX Item "whsxga" +6400x4096 +.IP "\fBwhuxga\fR" 4 +.IX Item "whuxga" +7680x4800 +.IP "\fBcga\fR" 4 +.IX Item "cga" +320x200 +.IP "\fBega\fR" 4 +.IX Item "ega" +640x350 +.IP "\fBhd480\fR" 4 +.IX Item "hd480" +852x480 +.IP "\fBhd720\fR" 4 +.IX Item "hd720" +1280x720 +.IP "\fBhd1080\fR" 4 +.IX Item "hd1080" +1920x1080 +.IP "\fB2k\fR" 4 +.IX Item "2k" +2048x1080 +.IP "\fB2kflat\fR" 4 +.IX Item "2kflat" +1998x1080 +.IP "\fB2kscope\fR" 4 +.IX Item "2kscope" +2048x858 +.IP "\fB4k\fR" 4 +.IX Item "4k" +4096x2160 +.IP "\fB4kflat\fR" 4 +.IX Item "4kflat" +3996x2160 +.IP "\fB4kscope\fR" 4 +.IX Item "4kscope" +4096x1716 +.IP "\fBnhd\fR" 4 +.IX Item "nhd" +640x360 +.IP "\fBhqvga\fR" 4 +.IX Item "hqvga" +240x160 +.IP "\fBwqvga\fR" 4 +.IX Item "wqvga" +400x240 +.IP "\fBfwqvga\fR" 4 +.IX Item "fwqvga" +432x240 +.IP "\fBhvga\fR" 4 +.IX Item "hvga" +480x320 +.IP "\fBqhd\fR" 4 +.IX Item "qhd" +960x540 +.IP "\fB2kdci\fR" 4 +.IX Item "2kdci" +2048x1080 +.IP "\fB4kdci\fR" 4 +.IX Item "4kdci" +4096x2160 +.IP "\fBuhd2160\fR" 4 +.IX Item "uhd2160" +3840x2160 +.IP "\fBuhd4320\fR" 4 +.IX Item "uhd4320" +7680x4320 +.SS "Video rate" +.IX Subsection "Video rate" +Specify the frame rate of a video, expressed as the number of frames +generated per second. It has to be a string in the format +\&\fIframe_rate_num\fR/\fIframe_rate_den\fR, an integer number, a float +number or a valid video frame rate abbreviation. +.PP +The following abbreviations are recognized: +.IP "\fBntsc\fR" 4 +.IX Item "ntsc" +30000/1001 +.IP "\fBpal\fR" 4 +.IX Item "pal" +25/1 +.IP "\fBqntsc\fR" 4 +.IX Item "qntsc" +30000/1001 +.IP "\fBqpal\fR" 4 +.IX Item "qpal" +25/1 +.IP "\fBsntsc\fR" 4 +.IX Item "sntsc" +30000/1001 +.IP "\fBspal\fR" 4 +.IX Item "spal" +25/1 +.IP "\fBfilm\fR" 4 +.IX Item "film" +24/1 +.IP "\fBntsc-film\fR" 4 +.IX Item "ntsc-film" +24000/1001 +.SS "Ratio" +.IX Subsection "Ratio" +A ratio can be expressed as an expression, or in the form +\&\fInumerator\fR:\fIdenominator\fR. +.PP +Note that a ratio with infinite (1/0) or negative value is +considered valid, so you should check on the returned value if you +want to exclude those values. +.PP +The undefined value can be expressed using the \*(L"0:0\*(R" string. +.SS "Color" +.IX Subsection "Color" +It can be the name of a color as defined below (case insensitive match) or a +\&\f(CW\*(C`[0x|#]RRGGBB[AA]\*(C'\fR sequence, possibly followed by @ and a string +representing the alpha component. +.PP +The alpha component may be a string composed by \*(L"0x\*(R" followed by an +hexadecimal number or a decimal number between 0.0 and 1.0, which +represents the opacity value (\fB0x00\fR or \fB0.0\fR means completely +transparent, \fB0xff\fR or \fB1.0\fR completely opaque). If the alpha +component is not specified then \fB0xff\fR is assumed. +.PP +The string \fBrandom\fR will result in a random color. +.PP +The following names of colors are recognized: +.IP "\fBAliceBlue\fR" 4 +.IX Item "AliceBlue" +0xF0F8FF +.IP "\fBAntiqueWhite\fR" 4 +.IX Item "AntiqueWhite" +0xFAEBD7 +.IP "\fBAqua\fR" 4 +.IX Item "Aqua" +0x00FFFF +.IP "\fBAquamarine\fR" 4 +.IX Item "Aquamarine" +0x7FFFD4 +.IP "\fBAzure\fR" 4 +.IX Item "Azure" +0xF0FFFF +.IP "\fBBeige\fR" 4 +.IX Item "Beige" +0xF5F5DC +.IP "\fBBisque\fR" 4 +.IX Item "Bisque" +0xFFE4C4 +.IP "\fBBlack\fR" 4 +.IX Item "Black" +0x000000 +.IP "\fBBlanchedAlmond\fR" 4 +.IX Item "BlanchedAlmond" +0xFFEBCD +.IP "\fBBlue\fR" 4 +.IX Item "Blue" +0x0000FF +.IP "\fBBlueViolet\fR" 4 +.IX Item "BlueViolet" +0x8A2BE2 +.IP "\fBBrown\fR" 4 +.IX Item "Brown" +0xA52A2A +.IP "\fBBurlyWood\fR" 4 +.IX Item "BurlyWood" +0xDEB887 +.IP "\fBCadetBlue\fR" 4 +.IX Item "CadetBlue" +0x5F9EA0 +.IP "\fBChartreuse\fR" 4 +.IX Item "Chartreuse" +0x7FFF00 +.IP "\fBChocolate\fR" 4 +.IX Item "Chocolate" +0xD2691E +.IP "\fBCoral\fR" 4 +.IX Item "Coral" +0xFF7F50 +.IP "\fBCornflowerBlue\fR" 4 +.IX Item "CornflowerBlue" +0x6495ED +.IP "\fBCornsilk\fR" 4 +.IX Item "Cornsilk" +0xFFF8DC +.IP "\fBCrimson\fR" 4 +.IX Item "Crimson" +0xDC143C +.IP "\fBCyan\fR" 4 +.IX Item "Cyan" +0x00FFFF +.IP "\fBDarkBlue\fR" 4 +.IX Item "DarkBlue" +0x00008B +.IP "\fBDarkCyan\fR" 4 +.IX Item "DarkCyan" +0x008B8B +.IP "\fBDarkGoldenRod\fR" 4 +.IX Item "DarkGoldenRod" +0xB8860B +.IP "\fBDarkGray\fR" 4 +.IX Item "DarkGray" +0xA9A9A9 +.IP "\fBDarkGreen\fR" 4 +.IX Item "DarkGreen" +0x006400 +.IP "\fBDarkKhaki\fR" 4 +.IX Item "DarkKhaki" +0xBDB76B +.IP "\fBDarkMagenta\fR" 4 +.IX Item "DarkMagenta" +0x8B008B +.IP "\fBDarkOliveGreen\fR" 4 +.IX Item "DarkOliveGreen" +0x556B2F +.IP "\fBDarkorange\fR" 4 +.IX Item "Darkorange" +0xFF8C00 +.IP "\fBDarkOrchid\fR" 4 +.IX Item "DarkOrchid" +0x9932CC +.IP "\fBDarkRed\fR" 4 +.IX Item "DarkRed" +0x8B0000 +.IP "\fBDarkSalmon\fR" 4 +.IX Item "DarkSalmon" +0xE9967A +.IP "\fBDarkSeaGreen\fR" 4 +.IX Item "DarkSeaGreen" +0x8FBC8F +.IP "\fBDarkSlateBlue\fR" 4 +.IX Item "DarkSlateBlue" +0x483D8B +.IP "\fBDarkSlateGray\fR" 4 +.IX Item "DarkSlateGray" +0x2F4F4F +.IP "\fBDarkTurquoise\fR" 4 +.IX Item "DarkTurquoise" +0x00CED1 +.IP "\fBDarkViolet\fR" 4 +.IX Item "DarkViolet" +0x9400D3 +.IP "\fBDeepPink\fR" 4 +.IX Item "DeepPink" +0xFF1493 +.IP "\fBDeepSkyBlue\fR" 4 +.IX Item "DeepSkyBlue" +0x00BFFF +.IP "\fBDimGray\fR" 4 +.IX Item "DimGray" +0x696969 +.IP "\fBDodgerBlue\fR" 4 +.IX Item "DodgerBlue" +0x1E90FF +.IP "\fBFireBrick\fR" 4 +.IX Item "FireBrick" +0xB22222 +.IP "\fBFloralWhite\fR" 4 +.IX Item "FloralWhite" +0xFFFAF0 +.IP "\fBForestGreen\fR" 4 +.IX Item "ForestGreen" +0x228B22 +.IP "\fBFuchsia\fR" 4 +.IX Item "Fuchsia" +0xFF00FF +.IP "\fBGainsboro\fR" 4 +.IX Item "Gainsboro" +0xDCDCDC +.IP "\fBGhostWhite\fR" 4 +.IX Item "GhostWhite" +0xF8F8FF +.IP "\fBGold\fR" 4 +.IX Item "Gold" +0xFFD700 +.IP "\fBGoldenRod\fR" 4 +.IX Item "GoldenRod" +0xDAA520 +.IP "\fBGray\fR" 4 +.IX Item "Gray" +0x808080 +.IP "\fBGreen\fR" 4 +.IX Item "Green" +0x008000 +.IP "\fBGreenYellow\fR" 4 +.IX Item "GreenYellow" +0xADFF2F +.IP "\fBHoneyDew\fR" 4 +.IX Item "HoneyDew" +0xF0FFF0 +.IP "\fBHotPink\fR" 4 +.IX Item "HotPink" +0xFF69B4 +.IP "\fBIndianRed\fR" 4 +.IX Item "IndianRed" +0xCD5C5C +.IP "\fBIndigo\fR" 4 +.IX Item "Indigo" +0x4B0082 +.IP "\fBIvory\fR" 4 +.IX Item "Ivory" +0xFFFFF0 +.IP "\fBKhaki\fR" 4 +.IX Item "Khaki" +0xF0E68C +.IP "\fBLavender\fR" 4 +.IX Item "Lavender" +0xE6E6FA +.IP "\fBLavenderBlush\fR" 4 +.IX Item "LavenderBlush" +0xFFF0F5 +.IP "\fBLawnGreen\fR" 4 +.IX Item "LawnGreen" +0x7CFC00 +.IP "\fBLemonChiffon\fR" 4 +.IX Item "LemonChiffon" +0xFFFACD +.IP "\fBLightBlue\fR" 4 +.IX Item "LightBlue" +0xADD8E6 +.IP "\fBLightCoral\fR" 4 +.IX Item "LightCoral" +0xF08080 +.IP "\fBLightCyan\fR" 4 +.IX Item "LightCyan" +0xE0FFFF +.IP "\fBLightGoldenRodYellow\fR" 4 +.IX Item "LightGoldenRodYellow" +0xFAFAD2 +.IP "\fBLightGreen\fR" 4 +.IX Item "LightGreen" +0x90EE90 +.IP "\fBLightGrey\fR" 4 +.IX Item "LightGrey" +0xD3D3D3 +.IP "\fBLightPink\fR" 4 +.IX Item "LightPink" +0xFFB6C1 +.IP "\fBLightSalmon\fR" 4 +.IX Item "LightSalmon" +0xFFA07A +.IP "\fBLightSeaGreen\fR" 4 +.IX Item "LightSeaGreen" +0x20B2AA +.IP "\fBLightSkyBlue\fR" 4 +.IX Item "LightSkyBlue" +0x87CEFA +.IP "\fBLightSlateGray\fR" 4 +.IX Item "LightSlateGray" +0x778899 +.IP "\fBLightSteelBlue\fR" 4 +.IX Item "LightSteelBlue" +0xB0C4DE +.IP "\fBLightYellow\fR" 4 +.IX Item "LightYellow" +0xFFFFE0 +.IP "\fBLime\fR" 4 +.IX Item "Lime" +0x00FF00 +.IP "\fBLimeGreen\fR" 4 +.IX Item "LimeGreen" +0x32CD32 +.IP "\fBLinen\fR" 4 +.IX Item "Linen" +0xFAF0E6 +.IP "\fBMagenta\fR" 4 +.IX Item "Magenta" +0xFF00FF +.IP "\fBMaroon\fR" 4 +.IX Item "Maroon" +0x800000 +.IP "\fBMediumAquaMarine\fR" 4 +.IX Item "MediumAquaMarine" +0x66CDAA +.IP "\fBMediumBlue\fR" 4 +.IX Item "MediumBlue" +0x0000CD +.IP "\fBMediumOrchid\fR" 4 +.IX Item "MediumOrchid" +0xBA55D3 +.IP "\fBMediumPurple\fR" 4 +.IX Item "MediumPurple" +0x9370D8 +.IP "\fBMediumSeaGreen\fR" 4 +.IX Item "MediumSeaGreen" +0x3CB371 +.IP "\fBMediumSlateBlue\fR" 4 +.IX Item "MediumSlateBlue" +0x7B68EE +.IP "\fBMediumSpringGreen\fR" 4 +.IX Item "MediumSpringGreen" +0x00FA9A +.IP "\fBMediumTurquoise\fR" 4 +.IX Item "MediumTurquoise" +0x48D1CC +.IP "\fBMediumVioletRed\fR" 4 +.IX Item "MediumVioletRed" +0xC71585 +.IP "\fBMidnightBlue\fR" 4 +.IX Item "MidnightBlue" +0x191970 +.IP "\fBMintCream\fR" 4 +.IX Item "MintCream" +0xF5FFFA +.IP "\fBMistyRose\fR" 4 +.IX Item "MistyRose" +0xFFE4E1 +.IP "\fBMoccasin\fR" 4 +.IX Item "Moccasin" +0xFFE4B5 +.IP "\fBNavajoWhite\fR" 4 +.IX Item "NavajoWhite" +0xFFDEAD +.IP "\fBNavy\fR" 4 +.IX Item "Navy" +0x000080 +.IP "\fBOldLace\fR" 4 +.IX Item "OldLace" +0xFDF5E6 +.IP "\fBOlive\fR" 4 +.IX Item "Olive" +0x808000 +.IP "\fBOliveDrab\fR" 4 +.IX Item "OliveDrab" +0x6B8E23 +.IP "\fBOrange\fR" 4 +.IX Item "Orange" +0xFFA500 +.IP "\fBOrangeRed\fR" 4 +.IX Item "OrangeRed" +0xFF4500 +.IP "\fBOrchid\fR" 4 +.IX Item "Orchid" +0xDA70D6 +.IP "\fBPaleGoldenRod\fR" 4 +.IX Item "PaleGoldenRod" +0xEEE8AA +.IP "\fBPaleGreen\fR" 4 +.IX Item "PaleGreen" +0x98FB98 +.IP "\fBPaleTurquoise\fR" 4 +.IX Item "PaleTurquoise" +0xAFEEEE +.IP "\fBPaleVioletRed\fR" 4 +.IX Item "PaleVioletRed" +0xD87093 +.IP "\fBPapayaWhip\fR" 4 +.IX Item "PapayaWhip" +0xFFEFD5 +.IP "\fBPeachPuff\fR" 4 +.IX Item "PeachPuff" +0xFFDAB9 +.IP "\fBPeru\fR" 4 +.IX Item "Peru" +0xCD853F +.IP "\fBPink\fR" 4 +.IX Item "Pink" +0xFFC0CB +.IP "\fBPlum\fR" 4 +.IX Item "Plum" +0xDDA0DD +.IP "\fBPowderBlue\fR" 4 +.IX Item "PowderBlue" +0xB0E0E6 +.IP "\fBPurple\fR" 4 +.IX Item "Purple" +0x800080 +.IP "\fBRed\fR" 4 +.IX Item "Red" +0xFF0000 +.IP "\fBRosyBrown\fR" 4 +.IX Item "RosyBrown" +0xBC8F8F +.IP "\fBRoyalBlue\fR" 4 +.IX Item "RoyalBlue" +0x4169E1 +.IP "\fBSaddleBrown\fR" 4 +.IX Item "SaddleBrown" +0x8B4513 +.IP "\fBSalmon\fR" 4 +.IX Item "Salmon" +0xFA8072 +.IP "\fBSandyBrown\fR" 4 +.IX Item "SandyBrown" +0xF4A460 +.IP "\fBSeaGreen\fR" 4 +.IX Item "SeaGreen" +0x2E8B57 +.IP "\fBSeaShell\fR" 4 +.IX Item "SeaShell" +0xFFF5EE +.IP "\fBSienna\fR" 4 +.IX Item "Sienna" +0xA0522D +.IP "\fBSilver\fR" 4 +.IX Item "Silver" +0xC0C0C0 +.IP "\fBSkyBlue\fR" 4 +.IX Item "SkyBlue" +0x87CEEB +.IP "\fBSlateBlue\fR" 4 +.IX Item "SlateBlue" +0x6A5ACD +.IP "\fBSlateGray\fR" 4 +.IX Item "SlateGray" +0x708090 +.IP "\fBSnow\fR" 4 +.IX Item "Snow" +0xFFFAFA +.IP "\fBSpringGreen\fR" 4 +.IX Item "SpringGreen" +0x00FF7F +.IP "\fBSteelBlue\fR" 4 +.IX Item "SteelBlue" +0x4682B4 +.IP "\fBTan\fR" 4 +.IX Item "Tan" +0xD2B48C +.IP "\fBTeal\fR" 4 +.IX Item "Teal" +0x008080 +.IP "\fBThistle\fR" 4 +.IX Item "Thistle" +0xD8BFD8 +.IP "\fBTomato\fR" 4 +.IX Item "Tomato" +0xFF6347 +.IP "\fBTurquoise\fR" 4 +.IX Item "Turquoise" +0x40E0D0 +.IP "\fBViolet\fR" 4 +.IX Item "Violet" +0xEE82EE +.IP "\fBWheat\fR" 4 +.IX Item "Wheat" +0xF5DEB3 +.IP "\fBWhite\fR" 4 +.IX Item "White" +0xFFFFFF +.IP "\fBWhiteSmoke\fR" 4 +.IX Item "WhiteSmoke" +0xF5F5F5 +.IP "\fBYellow\fR" 4 +.IX Item "Yellow" +0xFFFF00 +.IP "\fBYellowGreen\fR" 4 +.IX Item "YellowGreen" +0x9ACD32 +.SS "Channel Layout" +.IX Subsection "Channel Layout" +A channel layout specifies the spatial disposition of the channels in +a multi-channel audio stream. To specify a channel layout, FFmpeg +makes use of a special syntax. +.PP +Individual channels are identified by an id, as given by the table +below: +.IP "\fB\s-1FL\s0\fR" 4 +.IX Item "FL" +front left +.IP "\fB\s-1FR\s0\fR" 4 +.IX Item "FR" +front right +.IP "\fB\s-1FC\s0\fR" 4 +.IX Item "FC" +front center +.IP "\fB\s-1LFE\s0\fR" 4 +.IX Item "LFE" +low frequency +.IP "\fB\s-1BL\s0\fR" 4 +.IX Item "BL" +back left +.IP "\fB\s-1BR\s0\fR" 4 +.IX Item "BR" +back right +.IP "\fB\s-1FLC\s0\fR" 4 +.IX Item "FLC" +front left-of-center +.IP "\fB\s-1FRC\s0\fR" 4 +.IX Item "FRC" +front right-of-center +.IP "\fB\s-1BC\s0\fR" 4 +.IX Item "BC" +back center +.IP "\fB\s-1SL\s0\fR" 4 +.IX Item "SL" +side left +.IP "\fB\s-1SR\s0\fR" 4 +.IX Item "SR" +side right +.IP "\fB\s-1TC\s0\fR" 4 +.IX Item "TC" +top center +.IP "\fB\s-1TFL\s0\fR" 4 +.IX Item "TFL" +top front left +.IP "\fB\s-1TFC\s0\fR" 4 +.IX Item "TFC" +top front center +.IP "\fB\s-1TFR\s0\fR" 4 +.IX Item "TFR" +top front right +.IP "\fB\s-1TBL\s0\fR" 4 +.IX Item "TBL" +top back left +.IP "\fB\s-1TBC\s0\fR" 4 +.IX Item "TBC" +top back center +.IP "\fB\s-1TBR\s0\fR" 4 +.IX Item "TBR" +top back right +.IP "\fB\s-1DL\s0\fR" 4 +.IX Item "DL" +downmix left +.IP "\fB\s-1DR\s0\fR" 4 +.IX Item "DR" +downmix right +.IP "\fB\s-1WL\s0\fR" 4 +.IX Item "WL" +wide left +.IP "\fB\s-1WR\s0\fR" 4 +.IX Item "WR" +wide right +.IP "\fB\s-1SDL\s0\fR" 4 +.IX Item "SDL" +surround direct left +.IP "\fB\s-1SDR\s0\fR" 4 +.IX Item "SDR" +surround direct right +.IP "\fB\s-1LFE2\s0\fR" 4 +.IX Item "LFE2" +low frequency 2 +.PP +Standard channel layout compositions can be specified by using the +following identifiers: +.IP "\fBmono\fR" 4 +.IX Item "mono" +\&\s-1FC\s0 +.IP "\fBstereo\fR" 4 +.IX Item "stereo" +\&\s-1FL+FR\s0 +.IP "\fB2.1\fR" 4 +.IX Item "2.1" +\&\s-1FL+FR+LFE\s0 +.IP "\fB3.0\fR" 4 +.IX Item "3.0" +\&\s-1FL+FR+FC\s0 +.IP "\fB3.0(back)\fR" 4 +.IX Item "3.0(back)" +\&\s-1FL+FR+BC\s0 +.IP "\fB4.0\fR" 4 +.IX Item "4.0" +\&\s-1FL+FR+FC+BC\s0 +.IP "\fBquad\fR" 4 +.IX Item "quad" +\&\s-1FL+FR+BL+BR\s0 +.IP "\fBquad(side)\fR" 4 +.IX Item "quad(side)" +\&\s-1FL+FR+SL+SR\s0 +.IP "\fB3.1\fR" 4 +.IX Item "3.1" +\&\s-1FL+FR+FC+LFE\s0 +.IP "\fB5.0\fR" 4 +.IX Item "5.0" +\&\s-1FL+FR+FC+BL+BR\s0 +.IP "\fB5.0(side)\fR" 4 +.IX Item "5.0(side)" +\&\s-1FL+FR+FC+SL+SR\s0 +.IP "\fB4.1\fR" 4 +.IX Item "4.1" +\&\s-1FL+FR+FC+LFE+BC\s0 +.IP "\fB5.1\fR" 4 +.IX Item "5.1" +\&\s-1FL+FR+FC+LFE+BL+BR\s0 +.IP "\fB5.1(side)\fR" 4 +.IX Item "5.1(side)" +\&\s-1FL+FR+FC+LFE+SL+SR\s0 +.IP "\fB6.0\fR" 4 +.IX Item "6.0" +\&\s-1FL+FR+FC+BC+SL+SR\s0 +.IP "\fB6.0(front)\fR" 4 +.IX Item "6.0(front)" +\&\s-1FL+FR+FLC+FRC+SL+SR\s0 +.IP "\fBhexagonal\fR" 4 +.IX Item "hexagonal" +\&\s-1FL+FR+FC+BL+BR+BC\s0 +.IP "\fB6.1\fR" 4 +.IX Item "6.1" +\&\s-1FL+FR+FC+LFE+BC+SL+SR\s0 +.IP "\fB6.1\fR" 4 +.IX Item "6.1" +\&\s-1FL+FR+FC+LFE+BL+BR+BC\s0 +.IP "\fB6.1(front)\fR" 4 +.IX Item "6.1(front)" +\&\s-1FL+FR+LFE+FLC+FRC+SL+SR\s0 +.IP "\fB7.0\fR" 4 +.IX Item "7.0" +\&\s-1FL+FR+FC+BL+BR+SL+SR\s0 +.IP "\fB7.0(front)\fR" 4 +.IX Item "7.0(front)" +\&\s-1FL+FR+FC+FLC+FRC+SL+SR\s0 +.IP "\fB7.1\fR" 4 +.IX Item "7.1" +\&\s-1FL+FR+FC+LFE+BL+BR+SL+SR\s0 +.IP "\fB7.1(wide)\fR" 4 +.IX Item "7.1(wide)" +\&\s-1FL+FR+FC+LFE+BL+BR+FLC+FRC\s0 +.IP "\fB7.1(wide\-side)\fR" 4 +.IX Item "7.1(wide-side)" +\&\s-1FL+FR+FC+LFE+FLC+FRC+SL+SR\s0 +.IP "\fBoctagonal\fR" 4 +.IX Item "octagonal" +\&\s-1FL+FR+FC+BL+BR+BC+SL+SR\s0 +.IP "\fBdownmix\fR" 4 +.IX Item "downmix" +\&\s-1DL+DR\s0 +.PP +A custom channel layout can be specified as a sequence of terms, separated by +\&'+' or '|'. Each term can be: +.IP "\(bu" 4 +the name of a standard channel layout (e.g. \fBmono\fR, +\&\fBstereo\fR, \fB4.0\fR, \fBquad\fR, \fB5.0\fR, etc.) +.IP "\(bu" 4 +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.) +.IP "\(bu" 4 +a number of channels, in decimal, followed by 'c', yielding the default channel +layout for that number of channels (see the function +\&\f(CW\*(C`av_get_default_channel_layout\*(C'\fR). Note that not all channel counts have a +default layout. +.IP "\(bu" 4 +a number of channels, in decimal, followed by 'C', yielding an unknown channel +layout with the specified number of channels. Note that not all channel layout +specification strings support unknown channel layouts. +.IP "\(bu" 4 +a channel layout mask, in hexadecimal starting with \*(L"0x\*(R" (see the +\&\f(CW\*(C`AV_CH_*\*(C'\fR macros in \fIlibavutil/channel_layout.h\fR. +.PP +Before libavutil version 53 the trailing character \*(L"c\*(R" to specify a number of +channels was optional, but now it is required, while a channel layout mask can +also be specified as a decimal number (if and only if not followed by \*(L"c\*(R" or \*(L"C\*(R"). +.PP +See also the function \f(CW\*(C`av_get_channel_layout\*(C'\fR defined in +\&\fIlibavutil/channel_layout.h\fR. +.SH "EXPRESSION EVALUATION" +.IX Header "EXPRESSION EVALUATION" +When evaluating an arithmetic expression, FFmpeg uses an internal +formula evaluator, implemented through the \fIlibavutil/eval.h\fR +interface. +.PP +An expression may contain unary, binary operators, constants, and +functions. +.PP +Two expressions \fIexpr1\fR and \fIexpr2\fR can be combined to form +another expression "\fIexpr1\fR;\fIexpr2\fR". +\&\fIexpr1\fR and \fIexpr2\fR are evaluated in turn, and the new +expression evaluates to the value of \fIexpr2\fR. +.PP +The following binary operators are available: \f(CW\*(C`+\*(C'\fR, \f(CW\*(C`\-\*(C'\fR, +\&\f(CW\*(C`*\*(C'\fR, \f(CW\*(C`/\*(C'\fR, \f(CW\*(C`^\*(C'\fR. +.PP +The following unary operators are available: \f(CW\*(C`+\*(C'\fR, \f(CW\*(C`\-\*(C'\fR. +.PP +The following functions are available: +.IP "\fBabs(x)\fR" 4 +.IX Item "abs(x)" +Compute absolute value of \fIx\fR. +.IP "\fBacos(x)\fR" 4 +.IX Item "acos(x)" +Compute arccosine of \fIx\fR. +.IP "\fBasin(x)\fR" 4 +.IX Item "asin(x)" +Compute arcsine of \fIx\fR. +.IP "\fBatan(x)\fR" 4 +.IX Item "atan(x)" +Compute arctangent of \fIx\fR. +.IP "\fBatan2(x, y)\fR" 4 +.IX Item "atan2(x, y)" +Compute principal value of the arc tangent of \fIy\fR/\fIx\fR. +.IP "\fBbetween(x, min, max)\fR" 4 +.IX Item "between(x, min, max)" +Return 1 if \fIx\fR is greater than or equal to \fImin\fR and lesser than or +equal to \fImax\fR, 0 otherwise. +.IP "\fBbitand(x, y)\fR" 4 +.IX Item "bitand(x, y)" +.PD 0 +.IP "\fBbitor(x, y)\fR" 4 +.IX Item "bitor(x, y)" +.PD +Compute bitwise and/or operation on \fIx\fR and \fIy\fR. +.Sp +The results of the evaluation of \fIx\fR and \fIy\fR are converted to +integers before executing the bitwise operation. +.Sp +Note that both the conversion to integer and the conversion back to +floating point can lose precision. Beware of unexpected results for +large numbers (usually 2^53 and larger). +.IP "\fBceil(expr)\fR" 4 +.IX Item "ceil(expr)" +Round the value of expression \fIexpr\fR upwards to the nearest +integer. For example, \*(L"ceil(1.5)\*(R" is \*(L"2.0\*(R". +.IP "\fBclip(x, min, max)\fR" 4 +.IX Item "clip(x, min, max)" +Return the value of \fIx\fR clipped between \fImin\fR and \fImax\fR. +.IP "\fBcos(x)\fR" 4 +.IX Item "cos(x)" +Compute cosine of \fIx\fR. +.IP "\fBcosh(x)\fR" 4 +.IX Item "cosh(x)" +Compute hyperbolic cosine of \fIx\fR. +.IP "\fBeq(x, y)\fR" 4 +.IX Item "eq(x, y)" +Return 1 if \fIx\fR and \fIy\fR are equivalent, 0 otherwise. +.IP "\fBexp(x)\fR" 4 +.IX Item "exp(x)" +Compute exponential of \fIx\fR (with base \f(CW\*(C`e\*(C'\fR, the Euler's number). +.IP "\fBfloor(expr)\fR" 4 +.IX Item "floor(expr)" +Round the value of expression \fIexpr\fR downwards to the nearest +integer. For example, \*(L"floor(\-1.5)\*(R" is \*(L"\-2.0\*(R". +.IP "\fBgauss(x)\fR" 4 +.IX Item "gauss(x)" +Compute Gauss function of \fIx\fR, corresponding to +\&\f(CW\*(C`exp(\-x*x/2) / sqrt(2*PI)\*(C'\fR. +.IP "\fBgcd(x, y)\fR" 4 +.IX Item "gcd(x, y)" +Return the greatest common divisor of \fIx\fR and \fIy\fR. If both \fIx\fR and +\&\fIy\fR are 0 or either or both are less than zero then behavior is undefined. +.IP "\fBgt(x, y)\fR" 4 +.IX Item "gt(x, y)" +Return 1 if \fIx\fR is greater than \fIy\fR, 0 otherwise. +.IP "\fBgte(x, y)\fR" 4 +.IX Item "gte(x, y)" +Return 1 if \fIx\fR is greater than or equal to \fIy\fR, 0 otherwise. +.IP "\fBhypot(x, y)\fR" 4 +.IX Item "hypot(x, y)" +This function is similar to the C function with the same name; it returns +"sqrt(\fIx\fR*\fIx\fR + \fIy\fR*\fIy\fR)", the length of the hypotenuse of a +right triangle with sides of length \fIx\fR and \fIy\fR, or the distance of the +point (\fIx\fR, \fIy\fR) from the origin. +.IP "\fBif(x, y)\fR" 4 +.IX Item "if(x, y)" +Evaluate \fIx\fR, and if the result is non-zero return the result of +the evaluation of \fIy\fR, return 0 otherwise. +.IP "\fBif(x, y, z)\fR" 4 +.IX Item "if(x, y, z)" +Evaluate \fIx\fR, and if the result is non-zero return the evaluation +result of \fIy\fR, otherwise the evaluation result of \fIz\fR. +.IP "\fBifnot(x, y)\fR" 4 +.IX Item "ifnot(x, y)" +Evaluate \fIx\fR, and if the result is zero return the result of the +evaluation of \fIy\fR, return 0 otherwise. +.IP "\fBifnot(x, y, z)\fR" 4 +.IX Item "ifnot(x, y, z)" +Evaluate \fIx\fR, and if the result is zero return the evaluation +result of \fIy\fR, otherwise the evaluation result of \fIz\fR. +.IP "\fBisinf(x)\fR" 4 +.IX Item "isinf(x)" +Return 1.0 if \fIx\fR is +/\-INFINITY, 0.0 otherwise. +.IP "\fBisnan(x)\fR" 4 +.IX Item "isnan(x)" +Return 1.0 if \fIx\fR is \s-1NAN\s0, 0.0 otherwise. +.IP "\fBld(var)\fR" 4 +.IX Item "ld(var)" +Load the value of the internal variable with number +\&\fIvar\fR, which was previously stored with st(\fIvar\fR, \fIexpr\fR). +The function returns the loaded value. +.IP "\fBlerp(x, y, z)\fR" 4 +.IX Item "lerp(x, y, z)" +Return linear interpolation between \fIx\fR and \fIy\fR by amount of \fIz\fR. +.IP "\fBlog(x)\fR" 4 +.IX Item "log(x)" +Compute natural logarithm of \fIx\fR. +.IP "\fBlt(x, y)\fR" 4 +.IX Item "lt(x, y)" +Return 1 if \fIx\fR is lesser than \fIy\fR, 0 otherwise. +.IP "\fBlte(x, y)\fR" 4 +.IX Item "lte(x, y)" +Return 1 if \fIx\fR is lesser than or equal to \fIy\fR, 0 otherwise. +.IP "\fBmax(x, y)\fR" 4 +.IX Item "max(x, y)" +Return the maximum between \fIx\fR and \fIy\fR. +.IP "\fBmin(x, y)\fR" 4 +.IX Item "min(x, y)" +Return the minimum between \fIx\fR and \fIy\fR. +.IP "\fBmod(x, y)\fR" 4 +.IX Item "mod(x, y)" +Compute the remainder of division of \fIx\fR by \fIy\fR. +.IP "\fBnot(expr)\fR" 4 +.IX Item "not(expr)" +Return 1.0 if \fIexpr\fR is zero, 0.0 otherwise. +.IP "\fBpow(x, y)\fR" 4 +.IX Item "pow(x, y)" +Compute the power of \fIx\fR elevated \fIy\fR, it is equivalent to +"(\fIx\fR)^(\fIy\fR)". +.IP "\fBprint(t)\fR" 4 +.IX Item "print(t)" +.PD 0 +.IP "\fBprint(t, l)\fR" 4 +.IX Item "print(t, l)" +.PD +Print the value of expression \fIt\fR with loglevel \fIl\fR. If +\&\fIl\fR is not specified then a default log level is used. +Returns the value of the expression printed. +.Sp +Prints t with loglevel l +.IP "\fBrandom(x)\fR" 4 +.IX Item "random(x)" +Return a pseudo random value between 0.0 and 1.0. \fIx\fR is the index of the +internal variable which will be used to save the seed/state. +.IP "\fBroot(expr, max)\fR" 4 +.IX Item "root(expr, max)" +Find an input value for which the function represented by \fIexpr\fR +with argument \fI\fIld\fI\|(0)\fR is 0 in the interval 0..\fImax\fR. +.Sp +The expression in \fIexpr\fR must denote a continuous function or the +result is undefined. +.Sp +\&\fI\fIld\fI\|(0)\fR is used to represent the function input value, which means +that the given expression will be evaluated multiple times with +various input values that the expression can access through +\&\f(CWld(0)\fR. When the expression evaluates to 0 then the +corresponding input value will be returned. +.IP "\fBround(expr)\fR" 4 +.IX Item "round(expr)" +Round the value of expression \fIexpr\fR to the nearest integer. For example, \*(L"round(1.5)\*(R" is \*(L"2.0\*(R". +.IP "\fBsin(x)\fR" 4 +.IX Item "sin(x)" +Compute sine of \fIx\fR. +.IP "\fBsinh(x)\fR" 4 +.IX Item "sinh(x)" +Compute hyperbolic sine of \fIx\fR. +.IP "\fBsqrt(expr)\fR" 4 +.IX Item "sqrt(expr)" +Compute the square root of \fIexpr\fR. This is equivalent to +"(\fIexpr\fR)^.5". +.IP "\fBsquish(x)\fR" 4 +.IX Item "squish(x)" +Compute expression \f(CW\*(C`1/(1 + exp(4*x))\*(C'\fR. +.IP "\fBst(var, expr)\fR" 4 +.IX Item "st(var, expr)" +Store the value of the expression \fIexpr\fR in an internal +variable. \fIvar\fR specifies the number of the variable where to +store the value, and it is a value ranging from 0 to 9. The function +returns the value stored in the internal variable. +Note, Variables are currently not shared between expressions. +.IP "\fBtan(x)\fR" 4 +.IX Item "tan(x)" +Compute tangent of \fIx\fR. +.IP "\fBtanh(x)\fR" 4 +.IX Item "tanh(x)" +Compute hyperbolic tangent of \fIx\fR. +.IP "\fBtaylor(expr, x)\fR" 4 +.IX Item "taylor(expr, x)" +.PD 0 +.IP "\fBtaylor(expr, x, id)\fR" 4 +.IX Item "taylor(expr, x, id)" +.PD +Evaluate a Taylor series at \fIx\fR, given an expression representing +the \f(CW\*(C`ld(id)\*(C'\fR\-th derivative of a function at 0. +.Sp +When the series does not converge the result is undefined. +.Sp +\&\fIld(id)\fR is used to represent the derivative order in \fIexpr\fR, +which means that the given expression will be evaluated multiple times +with various input values that the expression can access through +\&\f(CW\*(C`ld(id)\*(C'\fR. If \fIid\fR is not specified then 0 is assumed. +.Sp +Note, when you have the derivatives at y instead of 0, +\&\f(CW\*(C`taylor(expr, x\-y)\*(C'\fR can be used. +.IP "\fB\f(BItime\fB\|(0)\fR" 4 +.IX Item "time" +Return the current (wallclock) time in seconds. +.IP "\fBtrunc(expr)\fR" 4 +.IX Item "trunc(expr)" +Round the value of expression \fIexpr\fR towards zero to the nearest +integer. For example, \*(L"trunc(\-1.5)\*(R" is \*(L"\-1.0\*(R". +.IP "\fBwhile(cond, expr)\fR" 4 +.IX Item "while(cond, expr)" +Evaluate expression \fIexpr\fR while the expression \fIcond\fR is +non-zero, and returns the value of the last \fIexpr\fR evaluation, or +\&\s-1NAN\s0 if \fIcond\fR was always false. +.PP +The following constants are available: +.IP "\fB\s-1PI\s0\fR" 4 +.IX Item "PI" +area of the unit disc, approximately 3.14 +.IP "\fBE\fR" 4 +.IX Item "E" +\&\fIexp\fR\|(1) (Euler's number), approximately 2.718 +.IP "\fB\s-1PHI\s0\fR" 4 +.IX Item "PHI" +golden ratio (1+\fIsqrt\fR\|(5))/2, approximately 1.618 +.PP +Assuming that an expression is considered \*(L"true\*(R" if it has a non-zero +value, note that: +.PP +\&\f(CW\*(C`*\*(C'\fR works like \s-1AND\s0 +.PP +\&\f(CW\*(C`+\*(C'\fR works like \s-1OR\s0 +.PP +For example the construct: +.PP +.Vb 1 +\& if (A AND B) then C +.Ve +.PP +is equivalent to: +.PP +.Vb 1 +\& if(A*B, C) +.Ve +.PP +In your C code, you can extend the list of unary and binary functions, +and define recognized constants, so that they are available for your +expressions. +.PP +The evaluator also recognizes the International System unit prefixes. +If 'i' is appended after the prefix, binary prefixes are used, which +are based on powers of 1024 instead of powers of 1000. +The 'B' postfix multiplies the value by 8, and can be appended after a +unit prefix or used alone. This allows using for example '\s-1KB\s0', 'MiB', +\&'G' and 'B' as number postfix. +.PP +The list of available International System prefixes follows, with +indication of the corresponding powers of 10 and of 2. +.IP "\fBy\fR" 4 +.IX Item "y" +10^\-24 / 2^\-80 +.IP "\fBz\fR" 4 +.IX Item "z" +10^\-21 / 2^\-70 +.IP "\fBa\fR" 4 +.IX Item "a" +10^\-18 / 2^\-60 +.IP "\fBf\fR" 4 +.IX Item "f" +10^\-15 / 2^\-50 +.IP "\fBp\fR" 4 +.IX Item "p" +10^\-12 / 2^\-40 +.IP "\fBn\fR" 4 +.IX Item "n" +10^\-9 / 2^\-30 +.IP "\fBu\fR" 4 +.IX Item "u" +10^\-6 / 2^\-20 +.IP "\fBm\fR" 4 +.IX Item "m" +10^\-3 / 2^\-10 +.IP "\fBc\fR" 4 +.IX Item "c" +10^\-2 +.IP "\fBd\fR" 4 +.IX Item "d" +10^\-1 +.IP "\fBh\fR" 4 +.IX Item "h" +10^2 +.IP "\fBk\fR" 4 +.IX Item "k" +10^3 / 2^10 +.IP "\fBK\fR" 4 +.IX Item "K" +10^3 / 2^10 +.IP "\fBM\fR" 4 +.IX Item "M" +10^6 / 2^20 +.IP "\fBG\fR" 4 +.IX Item "G" +10^9 / 2^30 +.IP "\fBT\fR" 4 +.IX Item "T" +10^12 / 2^40 +.IP "\fBP\fR" 4 +.IX Item "P" +10^15 / 2^40 +.IP "\fBE\fR" 4 +.IX Item "E" +10^18 / 2^50 +.IP "\fBZ\fR" 4 +.IX Item "Z" +10^21 / 2^60 +.IP "\fBY\fR" 4 +.IX Item "Y" +10^24 / 2^70 +.SH "SEE ALSO" +.IX Header "SEE ALSO" +\&\fIffmpeg\fR\|(1), \fIffplay\fR\|(1), \fIffprobe\fR\|(1), \fIlibavutil\fR\|(3) +.SH "AUTHORS" +.IX Header "AUTHORS" +The FFmpeg developers. +.PP +For details about the authorship, see the Git history of the project +(git://source.ffmpeg.org/ffmpeg), e.g. by typing the command +\&\fBgit log\fR in the FFmpeg source directory, or browsing the +online repository at <\fBhttp://source.ffmpeg.org\fR>. +.PP +Maintainers for the specific components are listed in the file +\&\fI\s-1MAINTAINERS\s0\fR in the source code tree. -- Gitblit v1.8.0