12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475 |
- .\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35)
- .\"
- .\" 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" ''
- . ds C`
- . ds C'
- '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 >0, 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.
- .\"
- .\" Avoid warning from groff about undefined register 'F'.
- .de IX
- ..
- .nr rF 0
- .if \n(.g .if rF .nr rF 1
- .if (\n(rF:(\n(.g==0)) \{\
- . if \nF \{\
- . de IX
- . tm Index:\\$1\t\\n%\t"\\$2"
- ..
- . if !\nF==2 \{\
- . nr % 0
- . nr F 2
- . \}
- . \}
- .\}
- .rr rF
- .\"
- .\" 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>...][s|ms|us]
- .Ve
- .PP
- \&\fIS\fR expresses the number of seconds, with the optional decimal part
- \&\fIm\fR. The optional literal suffixes \fBs\fR, \fBms\fR or \fBus\fR
- indicate to interpret the value as seconds, milliseconds or microseconds,
- respectively.
- .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 "\fB0.2\fR" 4
- .IX Item "0.2"
- 0.2 seconds
- .IP "\fB200ms\fR" 4
- .IX Item "200ms"
- 200 milliseconds, that's 0.2s
- .IP "\fB200000us\fR" 4
- .IX Item "200000us"
- 200000 microseconds, that's 0.2s
- .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 "\fBhexadecagonal\fR" 4
- .IX Item "hexadecagonal"
- \&\s-1FL+FR+FC+BL+BR+BC+SL+SR+WL+WR+TBL+TBR+TBC+TFC+TFL+TFR\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, 0.0\s0 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\f(BIld\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\f(BIld\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 "\fBsgn(x)\fR" 4
- .IX Item "sgn(x)"
- Compute sign of \fIx\fR.
- .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\fBtime\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"
- \&\fBexp\fR\|(1) (Euler's number), approximately 2.718
- .IP "\fB\s-1PHI\s0\fR" 4
- .IX Item "PHI"
- golden ratio (1+\fBsqrt\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"
- \&\fBffmpeg\fR\|(1), \fBffplay\fR\|(1), \fBffprobe\fR\|(1), \fBlibavutil\fR\|(3)
- .SH "AUTHORS"
- .IX Header "AUTHORS"
- The FFmpeg developers.
- .PP
- For details about the authorship, see the Git history of the project
- (https://git.ffmpeg.org/ffmpeg), e.g. by typing the command
- \&\fBgit log\fR in the FFmpeg source directory, or browsing the
- online repository at <\fBhttps://git.ffmpeg.org/ffmpeg\fR>.
- .PP
- Maintainers for the specific components are listed in the file
- \&\fI\s-1MAINTAINERS\s0\fR in the source code tree.
|