1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965 |
- .\" 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-CODECS 1"
- .TH FFMPEG-CODECS 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\-codecs \- FFmpeg codecs
- .SH "DESCRIPTION"
- .IX Header "DESCRIPTION"
- This document describes the codecs (decoders and encoders) provided by
- the libavcodec library.
- .SH "CODEC OPTIONS"
- .IX Header "CODEC OPTIONS"
- libavcodec provides some generic global options, which can be set on
- all the encoders and decoders. In addition each codec may support
- so-called private options, which are specific for a given codec.
- .PP
- Sometimes, a global option may only affect a specific kind of codec,
- and may be nonsensical or ignored by another, so you need to be aware
- of the meaning of the specified options. Also some options are
- meant only for decoding or encoding.
- .PP
- Options may be set by specifying \-\fIoption\fR \fIvalue\fR in the
- FFmpeg tools, or by setting the value explicitly in the
- \&\f(CW\*(C`AVCodecContext\*(C'\fR options or using the \fIlibavutil/opt.h\fR \s-1API\s0
- for programmatic use.
- .PP
- The list of supported options follow:
- .IP "\fBb\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "b integer (encoding,audio,video)"
- Set bitrate in bits/s. Default value is 200K.
- .IP "\fBab\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
- .IX Item "ab integer (encoding,audio)"
- Set audio bitrate (in bits/s). Default value is 128K.
- .IP "\fBbt\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "bt integer (encoding,video)"
- Set video bitrate tolerance (in bits/s). In 1\-pass mode, bitrate
- tolerance specifies how far ratecontrol is willing to deviate from the
- target average bitrate value. This is not related to min/max
- bitrate. Lowering tolerance too much has an adverse effect on quality.
- .IP "\fBflags\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video,subtitles\fR\fB)\fR" 4
- .IX Item "flags flags (decoding/encoding,audio,video,subtitles)"
- Set generic flags.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBmv4\fR" 4
- .IX Item "mv4"
- Use four motion vector by macroblock (mpeg4).
- .IP "\fBqpel\fR" 4
- .IX Item "qpel"
- Use 1/4 pel motion compensation.
- .IP "\fBloop\fR" 4
- .IX Item "loop"
- Use loop filter.
- .IP "\fBqscale\fR" 4
- .IX Item "qscale"
- Use fixed qscale.
- .IP "\fBpass1\fR" 4
- .IX Item "pass1"
- Use internal 2pass ratecontrol in first pass mode.
- .IP "\fBpass2\fR" 4
- .IX Item "pass2"
- Use internal 2pass ratecontrol in second pass mode.
- .IP "\fBgray\fR" 4
- .IX Item "gray"
- Only decode/encode grayscale.
- .IP "\fBpsnr\fR" 4
- .IX Item "psnr"
- Set error[?] variables during encoding.
- .IP "\fBtruncated\fR" 4
- .IX Item "truncated"
- Input bitstream might be randomly truncated.
- .IP "\fBdrop_changed\fR" 4
- .IX Item "drop_changed"
- Don't output frames whose parameters differ from first decoded frame in stream.
- Error \s-1AVERROR_INPUT_CHANGED\s0 is returned when a frame is dropped.
- .IP "\fBildct\fR" 4
- .IX Item "ildct"
- Use interlaced \s-1DCT.\s0
- .IP "\fBlow_delay\fR" 4
- .IX Item "low_delay"
- Force low delay.
- .IP "\fBglobal_header\fR" 4
- .IX Item "global_header"
- Place global headers in extradata instead of every keyframe.
- .IP "\fBbitexact\fR" 4
- .IX Item "bitexact"
- Only write platform\-, build\- and time-independent data. (except (I)DCT).
- This ensures that file and data checksums are reproducible and match between
- platforms. Its primary use is for regression testing.
- .IP "\fBaic\fR" 4
- .IX Item "aic"
- Apply H263 advanced intra coding / mpeg4 ac prediction.
- .IP "\fBilme\fR" 4
- .IX Item "ilme"
- Apply interlaced motion estimation.
- .IP "\fBcgop\fR" 4
- .IX Item "cgop"
- Use closed gop.
- .IP "\fBoutput_corrupt\fR" 4
- .IX Item "output_corrupt"
- Output even potentially corrupted frames.
- .RE
- .RS 4
- .RE
- .IP "\fBtime_base\fR \fIrational number\fR" 4
- .IX Item "time_base rational number"
- Set codec time base.
- .Sp
- It is the fundamental unit of time (in seconds) in terms of which
- frame timestamps are represented. For fixed-fps content, timebase
- should be \f(CW\*(C`1 / frame_rate\*(C'\fR and timestamp increments should be
- identically 1.
- .IP "\fBg\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "g integer (encoding,video)"
- Set the group of picture (\s-1GOP\s0) size. Default value is 12.
- .IP "\fBar\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio\fR\fB)\fR" 4
- .IX Item "ar integer (decoding/encoding,audio)"
- Set audio sampling rate (in Hz).
- .IP "\fBac\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio\fR\fB)\fR" 4
- .IX Item "ac integer (decoding/encoding,audio)"
- Set number of audio channels.
- .IP "\fBcutoff\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
- .IX Item "cutoff integer (encoding,audio)"
- Set cutoff bandwidth. (Supported only by selected encoders, see
- their respective documentation sections.)
- .IP "\fBframe_size\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
- .IX Item "frame_size integer (encoding,audio)"
- Set audio frame size.
- .Sp
- Each submitted frame except the last must contain exactly frame_size
- samples per channel. May be 0 when the codec has
- \&\s-1CODEC_CAP_VARIABLE_FRAME_SIZE\s0 set, in that case the frame size is not
- restricted. It is set by some decoders to indicate constant frame
- size.
- .IP "\fBframe_number\fR \fIinteger\fR" 4
- .IX Item "frame_number integer"
- Set the frame number.
- .IP "\fBdelay\fR \fIinteger\fR" 4
- .IX Item "delay integer"
- .PD 0
- .IP "\fBqcomp\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "qcomp float (encoding,video)"
- .PD
- Set video quantizer scale compression (\s-1VBR\s0). It is used as a constant
- in the ratecontrol equation. Recommended range for default rc_eq:
- 0.0\-1.0.
- .IP "\fBqblur\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "qblur float (encoding,video)"
- Set video quantizer scale blur (\s-1VBR\s0).
- .IP "\fBqmin\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "qmin integer (encoding,video)"
- Set min video quantizer scale (\s-1VBR\s0). Must be included between \-1 and
- 69, default value is 2.
- .IP "\fBqmax\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "qmax integer (encoding,video)"
- Set max video quantizer scale (\s-1VBR\s0). Must be included between \-1 and
- 1024, default value is 31.
- .IP "\fBqdiff\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "qdiff integer (encoding,video)"
- Set max difference between the quantizer scale (\s-1VBR\s0).
- .IP "\fBbf\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "bf integer (encoding,video)"
- Set max number of B frames between non-B-frames.
- .Sp
- Must be an integer between \-1 and 16. 0 means that B\-frames are
- disabled. If a value of \-1 is used, it will choose an automatic value
- depending on the encoder.
- .Sp
- Default value is 0.
- .IP "\fBb_qfactor\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "b_qfactor float (encoding,video)"
- Set qp factor between P and B frames.
- .IP "\fBb_strategy\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "b_strategy integer (encoding,video)"
- Set strategy to choose between I/P/B\-frames.
- .IP "\fBps\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "ps integer (encoding,video)"
- Set \s-1RTP\s0 payload size in bytes.
- .IP "\fBmv_bits\fR \fIinteger\fR" 4
- .IX Item "mv_bits integer"
- .PD 0
- .IP "\fBheader_bits\fR \fIinteger\fR" 4
- .IX Item "header_bits integer"
- .IP "\fBi_tex_bits\fR \fIinteger\fR" 4
- .IX Item "i_tex_bits integer"
- .IP "\fBp_tex_bits\fR \fIinteger\fR" 4
- .IX Item "p_tex_bits integer"
- .IP "\fBi_count\fR \fIinteger\fR" 4
- .IX Item "i_count integer"
- .IP "\fBp_count\fR \fIinteger\fR" 4
- .IX Item "p_count integer"
- .IP "\fBskip_count\fR \fIinteger\fR" 4
- .IX Item "skip_count integer"
- .IP "\fBmisc_bits\fR \fIinteger\fR" 4
- .IX Item "misc_bits integer"
- .IP "\fBframe_bits\fR \fIinteger\fR" 4
- .IX Item "frame_bits integer"
- .IP "\fBcodec_tag\fR \fIinteger\fR" 4
- .IX Item "codec_tag integer"
- .IP "\fBbug\fR \fIflags\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "bug flags (decoding,video)"
- .PD
- Workaround not auto detected encoder bugs.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBautodetect\fR" 4
- .IX Item "autodetect"
- .PD 0
- .IP "\fBxvid_ilace\fR" 4
- .IX Item "xvid_ilace"
- .PD
- Xvid interlacing bug (autodetected if fourcc==XVIX)
- .IP "\fBump4\fR" 4
- .IX Item "ump4"
- (autodetected if fourcc==UMP4)
- .IP "\fBno_padding\fR" 4
- .IX Item "no_padding"
- padding bug (autodetected)
- .IP "\fBamv\fR" 4
- .IX Item "amv"
- .PD 0
- .IP "\fBqpel_chroma\fR" 4
- .IX Item "qpel_chroma"
- .IP "\fBstd_qpel\fR" 4
- .IX Item "std_qpel"
- .PD
- old standard qpel (autodetected per fourcc/version)
- .IP "\fBqpel_chroma2\fR" 4
- .IX Item "qpel_chroma2"
- .PD 0
- .IP "\fBdirect_blocksize\fR" 4
- .IX Item "direct_blocksize"
- .PD
- direct-qpel-blocksize bug (autodetected per fourcc/version)
- .IP "\fBedge\fR" 4
- .IX Item "edge"
- edge padding bug (autodetected per fourcc/version)
- .IP "\fBhpel_chroma\fR" 4
- .IX Item "hpel_chroma"
- .PD 0
- .IP "\fBdc_clip\fR" 4
- .IX Item "dc_clip"
- .IP "\fBms\fR" 4
- .IX Item "ms"
- .PD
- Workaround various bugs in microsoft broken decoders.
- .IP "\fBtrunc\fR" 4
- .IX Item "trunc"
- trancated frames
- .RE
- .RS 4
- .RE
- .IP "\fBstrict\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio,video\fR\fB)\fR" 4
- .IX Item "strict integer (decoding/encoding,audio,video)"
- Specify how strictly to follow the standards.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBvery\fR" 4
- .IX Item "very"
- strictly conform to an older more strict version of the spec or reference software
- .IP "\fBstrict\fR" 4
- .IX Item "strict"
- strictly conform to all the things in the spec no matter what consequences
- .IP "\fBnormal\fR" 4
- .IX Item "normal"
- .PD 0
- .IP "\fBunofficial\fR" 4
- .IX Item "unofficial"
- .PD
- allow unofficial extensions
- .IP "\fBexperimental\fR" 4
- .IX Item "experimental"
- allow non standardized experimental things, experimental
- (unfinished/work in progress/not well tested) decoders and encoders.
- Note: experimental decoders can pose a security risk, do not use this for
- decoding untrusted input.
- .RE
- .RS 4
- .RE
- .IP "\fBb_qoffset\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "b_qoffset float (encoding,video)"
- Set \s-1QP\s0 offset between P and B frames.
- .IP "\fBerr_detect\fR \fIflags\fR \fB(\fR\fIdecoding,audio,video\fR\fB)\fR" 4
- .IX Item "err_detect flags (decoding,audio,video)"
- Set error detection flags.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBcrccheck\fR" 4
- .IX Item "crccheck"
- verify embedded CRCs
- .IP "\fBbitstream\fR" 4
- .IX Item "bitstream"
- detect bitstream specification deviations
- .IP "\fBbuffer\fR" 4
- .IX Item "buffer"
- detect improper bitstream length
- .IP "\fBexplode\fR" 4
- .IX Item "explode"
- abort decoding on minor error detection
- .IP "\fBignore_err\fR" 4
- .IX Item "ignore_err"
- ignore decoding errors, and continue decoding.
- This is useful if you want to analyze the content of a video and thus want
- everything to be decoded no matter what. This option will not result in a video
- that is pleasing to watch in case of errors.
- .IP "\fBcareful\fR" 4
- .IX Item "careful"
- consider things that violate the spec and have not been seen in the wild as errors
- .IP "\fBcompliant\fR" 4
- .IX Item "compliant"
- consider all spec non compliancies as errors
- .IP "\fBaggressive\fR" 4
- .IX Item "aggressive"
- consider things that a sane encoder should not do as an error
- .RE
- .RS 4
- .RE
- .IP "\fBhas_b_frames\fR \fIinteger\fR" 4
- .IX Item "has_b_frames integer"
- .PD 0
- .IP "\fBblock_align\fR \fIinteger\fR" 4
- .IX Item "block_align integer"
- .IP "\fBmpeg_quant\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "mpeg_quant integer (encoding,video)"
- .PD
- Use \s-1MPEG\s0 quantizers instead of H.263.
- .IP "\fBrc_override_count\fR \fIinteger\fR" 4
- .IX Item "rc_override_count integer"
- .PD 0
- .IP "\fBmaxrate\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "maxrate integer (encoding,audio,video)"
- .PD
- Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
- .IP "\fBminrate\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "minrate integer (encoding,audio,video)"
- Set min bitrate tolerance (in bits/s). Most useful in setting up a \s-1CBR\s0
- encode. It is of little use elsewise.
- .IP "\fBbufsize\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "bufsize integer (encoding,audio,video)"
- Set ratecontrol buffer size (in bits).
- .IP "\fBi_qfactor\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "i_qfactor float (encoding,video)"
- Set \s-1QP\s0 factor between P and I frames.
- .IP "\fBi_qoffset\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "i_qoffset float (encoding,video)"
- Set \s-1QP\s0 offset between P and I frames.
- .IP "\fBdct\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "dct integer (encoding,video)"
- Set \s-1DCT\s0 algorithm.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- autoselect a good one (default)
- .IP "\fBfastint\fR" 4
- .IX Item "fastint"
- fast integer
- .IP "\fBint\fR" 4
- .IX Item "int"
- accurate integer
- .IP "\fBmmx\fR" 4
- .IX Item "mmx"
- .PD 0
- .IP "\fBaltivec\fR" 4
- .IX Item "altivec"
- .IP "\fBfaan\fR" 4
- .IX Item "faan"
- .PD
- floating point \s-1AAN DCT\s0
- .RE
- .RS 4
- .RE
- .IP "\fBlumi_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "lumi_mask float (encoding,video)"
- Compress bright areas stronger than medium ones.
- .IP "\fBtcplx_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "tcplx_mask float (encoding,video)"
- Set temporal complexity masking.
- .IP "\fBscplx_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "scplx_mask float (encoding,video)"
- Set spatial complexity masking.
- .IP "\fBp_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "p_mask float (encoding,video)"
- Set inter masking.
- .IP "\fBdark_mask\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "dark_mask float (encoding,video)"
- Compress dark areas stronger than medium ones.
- .IP "\fBidct\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "idct integer (decoding/encoding,video)"
- Select \s-1IDCT\s0 implementation.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- .PD 0
- .IP "\fBint\fR" 4
- .IX Item "int"
- .IP "\fBsimple\fR" 4
- .IX Item "simple"
- .IP "\fBsimplemmx\fR" 4
- .IX Item "simplemmx"
- .IP "\fBsimpleauto\fR" 4
- .IX Item "simpleauto"
- .PD
- Automatically pick a \s-1IDCT\s0 compatible with the simple one
- .IP "\fBarm\fR" 4
- .IX Item "arm"
- .PD 0
- .IP "\fBaltivec\fR" 4
- .IX Item "altivec"
- .IP "\fBsh4\fR" 4
- .IX Item "sh4"
- .IP "\fBsimplearm\fR" 4
- .IX Item "simplearm"
- .IP "\fBsimplearmv5te\fR" 4
- .IX Item "simplearmv5te"
- .IP "\fBsimplearmv6\fR" 4
- .IX Item "simplearmv6"
- .IP "\fBsimpleneon\fR" 4
- .IX Item "simpleneon"
- .IP "\fBxvid\fR" 4
- .IX Item "xvid"
- .IP "\fBfaani\fR" 4
- .IX Item "faani"
- .PD
- floating point \s-1AAN IDCT\s0
- .RE
- .RS 4
- .RE
- .IP "\fBslice_count\fR \fIinteger\fR" 4
- .IX Item "slice_count integer"
- .PD 0
- .IP "\fBec\fR \fIflags\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "ec flags (decoding,video)"
- .PD
- Set error concealment strategy.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBguess_mvs\fR" 4
- .IX Item "guess_mvs"
- iterative motion vector (\s-1MV\s0) search (slow)
- .IP "\fBdeblock\fR" 4
- .IX Item "deblock"
- use strong deblock filter for damaged MBs
- .IP "\fBfavor_inter\fR" 4
- .IX Item "favor_inter"
- favor predicting from the previous frame instead of the current
- .RE
- .RS 4
- .RE
- .IP "\fBbits_per_coded_sample\fR \fIinteger\fR" 4
- .IX Item "bits_per_coded_sample integer"
- .PD 0
- .IP "\fBpred\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "pred integer (encoding,video)"
- .PD
- Set prediction method.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBleft\fR" 4
- .IX Item "left"
- .PD 0
- .IP "\fBplane\fR" 4
- .IX Item "plane"
- .IP "\fBmedian\fR" 4
- .IX Item "median"
- .RE
- .RS 4
- .RE
- .IP "\fBaspect\fR \fIrational number\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "aspect rational number (encoding,video)"
- .PD
- Set sample aspect ratio.
- .IP "\fBsar\fR \fIrational number\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "sar rational number (encoding,video)"
- Set sample aspect ratio. Alias to \fIaspect\fR.
- .IP "\fBdebug\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video,subtitles\fR\fB)\fR" 4
- .IX Item "debug flags (decoding/encoding,audio,video,subtitles)"
- Print specific debug info.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBpict\fR" 4
- .IX Item "pict"
- picture info
- .IP "\fBrc\fR" 4
- .IX Item "rc"
- rate control
- .IP "\fBbitstream\fR" 4
- .IX Item "bitstream"
- .PD 0
- .IP "\fBmb_type\fR" 4
- .IX Item "mb_type"
- .PD
- macroblock (\s-1MB\s0) type
- .IP "\fBqp\fR" 4
- .IX Item "qp"
- per-block quantization parameter (\s-1QP\s0)
- .IP "\fBdct_coeff\fR" 4
- .IX Item "dct_coeff"
- .PD 0
- .IP "\fBgreen_metadata\fR" 4
- .IX Item "green_metadata"
- .PD
- display complexity metadata for the upcoming frame, GoP or for a given duration.
- .IP "\fBskip\fR" 4
- .IX Item "skip"
- .PD 0
- .IP "\fBstartcode\fR" 4
- .IX Item "startcode"
- .IP "\fBer\fR" 4
- .IX Item "er"
- .PD
- error recognition
- .IP "\fBmmco\fR" 4
- .IX Item "mmco"
- memory management control operations (H.264)
- .IP "\fBbugs\fR" 4
- .IX Item "bugs"
- .PD 0
- .IP "\fBbuffers\fR" 4
- .IX Item "buffers"
- .PD
- picture buffer allocations
- .IP "\fBthread_ops\fR" 4
- .IX Item "thread_ops"
- threading operations
- .IP "\fBnomc\fR" 4
- .IX Item "nomc"
- skip motion compensation
- .RE
- .RS 4
- .RE
- .IP "\fBcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "cmp integer (encoding,video)"
- Set full pel me compare function.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBsad\fR" 4
- .IX Item "sad"
- sum of absolute differences, fast (default)
- .IP "\fBsse\fR" 4
- .IX Item "sse"
- sum of squared errors
- .IP "\fBsatd\fR" 4
- .IX Item "satd"
- sum of absolute Hadamard transformed differences
- .IP "\fBdct\fR" 4
- .IX Item "dct"
- sum of absolute \s-1DCT\s0 transformed differences
- .IP "\fBpsnr\fR" 4
- .IX Item "psnr"
- sum of squared quantization errors (avoid, low quality)
- .IP "\fBbit\fR" 4
- .IX Item "bit"
- number of bits needed for the block
- .IP "\fBrd\fR" 4
- .IX Item "rd"
- rate distortion optimal, slow
- .IP "\fBzero\fR" 4
- .IX Item "zero"
- 0
- .IP "\fBvsad\fR" 4
- .IX Item "vsad"
- sum of absolute vertical differences
- .IP "\fBvsse\fR" 4
- .IX Item "vsse"
- sum of squared vertical differences
- .IP "\fBnsse\fR" 4
- .IX Item "nsse"
- noise preserving sum of squared differences
- .IP "\fBw53\fR" 4
- .IX Item "w53"
- 5/3 wavelet, only used in snow
- .IP "\fBw97\fR" 4
- .IX Item "w97"
- 9/7 wavelet, only used in snow
- .IP "\fBdctmax\fR" 4
- .IX Item "dctmax"
- .PD 0
- .IP "\fBchroma\fR" 4
- .IX Item "chroma"
- .RE
- .RS 4
- .RE
- .IP "\fBsubcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "subcmp integer (encoding,video)"
- .PD
- Set sub pel me compare function.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBsad\fR" 4
- .IX Item "sad"
- sum of absolute differences, fast (default)
- .IP "\fBsse\fR" 4
- .IX Item "sse"
- sum of squared errors
- .IP "\fBsatd\fR" 4
- .IX Item "satd"
- sum of absolute Hadamard transformed differences
- .IP "\fBdct\fR" 4
- .IX Item "dct"
- sum of absolute \s-1DCT\s0 transformed differences
- .IP "\fBpsnr\fR" 4
- .IX Item "psnr"
- sum of squared quantization errors (avoid, low quality)
- .IP "\fBbit\fR" 4
- .IX Item "bit"
- number of bits needed for the block
- .IP "\fBrd\fR" 4
- .IX Item "rd"
- rate distortion optimal, slow
- .IP "\fBzero\fR" 4
- .IX Item "zero"
- 0
- .IP "\fBvsad\fR" 4
- .IX Item "vsad"
- sum of absolute vertical differences
- .IP "\fBvsse\fR" 4
- .IX Item "vsse"
- sum of squared vertical differences
- .IP "\fBnsse\fR" 4
- .IX Item "nsse"
- noise preserving sum of squared differences
- .IP "\fBw53\fR" 4
- .IX Item "w53"
- 5/3 wavelet, only used in snow
- .IP "\fBw97\fR" 4
- .IX Item "w97"
- 9/7 wavelet, only used in snow
- .IP "\fBdctmax\fR" 4
- .IX Item "dctmax"
- .PD 0
- .IP "\fBchroma\fR" 4
- .IX Item "chroma"
- .RE
- .RS 4
- .RE
- .IP "\fBmbcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "mbcmp integer (encoding,video)"
- .PD
- Set macroblock compare function.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBsad\fR" 4
- .IX Item "sad"
- sum of absolute differences, fast (default)
- .IP "\fBsse\fR" 4
- .IX Item "sse"
- sum of squared errors
- .IP "\fBsatd\fR" 4
- .IX Item "satd"
- sum of absolute Hadamard transformed differences
- .IP "\fBdct\fR" 4
- .IX Item "dct"
- sum of absolute \s-1DCT\s0 transformed differences
- .IP "\fBpsnr\fR" 4
- .IX Item "psnr"
- sum of squared quantization errors (avoid, low quality)
- .IP "\fBbit\fR" 4
- .IX Item "bit"
- number of bits needed for the block
- .IP "\fBrd\fR" 4
- .IX Item "rd"
- rate distortion optimal, slow
- .IP "\fBzero\fR" 4
- .IX Item "zero"
- 0
- .IP "\fBvsad\fR" 4
- .IX Item "vsad"
- sum of absolute vertical differences
- .IP "\fBvsse\fR" 4
- .IX Item "vsse"
- sum of squared vertical differences
- .IP "\fBnsse\fR" 4
- .IX Item "nsse"
- noise preserving sum of squared differences
- .IP "\fBw53\fR" 4
- .IX Item "w53"
- 5/3 wavelet, only used in snow
- .IP "\fBw97\fR" 4
- .IX Item "w97"
- 9/7 wavelet, only used in snow
- .IP "\fBdctmax\fR" 4
- .IX Item "dctmax"
- .PD 0
- .IP "\fBchroma\fR" 4
- .IX Item "chroma"
- .RE
- .RS 4
- .RE
- .IP "\fBildctcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "ildctcmp integer (encoding,video)"
- .PD
- Set interlaced dct compare function.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBsad\fR" 4
- .IX Item "sad"
- sum of absolute differences, fast (default)
- .IP "\fBsse\fR" 4
- .IX Item "sse"
- sum of squared errors
- .IP "\fBsatd\fR" 4
- .IX Item "satd"
- sum of absolute Hadamard transformed differences
- .IP "\fBdct\fR" 4
- .IX Item "dct"
- sum of absolute \s-1DCT\s0 transformed differences
- .IP "\fBpsnr\fR" 4
- .IX Item "psnr"
- sum of squared quantization errors (avoid, low quality)
- .IP "\fBbit\fR" 4
- .IX Item "bit"
- number of bits needed for the block
- .IP "\fBrd\fR" 4
- .IX Item "rd"
- rate distortion optimal, slow
- .IP "\fBzero\fR" 4
- .IX Item "zero"
- 0
- .IP "\fBvsad\fR" 4
- .IX Item "vsad"
- sum of absolute vertical differences
- .IP "\fBvsse\fR" 4
- .IX Item "vsse"
- sum of squared vertical differences
- .IP "\fBnsse\fR" 4
- .IX Item "nsse"
- noise preserving sum of squared differences
- .IP "\fBw53\fR" 4
- .IX Item "w53"
- 5/3 wavelet, only used in snow
- .IP "\fBw97\fR" 4
- .IX Item "w97"
- 9/7 wavelet, only used in snow
- .IP "\fBdctmax\fR" 4
- .IX Item "dctmax"
- .PD 0
- .IP "\fBchroma\fR" 4
- .IX Item "chroma"
- .RE
- .RS 4
- .RE
- .IP "\fBdia_size\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "dia_size integer (encoding,video)"
- .PD
- Set diamond type & size for motion estimation.
- .RS 4
- .IP "\fB(1024, \s-1INT_MAX\s0)\fR" 4
- .IX Item "(1024, INT_MAX)"
- full motion estimation(slowest)
- .IP "\fB(768, 1024]\fR" 4
- .IX Item "(768, 1024]"
- umh motion estimation
- .IP "\fB(512, 768]\fR" 4
- .IX Item "(512, 768]"
- hex motion estimation
- .IP "\fB(256, 512]\fR" 4
- .IX Item "(256, 512]"
- l2s diamond motion estimation
- .IP "\fB[2,256]\fR" 4
- .IX Item "[2,256]"
- var diamond motion estimation
- .IP "\fB(\-1, 2)\fR" 4
- .IX Item "(-1, 2)"
- small diamond motion estimation
- .IP "\fB\-1\fR" 4
- .IX Item "-1"
- funny diamond motion estimation
- .IP "\fB(\s-1INT_MIN,\s0 \-1)\fR" 4
- .IX Item "(INT_MIN, -1)"
- sab diamond motion estimation
- .RE
- .RS 4
- .RE
- .IP "\fBlast_pred\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "last_pred integer (encoding,video)"
- Set amount of motion predictors from the previous frame.
- .IP "\fBpreme\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "preme integer (encoding,video)"
- Set pre motion estimation.
- .IP "\fBprecmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "precmp integer (encoding,video)"
- Set pre motion estimation compare function.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBsad\fR" 4
- .IX Item "sad"
- sum of absolute differences, fast (default)
- .IP "\fBsse\fR" 4
- .IX Item "sse"
- sum of squared errors
- .IP "\fBsatd\fR" 4
- .IX Item "satd"
- sum of absolute Hadamard transformed differences
- .IP "\fBdct\fR" 4
- .IX Item "dct"
- sum of absolute \s-1DCT\s0 transformed differences
- .IP "\fBpsnr\fR" 4
- .IX Item "psnr"
- sum of squared quantization errors (avoid, low quality)
- .IP "\fBbit\fR" 4
- .IX Item "bit"
- number of bits needed for the block
- .IP "\fBrd\fR" 4
- .IX Item "rd"
- rate distortion optimal, slow
- .IP "\fBzero\fR" 4
- .IX Item "zero"
- 0
- .IP "\fBvsad\fR" 4
- .IX Item "vsad"
- sum of absolute vertical differences
- .IP "\fBvsse\fR" 4
- .IX Item "vsse"
- sum of squared vertical differences
- .IP "\fBnsse\fR" 4
- .IX Item "nsse"
- noise preserving sum of squared differences
- .IP "\fBw53\fR" 4
- .IX Item "w53"
- 5/3 wavelet, only used in snow
- .IP "\fBw97\fR" 4
- .IX Item "w97"
- 9/7 wavelet, only used in snow
- .IP "\fBdctmax\fR" 4
- .IX Item "dctmax"
- .PD 0
- .IP "\fBchroma\fR" 4
- .IX Item "chroma"
- .RE
- .RS 4
- .RE
- .IP "\fBpre_dia_size\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "pre_dia_size integer (encoding,video)"
- .PD
- Set diamond type & size for motion estimation pre-pass.
- .IP "\fBsubq\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "subq integer (encoding,video)"
- Set sub pel motion estimation quality.
- .IP "\fBme_range\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "me_range integer (encoding,video)"
- Set limit motion vectors range (1023 for DivX player).
- .IP "\fBglobal_quality\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "global_quality integer (encoding,audio,video)"
- .PD 0
- .IP "\fBcoder\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "coder integer (encoding,video)"
- .PD
- Possible values:
- .RS 4
- .IP "\fBvlc\fR" 4
- .IX Item "vlc"
- variable length coder / huffman coder
- .IP "\fBac\fR" 4
- .IX Item "ac"
- arithmetic coder
- .IP "\fBraw\fR" 4
- .IX Item "raw"
- raw (no encoding)
- .IP "\fBrle\fR" 4
- .IX Item "rle"
- run-length coder
- .RE
- .RS 4
- .RE
- .IP "\fBcontext\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "context integer (encoding,video)"
- Set context model.
- .IP "\fBslice_flags\fR \fIinteger\fR" 4
- .IX Item "slice_flags integer"
- .PD 0
- .IP "\fBmbd\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "mbd integer (encoding,video)"
- .PD
- Set macroblock decision algorithm (high quality mode).
- .Sp
- Possible values:
- .RS 4
- .IP "\fBsimple\fR" 4
- .IX Item "simple"
- use mbcmp (default)
- .IP "\fBbits\fR" 4
- .IX Item "bits"
- use fewest bits
- .IP "\fBrd\fR" 4
- .IX Item "rd"
- use best rate distortion
- .RE
- .RS 4
- .RE
- .IP "\fBsc_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "sc_threshold integer (encoding,video)"
- Set scene change threshold.
- .IP "\fBnr\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "nr integer (encoding,video)"
- Set noise reduction.
- .IP "\fBrc_init_occupancy\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "rc_init_occupancy integer (encoding,video)"
- Set number of bits which should be loaded into the rc buffer before
- decoding starts.
- .IP "\fBflags2\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video,subtitles\fR\fB)\fR" 4
- .IX Item "flags2 flags (decoding/encoding,audio,video,subtitles)"
- Possible values:
- .RS 4
- .IP "\fBfast\fR" 4
- .IX Item "fast"
- Allow non spec compliant speedup tricks.
- .IP "\fBnoout\fR" 4
- .IX Item "noout"
- Skip bitstream encoding.
- .IP "\fBignorecrop\fR" 4
- .IX Item "ignorecrop"
- Ignore cropping information from sps.
- .IP "\fBlocal_header\fR" 4
- .IX Item "local_header"
- Place global headers at every keyframe instead of in extradata.
- .IP "\fBchunks\fR" 4
- .IX Item "chunks"
- Frame data might be split into multiple chunks.
- .IP "\fBshowall\fR" 4
- .IX Item "showall"
- Show all frames before the first keyframe.
- .IP "\fBexport_mvs\fR" 4
- .IX Item "export_mvs"
- Export motion vectors into frame side-data (see \f(CW\*(C`AV_FRAME_DATA_MOTION_VECTORS\*(C'\fR)
- for codecs that support it. See also \fIdoc/examples/export_mvs.c\fR.
- .IP "\fBskip_manual\fR" 4
- .IX Item "skip_manual"
- Do not skip samples and export skip information as frame side data.
- .IP "\fBass_ro_flush_noop\fR" 4
- .IX Item "ass_ro_flush_noop"
- Do not reset \s-1ASS\s0 ReadOrder field on flush.
- .RE
- .RS 4
- .RE
- .IP "\fBexport_side_data\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,audio,video,subtitles\fR\fB)\fR" 4
- .IX Item "export_side_data flags (decoding/encoding,audio,video,subtitles)"
- Possible values:
- .RS 4
- .IP "\fBmvs\fR" 4
- .IX Item "mvs"
- Export motion vectors into frame side-data (see \f(CW\*(C`AV_FRAME_DATA_MOTION_VECTORS\*(C'\fR)
- for codecs that support it. See also \fIdoc/examples/export_mvs.c\fR.
- .IP "\fBprft\fR" 4
- .IX Item "prft"
- Export encoder Producer Reference Time into packet side-data (see \f(CW\*(C`AV_PKT_DATA_PRFT\*(C'\fR)
- for codecs that support it.
- .IP "\fBvenc_params\fR" 4
- .IX Item "venc_params"
- Export video encoding parameters through frame side data (see \f(CW\*(C`AV_FRAME_DATA_VIDEO_ENC_PARAMS\*(C'\fR)
- for codecs that support it. At present, those are H.264 and \s-1VP9.\s0
- .IP "\fBfilm_grain\fR" 4
- .IX Item "film_grain"
- Export film grain parameters through frame side data (see \f(CW\*(C`AV_FRAME_DATA_FILM_GRAIN_PARAMS\*(C'\fR).
- Supported at present by \s-1AV1\s0 decoders.
- .RE
- .RS 4
- .RE
- .IP "\fBthreads\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "threads integer (decoding/encoding,video)"
- Set the number of threads to be used, in case the selected codec
- implementation supports multi-threading.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBauto, 0\fR" 4
- .IX Item "auto, 0"
- automatically select the number of threads to set
- .RE
- .RS 4
- .Sp
- Default value is \fBauto\fR.
- .RE
- .IP "\fBdc\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "dc integer (encoding,video)"
- Set intra_dc_precision.
- .IP "\fBnssew\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "nssew integer (encoding,video)"
- Set nsse weight.
- .IP "\fBskip_top\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "skip_top integer (decoding,video)"
- Set number of macroblock rows at the top which are skipped.
- .IP "\fBskip_bottom\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "skip_bottom integer (decoding,video)"
- Set number of macroblock rows at the bottom which are skipped.
- .IP "\fBprofile\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "profile integer (encoding,audio,video)"
- Set encoder codec profile. Default value is \fBunknown\fR. Encoder specific
- profiles are documented in the relevant encoder documentation.
- .IP "\fBlevel\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "level integer (encoding,audio,video)"
- Possible values:
- .RS 4
- .IP "\fBunknown\fR" 4
- .IX Item "unknown"
- .RE
- .RS 4
- .RE
- .PD 0
- .IP "\fBlowres\fR \fIinteger\fR \fB(\fR\fIdecoding,audio,video\fR\fB)\fR" 4
- .IX Item "lowres integer (decoding,audio,video)"
- .PD
- Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
- .IP "\fBskip_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "skip_threshold integer (encoding,video)"
- Set frame skip threshold.
- .IP "\fBskip_factor\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "skip_factor integer (encoding,video)"
- Set frame skip factor.
- .IP "\fBskip_exp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "skip_exp integer (encoding,video)"
- Set frame skip exponent.
- Negative values behave identical to the corresponding positive ones, except
- that the score is normalized.
- Positive values exist primarily for compatibility reasons and are not so useful.
- .IP "\fBskipcmp\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "skipcmp integer (encoding,video)"
- Set frame skip compare function.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBsad\fR" 4
- .IX Item "sad"
- sum of absolute differences, fast (default)
- .IP "\fBsse\fR" 4
- .IX Item "sse"
- sum of squared errors
- .IP "\fBsatd\fR" 4
- .IX Item "satd"
- sum of absolute Hadamard transformed differences
- .IP "\fBdct\fR" 4
- .IX Item "dct"
- sum of absolute \s-1DCT\s0 transformed differences
- .IP "\fBpsnr\fR" 4
- .IX Item "psnr"
- sum of squared quantization errors (avoid, low quality)
- .IP "\fBbit\fR" 4
- .IX Item "bit"
- number of bits needed for the block
- .IP "\fBrd\fR" 4
- .IX Item "rd"
- rate distortion optimal, slow
- .IP "\fBzero\fR" 4
- .IX Item "zero"
- 0
- .IP "\fBvsad\fR" 4
- .IX Item "vsad"
- sum of absolute vertical differences
- .IP "\fBvsse\fR" 4
- .IX Item "vsse"
- sum of squared vertical differences
- .IP "\fBnsse\fR" 4
- .IX Item "nsse"
- noise preserving sum of squared differences
- .IP "\fBw53\fR" 4
- .IX Item "w53"
- 5/3 wavelet, only used in snow
- .IP "\fBw97\fR" 4
- .IX Item "w97"
- 9/7 wavelet, only used in snow
- .IP "\fBdctmax\fR" 4
- .IX Item "dctmax"
- .PD 0
- .IP "\fBchroma\fR" 4
- .IX Item "chroma"
- .RE
- .RS 4
- .RE
- .IP "\fBmblmin\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "mblmin integer (encoding,video)"
- .PD
- Set min macroblock lagrange factor (\s-1VBR\s0).
- .IP "\fBmblmax\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "mblmax integer (encoding,video)"
- Set max macroblock lagrange factor (\s-1VBR\s0).
- .IP "\fBmepc\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "mepc integer (encoding,video)"
- Set motion estimation bitrate penalty compensation (1.0 = 256).
- .IP "\fBskip_loop_filter\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "skip_loop_filter integer (decoding,video)"
- .PD 0
- .IP "\fBskip_idct\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "skip_idct integer (decoding,video)"
- .IP "\fBskip_frame\fR \fIinteger\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "skip_frame integer (decoding,video)"
- .PD
- Make decoder discard processing depending on the frame type selected
- by the option value.
- .Sp
- \&\fBskip_loop_filter\fR skips frame loop filtering, \fBskip_idct\fR
- skips frame IDCT/dequantization, \fBskip_frame\fR skips decoding.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBnone\fR" 4
- .IX Item "none"
- Discard no frame.
- .IP "\fBdefault\fR" 4
- .IX Item "default"
- Discard useless frames like 0\-sized frames.
- .IP "\fBnoref\fR" 4
- .IX Item "noref"
- Discard all non-reference frames.
- .IP "\fBbidir\fR" 4
- .IX Item "bidir"
- Discard all bidirectional frames.
- .IP "\fBnokey\fR" 4
- .IX Item "nokey"
- Discard all frames excepts keyframes.
- .IP "\fBnointra\fR" 4
- .IX Item "nointra"
- Discard all frames except I frames.
- .IP "\fBall\fR" 4
- .IX Item "all"
- Discard all frames.
- .RE
- .RS 4
- .Sp
- Default value is \fBdefault\fR.
- .RE
- .IP "\fBbidir_refine\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "bidir_refine integer (encoding,video)"
- Refine the two motion vectors used in bidirectional macroblocks.
- .IP "\fBbrd_scale\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "brd_scale integer (encoding,video)"
- Downscale frames for dynamic B\-frame decision.
- .IP "\fBkeyint_min\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "keyint_min integer (encoding,video)"
- Set minimum interval between IDR-frames.
- .IP "\fBrefs\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "refs integer (encoding,video)"
- Set reference frames to consider for motion compensation.
- .IP "\fBchromaoffset\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "chromaoffset integer (encoding,video)"
- Set chroma qp offset from luma.
- .IP "\fBtrellis\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "trellis integer (encoding,audio,video)"
- Set rate-distortion optimal quantization.
- .IP "\fBmv0_threshold\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "mv0_threshold integer (encoding,video)"
- .PD 0
- .IP "\fBb_sensitivity\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "b_sensitivity integer (encoding,video)"
- .PD
- Adjust sensitivity of b_frame_strategy 1.
- .IP "\fBcompression_level\fR \fIinteger\fR \fB(\fR\fIencoding,audio,video\fR\fB)\fR" 4
- .IX Item "compression_level integer (encoding,audio,video)"
- .PD 0
- .IP "\fBmin_prediction_order\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
- .IX Item "min_prediction_order integer (encoding,audio)"
- .IP "\fBmax_prediction_order\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
- .IX Item "max_prediction_order integer (encoding,audio)"
- .IP "\fBtimecode_frame_start\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "timecode_frame_start integer (encoding,video)"
- .PD
- Set \s-1GOP\s0 timecode frame start number, in non drop frame format.
- .IP "\fBbits_per_raw_sample\fR \fIinteger\fR" 4
- .IX Item "bits_per_raw_sample integer"
- .PD 0
- .IP "\fBchannel_layout\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio\fR\fB)\fR" 4
- .IX Item "channel_layout integer (decoding/encoding,audio)"
- .PD
- Possible values:
- .IP "\fBrequest_channel_layout\fR \fIinteger\fR \fB(\fR\fIdecoding,audio\fR\fB)\fR" 4
- .IX Item "request_channel_layout integer (decoding,audio)"
- Possible values:
- .IP "\fBrc_max_vbv_use\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "rc_max_vbv_use float (encoding,video)"
- .PD 0
- .IP "\fBrc_min_vbv_use\fR \fIfloat\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "rc_min_vbv_use float (encoding,video)"
- .IP "\fBticks_per_frame\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,audio,video\fR\fB)\fR" 4
- .IX Item "ticks_per_frame integer (decoding/encoding,audio,video)"
- .IP "\fBcolor_primaries\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "color_primaries integer (decoding/encoding,video)"
- .PD
- Possible values:
- .RS 4
- .IP "\fBbt709\fR" 4
- .IX Item "bt709"
- \&\s-1BT.709\s0
- .IP "\fBbt470m\fR" 4
- .IX Item "bt470m"
- \&\s-1BT.470 M\s0
- .IP "\fBbt470bg\fR" 4
- .IX Item "bt470bg"
- \&\s-1BT.470 BG\s0
- .IP "\fBsmpte170m\fR" 4
- .IX Item "smpte170m"
- \&\s-1SMPTE 170 M\s0
- .IP "\fBsmpte240m\fR" 4
- .IX Item "smpte240m"
- \&\s-1SMPTE 240 M\s0
- .IP "\fBfilm\fR" 4
- .IX Item "film"
- Film
- .IP "\fBbt2020\fR" 4
- .IX Item "bt2020"
- \&\s-1BT.2020\s0
- .IP "\fBsmpte428\fR" 4
- .IX Item "smpte428"
- .PD 0
- .IP "\fBsmpte428_1\fR" 4
- .IX Item "smpte428_1"
- .PD
- \&\s-1SMPTE ST 428\-1\s0
- .IP "\fBsmpte431\fR" 4
- .IX Item "smpte431"
- \&\s-1SMPTE 431\-2\s0
- .IP "\fBsmpte432\fR" 4
- .IX Item "smpte432"
- \&\s-1SMPTE 432\-1\s0
- .IP "\fBjedec\-p22\fR" 4
- .IX Item "jedec-p22"
- \&\s-1JEDEC P22\s0
- .RE
- .RS 4
- .RE
- .IP "\fBcolor_trc\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "color_trc integer (decoding/encoding,video)"
- Possible values:
- .RS 4
- .IP "\fBbt709\fR" 4
- .IX Item "bt709"
- \&\s-1BT.709\s0
- .IP "\fBgamma22\fR" 4
- .IX Item "gamma22"
- \&\s-1BT.470 M\s0
- .IP "\fBgamma28\fR" 4
- .IX Item "gamma28"
- \&\s-1BT.470 BG\s0
- .IP "\fBsmpte170m\fR" 4
- .IX Item "smpte170m"
- \&\s-1SMPTE 170 M\s0
- .IP "\fBsmpte240m\fR" 4
- .IX Item "smpte240m"
- \&\s-1SMPTE 240 M\s0
- .IP "\fBlinear\fR" 4
- .IX Item "linear"
- Linear
- .IP "\fBlog\fR" 4
- .IX Item "log"
- .PD 0
- .IP "\fBlog100\fR" 4
- .IX Item "log100"
- .PD
- Log
- .IP "\fBlog_sqrt\fR" 4
- .IX Item "log_sqrt"
- .PD 0
- .IP "\fBlog316\fR" 4
- .IX Item "log316"
- .PD
- Log square root
- .IP "\fBiec61966_2_4\fR" 4
- .IX Item "iec61966_2_4"
- .PD 0
- .IP "\fBiec61966\-2\-4\fR" 4
- .IX Item "iec61966-2-4"
- .PD
- \&\s-1IEC 61966\-2\-4\s0
- .IP "\fBbt1361\fR" 4
- .IX Item "bt1361"
- .PD 0
- .IP "\fBbt1361e\fR" 4
- .IX Item "bt1361e"
- .PD
- \&\s-1BT.1361\s0
- .IP "\fBiec61966_2_1\fR" 4
- .IX Item "iec61966_2_1"
- .PD 0
- .IP "\fBiec61966\-2\-1\fR" 4
- .IX Item "iec61966-2-1"
- .PD
- \&\s-1IEC 61966\-2\-1\s0
- .IP "\fBbt2020_10\fR" 4
- .IX Item "bt2020_10"
- .PD 0
- .IP "\fBbt2020_10bit\fR" 4
- .IX Item "bt2020_10bit"
- .PD
- \&\s-1BT.2020\s0 \- 10 bit
- .IP "\fBbt2020_12\fR" 4
- .IX Item "bt2020_12"
- .PD 0
- .IP "\fBbt2020_12bit\fR" 4
- .IX Item "bt2020_12bit"
- .PD
- \&\s-1BT.2020\s0 \- 12 bit
- .IP "\fBsmpte2084\fR" 4
- .IX Item "smpte2084"
- \&\s-1SMPTE ST 2084\s0
- .IP "\fBsmpte428\fR" 4
- .IX Item "smpte428"
- .PD 0
- .IP "\fBsmpte428_1\fR" 4
- .IX Item "smpte428_1"
- .PD
- \&\s-1SMPTE ST 428\-1\s0
- .IP "\fBarib\-std\-b67\fR" 4
- .IX Item "arib-std-b67"
- \&\s-1ARIB STD\-B67\s0
- .RE
- .RS 4
- .RE
- .IP "\fBcolorspace\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "colorspace integer (decoding/encoding,video)"
- Possible values:
- .RS 4
- .IP "\fBrgb\fR" 4
- .IX Item "rgb"
- \&\s-1RGB\s0
- .IP "\fBbt709\fR" 4
- .IX Item "bt709"
- \&\s-1BT.709\s0
- .IP "\fBfcc\fR" 4
- .IX Item "fcc"
- \&\s-1FCC\s0
- .IP "\fBbt470bg\fR" 4
- .IX Item "bt470bg"
- \&\s-1BT.470 BG\s0
- .IP "\fBsmpte170m\fR" 4
- .IX Item "smpte170m"
- \&\s-1SMPTE 170 M\s0
- .IP "\fBsmpte240m\fR" 4
- .IX Item "smpte240m"
- \&\s-1SMPTE 240 M\s0
- .IP "\fBycocg\fR" 4
- .IX Item "ycocg"
- \&\s-1YCOCG\s0
- .IP "\fBbt2020nc\fR" 4
- .IX Item "bt2020nc"
- .PD 0
- .IP "\fBbt2020_ncl\fR" 4
- .IX Item "bt2020_ncl"
- .PD
- \&\s-1BT.2020 NCL\s0
- .IP "\fBbt2020c\fR" 4
- .IX Item "bt2020c"
- .PD 0
- .IP "\fBbt2020_cl\fR" 4
- .IX Item "bt2020_cl"
- .PD
- \&\s-1BT.2020 CL\s0
- .IP "\fBsmpte2085\fR" 4
- .IX Item "smpte2085"
- \&\s-1SMPTE 2085\s0
- .IP "\fBchroma-derived-nc\fR" 4
- .IX Item "chroma-derived-nc"
- Chroma-derived \s-1NCL\s0
- .IP "\fBchroma-derived-c\fR" 4
- .IX Item "chroma-derived-c"
- Chroma-derived \s-1CL\s0
- .IP "\fBictcp\fR" 4
- .IX Item "ictcp"
- ICtCp
- .RE
- .RS 4
- .RE
- .IP "\fBcolor_range\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "color_range integer (decoding/encoding,video)"
- If used as input parameter, it serves as a hint to the decoder, which
- color_range the input has.
- Possible values:
- .RS 4
- .IP "\fBtv\fR" 4
- .IX Item "tv"
- .PD 0
- .IP "\fBmpeg\fR" 4
- .IX Item "mpeg"
- .PD
- \&\s-1MPEG\s0 (219*2^(n\-8))
- .IP "\fBpc\fR" 4
- .IX Item "pc"
- .PD 0
- .IP "\fBjpeg\fR" 4
- .IX Item "jpeg"
- .PD
- \&\s-1JPEG\s0 (2^n\-1)
- .RE
- .RS 4
- .RE
- .IP "\fBchroma_sample_location\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "chroma_sample_location integer (decoding/encoding,video)"
- Possible values:
- .RS 4
- .IP "\fBleft\fR" 4
- .IX Item "left"
- .PD 0
- .IP "\fBcenter\fR" 4
- .IX Item "center"
- .IP "\fBtopleft\fR" 4
- .IX Item "topleft"
- .IP "\fBtop\fR" 4
- .IX Item "top"
- .IP "\fBbottomleft\fR" 4
- .IX Item "bottomleft"
- .IP "\fBbottom\fR" 4
- .IX Item "bottom"
- .RE
- .RS 4
- .RE
- .IP "\fBlog_level_offset\fR \fIinteger\fR" 4
- .IX Item "log_level_offset integer"
- .PD
- Set the log level offset.
- .IP "\fBslices\fR \fIinteger\fR \fB(\fR\fIencoding,video\fR\fB)\fR" 4
- .IX Item "slices integer (encoding,video)"
- Number of slices, used in parallelized encoding.
- .IP "\fBthread_type\fR \fIflags\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "thread_type flags (decoding/encoding,video)"
- Select which multithreading methods to use.
- .Sp
- Use of \fBframe\fR will increase decoding delay by one frame per
- thread, so clients which cannot provide future frames should not use
- it.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBslice\fR" 4
- .IX Item "slice"
- Decode more than one part of a single frame at once.
- .Sp
- Multithreading using slices works only when the video was encoded with
- slices.
- .IP "\fBframe\fR" 4
- .IX Item "frame"
- Decode more than one frame at once.
- .RE
- .RS 4
- .Sp
- Default value is \fBslice+frame\fR.
- .RE
- .IP "\fBaudio_service_type\fR \fIinteger\fR \fB(\fR\fIencoding,audio\fR\fB)\fR" 4
- .IX Item "audio_service_type integer (encoding,audio)"
- Set audio service type.
- .Sp
- Possible values:
- .RS 4
- .IP "\fBma\fR" 4
- .IX Item "ma"
- Main Audio Service
- .IP "\fBef\fR" 4
- .IX Item "ef"
- Effects
- .IP "\fBvi\fR" 4
- .IX Item "vi"
- Visually Impaired
- .IP "\fBhi\fR" 4
- .IX Item "hi"
- Hearing Impaired
- .IP "\fBdi\fR" 4
- .IX Item "di"
- Dialogue
- .IP "\fBco\fR" 4
- .IX Item "co"
- Commentary
- .IP "\fBem\fR" 4
- .IX Item "em"
- Emergency
- .IP "\fBvo\fR" 4
- .IX Item "vo"
- Voice Over
- .IP "\fBka\fR" 4
- .IX Item "ka"
- Karaoke
- .RE
- .RS 4
- .RE
- .IP "\fBrequest_sample_fmt\fR \fIsample_fmt\fR \fB(\fR\fIdecoding,audio\fR\fB)\fR" 4
- .IX Item "request_sample_fmt sample_fmt (decoding,audio)"
- Set sample format audio decoders should prefer. Default value is
- \&\f(CW\*(C`none\*(C'\fR.
- .IP "\fBpkt_timebase\fR \fIrational number\fR" 4
- .IX Item "pkt_timebase rational number"
- .PD 0
- .IP "\fBsub_charenc\fR \fIencoding\fR \fB(\fR\fIdecoding,subtitles\fR\fB)\fR" 4
- .IX Item "sub_charenc encoding (decoding,subtitles)"
- .PD
- Set the input subtitles character encoding.
- .IP "\fBfield_order\fR \fIfield_order\fR \fB(\fR\fIvideo\fR\fB)\fR" 4
- .IX Item "field_order field_order (video)"
- Set/override the field order of the video.
- Possible values:
- .RS 4
- .IP "\fBprogressive\fR" 4
- .IX Item "progressive"
- Progressive video
- .IP "\fBtt\fR" 4
- .IX Item "tt"
- Interlaced video, top field coded and displayed first
- .IP "\fBbb\fR" 4
- .IX Item "bb"
- Interlaced video, bottom field coded and displayed first
- .IP "\fBtb\fR" 4
- .IX Item "tb"
- Interlaced video, top coded first, bottom displayed first
- .IP "\fBbt\fR" 4
- .IX Item "bt"
- Interlaced video, bottom coded first, top displayed first
- .RE
- .RS 4
- .RE
- .IP "\fBskip_alpha\fR \fIbool\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "skip_alpha bool (decoding,video)"
- Set to 1 to disable processing alpha (transparency). This works like the
- \&\fBgray\fR flag in the \fBflags\fR option which skips chroma information
- instead of alpha. Default is 0.
- .IP "\fBcodec_whitelist\fR \fIlist\fR \fB(\fR\fIinput\fR\fB)\fR" 4
- .IX Item "codec_whitelist list (input)"
- \&\*(L",\*(R" separated list of allowed decoders. By default all are allowed.
- .IP "\fBdump_separator\fR \fIstring\fR \fB(\fR\fIinput\fR\fB)\fR" 4
- .IX Item "dump_separator string (input)"
- Separator used to separate the fields printed on the command line about the
- Stream parameters.
- For example, to separate the fields with newlines and indentation:
- .Sp
- .Vb 2
- \& ffprobe \-dump_separator "
- \& " \-i ~/videos/matrixbench_mpeg2.mpg
- .Ve
- .IP "\fBmax_pixels\fR \fIinteger\fR \fB(\fR\fIdecoding/encoding,video\fR\fB)\fR" 4
- .IX Item "max_pixels integer (decoding/encoding,video)"
- Maximum number of pixels per image. This value can be used to avoid out of
- memory failures due to large images.
- .IP "\fBapply_cropping\fR \fIbool\fR \fB(\fR\fIdecoding,video\fR\fB)\fR" 4
- .IX Item "apply_cropping bool (decoding,video)"
- Enable cropping if cropping parameters are multiples of the required
- alignment for the left and top parameters. If the alignment is not met the
- cropping will be partially applied to maintain alignment.
- Default is 1 (enabled).
- Note: The required alignment depends on if \f(CW\*(C`AV_CODEC_FLAG_UNALIGNED\*(C'\fR is set and the
- \&\s-1CPU.\s0 \f(CW\*(C`AV_CODEC_FLAG_UNALIGNED\*(C'\fR cannot be changed from the command line. Also hardware
- decoders will not apply left/top Cropping.
- .SH "DECODERS"
- .IX Header "DECODERS"
- Decoders are configured elements in FFmpeg which allow the decoding of
- multimedia streams.
- .PP
- When you configure your FFmpeg build, all the supported native decoders
- are enabled by default. Decoders requiring an external library must be enabled
- manually via the corresponding \f(CW\*(C`\-\-enable\-lib\*(C'\fR option. You can list all
- available decoders using the configure option \f(CW\*(C`\-\-list\-decoders\*(C'\fR.
- .PP
- You can disable all the decoders with the configure option
- \&\f(CW\*(C`\-\-disable\-decoders\*(C'\fR and selectively enable / disable single decoders
- with the options \f(CW\*(C`\-\-enable\-decoder=\f(CIDECODER\f(CW\*(C'\fR /
- \&\f(CW\*(C`\-\-disable\-decoder=\f(CIDECODER\f(CW\*(C'\fR.
- .PP
- The option \f(CW\*(C`\-decoders\*(C'\fR of the ff* tools will display the list of
- enabled decoders.
- .SH "VIDEO DECODERS"
- .IX Header "VIDEO DECODERS"
- A description of some of the currently available video decoders
- follows.
- .SS "av1"
- .IX Subsection "av1"
- AOMedia Video 1 (\s-1AV1\s0) decoder.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBoperating_point\fR" 4
- .IX Item "operating_point"
- Select an operating point of a scalable \s-1AV1\s0 bitstream (0 \- 31). Default is 0.
- .SS "rawvideo"
- .IX Subsection "rawvideo"
- Raw video decoder.
- .PP
- This decoder decodes rawvideo streams.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBtop\fR \fItop_field_first\fR" 4
- .IX Item "top top_field_first"
- Specify the assumed field type of the input video.
- .RS 4
- .IP "\fB\-1\fR" 4
- .IX Item "-1"
- the video is assumed to be progressive (default)
- .IP "\fB0\fR" 4
- .IX Item "0"
- bottom-field-first is assumed
- .IP "\fB1\fR" 4
- .IX Item "1"
- top-field-first is assumed
- .RE
- .RS 4
- .RE
- .SS "libdav1d"
- .IX Subsection "libdav1d"
- dav1d \s-1AV1\s0 decoder.
- .PP
- libdav1d allows libavcodec to decode the AOMedia Video 1 (\s-1AV1\s0) codec.
- Requires the presence of the libdav1d headers and library during configuration.
- You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libdav1d\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by the libdav1d wrapper.
- .IP "\fBframethreads\fR" 4
- .IX Item "framethreads"
- Set amount of frame threads to use during decoding. The default value is 0 (autodetect).
- .IP "\fBtilethreads\fR" 4
- .IX Item "tilethreads"
- Set amount of tile threads to use during decoding. The default value is 0 (autodetect).
- .IP "\fBfilmgrain\fR" 4
- .IX Item "filmgrain"
- Apply film grain to the decoded video if present in the bitstream. Defaults to the
- internal default of the library.
- .IP "\fBoppoint\fR" 4
- .IX Item "oppoint"
- Select an operating point of a scalable \s-1AV1\s0 bitstream (0 \- 31). Defaults to the
- internal default of the library.
- .IP "\fBalllayers\fR" 4
- .IX Item "alllayers"
- Output all spatial layers of a scalable \s-1AV1\s0 bitstream. The default value is false.
- .SS "libdavs2"
- .IX Subsection "libdavs2"
- \&\s-1AVS2\-P2/IEEE1857.4\s0 video decoder wrapper.
- .PP
- This decoder allows libavcodec to decode \s-1AVS2\s0 streams with davs2 library.
- .SS "libuavs3d"
- .IX Subsection "libuavs3d"
- \&\s-1AVS3\-P2/IEEE1857.10\s0 video decoder.
- .PP
- libuavs3d allows libavcodec to decode \s-1AVS3\s0 streams.
- Requires the presence of the libuavs3d headers and library during configuration.
- You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libuavs3d\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following option is supported by the libuavs3d wrapper.
- .IP "\fBframe_threads\fR" 4
- .IX Item "frame_threads"
- Set amount of frame threads to use during decoding. The default value is 0 (autodetect).
- .SH "AUDIO DECODERS"
- .IX Header "AUDIO DECODERS"
- A description of some of the currently available audio decoders
- follows.
- .SS "ac3"
- .IX Subsection "ac3"
- \&\s-1AC\-3\s0 audio decoder.
- .PP
- This decoder implements part of \s-1ATSC A/52:2010\s0 and \s-1ETSI TS 102 366,\s0 as well as
- the undocumented RealAudio 3 (a.k.a. dnet).
- .PP
- \fI\s-1AC\-3\s0 Decoder Options\fR
- .IX Subsection "AC-3 Decoder Options"
- .IP "\fB\-drc_scale\fR \fIvalue\fR" 4
- .IX Item "-drc_scale value"
- Dynamic Range Scale Factor. The factor to apply to dynamic range values
- from the \s-1AC\-3\s0 stream. This factor is applied exponentially. The default value is 1.
- There are 3 notable scale factor ranges:
- .RS 4
- .IP "\fBdrc_scale == 0\fR" 4
- .IX Item "drc_scale == 0"
- \&\s-1DRC\s0 disabled. Produces full range audio.
- .IP "\fB0 < drc_scale <= 1\fR" 4
- .IX Item "0 < drc_scale <= 1"
- \&\s-1DRC\s0 enabled. Applies a fraction of the stream \s-1DRC\s0 value.
- Audio reproduction is between full range and full compression.
- .IP "\fBdrc_scale > 1\fR" 4
- .IX Item "drc_scale > 1"
- \&\s-1DRC\s0 enabled. Applies drc_scale asymmetrically.
- Loud sounds are fully compressed. Soft sounds are enhanced.
- .RE
- .RS 4
- .RE
- .SS "flac"
- .IX Subsection "flac"
- \&\s-1FLAC\s0 audio decoder.
- .PP
- This decoder aims to implement the complete \s-1FLAC\s0 specification from Xiph.
- .PP
- \fI\s-1FLAC\s0 Decoder options\fR
- .IX Subsection "FLAC Decoder options"
- .IP "\fB\-use_buggy_lpc\fR" 4
- .IX Item "-use_buggy_lpc"
- The lavc \s-1FLAC\s0 encoder used to produce buggy streams with high lpc values
- (like the default value). This option makes it possible to decode such streams
- correctly by using lavc's old buggy lpc logic for decoding.
- .SS "ffwavesynth"
- .IX Subsection "ffwavesynth"
- Internal wave synthesizer.
- .PP
- This decoder generates wave patterns according to predefined sequences. Its
- use is purely internal and the format of the data it accepts is not publicly
- documented.
- .SS "libcelt"
- .IX Subsection "libcelt"
- libcelt decoder wrapper.
- .PP
- libcelt allows libavcodec to decode the Xiph \s-1CELT\s0 ultra-low delay audio codec.
- Requires the presence of the libcelt headers and library during configuration.
- You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libcelt\*(C'\fR.
- .SS "libgsm"
- .IX Subsection "libgsm"
- libgsm decoder wrapper.
- .PP
- libgsm allows libavcodec to decode the \s-1GSM\s0 full rate audio codec. Requires
- the presence of the libgsm headers and library during configuration. You need
- to explicitly configure the build with \f(CW\*(C`\-\-enable\-libgsm\*(C'\fR.
- .PP
- This decoder supports both the ordinary \s-1GSM\s0 and the Microsoft variant.
- .SS "libilbc"
- .IX Subsection "libilbc"
- libilbc decoder wrapper.
- .PP
- libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC)
- audio codec. Requires the presence of the libilbc headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libilbc\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following option is supported by the libilbc wrapper.
- .IP "\fBenhance\fR" 4
- .IX Item "enhance"
- Enable the enhancement of the decoded audio when set to 1. The default
- value is 0 (disabled).
- .SS "libopencore-amrnb"
- .IX Subsection "libopencore-amrnb"
- libopencore-amrnb decoder wrapper.
- .PP
- libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate
- Narrowband audio codec. Using it requires the presence of the
- libopencore-amrnb headers and library during configuration. You need to
- explicitly configure the build with \f(CW\*(C`\-\-enable\-libopencore\-amrnb\*(C'\fR.
- .PP
- An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB
- without this library.
- .SS "libopencore-amrwb"
- .IX Subsection "libopencore-amrwb"
- libopencore-amrwb decoder wrapper.
- .PP
- libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate
- Wideband audio codec. Using it requires the presence of the
- libopencore-amrwb headers and library during configuration. You need to
- explicitly configure the build with \f(CW\*(C`\-\-enable\-libopencore\-amrwb\*(C'\fR.
- .PP
- An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB
- without this library.
- .SS "libopus"
- .IX Subsection "libopus"
- libopus decoder wrapper.
- .PP
- libopus allows libavcodec to decode the Opus Interactive Audio Codec.
- Requires the presence of the libopus headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libopus\*(C'\fR.
- .PP
- An FFmpeg native decoder for Opus exists, so users can decode Opus
- without this library.
- .SH "SUBTITLES DECODERS"
- .IX Header "SUBTITLES DECODERS"
- .SS "libaribb24"
- .IX Subsection "libaribb24"
- \&\s-1ARIB STD\-B24\s0 caption decoder.
- .PP
- Implements profiles A and C of the \s-1ARIB STD\-B24\s0 standard.
- .PP
- \fIlibaribb24 Decoder Options\fR
- .IX Subsection "libaribb24 Decoder Options"
- .IP "\fB\-aribb24\-base\-path\fR \fIpath\fR" 4
- .IX Item "-aribb24-base-path path"
- Sets the base path for the libaribb24 library. This is utilized for reading of
- configuration files (for custom unicode conversions), and for dumping of
- non-text symbols as images under that location.
- .Sp
- Unset by default.
- .IP "\fB\-aribb24\-skip\-ruby\-text\fR \fIboolean\fR" 4
- .IX Item "-aribb24-skip-ruby-text boolean"
- Tells the decoder wrapper to skip text blocks that contain half-height ruby
- text.
- .Sp
- Enabled by default.
- .SS "dvbsub"
- .IX Subsection "dvbsub"
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBcompute_clut\fR" 4
- .IX Item "compute_clut"
- .RS 4
- .PD 0
- .IP "\fB\-1\fR" 4
- .IX Item "-1"
- .PD
- Compute clut if no matching \s-1CLUT\s0 is in the stream.
- .IP "\fB0\fR" 4
- .IX Item "0"
- Never compute \s-1CLUT\s0
- .IP "\fB1\fR" 4
- .IX Item "1"
- Always compute \s-1CLUT\s0 and override the one provided in the stream.
- .RE
- .RS 4
- .RE
- .IP "\fBdvb_substream\fR" 4
- .IX Item "dvb_substream"
- Selects the dvb substream, or all substreams if \-1 which is default.
- .SS "dvdsub"
- .IX Subsection "dvdsub"
- This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
- also be found in VobSub file pairs and in some Matroska files.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBpalette\fR" 4
- .IX Item "palette"
- Specify the global palette used by the bitmaps. When stored in VobSub, the
- palette is normally specified in the index file; in Matroska, the palette is
- stored in the codec extra-data in the same format as in VobSub. In DVDs, the
- palette is stored in the \s-1IFO\s0 file, and therefore not available when reading
- from dumped \s-1VOB\s0 files.
- .Sp
- The format for this option is a string containing 16 24\-bits hexadecimal
- numbers (without 0x prefix) separated by commas, for example \f(CW\*(C`0d00ee,
- ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
- 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b\*(C'\fR.
- .IP "\fBifo_palette\fR" 4
- .IX Item "ifo_palette"
- Specify the \s-1IFO\s0 file from which the global palette is obtained.
- (experimental)
- .IP "\fBforced_subs_only\fR" 4
- .IX Item "forced_subs_only"
- Only decode subtitle entries marked as forced. Some titles have forced
- and non-forced subtitles in the same track. Setting this flag to \f(CW1\fR
- will only keep the forced subtitles. Default value is \f(CW0\fR.
- .SS "libzvbi-teletext"
- .IX Subsection "libzvbi-teletext"
- Libzvbi allows libavcodec to decode \s-1DVB\s0 teletext pages and \s-1DVB\s0 teletext
- subtitles. Requires the presence of the libzvbi headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libzvbi\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBtxt_page\fR" 4
- .IX Item "txt_page"
- List of teletext page numbers to decode. Pages that do not match the specified
- list are dropped. You may use the special \f(CW\*(C`*\*(C'\fR string to match all pages,
- or \f(CW\*(C`subtitle\*(C'\fR to match all subtitle pages.
- Default value is *.
- .IP "\fBtxt_default_region\fR" 4
- .IX Item "txt_default_region"
- Set default character set used for decoding, a value between 0 and 87 (see
- \&\s-1ETS 300 706,\s0 Section 15, Table 32). Default value is \-1, which does not
- override the libzvbi default. This option is needed for some legacy level 1.0
- transmissions which cannot signal the proper charset.
- .IP "\fBtxt_chop_top\fR" 4
- .IX Item "txt_chop_top"
- Discards the top teletext line. Default value is 1.
- .IP "\fBtxt_format\fR" 4
- .IX Item "txt_format"
- Specifies the format of the decoded subtitles.
- .RS 4
- .IP "\fBbitmap\fR" 4
- .IX Item "bitmap"
- The default format, you should use this for teletext pages, because certain
- graphics and colors cannot be expressed in simple text or even \s-1ASS.\s0
- .IP "\fBtext\fR" 4
- .IX Item "text"
- Simple text based output without formatting.
- .IP "\fBass\fR" 4
- .IX Item "ass"
- Formatted \s-1ASS\s0 output, subtitle pages and teletext pages are returned in
- different styles, subtitle pages are stripped down to text, but an effort is
- made to keep the text alignment and the formatting.
- .RE
- .RS 4
- .RE
- .IP "\fBtxt_left\fR" 4
- .IX Item "txt_left"
- X offset of generated bitmaps, default is 0.
- .IP "\fBtxt_top\fR" 4
- .IX Item "txt_top"
- Y offset of generated bitmaps, default is 0.
- .IP "\fBtxt_chop_spaces\fR" 4
- .IX Item "txt_chop_spaces"
- Chops leading and trailing spaces and removes empty lines from the generated
- text. This option is useful for teletext based subtitles where empty spaces may
- be present at the start or at the end of the lines or empty lines may be
- present between the subtitle lines because of double-sized teletext characters.
- Default value is 1.
- .IP "\fBtxt_duration\fR" 4
- .IX Item "txt_duration"
- Sets the display duration of the decoded teletext pages or subtitles in
- milliseconds. Default value is \-1 which means infinity or until the next
- subtitle event comes.
- .IP "\fBtxt_transparent\fR" 4
- .IX Item "txt_transparent"
- Force transparent background of the generated teletext bitmaps. Default value
- is 0 which means an opaque background.
- .IP "\fBtxt_opacity\fR" 4
- .IX Item "txt_opacity"
- Sets the opacity (0\-255) of the teletext background. If
- \&\fBtxt_transparent\fR is not set, it only affects characters between a start
- box and an end box, typically subtitles. Default value is 0 if
- \&\fBtxt_transparent\fR is set, 255 otherwise.
- .SH "ENCODERS"
- .IX Header "ENCODERS"
- Encoders are configured elements in FFmpeg which allow the encoding of
- multimedia streams.
- .PP
- When you configure your FFmpeg build, all the supported native encoders
- are enabled by default. Encoders requiring an external library must be enabled
- manually via the corresponding \f(CW\*(C`\-\-enable\-lib\*(C'\fR option. You can list all
- available encoders using the configure option \f(CW\*(C`\-\-list\-encoders\*(C'\fR.
- .PP
- You can disable all the encoders with the configure option
- \&\f(CW\*(C`\-\-disable\-encoders\*(C'\fR and selectively enable / disable single encoders
- with the options \f(CW\*(C`\-\-enable\-encoder=\f(CIENCODER\f(CW\*(C'\fR /
- \&\f(CW\*(C`\-\-disable\-encoder=\f(CIENCODER\f(CW\*(C'\fR.
- .PP
- The option \f(CW\*(C`\-encoders\*(C'\fR of the ff* tools will display the list of
- enabled encoders.
- .SH "AUDIO ENCODERS"
- .IX Header "AUDIO ENCODERS"
- A description of some of the currently available audio encoders
- follows.
- .SS "aac"
- .IX Subsection "aac"
- Advanced Audio Coding (\s-1AAC\s0) encoder.
- .PP
- This encoder is the default \s-1AAC\s0 encoder, natively implemented into FFmpeg.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set bit rate in bits/s. Setting this automatically activates constant bit rate
- (\s-1CBR\s0) mode. If this option is unspecified it is set to 128kbps.
- .IP "\fBq\fR" 4
- .IX Item "q"
- Set quality for variable bit rate (\s-1VBR\s0) mode. This option is valid only using
- the \fBffmpeg\fR command-line tool. For library interface users, use
- \&\fBglobal_quality\fR.
- .IP "\fBcutoff\fR" 4
- .IX Item "cutoff"
- Set cutoff frequency. If unspecified will allow the encoder to dynamically
- adjust the cutoff to improve clarity on low bitrates.
- .IP "\fBaac_coder\fR" 4
- .IX Item "aac_coder"
- Set \s-1AAC\s0 encoder coding method. Possible values:
- .RS 4
- .IP "\fBtwoloop\fR" 4
- .IX Item "twoloop"
- Two loop searching (\s-1TLS\s0) method.
- .Sp
- This method first sets quantizers depending on band thresholds and then tries
- to find an optimal combination by adding or subtracting a specific value from
- all quantizers and adjusting some individual quantizer a little. Will tune
- itself based on whether \fBaac_is\fR, \fBaac_ms\fR and \fBaac_pns\fR
- are enabled.
- .IP "\fBanmr\fR" 4
- .IX Item "anmr"
- Average noise to mask ratio (\s-1ANMR\s0) trellis-based solution.
- .Sp
- This is an experimental coder which currently produces a lower quality, is more
- unstable and is slower than the default twoloop coder but has potential.
- Currently has no support for the \fBaac_is\fR or \fBaac_pns\fR options.
- Not currently recommended.
- .IP "\fBfast\fR" 4
- .IX Item "fast"
- Constant quantizer method.
- .Sp
- Uses a cheaper version of twoloop algorithm that doesn't try to do as many
- clever adjustments. Worse with low bitrates (less than 64kbps), but is better
- and much faster at higher bitrates.
- This is the default choice for a coder
- .RE
- .RS 4
- .RE
- .IP "\fBaac_ms\fR" 4
- .IX Item "aac_ms"
- Sets mid/side coding mode. The default value of \*(L"auto\*(R" will automatically use
- M/S with bands which will benefit from such coding. Can be forced for all bands
- using the value \*(L"enable\*(R", which is mainly useful for debugging or disabled using
- \&\*(L"disable\*(R".
- .IP "\fBaac_is\fR" 4
- .IX Item "aac_is"
- Sets intensity stereo coding tool usage. By default, it's enabled and will
- automatically toggle \s-1IS\s0 for similar pairs of stereo bands if it's beneficial.
- Can be disabled for debugging by setting the value to \*(L"disable\*(R".
- .IP "\fBaac_pns\fR" 4
- .IX Item "aac_pns"
- Uses perceptual noise substitution to replace low entropy high frequency bands
- with imperceptible white noise during the decoding process. By default, it's
- enabled, but can be disabled for debugging purposes by using \*(L"disable\*(R".
- .IP "\fBaac_tns\fR" 4
- .IX Item "aac_tns"
- Enables the use of a multitap \s-1FIR\s0 filter which spans through the high frequency
- bands to hide quantization noise during the encoding process and is reverted
- by the decoder. As well as decreasing unpleasant artifacts in the high range
- this also reduces the entropy in the high bands and allows for more bits to
- be used by the mid-low bands. By default it's enabled but can be disabled for
- debugging by setting the option to \*(L"disable\*(R".
- .IP "\fBaac_ltp\fR" 4
- .IX Item "aac_ltp"
- Enables the use of the long term prediction extension which increases coding
- efficiency in very low bandwidth situations such as encoding of voice or
- solo piano music by extending constant harmonic peaks in bands throughout
- frames. This option is implied by profile:a aac_low and is incompatible with
- aac_pred. Use in conjunction with \fB\-ar\fR to decrease the samplerate.
- .IP "\fBaac_pred\fR" 4
- .IX Item "aac_pred"
- Enables the use of a more traditional style of prediction where the spectral
- coefficients transmitted are replaced by the difference of the current
- coefficients minus the previous \*(L"predicted\*(R" coefficients. In theory and sometimes
- in practice this can improve quality for low to mid bitrate audio.
- This option implies the aac_main profile and is incompatible with aac_ltp.
- .IP "\fBprofile\fR" 4
- .IX Item "profile"
- Sets the encoding profile, possible values:
- .RS 4
- .IP "\fBaac_low\fR" 4
- .IX Item "aac_low"
- The default, \s-1AAC\s0 \*(L"Low-complexity\*(R" profile. Is the most compatible and produces
- decent quality.
- .IP "\fBmpeg2_aac_low\fR" 4
- .IX Item "mpeg2_aac_low"
- Equivalent to \f(CW\*(C`\-profile:a aac_low \-aac_pns 0\*(C'\fR. \s-1PNS\s0 was introduced with the
- \&\s-1MPEG4\s0 specifications.
- .IP "\fBaac_ltp\fR" 4
- .IX Item "aac_ltp"
- Long term prediction profile, is enabled by and will enable the \fBaac_ltp\fR
- option. Introduced in \s-1MPEG4.\s0
- .IP "\fBaac_main\fR" 4
- .IX Item "aac_main"
- Main-type prediction profile, is enabled by and will enable the \fBaac_pred\fR
- option. Introduced in \s-1MPEG2.\s0
- .RE
- .RS 4
- .Sp
- If this option is unspecified it is set to \fBaac_low\fR.
- .RE
- .SS "ac3 and ac3_fixed"
- .IX Subsection "ac3 and ac3_fixed"
- \&\s-1AC\-3\s0 audio encoders.
- .PP
- These encoders implement part of \s-1ATSC A/52:2010\s0 and \s-1ETSI TS 102 366,\s0 as well as
- the undocumented RealAudio 3 (a.k.a. dnet).
- .PP
- The \fIac3\fR encoder uses floating-point math, while the \fIac3_fixed\fR
- encoder only uses fixed-point integer math. This does not mean that one is
- always faster, just that one or the other may be better suited to a
- particular system. The \fIac3_fixed\fR encoder is not the default codec for
- any of the output formats, so it must be specified explicitly using the option
- \&\f(CW\*(C`\-acodec ac3_fixed\*(C'\fR in order to use it.
- .PP
- \fI\s-1AC\-3\s0 Metadata\fR
- .IX Subsection "AC-3 Metadata"
- .PP
- The \s-1AC\-3\s0 metadata options are used to set parameters that describe the audio,
- but in most cases do not affect the audio encoding itself. Some of the options
- do directly affect or influence the decoding and playback of the resulting
- bitstream, while others are just for informational purposes. A few of the
- options will add bits to the output stream that could otherwise be used for
- audio data, and will thus affect the quality of the output. Those will be
- indicated accordingly with a note in the option list below.
- .PP
- These parameters are described in detail in several publicly-available
- documents.
- .IP "*<<\fBhttp://www.atsc.org/cms/standards/a_52\-2010.pdf\fR>>" 4
- .IX Item "*<<http://www.atsc.org/cms/standards/a_52-2010.pdf>>"
- .PD 0
- .IP "*<<\fBhttp://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf\fR>>" 4
- .IX Item "*<<http://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf>>"
- .IP "*<<\fBhttp://www.dolby.com/uploadedFiles/zz\-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf\fR>>" 4
- .IX Item "*<<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf>>"
- .IP "*<<\fBhttp://www.dolby.com/uploadedFiles/zz\-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf\fR>>" 4
- .IX Item "*<<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf>>"
- .PD
- .PP
- Metadata Control Options
- .IX Subsection "Metadata Control Options"
- .IP "\fB\-per_frame_metadata\fR \fIboolean\fR" 4
- .IX Item "-per_frame_metadata boolean"
- Allow Per-Frame Metadata. Specifies if the encoder should check for changing
- metadata for each frame.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- The metadata values set at initialization will be used for every frame in the
- stream. (default)
- .IP "\fB1\fR" 4
- .IX Item "1"
- Metadata values can be changed before encoding each frame.
- .RE
- .RS 4
- .RE
- .PP
- Downmix Levels
- .IX Subsection "Downmix Levels"
- .IP "\fB\-center_mixlev\fR \fIlevel\fR" 4
- .IX Item "-center_mixlev level"
- Center Mix Level. The amount of gain the decoder should apply to the center
- channel when downmixing to stereo. This field will only be written to the
- bitstream if a center channel is present. The value is specified as a scale
- factor. There are 3 valid values:
- .RS 4
- .IP "\fB0.707\fR" 4
- .IX Item "0.707"
- Apply \-3dB gain
- .IP "\fB0.595\fR" 4
- .IX Item "0.595"
- Apply \-4.5dB gain (default)
- .IP "\fB0.500\fR" 4
- .IX Item "0.500"
- Apply \-6dB gain
- .RE
- .RS 4
- .RE
- .IP "\fB\-surround_mixlev\fR \fIlevel\fR" 4
- .IX Item "-surround_mixlev level"
- Surround Mix Level. The amount of gain the decoder should apply to the surround
- channel(s) when downmixing to stereo. This field will only be written to the
- bitstream if one or more surround channels are present. The value is specified
- as a scale factor. There are 3 valid values:
- .RS 4
- .IP "\fB0.707\fR" 4
- .IX Item "0.707"
- Apply \-3dB gain
- .IP "\fB0.500\fR" 4
- .IX Item "0.500"
- Apply \-6dB gain (default)
- .IP "\fB0.000\fR" 4
- .IX Item "0.000"
- Silence Surround Channel(s)
- .RE
- .RS 4
- .RE
- .PP
- Audio Production Information
- .IX Subsection "Audio Production Information"
- .PP
- Audio Production Information is optional information describing the mixing
- environment. Either none or both of the fields are written to the bitstream.
- .IP "\fB\-mixing_level\fR \fInumber\fR" 4
- .IX Item "-mixing_level number"
- Mixing Level. Specifies peak sound pressure level (\s-1SPL\s0) in the production
- environment when the mix was mastered. Valid values are 80 to 111, or \-1 for
- unknown or not indicated. The default value is \-1, but that value cannot be
- used if the Audio Production Information is written to the bitstream. Therefore,
- if the \f(CW\*(C`room_type\*(C'\fR option is not the default value, the \f(CW\*(C`mixing_level\*(C'\fR
- option must not be \-1.
- .IP "\fB\-room_type\fR \fItype\fR" 4
- .IX Item "-room_type type"
- Room Type. Describes the equalization used during the final mixing session at
- the studio or on the dubbing stage. A large room is a dubbing stage with the
- industry standard X\-curve equalization; a small room has flat equalization.
- This field will not be written to the bitstream if both the \f(CW\*(C`mixing_level\*(C'\fR
- option and the \f(CW\*(C`room_type\*(C'\fR option have the default values.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBnotindicated\fR" 4
- .IX Item "notindicated"
- .PD
- Not Indicated (default)
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBlarge\fR" 4
- .IX Item "large"
- .PD
- Large Room
- .IP "\fB2\fR" 4
- .IX Item "2"
- .PD 0
- .IP "\fBsmall\fR" 4
- .IX Item "small"
- .PD
- Small Room
- .RE
- .RS 4
- .RE
- .PP
- Other Metadata Options
- .IX Subsection "Other Metadata Options"
- .IP "\fB\-copyright\fR \fIboolean\fR" 4
- .IX Item "-copyright boolean"
- Copyright Indicator. Specifies whether a copyright exists for this audio.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBoff\fR" 4
- .IX Item "off"
- .PD
- No Copyright Exists (default)
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBon\fR" 4
- .IX Item "on"
- .PD
- Copyright Exists
- .RE
- .RS 4
- .RE
- .IP "\fB\-dialnorm\fR \fIvalue\fR" 4
- .IX Item "-dialnorm value"
- Dialogue Normalization. Indicates how far the average dialogue level of the
- program is below digital 100% full scale (0 dBFS). This parameter determines a
- level shift during audio reproduction that sets the average volume of the
- dialogue to a preset level. The goal is to match volume level between program
- sources. A value of \-31dB will result in no volume level change, relative to
- the source volume, during audio reproduction. Valid values are whole numbers in
- the range \-31 to \-1, with \-31 being the default.
- .IP "\fB\-dsur_mode\fR \fImode\fR" 4
- .IX Item "-dsur_mode mode"
- Dolby Surround Mode. Specifies whether the stereo signal uses Dolby Surround
- (Pro Logic). This field will only be written to the bitstream if the audio
- stream is stereo. Using this option does \fB\s-1NOT\s0\fR mean the encoder will actually
- apply Dolby Surround processing.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBnotindicated\fR" 4
- .IX Item "notindicated"
- .PD
- Not Indicated (default)
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBoff\fR" 4
- .IX Item "off"
- .PD
- Not Dolby Surround Encoded
- .IP "\fB2\fR" 4
- .IX Item "2"
- .PD 0
- .IP "\fBon\fR" 4
- .IX Item "on"
- .PD
- Dolby Surround Encoded
- .RE
- .RS 4
- .RE
- .IP "\fB\-original\fR \fIboolean\fR" 4
- .IX Item "-original boolean"
- Original Bit Stream Indicator. Specifies whether this audio is from the
- original source and not a copy.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBoff\fR" 4
- .IX Item "off"
- .PD
- Not Original Source
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBon\fR" 4
- .IX Item "on"
- .PD
- Original Source (default)
- .RE
- .RS 4
- .RE
- .PP
- \fIExtended Bitstream Information\fR
- .IX Subsection "Extended Bitstream Information"
- .PP
- The extended bitstream options are part of the Alternate Bit Stream Syntax as
- specified in Annex D of the A/52:2010 standard. It is grouped into 2 parts.
- If any one parameter in a group is specified, all values in that group will be
- written to the bitstream. Default values are used for those that are written
- but have not been specified. If the mixing levels are written, the decoder
- will use these values instead of the ones specified in the \f(CW\*(C`center_mixlev\*(C'\fR
- and \f(CW\*(C`surround_mixlev\*(C'\fR options if it supports the Alternate Bit Stream
- Syntax.
- .PP
- Extended Bitstream Information \- Part 1
- .IX Subsection "Extended Bitstream Information - Part 1"
- .IP "\fB\-dmix_mode\fR \fImode\fR" 4
- .IX Item "-dmix_mode mode"
- Preferred Stereo Downmix Mode. Allows the user to select either Lt/Rt
- (Dolby Surround) or Lo/Ro (normal stereo) as the preferred stereo downmix mode.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBnotindicated\fR" 4
- .IX Item "notindicated"
- .PD
- Not Indicated (default)
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBltrt\fR" 4
- .IX Item "ltrt"
- .PD
- Lt/Rt Downmix Preferred
- .IP "\fB2\fR" 4
- .IX Item "2"
- .PD 0
- .IP "\fBloro\fR" 4
- .IX Item "loro"
- .PD
- Lo/Ro Downmix Preferred
- .RE
- .RS 4
- .RE
- .IP "\fB\-ltrt_cmixlev\fR \fIlevel\fR" 4
- .IX Item "-ltrt_cmixlev level"
- Lt/Rt Center Mix Level. The amount of gain the decoder should apply to the
- center channel when downmixing to stereo in Lt/Rt mode.
- .RS 4
- .IP "\fB1.414\fR" 4
- .IX Item "1.414"
- Apply +3dB gain
- .IP "\fB1.189\fR" 4
- .IX Item "1.189"
- Apply +1.5dB gain
- .IP "\fB1.000\fR" 4
- .IX Item "1.000"
- Apply 0dB gain
- .IP "\fB0.841\fR" 4
- .IX Item "0.841"
- Apply \-1.5dB gain
- .IP "\fB0.707\fR" 4
- .IX Item "0.707"
- Apply \-3.0dB gain
- .IP "\fB0.595\fR" 4
- .IX Item "0.595"
- Apply \-4.5dB gain (default)
- .IP "\fB0.500\fR" 4
- .IX Item "0.500"
- Apply \-6.0dB gain
- .IP "\fB0.000\fR" 4
- .IX Item "0.000"
- Silence Center Channel
- .RE
- .RS 4
- .RE
- .IP "\fB\-ltrt_surmixlev\fR \fIlevel\fR" 4
- .IX Item "-ltrt_surmixlev level"
- Lt/Rt Surround Mix Level. The amount of gain the decoder should apply to the
- surround channel(s) when downmixing to stereo in Lt/Rt mode.
- .RS 4
- .IP "\fB0.841\fR" 4
- .IX Item "0.841"
- Apply \-1.5dB gain
- .IP "\fB0.707\fR" 4
- .IX Item "0.707"
- Apply \-3.0dB gain
- .IP "\fB0.595\fR" 4
- .IX Item "0.595"
- Apply \-4.5dB gain
- .IP "\fB0.500\fR" 4
- .IX Item "0.500"
- Apply \-6.0dB gain (default)
- .IP "\fB0.000\fR" 4
- .IX Item "0.000"
- Silence Surround Channel(s)
- .RE
- .RS 4
- .RE
- .IP "\fB\-loro_cmixlev\fR \fIlevel\fR" 4
- .IX Item "-loro_cmixlev level"
- Lo/Ro Center Mix Level. The amount of gain the decoder should apply to the
- center channel when downmixing to stereo in Lo/Ro mode.
- .RS 4
- .IP "\fB1.414\fR" 4
- .IX Item "1.414"
- Apply +3dB gain
- .IP "\fB1.189\fR" 4
- .IX Item "1.189"
- Apply +1.5dB gain
- .IP "\fB1.000\fR" 4
- .IX Item "1.000"
- Apply 0dB gain
- .IP "\fB0.841\fR" 4
- .IX Item "0.841"
- Apply \-1.5dB gain
- .IP "\fB0.707\fR" 4
- .IX Item "0.707"
- Apply \-3.0dB gain
- .IP "\fB0.595\fR" 4
- .IX Item "0.595"
- Apply \-4.5dB gain (default)
- .IP "\fB0.500\fR" 4
- .IX Item "0.500"
- Apply \-6.0dB gain
- .IP "\fB0.000\fR" 4
- .IX Item "0.000"
- Silence Center Channel
- .RE
- .RS 4
- .RE
- .IP "\fB\-loro_surmixlev\fR \fIlevel\fR" 4
- .IX Item "-loro_surmixlev level"
- Lo/Ro Surround Mix Level. The amount of gain the decoder should apply to the
- surround channel(s) when downmixing to stereo in Lo/Ro mode.
- .RS 4
- .IP "\fB0.841\fR" 4
- .IX Item "0.841"
- Apply \-1.5dB gain
- .IP "\fB0.707\fR" 4
- .IX Item "0.707"
- Apply \-3.0dB gain
- .IP "\fB0.595\fR" 4
- .IX Item "0.595"
- Apply \-4.5dB gain
- .IP "\fB0.500\fR" 4
- .IX Item "0.500"
- Apply \-6.0dB gain (default)
- .IP "\fB0.000\fR" 4
- .IX Item "0.000"
- Silence Surround Channel(s)
- .RE
- .RS 4
- .RE
- .PP
- Extended Bitstream Information \- Part 2
- .IX Subsection "Extended Bitstream Information - Part 2"
- .IP "\fB\-dsurex_mode\fR \fImode\fR" 4
- .IX Item "-dsurex_mode mode"
- Dolby Surround \s-1EX\s0 Mode. Indicates whether the stream uses Dolby Surround \s-1EX\s0
- (7.1 matrixed to 5.1). Using this option does \fB\s-1NOT\s0\fR mean the encoder will actually
- apply Dolby Surround \s-1EX\s0 processing.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBnotindicated\fR" 4
- .IX Item "notindicated"
- .PD
- Not Indicated (default)
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBon\fR" 4
- .IX Item "on"
- .PD
- Dolby Surround \s-1EX\s0 Off
- .IP "\fB2\fR" 4
- .IX Item "2"
- .PD 0
- .IP "\fBoff\fR" 4
- .IX Item "off"
- .PD
- Dolby Surround \s-1EX\s0 On
- .RE
- .RS 4
- .RE
- .IP "\fB\-dheadphone_mode\fR \fImode\fR" 4
- .IX Item "-dheadphone_mode mode"
- Dolby Headphone Mode. Indicates whether the stream uses Dolby Headphone
- encoding (multi-channel matrixed to 2.0 for use with headphones). Using this
- option does \fB\s-1NOT\s0\fR mean the encoder will actually apply Dolby Headphone
- processing.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBnotindicated\fR" 4
- .IX Item "notindicated"
- .PD
- Not Indicated (default)
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBon\fR" 4
- .IX Item "on"
- .PD
- Dolby Headphone Off
- .IP "\fB2\fR" 4
- .IX Item "2"
- .PD 0
- .IP "\fBoff\fR" 4
- .IX Item "off"
- .PD
- Dolby Headphone On
- .RE
- .RS 4
- .RE
- .IP "\fB\-ad_conv_type\fR \fItype\fR" 4
- .IX Item "-ad_conv_type type"
- A/D Converter Type. Indicates whether the audio has passed through \s-1HDCD A/D\s0
- conversion.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBstandard\fR" 4
- .IX Item "standard"
- .PD
- Standard A/D Converter (default)
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBhdcd\fR" 4
- .IX Item "hdcd"
- .PD
- \&\s-1HDCD A/D\s0 Converter
- .RE
- .RS 4
- .RE
- .PP
- \fIOther \s-1AC\-3\s0 Encoding Options\fR
- .IX Subsection "Other AC-3 Encoding Options"
- .IP "\fB\-stereo_rematrixing\fR \fIboolean\fR" 4
- .IX Item "-stereo_rematrixing boolean"
- Stereo Rematrixing. Enables/Disables use of rematrixing for stereo input. This
- is an optional \s-1AC\-3\s0 feature that increases quality by selectively encoding
- the left/right channels as mid/side. This option is enabled by default, and it
- is highly recommended that it be left as enabled except for testing purposes.
- .IP "\fBcutoff\fR \fIfrequency\fR" 4
- .IX Item "cutoff frequency"
- Set lowpass cutoff frequency. If unspecified, the encoder selects a default
- determined by various other encoding parameters.
- .PP
- \fIFloating-Point-Only \s-1AC\-3\s0 Encoding Options\fR
- .IX Subsection "Floating-Point-Only AC-3 Encoding Options"
- .PP
- These options are only valid for the floating-point encoder and do not exist
- for the fixed-point encoder due to the corresponding features not being
- implemented in fixed-point.
- .IP "\fB\-channel_coupling\fR \fIboolean\fR" 4
- .IX Item "-channel_coupling boolean"
- Enables/Disables use of channel coupling, which is an optional \s-1AC\-3\s0 feature
- that increases quality by combining high frequency information from multiple
- channels into a single channel. The per-channel high frequency information is
- sent with less accuracy in both the frequency and time domains. This allows
- more bits to be used for lower frequencies while preserving enough information
- to reconstruct the high frequencies. This option is enabled by default for the
- floating-point encoder and should generally be left as enabled except for
- testing purposes or to increase encoding speed.
- .RS 4
- .IP "\fB\-1\fR" 4
- .IX Item "-1"
- .PD 0
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- .PD
- Selected by Encoder (default)
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBoff\fR" 4
- .IX Item "off"
- .PD
- Disable Channel Coupling
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBon\fR" 4
- .IX Item "on"
- .PD
- Enable Channel Coupling
- .RE
- .RS 4
- .RE
- .IP "\fB\-cpl_start_band\fR \fInumber\fR" 4
- .IX Item "-cpl_start_band number"
- Coupling Start Band. Sets the channel coupling start band, from 1 to 15. If a
- value higher than the bandwidth is used, it will be reduced to 1 less than the
- coupling end band. If \fIauto\fR is used, the start band will be determined by
- the encoder based on the bit rate, sample rate, and channel layout. This option
- has no effect if channel coupling is disabled.
- .RS 4
- .IP "\fB\-1\fR" 4
- .IX Item "-1"
- .PD 0
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- .PD
- Selected by Encoder (default)
- .RE
- .RS 4
- .RE
- .SS "flac"
- .IX Subsection "flac"
- \&\s-1FLAC\s0 (Free Lossless Audio Codec) Encoder
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by FFmpeg's flac encoder.
- .IP "\fBcompression_level\fR" 4
- .IX Item "compression_level"
- Sets the compression level, which chooses defaults for many other options
- if they are not set explicitly. Valid values are from 0 to 12, 5 is the
- default.
- .IP "\fBframe_size\fR" 4
- .IX Item "frame_size"
- Sets the size of the frames in samples per channel.
- .IP "\fBlpc_coeff_precision\fR" 4
- .IX Item "lpc_coeff_precision"
- Sets the \s-1LPC\s0 coefficient precision, valid values are from 1 to 15, 15 is the
- default.
- .IP "\fBlpc_type\fR" 4
- .IX Item "lpc_type"
- Sets the first stage \s-1LPC\s0 algorithm
- .RS 4
- .IP "\fBnone\fR" 4
- .IX Item "none"
- \&\s-1LPC\s0 is not used
- .IP "\fBfixed\fR" 4
- .IX Item "fixed"
- fixed \s-1LPC\s0 coefficients
- .IP "\fBlevinson\fR" 4
- .IX Item "levinson"
- .PD 0
- .IP "\fBcholesky\fR" 4
- .IX Item "cholesky"
- .RE
- .RS 4
- .RE
- .IP "\fBlpc_passes\fR" 4
- .IX Item "lpc_passes"
- .PD
- Number of passes to use for Cholesky factorization during \s-1LPC\s0 analysis
- .IP "\fBmin_partition_order\fR" 4
- .IX Item "min_partition_order"
- The minimum partition order
- .IP "\fBmax_partition_order\fR" 4
- .IX Item "max_partition_order"
- The maximum partition order
- .IP "\fBprediction_order_method\fR" 4
- .IX Item "prediction_order_method"
- .RS 4
- .PD 0
- .IP "\fBestimation\fR" 4
- .IX Item "estimation"
- .IP "\fB2level\fR" 4
- .IX Item "2level"
- .IP "\fB4level\fR" 4
- .IX Item "4level"
- .IP "\fB8level\fR" 4
- .IX Item "8level"
- .IP "\fBsearch\fR" 4
- .IX Item "search"
- .PD
- Bruteforce search
- .IP "\fBlog\fR" 4
- .IX Item "log"
- .RE
- .RS 4
- .RE
- .PD 0
- .IP "\fBch_mode\fR" 4
- .IX Item "ch_mode"
- .PD
- Channel mode
- .RS 4
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- The mode is chosen automatically for each frame
- .IP "\fBindep\fR" 4
- .IX Item "indep"
- Channels are independently coded
- .IP "\fBleft_side\fR" 4
- .IX Item "left_side"
- .PD 0
- .IP "\fBright_side\fR" 4
- .IX Item "right_side"
- .IP "\fBmid_side\fR" 4
- .IX Item "mid_side"
- .RE
- .RS 4
- .RE
- .IP "\fBexact_rice_parameters\fR" 4
- .IX Item "exact_rice_parameters"
- .PD
- Chooses if rice parameters are calculated exactly or approximately.
- if set to 1 then they are chosen exactly, which slows the code down slightly and
- improves compression slightly.
- .IP "\fBmulti_dim_quant\fR" 4
- .IX Item "multi_dim_quant"
- Multi Dimensional Quantization. If set to 1 then a 2nd stage \s-1LPC\s0 algorithm is
- applied after the first stage to finetune the coefficients. This is quite slow
- and slightly improves compression.
- .SS "opus"
- .IX Subsection "opus"
- Opus encoder.
- .PP
- This is a native FFmpeg encoder for the Opus format. Currently its in development and
- only implements the \s-1CELT\s0 part of the codec. Its quality is usually worse and at best
- is equal to the libopus encoder.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set bit rate in bits/s. If unspecified it uses the number of channels and the layout
- to make a good guess.
- .IP "\fBopus_delay\fR" 4
- .IX Item "opus_delay"
- Sets the maximum delay in milliseconds. Lower delays than 20ms will very quickly
- decrease quality.
- .SS "libfdk_aac"
- .IX Subsection "libfdk_aac"
- libfdk-aac \s-1AAC\s0 (Advanced Audio Coding) encoder wrapper.
- .PP
- The libfdk-aac library is based on the Fraunhofer \s-1FDK AAC\s0 code from
- the Android project.
- .PP
- Requires the presence of the libfdk-aac headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libfdk\-aac\*(C'\fR. The library is also incompatible with \s-1GPL,\s0
- so if you allow the use of \s-1GPL,\s0 you should configure with
- \&\f(CW\*(C`\-\-enable\-gpl \-\-enable\-nonfree \-\-enable\-libfdk\-aac\*(C'\fR.
- .PP
- This encoder has support for the AAC-HE profiles.
- .PP
- \&\s-1VBR\s0 encoding, enabled through the \fBvbr\fR or \fBflags
- +qscale\fR options, is experimental and only works with some
- combinations of parameters.
- .PP
- Support for encoding 7.1 audio is only available with libfdk-aac 0.1.3 or
- higher.
- .PP
- For more information see the fdk-aac project at
- <\fBhttp://sourceforge.net/p/opencore\-amr/fdk\-aac/\fR>.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are mapped on the shared FFmpeg codec options.
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set bit rate in bits/s. If the bitrate is not explicitly specified, it
- is automatically set to a suitable value depending on the selected
- profile.
- .Sp
- In case \s-1VBR\s0 mode is enabled the option is ignored.
- .IP "\fBar\fR" 4
- .IX Item "ar"
- Set audio sampling rate (in Hz).
- .IP "\fBchannels\fR" 4
- .IX Item "channels"
- Set the number of audio channels.
- .IP "\fBflags +qscale\fR" 4
- .IX Item "flags +qscale"
- Enable fixed quality, \s-1VBR\s0 (Variable Bit Rate) mode.
- Note that \s-1VBR\s0 is implicitly enabled when the \fBvbr\fR value is
- positive.
- .IP "\fBcutoff\fR" 4
- .IX Item "cutoff"
- Set cutoff frequency. If not specified (or explicitly set to 0) it
- will use a value automatically computed by the library. Default value
- is 0.
- .IP "\fBprofile\fR" 4
- .IX Item "profile"
- Set audio profile.
- .Sp
- The following profiles are recognized:
- .RS 4
- .IP "\fBaac_low\fR" 4
- .IX Item "aac_low"
- Low Complexity \s-1AAC\s0 (\s-1LC\s0)
- .IP "\fBaac_he\fR" 4
- .IX Item "aac_he"
- High Efficiency \s-1AAC\s0 (HE-AAC)
- .IP "\fBaac_he_v2\fR" 4
- .IX Item "aac_he_v2"
- High Efficiency \s-1AAC\s0 version 2 (HE\-AACv2)
- .IP "\fBaac_ld\fR" 4
- .IX Item "aac_ld"
- Low Delay \s-1AAC\s0 (\s-1LD\s0)
- .IP "\fBaac_eld\fR" 4
- .IX Item "aac_eld"
- Enhanced Low Delay \s-1AAC\s0 (\s-1ELD\s0)
- .RE
- .RS 4
- .Sp
- If not specified it is set to \fBaac_low\fR.
- .RE
- .PP
- The following are private options of the libfdk_aac encoder.
- .IP "\fBafterburner\fR" 4
- .IX Item "afterburner"
- Enable afterburner feature if set to 1, disabled if set to 0. This
- improves the quality but also the required processing power.
- .Sp
- Default value is 1.
- .IP "\fBeld_sbr\fR" 4
- .IX Item "eld_sbr"
- Enable \s-1SBR\s0 (Spectral Band Replication) for \s-1ELD\s0 if set to 1, disabled
- if set to 0.
- .Sp
- Default value is 0.
- .IP "\fBeld_v2\fR" 4
- .IX Item "eld_v2"
- Enable ELDv2 (LD-MPS extension for \s-1ELD\s0 stereo signals) for ELDv2 if set to 1,
- disabled if set to 0.
- .Sp
- Note that option is available when fdk-aac version (\s-1AACENCODER_LIB_VL0.AACENCODER_LIB_VL1.AACENCODER_LIB_VL2\s0) > (4.0.0).
- .Sp
- Default value is 0.
- .IP "\fBsignaling\fR" 4
- .IX Item "signaling"
- Set \s-1SBR/PS\s0 signaling style.
- .Sp
- It can assume one of the following values:
- .RS 4
- .IP "\fBdefault\fR" 4
- .IX Item "default"
- choose signaling implicitly (explicit hierarchical by default,
- implicit if global header is disabled)
- .IP "\fBimplicit\fR" 4
- .IX Item "implicit"
- implicit backwards compatible signaling
- .IP "\fBexplicit_sbr\fR" 4
- .IX Item "explicit_sbr"
- explicit \s-1SBR,\s0 implicit \s-1PS\s0 signaling
- .IP "\fBexplicit_hierarchical\fR" 4
- .IX Item "explicit_hierarchical"
- explicit hierarchical signaling
- .RE
- .RS 4
- .Sp
- Default value is \fBdefault\fR.
- .RE
- .IP "\fBlatm\fR" 4
- .IX Item "latm"
- Output \s-1LATM/LOAS\s0 encapsulated data if set to 1, disabled if set to 0.
- .Sp
- Default value is 0.
- .IP "\fBheader_period\fR" 4
- .IX Item "header_period"
- Set StreamMuxConfig and \s-1PCE\s0 repetition period (in frames) for sending
- in-band configuration buffers within \s-1LATM/LOAS\s0 transport layer.
- .Sp
- Must be a 16\-bits non-negative integer.
- .Sp
- Default value is 0.
- .IP "\fBvbr\fR" 4
- .IX Item "vbr"
- Set \s-1VBR\s0 mode, from 1 to 5. 1 is lowest quality (though still pretty
- good) and 5 is highest quality. A value of 0 will disable \s-1VBR,\s0 and \s-1CBR\s0
- (Constant Bit Rate) is enabled.
- .Sp
- Currently only the \fBaac_low\fR profile supports \s-1VBR\s0 encoding.
- .Sp
- \&\s-1VBR\s0 modes 1\-5 correspond to roughly the following average bit rates:
- .RS 4
- .IP "\fB1\fR" 4
- .IX Item "1"
- 32 kbps/channel
- .IP "\fB2\fR" 4
- .IX Item "2"
- 40 kbps/channel
- .IP "\fB3\fR" 4
- .IX Item "3"
- 48\-56 kbps/channel
- .IP "\fB4\fR" 4
- .IX Item "4"
- 64 kbps/channel
- .IP "\fB5\fR" 4
- .IX Item "5"
- about 80\-96 kbps/channel
- .RE
- .RS 4
- .Sp
- Default value is 0.
- .RE
- .PP
- \fIExamples\fR
- .IX Subsection "Examples"
- .IP "\(bu" 4
- Use \fBffmpeg\fR to convert an audio file to \s-1VBR AAC\s0 in an M4A (\s-1MP4\s0)
- container:
- .Sp
- .Vb 1
- \& ffmpeg \-i input.wav \-codec:a libfdk_aac \-vbr 3 output.m4a
- .Ve
- .IP "\(bu" 4
- Use \fBffmpeg\fR to convert an audio file to \s-1CBR\s0 64k kbps \s-1AAC,\s0 using the
- High-Efficiency \s-1AAC\s0 profile:
- .Sp
- .Vb 1
- \& ffmpeg \-i input.wav \-c:a libfdk_aac \-profile:a aac_he \-b:a 64k output.m4a
- .Ve
- .SS "libmp3lame"
- .IX Subsection "libmp3lame"
- \&\s-1LAME\s0 (Lame Ain't an \s-1MP3\s0 Encoder) \s-1MP3\s0 encoder wrapper.
- .PP
- Requires the presence of the libmp3lame headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libmp3lame\*(C'\fR.
- .PP
- See \fBlibshine\fR for a fixed-point \s-1MP3\s0 encoder, although with a
- lower quality.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by the libmp3lame wrapper. The
- \&\fBlame\fR\-equivalent of the options are listed in parentheses.
- .IP "\fBb (\fR\fI\-b\fR\fB)\fR" 4
- .IX Item "b (-b)"
- Set bitrate expressed in bits/s for \s-1CBR\s0 or \s-1ABR. LAME\s0 \f(CW\*(C`bitrate\*(C'\fR is
- expressed in kilobits/s.
- .IP "\fBq (\fR\fI\-V\fR\fB)\fR" 4
- .IX Item "q (-V)"
- Set constant quality setting for \s-1VBR.\s0 This option is valid only
- using the \fBffmpeg\fR command-line tool. For library interface
- users, use \fBglobal_quality\fR.
- .IP "\fBcompression_level (\fR\fI\-q\fR\fB)\fR" 4
- .IX Item "compression_level (-q)"
- Set algorithm quality. Valid arguments are integers in the 0\-9 range,
- with 0 meaning highest quality but slowest, and 9 meaning fastest
- while producing the worst quality.
- .IP "\fBcutoff (\fR\fI\-\-lowpass\fR\fB)\fR" 4
- .IX Item "cutoff (--lowpass)"
- Set lowpass cutoff frequency. If unspecified, the encoder dynamically
- adjusts the cutoff.
- .IP "\fBreservoir\fR" 4
- .IX Item "reservoir"
- Enable use of bit reservoir when set to 1. Default value is 1. \s-1LAME\s0
- has this enabled by default, but can be overridden by use
- \&\fB\-\-nores\fR option.
- .IP "\fBjoint_stereo (\fR\fI\-m j\fR\fB)\fR" 4
- .IX Item "joint_stereo (-m j)"
- Enable the encoder to use (on a frame by frame basis) either L/R
- stereo or mid/side stereo. Default value is 1.
- .IP "\fBabr (\fR\fI\-\-abr\fR\fB)\fR" 4
- .IX Item "abr (--abr)"
- Enable the encoder to use \s-1ABR\s0 when set to 1. The \fBlame\fR
- \&\fB\-\-abr\fR sets the target bitrate, while this options only
- tells FFmpeg to use \s-1ABR\s0 still relies on \fBb\fR to set bitrate.
- .SS "libopencore-amrnb"
- .IX Subsection "libopencore-amrnb"
- OpenCORE Adaptive Multi-Rate Narrowband encoder.
- .PP
- Requires the presence of the libopencore-amrnb headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libopencore\-amrnb \-\-enable\-version3\*(C'\fR.
- .PP
- This is a mono-only encoder. Officially it only supports 8000Hz sample rate,
- but you can override it by setting \fBstrict\fR to \fBunofficial\fR or
- lower.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set bitrate in bits per second. Only the following bitrates are supported,
- otherwise libavcodec will round to the nearest valid bitrate.
- .RS 4
- .IP "\fB4750\fR" 4
- .IX Item "4750"
- .PD 0
- .IP "\fB5150\fR" 4
- .IX Item "5150"
- .IP "\fB5900\fR" 4
- .IX Item "5900"
- .IP "\fB6700\fR" 4
- .IX Item "6700"
- .IP "\fB7400\fR" 4
- .IX Item "7400"
- .IP "\fB7950\fR" 4
- .IX Item "7950"
- .IP "\fB10200\fR" 4
- .IX Item "10200"
- .IP "\fB12200\fR" 4
- .IX Item "12200"
- .RE
- .RS 4
- .RE
- .IP "\fBdtx\fR" 4
- .IX Item "dtx"
- .PD
- Allow discontinuous transmission (generate comfort noise) when set to 1. The
- default value is 0 (disabled).
- .SS "libopus"
- .IX Subsection "libopus"
- libopus Opus Interactive Audio Codec encoder wrapper.
- .PP
- Requires the presence of the libopus headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libopus\*(C'\fR.
- .PP
- \fIOption Mapping\fR
- .IX Subsection "Option Mapping"
- .PP
- Most libopus options are modelled after the \fBopusenc\fR utility from
- opus-tools. The following is an option mapping chart describing options
- supported by the libopus wrapper, and their \fBopusenc\fR\-equivalent
- in parentheses.
- .IP "\fBb (\fR\fIbitrate\fR\fB)\fR" 4
- .IX Item "b (bitrate)"
- Set the bit rate in bits/s. FFmpeg's \fBb\fR option is
- expressed in bits/s, while \fBopusenc\fR's \fBbitrate\fR in
- kilobits/s.
- .IP "\fBvbr (\fR\fIvbr\fR\fB,\fR \fIhard-cbr\fR\fB, and\fR \fIcvbr\fR\fB)\fR" 4
- .IX Item "vbr (vbr, hard-cbr, and cvbr)"
- Set \s-1VBR\s0 mode. The FFmpeg \fBvbr\fR option has the following
- valid arguments, with the \fBopusenc\fR equivalent options
- in parentheses:
- .RS 4
- .IP "\fBoff (\fR\fIhard-cbr\fR\fB)\fR" 4
- .IX Item "off (hard-cbr)"
- Use constant bit rate encoding.
- .IP "\fBon (\fR\fIvbr\fR\fB)\fR" 4
- .IX Item "on (vbr)"
- Use variable bit rate encoding (the default).
- .IP "\fBconstrained (\fR\fIcvbr\fR\fB)\fR" 4
- .IX Item "constrained (cvbr)"
- Use constrained variable bit rate encoding.
- .RE
- .RS 4
- .RE
- .IP "\fBcompression_level (\fR\fIcomp\fR\fB)\fR" 4
- .IX Item "compression_level (comp)"
- Set encoding algorithm complexity. Valid options are integers in
- the 0\-10 range. 0 gives the fastest encodes but lower quality, while 10
- gives the highest quality but slowest encoding. The default is 10.
- .IP "\fBframe_duration (\fR\fIframesize\fR\fB)\fR" 4
- .IX Item "frame_duration (framesize)"
- Set maximum frame size, or duration of a frame in milliseconds. The
- argument must be exactly the following: 2.5, 5, 10, 20, 40, 60. Smaller
- frame sizes achieve lower latency but less quality at a given bitrate.
- Sizes greater than 20ms are only interesting at fairly low bitrates.
- The default is 20ms.
- .IP "\fBpacket_loss (\fR\fIexpect-loss\fR\fB)\fR" 4
- .IX Item "packet_loss (expect-loss)"
- Set expected packet loss percentage. The default is 0.
- .IP "\fBfec (\fR\fIn/a\fR\fB)\fR" 4
- .IX Item "fec (n/a)"
- Enable inband forward error correction. \fBpacket_loss\fR must be non-zero
- to take advantage \- frequency of \s-1FEC\s0 'side\-data' is proportional to expected packet loss.
- Default is disabled.
- .IP "\fBapplication (N.A.)\fR" 4
- .IX Item "application (N.A.)"
- Set intended application type. Valid options are listed below:
- .RS 4
- .IP "\fBvoip\fR" 4
- .IX Item "voip"
- Favor improved speech intelligibility.
- .IP "\fBaudio\fR" 4
- .IX Item "audio"
- Favor faithfulness to the input (the default).
- .IP "\fBlowdelay\fR" 4
- .IX Item "lowdelay"
- Restrict to only the lowest delay modes.
- .RE
- .RS 4
- .RE
- .IP "\fBcutoff (N.A.)\fR" 4
- .IX Item "cutoff (N.A.)"
- Set cutoff bandwidth in Hz. The argument must be exactly one of the
- following: 4000, 6000, 8000, 12000, or 20000, corresponding to
- narrowband, mediumband, wideband, super wideband, and fullband
- respectively. The default is 0 (cutoff disabled).
- .IP "\fBmapping_family (\fR\fImapping_family\fR\fB)\fR" 4
- .IX Item "mapping_family (mapping_family)"
- Set channel mapping family to be used by the encoder. The default value of \-1
- uses mapping family 0 for mono and stereo inputs, and mapping family 1
- otherwise. The default also disables the surround masking and \s-1LFE\s0 bandwidth
- optimzations in libopus, and requires that the input contains 8 channels or
- fewer.
- .Sp
- Other values include 0 for mono and stereo, 1 for surround sound with masking
- and \s-1LFE\s0 bandwidth optimizations, and 255 for independent streams with an
- unspecified channel layout.
- .IP "\fBapply_phase_inv (N.A.) (requires libopus >= 1.2)\fR" 4
- .IX Item "apply_phase_inv (N.A.) (requires libopus >= 1.2)"
- If set to 0, disables the use of phase inversion for intensity stereo,
- improving the quality of mono downmixes, but slightly reducing normal stereo
- quality. The default is 1 (phase inversion enabled).
- .SS "libshine"
- .IX Subsection "libshine"
- Shine Fixed-Point \s-1MP3\s0 encoder wrapper.
- .PP
- Shine is a fixed-point \s-1MP3\s0 encoder. It has a far better performance on
- platforms without an \s-1FPU,\s0 e.g. armel CPUs, and some phones and tablets.
- However, as it is more targeted on performance than quality, it is not on par
- with \s-1LAME\s0 and other production-grade encoders quality-wise. Also, according to
- the project's homepage, this encoder may not be free of bugs as the code was
- written a long time ago and the project was dead for at least 5 years.
- .PP
- This encoder only supports stereo and mono input. This is also CBR-only.
- .PP
- The original project (last updated in early 2007) is at
- <\fBhttp://sourceforge.net/projects/libshine\-fxp/\fR>. We only support the
- updated fork by the Savonet/Liquidsoap project at <\fBhttps://github.com/savonet/shine\fR>.
- .PP
- Requires the presence of the libshine headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libshine\*(C'\fR.
- .PP
- See also \fBlibmp3lame\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by the libshine wrapper. The
- \&\fBshineenc\fR\-equivalent of the options are listed in parentheses.
- .IP "\fBb (\fR\fI\-b\fR\fB)\fR" 4
- .IX Item "b (-b)"
- Set bitrate expressed in bits/s for \s-1CBR.\s0 \fBshineenc\fR \fB\-b\fR option
- is expressed in kilobits/s.
- .SS "libtwolame"
- .IX Subsection "libtwolame"
- TwoLAME \s-1MP2\s0 encoder wrapper.
- .PP
- Requires the presence of the libtwolame headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libtwolame\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by the libtwolame wrapper. The
- \&\fBtwolame\fR\-equivalent options follow the FFmpeg ones and are in
- parentheses.
- .IP "\fBb (\fR\fI\-b\fR\fB)\fR" 4
- .IX Item "b (-b)"
- Set bitrate expressed in bits/s for \s-1CBR.\s0 \fBtwolame\fR \fBb\fR
- option is expressed in kilobits/s. Default value is 128k.
- .IP "\fBq (\fR\fI\-V\fR\fB)\fR" 4
- .IX Item "q (-V)"
- Set quality for experimental \s-1VBR\s0 support. Maximum value range is
- from \-50 to 50, useful range is from \-10 to 10. The higher the
- value, the better the quality. This option is valid only using the
- \&\fBffmpeg\fR command-line tool. For library interface users,
- use \fBglobal_quality\fR.
- .IP "\fBmode (\fR\fI\-\-mode\fR\fB)\fR" 4
- .IX Item "mode (--mode)"
- Set the mode of the resulting audio. Possible values:
- .RS 4
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- Choose mode automatically based on the input. This is the default.
- .IP "\fBstereo\fR" 4
- .IX Item "stereo"
- Stereo
- .IP "\fBjoint_stereo\fR" 4
- .IX Item "joint_stereo"
- Joint stereo
- .IP "\fBdual_channel\fR" 4
- .IX Item "dual_channel"
- Dual channel
- .IP "\fBmono\fR" 4
- .IX Item "mono"
- Mono
- .RE
- .RS 4
- .RE
- .IP "\fBpsymodel (\fR\fI\-\-psyc\-mode\fR\fB)\fR" 4
- .IX Item "psymodel (--psyc-mode)"
- Set psychoacoustic model to use in encoding. The argument must be
- an integer between \-1 and 4, inclusive. The higher the value, the
- better the quality. The default value is 3.
- .IP "\fBenergy_levels (\fR\fI\-\-energy\fR\fB)\fR" 4
- .IX Item "energy_levels (--energy)"
- Enable energy levels extensions when set to 1. The default value is
- 0 (disabled).
- .IP "\fBerror_protection (\fR\fI\-\-protect\fR\fB)\fR" 4
- .IX Item "error_protection (--protect)"
- Enable \s-1CRC\s0 error protection when set to 1. The default value is 0
- (disabled).
- .IP "\fBcopyright (\fR\fI\-\-copyright\fR\fB)\fR" 4
- .IX Item "copyright (--copyright)"
- Set \s-1MPEG\s0 audio copyright flag when set to 1. The default value is 0
- (disabled).
- .IP "\fBoriginal (\fR\fI\-\-original\fR\fB)\fR" 4
- .IX Item "original (--original)"
- Set \s-1MPEG\s0 audio original flag when set to 1. The default value is 0
- (disabled).
- .SS "libvo-amrwbenc"
- .IX Subsection "libvo-amrwbenc"
- VisualOn Adaptive Multi-Rate Wideband encoder.
- .PP
- Requires the presence of the libvo-amrwbenc headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libvo\-amrwbenc \-\-enable\-version3\*(C'\fR.
- .PP
- This is a mono-only encoder. Officially it only supports 16000Hz sample
- rate, but you can override it by setting \fBstrict\fR to
- \&\fBunofficial\fR or lower.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set bitrate in bits/s. Only the following bitrates are supported, otherwise
- libavcodec will round to the nearest valid bitrate.
- .RS 4
- .IP "\fB6600\fR" 4
- .IX Item "6600"
- .PD 0
- .IP "\fB8850\fR" 4
- .IX Item "8850"
- .IP "\fB12650\fR" 4
- .IX Item "12650"
- .IP "\fB14250\fR" 4
- .IX Item "14250"
- .IP "\fB15850\fR" 4
- .IX Item "15850"
- .IP "\fB18250\fR" 4
- .IX Item "18250"
- .IP "\fB19850\fR" 4
- .IX Item "19850"
- .IP "\fB23050\fR" 4
- .IX Item "23050"
- .IP "\fB23850\fR" 4
- .IX Item "23850"
- .RE
- .RS 4
- .RE
- .IP "\fBdtx\fR" 4
- .IX Item "dtx"
- .PD
- Allow discontinuous transmission (generate comfort noise) when set to 1. The
- default value is 0 (disabled).
- .SS "libvorbis"
- .IX Subsection "libvorbis"
- libvorbis encoder wrapper.
- .PP
- Requires the presence of the libvorbisenc headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libvorbis\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by the libvorbis wrapper. The
- \&\fBoggenc\fR\-equivalent of the options are listed in parentheses.
- .PP
- To get a more accurate and extensive documentation of the libvorbis
- options, consult the libvorbisenc's and \fBoggenc\fR's documentations.
- See <\fBhttp://xiph.org/vorbis/\fR>,
- <\fBhttp://wiki.xiph.org/Vorbis\-tools\fR>, and \fBoggenc\fR\|(1).
- .IP "\fBb (\fR\fI\-b\fR\fB)\fR" 4
- .IX Item "b (-b)"
- Set bitrate expressed in bits/s for \s-1ABR.\s0 \fBoggenc\fR \fB\-b\fR is
- expressed in kilobits/s.
- .IP "\fBq (\fR\fI\-q\fR\fB)\fR" 4
- .IX Item "q (-q)"
- Set constant quality setting for \s-1VBR.\s0 The value should be a float
- number in the range of \-1.0 to 10.0. The higher the value, the better
- the quality. The default value is \fB3.0\fR.
- .Sp
- This option is valid only using the \fBffmpeg\fR command-line tool.
- For library interface users, use \fBglobal_quality\fR.
- .IP "\fBcutoff (\fR\fI\-\-advanced\-encode\-option lowpass_frequency=N\fR\fB)\fR" 4
- .IX Item "cutoff (--advanced-encode-option lowpass_frequency=N)"
- Set cutoff bandwidth in Hz, a value of 0 disables cutoff. \fBoggenc\fR's
- related option is expressed in kHz. The default value is \fB0\fR (cutoff
- disabled).
- .IP "\fBminrate (\fR\fI\-m\fR\fB)\fR" 4
- .IX Item "minrate (-m)"
- Set minimum bitrate expressed in bits/s. \fBoggenc\fR \fB\-m\fR is
- expressed in kilobits/s.
- .IP "\fBmaxrate (\fR\fI\-M\fR\fB)\fR" 4
- .IX Item "maxrate (-M)"
- Set maximum bitrate expressed in bits/s. \fBoggenc\fR \fB\-M\fR is
- expressed in kilobits/s. This only has effect on \s-1ABR\s0 mode.
- .IP "\fBiblock (\fR\fI\-\-advanced\-encode\-option impulse_noisetune=N\fR\fB)\fR" 4
- .IX Item "iblock (--advanced-encode-option impulse_noisetune=N)"
- Set noise floor bias for impulse blocks. The value is a float number from
- \&\-15.0 to 0.0. A negative bias instructs the encoder to pay special attention
- to the crispness of transients in the encoded audio. The tradeoff for better
- transient response is a higher bitrate.
- .SS "mjpeg"
- .IX Subsection "mjpeg"
- Motion \s-1JPEG\s0 encoder.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBhuffman\fR" 4
- .IX Item "huffman"
- Set the huffman encoding strategy. Possible values:
- .RS 4
- .IP "\fBdefault\fR" 4
- .IX Item "default"
- Use the default huffman tables. This is the default strategy.
- .IP "\fBoptimal\fR" 4
- .IX Item "optimal"
- Compute and use optimal huffman tables.
- .RE
- .RS 4
- .RE
- .SS "wavpack"
- .IX Subsection "wavpack"
- WavPack lossless audio encoder.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The equivalent options for \fBwavpack\fR command line utility are listed in
- parentheses.
- .PP
- Shared options
- .IX Subsection "Shared options"
- .PP
- The following shared options are effective for this encoder. Only special notes
- about this particular encoder will be documented here. For the general meaning
- of the options, see \fBthe Codec Options chapter\fR.
- .IP "\fBframe_size (\fR\fI\-\-blocksize\fR\fB)\fR" 4
- .IX Item "frame_size (--blocksize)"
- For this encoder, the range for this option is between 128 and 131072. Default
- is automatically decided based on sample rate and number of channel.
- .Sp
- For the complete formula of calculating default, see
- \&\fIlibavcodec/wavpackenc.c\fR.
- .IP "\fBcompression_level (\fR\fI\-f\fR\fB,\fR \fI\-h\fR\fB,\fR \fI\-hh\fR\fB, and\fR \fI\-x\fR\fB)\fR" 4
- .IX Item "compression_level (-f, -h, -hh, and -x)"
- .PP
- Private options
- .IX Subsection "Private options"
- .IP "\fBjoint_stereo (\fR\fI\-j\fR\fB)\fR" 4
- .IX Item "joint_stereo (-j)"
- Set whether to enable joint stereo. Valid values are:
- .RS 4
- .IP "\fBon (\fR\fI1\fR\fB)\fR" 4
- .IX Item "on (1)"
- Force mid/side audio encoding.
- .IP "\fBoff (\fR\fI0\fR\fB)\fR" 4
- .IX Item "off (0)"
- Force left/right audio encoding.
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- Let the encoder decide automatically.
- .RE
- .RS 4
- .RE
- .IP "\fBoptimize_mono\fR" 4
- .IX Item "optimize_mono"
- Set whether to enable optimization for mono. This option is only effective for
- non-mono streams. Available values:
- .RS 4
- .IP "\fBon\fR" 4
- .IX Item "on"
- enabled
- .IP "\fBoff\fR" 4
- .IX Item "off"
- disabled
- .RE
- .RS 4
- .RE
- .SH "VIDEO ENCODERS"
- .IX Header "VIDEO ENCODERS"
- A description of some of the currently available video encoders
- follows.
- .SS "\s-1GIF\s0"
- .IX Subsection "GIF"
- \&\s-1GIF\s0 image/animation encoder.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBgifflags\fR \fIinteger\fR" 4
- .IX Item "gifflags integer"
- Sets the flags used for \s-1GIF\s0 encoding.
- .RS 4
- .IP "\fBoffsetting\fR" 4
- .IX Item "offsetting"
- Enables picture offsetting.
- .Sp
- Default is enabled.
- .IP "\fBtransdiff\fR" 4
- .IX Item "transdiff"
- Enables transparency detection between frames.
- .Sp
- Default is enabled.
- .RE
- .RS 4
- .RE
- .IP "\fBgifimage\fR \fIinteger\fR" 4
- .IX Item "gifimage integer"
- Enables encoding one full \s-1GIF\s0 image per frame, rather than an animated \s-1GIF.\s0
- .Sp
- Default value is \fB0\fR.
- .IP "\fBglobal_palette\fR \fIinteger\fR" 4
- .IX Item "global_palette integer"
- Writes a palette to the global \s-1GIF\s0 header where feasible.
- .Sp
- If disabled, every frame will always have a palette written, even if there
- is a global palette supplied.
- .Sp
- Default value is \fB1\fR.
- .SS "Hap"
- .IX Subsection "Hap"
- Vidvox Hap video encoder.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBformat\fR \fIinteger\fR" 4
- .IX Item "format integer"
- Specifies the Hap format to encode.
- .RS 4
- .IP "\fBhap\fR" 4
- .IX Item "hap"
- .PD 0
- .IP "\fBhap_alpha\fR" 4
- .IX Item "hap_alpha"
- .IP "\fBhap_q\fR" 4
- .IX Item "hap_q"
- .RE
- .RS 4
- .PD
- .Sp
- Default value is \fBhap\fR.
- .RE
- .IP "\fBchunks\fR \fIinteger\fR" 4
- .IX Item "chunks integer"
- Specifies the number of chunks to split frames into, between 1 and 64. This
- permits multithreaded decoding of large frames, potentially at the cost of
- data-rate. The encoder may modify this value to divide frames evenly.
- .Sp
- Default value is \fI1\fR.
- .IP "\fBcompressor\fR \fIinteger\fR" 4
- .IX Item "compressor integer"
- Specifies the second-stage compressor to use. If set to \fBnone\fR,
- \&\fBchunks\fR will be limited to 1, as chunked uncompressed frames offer no
- benefit.
- .RS 4
- .IP "\fBnone\fR" 4
- .IX Item "none"
- .PD 0
- .IP "\fBsnappy\fR" 4
- .IX Item "snappy"
- .RE
- .RS 4
- .PD
- .Sp
- Default value is \fBsnappy\fR.
- .RE
- .SS "jpeg2000"
- .IX Subsection "jpeg2000"
- The native jpeg 2000 encoder is lossy by default, the \f(CW\*(C`\-q:v\*(C'\fR
- option can be used to set the encoding quality. Lossless encoding
- can be selected with \f(CW\*(C`\-pred 1\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBformat\fR \fIinteger\fR" 4
- .IX Item "format integer"
- Can be set to either \f(CW\*(C`j2k\*(C'\fR or \f(CW\*(C`jp2\*(C'\fR (the default) that
- makes it possible to store non-rgb pix_fmts.
- .IP "\fBtile_width\fR \fIinteger\fR" 4
- .IX Item "tile_width integer"
- Sets tile width. Range is 1 to 1073741824. Default is 256.
- .IP "\fBtile_height\fR \fIinteger\fR" 4
- .IX Item "tile_height integer"
- Sets tile height. Range is 1 to 1073741824. Default is 256.
- .IP "\fBpred\fR \fIinteger\fR" 4
- .IX Item "pred integer"
- Allows setting the discrete wavelet transform (\s-1DWT\s0) type
- .RS 4
- .IP "\fBdwt97int (Lossy)\fR" 4
- .IX Item "dwt97int (Lossy)"
- .PD 0
- .IP "\fBdwt53 (Lossless)\fR" 4
- .IX Item "dwt53 (Lossless)"
- .RE
- .RS 4
- .PD
- .Sp
- Default is \f(CW\*(C`dwt97int\*(C'\fR
- .RE
- .IP "\fBsop\fR \fIboolean\fR" 4
- .IX Item "sop boolean"
- Enable this to add \s-1SOP\s0 marker at the start of each packet. Disabled by default.
- .IP "\fBeph\fR \fIboolean\fR" 4
- .IX Item "eph boolean"
- Enable this to add \s-1EPH\s0 marker at the end of each packet header. Disabled by default.
- .IP "\fBprog\fR \fIinteger\fR" 4
- .IX Item "prog integer"
- Sets the progression order to be used by the encoder.
- Possible values are:
- .RS 4
- .IP "\fBlrcp\fR" 4
- .IX Item "lrcp"
- .PD 0
- .IP "\fBrlcp\fR" 4
- .IX Item "rlcp"
- .IP "\fBrpcl\fR" 4
- .IX Item "rpcl"
- .IP "\fBpcrl\fR" 4
- .IX Item "pcrl"
- .IP "\fBcprl\fR" 4
- .IX Item "cprl"
- .RE
- .RS 4
- .PD
- .Sp
- Set to \f(CW\*(C`lrcp\*(C'\fR by default.
- .RE
- .IP "\fBlayer_rates\fR \fIstring\fR" 4
- .IX Item "layer_rates string"
- By default, when this option is not used, compression is done using the quality metric.
- This option allows for compression using compression ratio. The compression ratio for each
- level could be specified. The compression ratio of a layer \f(CW\*(C`l\*(C'\fR species the what ratio of
- total file size is contained in the first \f(CW\*(C`l\*(C'\fR layers.
- .Sp
- Example usage:
- .Sp
- .Vb 1
- \& ffmpeg \-i input.bmp \-c:v jpeg2000 \-layer_rates "100,10,1" output.j2k
- .Ve
- .Sp
- This would compress the image to contain 3 layers, where the data contained in the
- first layer would be compressed by 1000 times, compressed by 100 in the first two layers,
- and shall contain all data while using all 3 layers.
- .SS "librav1e"
- .IX Subsection "librav1e"
- rav1e \s-1AV1\s0 encoder wrapper.
- .PP
- Requires the presence of the rav1e headers and library during configuration.
- You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-librav1e\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBqmax\fR" 4
- .IX Item "qmax"
- Sets the maximum quantizer to use when using bitrate mode.
- .IP "\fBqmin\fR" 4
- .IX Item "qmin"
- Sets the minimum quantizer to use when using bitrate mode.
- .IP "\fBqp\fR" 4
- .IX Item "qp"
- Uses quantizer mode to encode at the given quantizer (0\-255).
- .IP "\fBspeed\fR" 4
- .IX Item "speed"
- Selects the speed preset (0\-10) to encode with.
- .IP "\fBtiles\fR" 4
- .IX Item "tiles"
- Selects how many tiles to encode with.
- .IP "\fBtile-rows\fR" 4
- .IX Item "tile-rows"
- Selects how many rows of tiles to encode with.
- .IP "\fBtile-columns\fR" 4
- .IX Item "tile-columns"
- Selects how many columns of tiles to encode with.
- .IP "\fBrav1e\-params\fR" 4
- .IX Item "rav1e-params"
- Set rav1e options using a list of \fIkey\fR=\fIvalue\fR pairs separated
- by \*(L":\*(R". See \fBrav1e \-\-help\fR for a list of options.
- .Sp
- For example to specify librav1e encoding options with \fB\-rav1e\-params\fR:
- .Sp
- .Vb 1
- \& ffmpeg \-i input \-c:v librav1e \-b:v 500K \-rav1e\-params speed=5:low_latency=true output.mp4
- .Ve
- .SS "libaom\-av1"
- .IX Subsection "libaom-av1"
- libaom \s-1AV1\s0 encoder wrapper.
- .PP
- Requires the presence of the libaom headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libaom\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The wrapper supports the following standard libavcodec options:
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set bitrate target in bits/second. By default this will use
- variable-bitrate mode. If \fBmaxrate\fR and \fBminrate\fR are
- also set to the same value then it will use constant-bitrate mode,
- otherwise if \fBcrf\fR is set as well then it will use
- constrained-quality mode.
- .IP "\fBg keyint_min\fR" 4
- .IX Item "g keyint_min"
- Set key frame placement. The \s-1GOP\s0 size sets the maximum distance between
- key frames; if zero the output stream will be intra-only. The minimum
- distance is ignored unless it is the same as the \s-1GOP\s0 size, in which case
- key frames will always appear at a fixed interval. Not set by default,
- so without this option the library has completely free choice about
- where to place key frames.
- .IP "\fBqmin qmax\fR" 4
- .IX Item "qmin qmax"
- Set minimum/maximum quantisation values. Valid range is from 0 to 63
- (warning: this does not match the quantiser values actually used by \s-1AV1\s0
- \&\- divide by four to map real quantiser values to this range). Defaults
- to min/max (no constraint).
- .IP "\fBminrate maxrate bufsize rc_init_occupancy\fR" 4
- .IX Item "minrate maxrate bufsize rc_init_occupancy"
- Set rate control buffering parameters. Not used if not set \- defaults
- to unconstrained variable bitrate.
- .IP "\fBthreads\fR" 4
- .IX Item "threads"
- Set the number of threads to use while encoding. This may require the
- \&\fBtiles\fR or \fBrow-mt\fR options to also be set to actually
- use the specified number of threads fully. Defaults to the number of
- hardware threads supported by the host machine.
- .IP "\fBprofile\fR" 4
- .IX Item "profile"
- Set the encoding profile. Defaults to using the profile which matches
- the bit depth and chroma subsampling of the input.
- .PP
- The wrapper also has some specific options:
- .IP "\fBcpu-used\fR" 4
- .IX Item "cpu-used"
- Set the quality/encoding speed tradeoff. Valid range is from 0 to 8,
- higher numbers indicating greater speed and lower quality. The default
- value is 1, which will be slow and high quality.
- .IP "\fBauto-alt-ref\fR" 4
- .IX Item "auto-alt-ref"
- Enable use of alternate reference frames. Defaults to the internal
- default of the library.
- .IP "\fBarnr-max-frames (\fR\fIframes\fR\fB)\fR" 4
- .IX Item "arnr-max-frames (frames)"
- Set altref noise reduction max frame count. Default is \-1.
- .IP "\fBarnr-strength (\fR\fIstrength\fR\fB)\fR" 4
- .IX Item "arnr-strength (strength)"
- Set altref noise reduction filter strength. Range is \-1 to 6. Default is \-1.
- .IP "\fBaq-mode (\fR\fIaq-mode\fR\fB)\fR" 4
- .IX Item "aq-mode (aq-mode)"
- Set adaptive quantization mode. Possible values:
- .RS 4
- .IP "\fBnone (\fR\fI0\fR\fB)\fR" 4
- .IX Item "none (0)"
- Disabled.
- .IP "\fBvariance (\fR\fI1\fR\fB)\fR" 4
- .IX Item "variance (1)"
- Variance-based.
- .IP "\fBcomplexity (\fR\fI2\fR\fB)\fR" 4
- .IX Item "complexity (2)"
- Complexity-based.
- .IP "\fBcyclic (\fR\fI3\fR\fB)\fR" 4
- .IX Item "cyclic (3)"
- Cyclic refresh.
- .RE
- .RS 4
- .RE
- .IP "\fBtune (\fR\fItune\fR\fB)\fR" 4
- .IX Item "tune (tune)"
- Set the distortion metric the encoder is tuned with. Default is \f(CW\*(C`psnr\*(C'\fR.
- .RS 4
- .IP "\fBpsnr (\fR\fI0\fR\fB)\fR" 4
- .IX Item "psnr (0)"
- .PD 0
- .IP "\fBssim (\fR\fI1\fR\fB)\fR" 4
- .IX Item "ssim (1)"
- .RE
- .RS 4
- .RE
- .IP "\fBlag-in-frames\fR" 4
- .IX Item "lag-in-frames"
- .PD
- Set the maximum number of frames which the encoder may keep in flight
- at any one time for lookahead purposes. Defaults to the internal
- default of the library.
- .IP "\fBerror-resilience\fR" 4
- .IX Item "error-resilience"
- Enable error resilience features:
- .RS 4
- .IP "\fBdefault\fR" 4
- .IX Item "default"
- Improve resilience against losses of whole frames.
- .RE
- .RS 4
- .Sp
- Not enabled by default.
- .RE
- .IP "\fBcrf\fR" 4
- .IX Item "crf"
- Set the quality/size tradeoff for constant-quality (no bitrate target)
- and constrained-quality (with maximum bitrate target) modes. Valid
- range is 0 to 63, higher numbers indicating lower quality and smaller
- output size. Only used if set; by default only the bitrate target is
- used.
- .IP "\fBstatic-thresh\fR" 4
- .IX Item "static-thresh"
- Set a change threshold on blocks below which they will be skipped by
- the encoder. Defined in arbitrary units as a nonnegative integer,
- defaulting to zero (no blocks are skipped).
- .IP "\fBdrop-threshold\fR" 4
- .IX Item "drop-threshold"
- Set a threshold for dropping frames when close to rate control bounds.
- Defined as a percentage of the target buffer \- when the rate control
- buffer falls below this percentage, frames will be dropped until it
- has refilled above the threshold. Defaults to zero (no frames are
- dropped).
- .IP "\fBdenoise-noise-level (\fR\fIlevel\fR\fB)\fR" 4
- .IX Item "denoise-noise-level (level)"
- Amount of noise to be removed for grain synthesis. Grain synthesis is disabled if
- this option is not set or set to 0.
- .IP "\fBdenoise-block-size (\fR\fIpixels\fR\fB)\fR" 4
- .IX Item "denoise-block-size (pixels)"
- Block size used for denoising for grain synthesis. If not set, \s-1AV1\s0 codec
- uses the default value of 32.
- .IP "\fBundershoot-pct (\fR\fIpct\fR\fB)\fR" 4
- .IX Item "undershoot-pct (pct)"
- Set datarate undershoot (min) percentage of the target bitrate. Range is \-1 to 100.
- Default is \-1.
- .IP "\fBovershoot-pct (\fR\fIpct\fR\fB)\fR" 4
- .IX Item "overshoot-pct (pct)"
- Set datarate overshoot (max) percentage of the target bitrate. Range is \-1 to 1000.
- Default is \-1.
- .IP "\fBminsection-pct (\fR\fIpct\fR\fB)\fR" 4
- .IX Item "minsection-pct (pct)"
- Minimum percentage variation of the \s-1GOP\s0 bitrate from the target bitrate. If minsection-pct
- is not set, the libaomenc wrapper computes it as follows: \f(CW\*(C`(minrate * 100 / bitrate)\*(C'\fR.
- Range is \-1 to 100. Default is \-1 (unset).
- .IP "\fBmaxsection-pct (\fR\fIpct\fR\fB)\fR" 4
- .IX Item "maxsection-pct (pct)"
- Maximum percentage variation of the \s-1GOP\s0 bitrate from the target bitrate. If maxsection-pct
- is not set, the libaomenc wrapper computes it as follows: \f(CW\*(C`(maxrate * 100 / bitrate)\*(C'\fR.
- Range is \-1 to 5000. Default is \-1 (unset).
- .IP "\fBframe-parallel (\fR\fIboolean\fR\fB)\fR" 4
- .IX Item "frame-parallel (boolean)"
- Enable frame parallel decodability features. Default is true.
- .IP "\fBtiles\fR" 4
- .IX Item "tiles"
- Set the number of tiles to encode the input video with, as columns x
- rows. Larger numbers allow greater parallelism in both encoding and
- decoding, but may decrease coding efficiency. Defaults to the minimum
- number of tiles required by the size of the input video (this is 1x1
- (that is, a single tile) for sizes up to and including 4K).
- .IP "\fBtile-columns tile-rows\fR" 4
- .IX Item "tile-columns tile-rows"
- Set the number of tiles as log2 of the number of tile rows and columns.
- Provided for compatibility with libvpx/VP9.
- .IP "\fBrow-mt (Requires libaom >= 1.0.0\-759\-g90a15f4f2)\fR" 4
- .IX Item "row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)"
- Enable row based multi-threading. Disabled by default.
- .IP "\fBenable-cdef (\fR\fIboolean\fR\fB)\fR" 4
- .IX Item "enable-cdef (boolean)"
- Enable Constrained Directional Enhancement Filter. The libaom\-av1
- encoder enables \s-1CDEF\s0 by default.
- .IP "\fBenable-restoration (\fR\fIboolean\fR\fB)\fR" 4
- .IX Item "enable-restoration (boolean)"
- Enable Loop Restoration Filter. Default is true for libaom\-av1.
- .IP "\fBenable-global-motion (\fR\fIboolean\fR\fB)\fR" 4
- .IX Item "enable-global-motion (boolean)"
- Enable the use of global motion for block prediction. Default is true.
- .IP "\fBenable-intrabc (\fR\fIboolean\fR\fB)\fR" 4
- .IX Item "enable-intrabc (boolean)"
- Enable block copy mode for intra block prediction. This mode is
- useful for screen content. Default is true.
- .IP "\fBenable-rect-partitions (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-rect-partitions (boolean) (Requires libaom >= v2.0.0)"
- Enable rectangular partitions. Default is true.
- .IP "\fBenable\-1to4\-partitions (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-1to4-partitions (boolean) (Requires libaom >= v2.0.0)"
- Enable 1:4/4:1 partitions. Default is true.
- .IP "\fBenable-ab-partitions (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-ab-partitions (boolean) (Requires libaom >= v2.0.0)"
- Enable \s-1AB\s0 shape partitions. Default is true.
- .IP "\fBenable-angle-delta (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-angle-delta (boolean) (Requires libaom >= v2.0.0)"
- Enable angle delta intra prediction. Default is true.
- .IP "\fBenable-cfl-intra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-cfl-intra (boolean) (Requires libaom >= v2.0.0)"
- Enable chroma predicted from luma intra prediction. Default is true.
- .IP "\fBenable-filter-intra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-filter-intra (boolean) (Requires libaom >= v2.0.0)"
- Enable filter intra predictor. Default is true.
- .IP "\fBenable-intra-edge-filter (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-intra-edge-filter (boolean) (Requires libaom >= v2.0.0)"
- Enable intra edge filter. Default is true.
- .IP "\fBenable-smooth-intra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-smooth-intra (boolean) (Requires libaom >= v2.0.0)"
- Enable smooth intra prediction mode. Default is true.
- .IP "\fBenable-paeth-intra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-paeth-intra (boolean) (Requires libaom >= v2.0.0)"
- Enable paeth predictor in intra prediction. Default is true.
- .IP "\fBenable-palette (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-palette (boolean) (Requires libaom >= v2.0.0)"
- Enable palette prediction mode. Default is true.
- .IP "\fBenable-flip-idtx (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-flip-idtx (boolean) (Requires libaom >= v2.0.0)"
- Enable extended transform type, including \s-1FLIPADST_DCT, DCT_FLIPADST,
- FLIPADST_FLIPADST, ADST_FLIPADST, FLIPADST_ADST, IDTX, V_DCT, H_DCT,
- V_ADST, H_ADST, V_FLIPADST, H_FLIPADST.\s0 Default is true.
- .IP "\fBenable\-tx64 (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-tx64 (boolean) (Requires libaom >= v2.0.0)"
- Enable 64\-pt transform. Default is true.
- .IP "\fBreduced-tx-type-set (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "reduced-tx-type-set (boolean) (Requires libaom >= v2.0.0)"
- Use reduced set of transform types. Default is false.
- .IP "\fBuse-intra-dct-only (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "use-intra-dct-only (boolean) (Requires libaom >= v2.0.0)"
- Use \s-1DCT\s0 only for \s-1INTRA\s0 modes. Default is false.
- .IP "\fBuse-inter-dct-only (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "use-inter-dct-only (boolean) (Requires libaom >= v2.0.0)"
- Use \s-1DCT\s0 only for \s-1INTER\s0 modes. Default is false.
- .IP "\fBuse-intra-default-tx-only (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "use-intra-default-tx-only (boolean) (Requires libaom >= v2.0.0)"
- Use Default-transform only for \s-1INTRA\s0 modes. Default is false.
- .IP "\fBenable-ref-frame-mvs (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-ref-frame-mvs (boolean) (Requires libaom >= v2.0.0)"
- Enable temporal mv prediction. Default is true.
- .IP "\fBenable-reduced-reference-set (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-reduced-reference-set (boolean) (Requires libaom >= v2.0.0)"
- Use reduced set of single and compound references. Default is false.
- .IP "\fBenable-obmc (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-obmc (boolean) (Requires libaom >= v2.0.0)"
- Enable obmc. Default is true.
- .IP "\fBenable-dual-filter (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-dual-filter (boolean) (Requires libaom >= v2.0.0)"
- Enable dual filter. Default is true.
- .IP "\fBenable-diff-wtd-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-diff-wtd-comp (boolean) (Requires libaom >= v2.0.0)"
- Enable difference-weighted compound. Default is true.
- .IP "\fBenable-dist-wtd-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-dist-wtd-comp (boolean) (Requires libaom >= v2.0.0)"
- Enable distance-weighted compound. Default is true.
- .IP "\fBenable-onesided-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-onesided-comp (boolean) (Requires libaom >= v2.0.0)"
- Enable one sided compound. Default is true.
- .IP "\fBenable-interinter-wedge (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-interinter-wedge (boolean) (Requires libaom >= v2.0.0)"
- Enable interinter wedge compound. Default is true.
- .IP "\fBenable-interintra-wedge (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-interintra-wedge (boolean) (Requires libaom >= v2.0.0)"
- Enable interintra wedge compound. Default is true.
- .IP "\fBenable-masked-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-masked-comp (boolean) (Requires libaom >= v2.0.0)"
- Enable masked compound. Default is true.
- .IP "\fBenable-interintra-comp (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-interintra-comp (boolean) (Requires libaom >= v2.0.0)"
- Enable interintra compound. Default is true.
- .IP "\fBenable-smooth-interintra (\fR\fIboolean\fR\fB) (Requires libaom >= v2.0.0)\fR" 4
- .IX Item "enable-smooth-interintra (boolean) (Requires libaom >= v2.0.0)"
- Enable smooth interintra mode. Default is true.
- .IP "\fBaom-params\fR" 4
- .IX Item "aom-params"
- Set libaom options using a list of \fIkey\fR=\fIvalue\fR pairs separated
- by \*(L":\*(R". For a list of supported options, see \fBaomenc \-\-help\fR under the
- section \*(L"\s-1AV1\s0 Specific Options\*(R".
- .Sp
- For example to specify libaom encoding options with \fB\-aom\-params\fR:
- .Sp
- .Vb 1
- \& ffmpeg \-i input \-c:v libaom\-av1 \-b:v 500K \-aom\-params tune=psnr:enable\-tpl\-model=1 output.mp4
- .Ve
- .SS "libsvtav1"
- .IX Subsection "libsvtav1"
- \&\s-1SVT\-AV1\s0 encoder wrapper.
- .PP
- Requires the presence of the \s-1SVT\-AV1\s0 headers and library during configuration.
- You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libsvtav1\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBprofile\fR" 4
- .IX Item "profile"
- Set the encoding profile.
- .IP "\fBlevel\fR" 4
- .IX Item "level"
- Set the operating point level.
- .IP "\fBtier\fR" 4
- .IX Item "tier"
- Set the operating point tier.
- .IP "\fBrc\fR" 4
- .IX Item "rc"
- Set the rate control mode to use.
- .Sp
- Possible modes:
- .RS 4
- .IP "\fBcqp\fR" 4
- .IX Item "cqp"
- Constant quantizer: use fixed values of qindex (dependent on the frame type)
- throughout the stream. This mode is the default.
- .IP "\fBvbr\fR" 4
- .IX Item "vbr"
- Variable bitrate: use a target bitrate for the whole stream.
- .IP "\fBcvbr\fR" 4
- .IX Item "cvbr"
- Constrained variable bitrate: use a target bitrate for each \s-1GOP.\s0
- .RE
- .RS 4
- .RE
- .IP "\fBqmax\fR" 4
- .IX Item "qmax"
- Set the maximum quantizer to use when using a bitrate mode.
- .IP "\fBqmin\fR" 4
- .IX Item "qmin"
- Set the minimum quantizer to use when using a bitrate mode.
- .IP "\fBqp\fR" 4
- .IX Item "qp"
- Set the quantizer used in cqp rate control mode (0\-63).
- .IP "\fBsc_detection\fR" 4
- .IX Item "sc_detection"
- Enable scene change detection.
- .IP "\fBla_depth\fR" 4
- .IX Item "la_depth"
- Set number of frames to look ahead (0\-120).
- .IP "\fBpreset\fR" 4
- .IX Item "preset"
- Set the quality-speed tradeoff, in the range 0 to 8. Higher values are
- faster but lower quality. Defaults to 8 (highest speed).
- .IP "\fBtile_rows\fR" 4
- .IX Item "tile_rows"
- Set log2 of the number of rows of tiles to use (0\-6).
- .IP "\fBtile_columns\fR" 4
- .IX Item "tile_columns"
- Set log2 of the number of columns of tiles to use (0\-4).
- .SS "libkvazaar"
- .IX Subsection "libkvazaar"
- Kvazaar H.265/HEVC encoder.
- .PP
- Requires the presence of the libkvazaar headers and library during
- configuration. You need to explicitly configure the build with
- \&\fB\-\-enable\-libkvazaar\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set target video bitrate in bit/s and enable rate control.
- .IP "\fBkvazaar-params\fR" 4
- .IX Item "kvazaar-params"
- Set kvazaar parameters as a list of \fIname\fR=\fIvalue\fR pairs separated
- by commas (,). See kvazaar documentation for a list of options.
- .SS "libopenh264"
- .IX Subsection "libopenh264"
- Cisco libopenh264 H.264/MPEG\-4 \s-1AVC\s0 encoder wrapper.
- .PP
- This encoder requires the presence of the libopenh264 headers and
- library during configuration. You need to explicitly configure the
- build with \f(CW\*(C`\-\-enable\-libopenh264\*(C'\fR. The library is detected using
- \&\fBpkg-config\fR.
- .PP
- For more information about the library see
- <\fBhttp://www.openh264.org\fR>.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following FFmpeg global options affect the configurations of the
- libopenh264 encoder.
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set the bitrate (as a number of bits per second).
- .IP "\fBg\fR" 4
- .IX Item "g"
- Set the \s-1GOP\s0 size.
- .IP "\fBmaxrate\fR" 4
- .IX Item "maxrate"
- Set the max bitrate (as a number of bits per second).
- .IP "\fBflags +global_header\fR" 4
- .IX Item "flags +global_header"
- Set global header in the bitstream.
- .IP "\fBslices\fR" 4
- .IX Item "slices"
- Set the number of slices, used in parallelized encoding. Default value
- is 0. This is only used when \fBslice_mode\fR is set to
- \&\fBfixed\fR.
- .IP "\fBslice_mode\fR" 4
- .IX Item "slice_mode"
- Set slice mode. Can assume one of the following possible values:
- .RS 4
- .IP "\fBfixed\fR" 4
- .IX Item "fixed"
- a fixed number of slices
- .IP "\fBrowmb\fR" 4
- .IX Item "rowmb"
- one slice per row of macroblocks
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- automatic number of slices according to number of threads
- .IP "\fBdyn\fR" 4
- .IX Item "dyn"
- dynamic slicing
- .RE
- .RS 4
- .Sp
- Default value is \fBauto\fR.
- .RE
- .IP "\fBloopfilter\fR" 4
- .IX Item "loopfilter"
- Enable loop filter, if set to 1 (automatically enabled). To disable
- set a value of 0.
- .IP "\fBprofile\fR" 4
- .IX Item "profile"
- Set profile restrictions. If set to the value of \fBmain\fR enable
- \&\s-1CABAC\s0 (set the \f(CW\*(C`SEncParamExt.iEntropyCodingModeFlag\*(C'\fR flag to 1).
- .IP "\fBmax_nal_size\fR" 4
- .IX Item "max_nal_size"
- Set maximum \s-1NAL\s0 size in bytes.
- .IP "\fBallow_skip_frames\fR" 4
- .IX Item "allow_skip_frames"
- Allow skipping frames to hit the target bitrate if set to 1.
- .SS "libtheora"
- .IX Subsection "libtheora"
- libtheora Theora encoder wrapper.
- .PP
- Requires the presence of the libtheora headers and library during
- configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libtheora\*(C'\fR.
- .PP
- For more information about the libtheora project see
- <\fBhttp://www.theora.org/\fR>.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following global options are mapped to internal libtheora options
- which affect the quality and the bitrate of the encoded stream.
- .IP "\fBb\fR" 4
- .IX Item "b"
- Set the video bitrate in bit/s for \s-1CBR\s0 (Constant Bit Rate) mode. In
- case \s-1VBR\s0 (Variable Bit Rate) mode is enabled this option is ignored.
- .IP "\fBflags\fR" 4
- .IX Item "flags"
- Used to enable constant quality mode (\s-1VBR\s0) encoding through the
- \&\fBqscale\fR flag, and to enable the \f(CW\*(C`pass1\*(C'\fR and \f(CW\*(C`pass2\*(C'\fR
- modes.
- .IP "\fBg\fR" 4
- .IX Item "g"
- Set the \s-1GOP\s0 size.
- .IP "\fBglobal_quality\fR" 4
- .IX Item "global_quality"
- Set the global quality as an integer in lambda units.
- .Sp
- Only relevant when \s-1VBR\s0 mode is enabled with \f(CW\*(C`flags +qscale\*(C'\fR. The
- value is converted to \s-1QP\s0 units by dividing it by \f(CW\*(C`FF_QP2LAMBDA\*(C'\fR,
- clipped in the [0 \- 10] range, and then multiplied by 6.3 to get a
- value in the native libtheora range [0\-63]. A higher value corresponds
- to a higher quality.
- .IP "\fBq\fR" 4
- .IX Item "q"
- Enable \s-1VBR\s0 mode when set to a non-negative value, and set constant
- quality value as a double floating point value in \s-1QP\s0 units.
- .Sp
- The value is clipped in the [0\-10] range, and then multiplied by 6.3
- to get a value in the native libtheora range [0\-63].
- .Sp
- This option is valid only using the \fBffmpeg\fR command-line
- tool. For library interface users, use \fBglobal_quality\fR.
- .PP
- \fIExamples\fR
- .IX Subsection "Examples"
- .IP "\(bu" 4
- Set maximum constant quality (\s-1VBR\s0) encoding with \fBffmpeg\fR:
- .Sp
- .Vb 1
- \& ffmpeg \-i INPUT \-codec:v libtheora \-q:v 10 OUTPUT.ogg
- .Ve
- .IP "\(bu" 4
- Use \fBffmpeg\fR to convert a \s-1CBR 1000\s0 kbps Theora video stream:
- .Sp
- .Vb 1
- \& ffmpeg \-i INPUT \-codec:v libtheora \-b:v 1000k OUTPUT.ogg
- .Ve
- .SS "libvpx"
- .IX Subsection "libvpx"
- \&\s-1VP8/VP9\s0 format supported through libvpx.
- .PP
- Requires the presence of the libvpx headers and library during configuration.
- You need to explicitly configure the build with \f(CW\*(C`\-\-enable\-libvpx\*(C'\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by the libvpx wrapper. The
- \&\fBvpxenc\fR\-equivalent options or values are listed in parentheses
- for easy migration.
- .PP
- To reduce the duplication of documentation, only the private options
- and some others requiring special attention are documented here. For
- the documentation of the undocumented generic options, see
- \&\fBthe Codec Options chapter\fR.
- .PP
- To get more documentation of the libvpx options, invoke the command
- \&\fBffmpeg \-h encoder=libvpx\fR, \fBffmpeg \-h encoder=libvpx\-vp9\fR or
- \&\fBvpxenc \-\-help\fR. Further information is available in the libvpx \s-1API\s0
- documentation.
- .IP "\fBb (\fR\fItarget-bitrate\fR\fB)\fR" 4
- .IX Item "b (target-bitrate)"
- Set bitrate in bits/s. Note that FFmpeg's \fBb\fR option is
- expressed in bits/s, while \fBvpxenc\fR's \fBtarget-bitrate\fR is in
- kilobits/s.
- .IP "\fBg (\fR\fIkf-max-dist\fR\fB)\fR" 4
- .IX Item "g (kf-max-dist)"
- .PD 0
- .IP "\fBkeyint_min (\fR\fIkf-min-dist\fR\fB)\fR" 4
- .IX Item "keyint_min (kf-min-dist)"
- .IP "\fBqmin (\fR\fImin-q\fR\fB)\fR" 4
- .IX Item "qmin (min-q)"
- .IP "\fBqmax (\fR\fImax-q\fR\fB)\fR" 4
- .IX Item "qmax (max-q)"
- .IP "\fBbufsize (\fR\fIbuf-sz\fR\fB,\fR \fIbuf-optimal-sz\fR\fB)\fR" 4
- .IX Item "bufsize (buf-sz, buf-optimal-sz)"
- .PD
- Set ratecontrol buffer size (in bits). Note \fBvpxenc\fR's options are
- specified in milliseconds, the libvpx wrapper converts this value as follows:
- \&\f(CW\*(C`buf\-sz = bufsize * 1000 / bitrate\*(C'\fR,
- \&\f(CW\*(C`buf\-optimal\-sz = bufsize * 1000 / bitrate * 5 / 6\*(C'\fR.
- .IP "\fBrc_init_occupancy (\fR\fIbuf-initial-sz\fR\fB)\fR" 4
- .IX Item "rc_init_occupancy (buf-initial-sz)"
- Set number of bits which should be loaded into the rc buffer before decoding
- starts. Note \fBvpxenc\fR's option is specified in milliseconds, the libvpx
- wrapper converts this value as follows:
- \&\f(CW\*(C`rc_init_occupancy * 1000 / bitrate\*(C'\fR.
- .IP "\fBundershoot-pct\fR" 4
- .IX Item "undershoot-pct"
- Set datarate undershoot (min) percentage of the target bitrate.
- .IP "\fBovershoot-pct\fR" 4
- .IX Item "overshoot-pct"
- Set datarate overshoot (max) percentage of the target bitrate.
- .IP "\fBskip_threshold (\fR\fIdrop-frame\fR\fB)\fR" 4
- .IX Item "skip_threshold (drop-frame)"
- .PD 0
- .IP "\fBqcomp (\fR\fIbias-pct\fR\fB)\fR" 4
- .IX Item "qcomp (bias-pct)"
- .IP "\fBmaxrate (\fR\fImaxsection-pct\fR\fB)\fR" 4
- .IX Item "maxrate (maxsection-pct)"
- .PD
- Set \s-1GOP\s0 max bitrate in bits/s. Note \fBvpxenc\fR's option is specified as a
- percentage of the target bitrate, the libvpx wrapper converts this value as
- follows: \f(CW\*(C`(maxrate * 100 / bitrate)\*(C'\fR.
- .IP "\fBminrate (\fR\fIminsection-pct\fR\fB)\fR" 4
- .IX Item "minrate (minsection-pct)"
- Set \s-1GOP\s0 min bitrate in bits/s. Note \fBvpxenc\fR's option is specified as a
- percentage of the target bitrate, the libvpx wrapper converts this value as
- follows: \f(CW\*(C`(minrate * 100 / bitrate)\*(C'\fR.
- .IP "\fBminrate, maxrate, b\fR \fIend\-usage=cbr\fR" 4
- .IX Item "minrate, maxrate, b end-usage=cbr"
- \&\f(CW\*(C`(minrate == maxrate == bitrate)\*(C'\fR.
- .IP "\fBcrf (\fR\fIend\-usage=cq\fR\fB,\fR \fIcq-level\fR\fB)\fR" 4
- .IX Item "crf (end-usage=cq, cq-level)"
- .PD 0
- .IP "\fBtune (\fR\fItune\fR\fB)\fR" 4
- .IX Item "tune (tune)"
- .RS 4
- .IP "\fBpsnr (\fR\fIpsnr\fR\fB)\fR" 4
- .IX Item "psnr (psnr)"
- .IP "\fBssim (\fR\fIssim\fR\fB)\fR" 4
- .IX Item "ssim (ssim)"
- .RE
- .RS 4
- .RE
- .IP "\fBquality, deadline (\fR\fIdeadline\fR\fB)\fR" 4
- .IX Item "quality, deadline (deadline)"
- .RS 4
- .IP "\fBbest\fR" 4
- .IX Item "best"
- .PD
- Use best quality deadline. Poorly named and quite slow, this option should be
- avoided as it may give worse quality output than good.
- .IP "\fBgood\fR" 4
- .IX Item "good"
- Use good quality deadline. This is a good trade-off between speed and quality
- when used with the \fBcpu-used\fR option.
- .IP "\fBrealtime\fR" 4
- .IX Item "realtime"
- Use realtime quality deadline.
- .RE
- .RS 4
- .RE
- .IP "\fBspeed, cpu-used (\fR\fIcpu-used\fR\fB)\fR" 4
- .IX Item "speed, cpu-used (cpu-used)"
- Set quality/speed ratio modifier. Higher values speed up the encode at the cost
- of quality.
- .IP "\fBnr (\fR\fInoise-sensitivity\fR\fB)\fR" 4
- .IX Item "nr (noise-sensitivity)"
- .PD 0
- .IP "\fBstatic-thresh\fR" 4
- .IX Item "static-thresh"
- .PD
- Set a change threshold on blocks below which they will be skipped by the
- encoder.
- .IP "\fBslices (\fR\fItoken-parts\fR\fB)\fR" 4
- .IX Item "slices (token-parts)"
- Note that FFmpeg's \fBslices\fR option gives the total number of partitions,
- while \fBvpxenc\fR's \fBtoken-parts\fR is given as
- \&\f(CW\*(C`log2(partitions)\*(C'\fR.
- .IP "\fBmax-intra-rate\fR" 4
- .IX Item "max-intra-rate"
- Set maximum I\-frame bitrate as a percentage of the target bitrate. A value of 0
- means unlimited.
- .IP "\fBforce_key_frames\fR" 4
- .IX Item "force_key_frames"
- \&\f(CW\*(C`VPX_EFLAG_FORCE_KF\*(C'\fR
- .IP "\fBAlternate reference frame related\fR" 4
- .IX Item "Alternate reference frame related"
- .RS 4
- .PD 0
- .IP "\fBauto-alt-ref\fR" 4
- .IX Item "auto-alt-ref"
- .PD
- Enable use of alternate reference frames (2\-pass only).
- Values greater than 1 enable multi-layer alternate reference frames (\s-1VP9\s0 only).
- .IP "\fBarnr-maxframes\fR" 4
- .IX Item "arnr-maxframes"
- Set altref noise reduction max frame count.
- .IP "\fBarnr-type\fR" 4
- .IX Item "arnr-type"
- Set altref noise reduction filter type: backward, forward, centered.
- .IP "\fBarnr-strength\fR" 4
- .IX Item "arnr-strength"
- Set altref noise reduction filter strength.
- .IP "\fBrc-lookahead, lag-in-frames (\fR\fIlag-in-frames\fR\fB)\fR" 4
- .IX Item "rc-lookahead, lag-in-frames (lag-in-frames)"
- Set number of frames to look ahead for frametype and ratecontrol.
- .RE
- .RS 4
- .RE
- .IP "\fBerror-resilient\fR" 4
- .IX Item "error-resilient"
- Enable error resiliency features.
- .IP "\fBsharpness\fR \fIinteger\fR" 4
- .IX Item "sharpness integer"
- Increase sharpness at the expense of lower \s-1PSNR.\s0
- The valid range is [0, 7].
- .IP "\fBts-parameters\fR" 4
- .IX Item "ts-parameters"
- Sets the temporal scalability configuration using a :\-separated list of
- key=value pairs. For example, to specify temporal scalability parameters
- with \f(CW\*(C`ffmpeg\*(C'\fR:
- .Sp
- .Vb 3
- \& ffmpeg \-i INPUT \-c:v libvpx \-ts\-parameters ts_number_layers=3:\e
- \& ts_target_bitrate=250,500,1000:ts_rate_decimator=4,2,1:\e
- \& ts_periodicity=4:ts_layer_id=0,2,1,2:ts_layering_mode=3 OUTPUT
- .Ve
- .Sp
- Below is a brief explanation of each of the parameters, please
- refer to \f(CW\*(C`struct vpx_codec_enc_cfg\*(C'\fR in \f(CW\*(C`vpx/vpx_encoder.h\*(C'\fR for more
- details.
- .RS 4
- .IP "\fBts_number_layers\fR" 4
- .IX Item "ts_number_layers"
- Number of temporal coding layers.
- .IP "\fBts_target_bitrate\fR" 4
- .IX Item "ts_target_bitrate"
- Target bitrate for each temporal layer (in kbps).
- (bitrate should be inclusive of the lower temporal layer).
- .IP "\fBts_rate_decimator\fR" 4
- .IX Item "ts_rate_decimator"
- Frame rate decimation factor for each temporal layer.
- .IP "\fBts_periodicity\fR" 4
- .IX Item "ts_periodicity"
- Length of the sequence defining frame temporal layer membership.
- .IP "\fBts_layer_id\fR" 4
- .IX Item "ts_layer_id"
- Template defining the membership of frames to temporal layers.
- .IP "\fBts_layering_mode\fR" 4
- .IX Item "ts_layering_mode"
- (optional) Selecting the temporal structure from a set of pre-defined temporal layering modes.
- Currently supports the following options.
- .RS 4
- .IP "\fB0\fR" 4
- .IX Item "0"
- No temporal layering flags are provided internally,
- relies on flags being passed in using \f(CW\*(C`metadata\*(C'\fR field in \f(CW\*(C`AVFrame\*(C'\fR
- with following keys.
- .RS 4
- .IP "\fBvp8\-flags\fR" 4
- .IX Item "vp8-flags"
- Sets the flags passed into the encoder to indicate the referencing scheme for
- the current frame.
- Refer to function \f(CW\*(C`vpx_codec_encode\*(C'\fR in \f(CW\*(C`vpx/vpx_encoder.h\*(C'\fR for more
- details.
- .IP "\fBtemporal_id\fR" 4
- .IX Item "temporal_id"
- Explicitly sets the temporal id of the current frame to encode.
- .RE
- .RS 4
- .RE
- .IP "\fB2\fR" 4
- .IX Item "2"
- Two temporal layers. 0\-1...
- .IP "\fB3\fR" 4
- .IX Item "3"
- Three temporal layers. 0\-2\-1\-2...; with single reference frame.
- .IP "\fB4\fR" 4
- .IX Item "4"
- Same as option \*(L"3\*(R", except there is a dependency between
- the two temporal layer 2 frames within the temporal period.
- .RE
- .RS 4
- .RE
- .RE
- .RS 4
- .RE
- .IP "\fBVP9\-specific options\fR" 4
- .IX Item "VP9-specific options"
- .RS 4
- .PD 0
- .IP "\fBlossless\fR" 4
- .IX Item "lossless"
- .PD
- Enable lossless mode.
- .IP "\fBtile-columns\fR" 4
- .IX Item "tile-columns"
- Set number of tile columns to use. Note this is given as
- \&\f(CW\*(C`log2(tile_columns)\*(C'\fR. For example, 8 tile columns would be requested by
- setting the \fBtile-columns\fR option to 3.
- .IP "\fBtile-rows\fR" 4
- .IX Item "tile-rows"
- Set number of tile rows to use. Note this is given as \f(CW\*(C`log2(tile_rows)\*(C'\fR.
- For example, 4 tile rows would be requested by setting the \fBtile-rows\fR
- option to 2.
- .IP "\fBframe-parallel\fR" 4
- .IX Item "frame-parallel"
- Enable frame parallel decodability features.
- .IP "\fBaq-mode\fR" 4
- .IX Item "aq-mode"
- Set adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3:
- cyclic refresh, 4: equator360).
- .IP "\fBcolorspace\fR \fIcolor-space\fR" 4
- .IX Item "colorspace color-space"
- Set input color space. The \s-1VP9\s0 bitstream supports signaling the following
- colorspaces:
- .RS 4
- .IP "\fB\fBrgb\fB \f(BIsRGB\fB\fR" 4
- .IX Item "rgb sRGB"
- .PD 0
- .IP "\fB\fBbt709\fB \f(BIbt709\fB\fR" 4
- .IX Item "bt709 bt709"
- .IP "\fB\fBunspecified\fB \f(BIunknown\fB\fR" 4
- .IX Item "unspecified unknown"
- .IP "\fB\fBbt470bg\fB \f(BIbt601\fB\fR" 4
- .IX Item "bt470bg bt601"
- .IP "\fB\fBsmpte170m\fB \f(BIsmpte170\fB\fR" 4
- .IX Item "smpte170m smpte170"
- .IP "\fB\fBsmpte240m\fB \f(BIsmpte240\fB\fR" 4
- .IX Item "smpte240m smpte240"
- .IP "\fB\fBbt2020_ncl\fB \f(BIbt2020\fB\fR" 4
- .IX Item "bt2020_ncl bt2020"
- .RE
- .RS 4
- .RE
- .IP "\fBrow-mt\fR \fIboolean\fR" 4
- .IX Item "row-mt boolean"
- .PD
- Enable row based multi-threading.
- .IP "\fBtune-content\fR" 4
- .IX Item "tune-content"
- Set content type: default (0), screen (1), film (2).
- .IP "\fBcorpus-complexity\fR" 4
- .IX Item "corpus-complexity"
- Corpus \s-1VBR\s0 mode is a variant of standard \s-1VBR\s0 where the complexity distribution
- midpoint is passed in rather than calculated for a specific clip or chunk.
- .Sp
- The valid range is [0, 10000]. 0 (default) uses standard \s-1VBR.\s0
- .IP "\fBenable-tpl\fR \fIboolean\fR" 4
- .IX Item "enable-tpl boolean"
- Enable temporal dependency model.
- .IP "\fBref-frame-config\fR" 4
- .IX Item "ref-frame-config"
- Using per-frame metadata, set members of the structure \f(CW\*(C`vpx_svc_ref_frame_config_t\*(C'\fR in \f(CW\*(C`vpx/vp8cx.h\*(C'\fR to fine-control referencing schemes and frame buffer management.
- Use a :\-separated list of key=value pairs.
- For example,
- .Sp
- .Vb 2
- \& av_dict_set(&av_frame\->metadata, "ref\-frame\-config", \e
- \& "rfc_update_buffer_slot=7:rfc_lst_fb_idx=0:rfc_gld_fb_idx=1:rfc_alt_fb_idx=2:rfc_reference_last=0:rfc_reference_golden=0:rfc_reference_alt_ref=0");
- .Ve
- .RS 4
- .IP "\fBrfc_update_buffer_slot\fR" 4
- .IX Item "rfc_update_buffer_slot"
- Indicates the buffer slot number to update
- .IP "\fBrfc_update_last\fR" 4
- .IX Item "rfc_update_last"
- Indicates whether to update the \s-1LAST\s0 frame
- .IP "\fBrfc_update_golden\fR" 4
- .IX Item "rfc_update_golden"
- Indicates whether to update \s-1GOLDEN\s0 frame
- .IP "\fBrfc_update_alt_ref\fR" 4
- .IX Item "rfc_update_alt_ref"
- Indicates whether to update \s-1ALT_REF\s0 frame
- .IP "\fBrfc_lst_fb_idx\fR" 4
- .IX Item "rfc_lst_fb_idx"
- \&\s-1LAST\s0 frame buffer index
- .IP "\fBrfc_gld_fb_idx\fR" 4
- .IX Item "rfc_gld_fb_idx"
- \&\s-1GOLDEN\s0 frame buffer index
- .IP "\fBrfc_alt_fb_idx\fR" 4
- .IX Item "rfc_alt_fb_idx"
- \&\s-1ALT_REF\s0 frame buffer index
- .IP "\fBrfc_reference_last\fR" 4
- .IX Item "rfc_reference_last"
- Indicates whether to reference \s-1LAST\s0 frame
- .IP "\fBrfc_reference_golden\fR" 4
- .IX Item "rfc_reference_golden"
- Indicates whether to reference \s-1GOLDEN\s0 frame
- .IP "\fBrfc_reference_alt_ref\fR" 4
- .IX Item "rfc_reference_alt_ref"
- Indicates whether to reference \s-1ALT_REF\s0 frame
- .IP "\fBrfc_reference_duration\fR" 4
- .IX Item "rfc_reference_duration"
- Indicates frame duration
- .RE
- .RS 4
- .RE
- .RE
- .RS 4
- .RE
- .PP
- For more information about libvpx see:
- <\fBhttp://www.webmproject.org/\fR>
- .SS "libwebp"
- .IX Subsection "libwebp"
- libwebp WebP Image encoder wrapper
- .PP
- libwebp is Google's official encoder for WebP images. It can encode in either
- lossy or lossless mode. Lossy images are essentially a wrapper around a \s-1VP8\s0
- frame. Lossless images are a separate codec developed by Google.
- .PP
- \fIPixel Format\fR
- .IX Subsection "Pixel Format"
- .PP
- Currently, libwebp only supports \s-1YUV420\s0 for lossy and \s-1RGB\s0 for lossless due
- to limitations of the format and libwebp. Alpha is supported for either mode.
- Because of \s-1API\s0 limitations, if \s-1RGB\s0 is passed in when encoding lossy or \s-1YUV\s0 is
- passed in for encoding lossless, the pixel format will automatically be
- converted using functions from libwebp. This is not ideal and is done only for
- convenience.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fB\-lossless\fR \fIboolean\fR" 4
- .IX Item "-lossless boolean"
- Enables/Disables use of lossless mode. Default is 0.
- .IP "\fB\-compression_level\fR \fIinteger\fR" 4
- .IX Item "-compression_level integer"
- For lossy, this is a quality/speed tradeoff. Higher values give better quality
- for a given size at the cost of increased encoding time. For lossless, this is
- a size/speed tradeoff. Higher values give smaller size at the cost of increased
- encoding time. More specifically, it controls the number of extra algorithms
- and compression tools used, and varies the combination of these tools. This
- maps to the \fImethod\fR option in libwebp. The valid range is 0 to 6.
- Default is 4.
- .IP "\fB\-qscale\fR \fIfloat\fR" 4
- .IX Item "-qscale float"
- For lossy encoding, this controls image quality, 0 to 100. For lossless
- encoding, this controls the effort and time spent at compressing more. The
- default value is 75. Note that for usage via libavcodec, this option is called
- \&\fIglobal_quality\fR and must be multiplied by \fI\s-1FF_QP2LAMBDA\s0\fR.
- .IP "\fB\-preset\fR \fItype\fR" 4
- .IX Item "-preset type"
- Configuration preset. This does some automatic settings based on the general
- type of the image.
- .RS 4
- .IP "\fBnone\fR" 4
- .IX Item "none"
- Do not use a preset.
- .IP "\fBdefault\fR" 4
- .IX Item "default"
- Use the encoder default.
- .IP "\fBpicture\fR" 4
- .IX Item "picture"
- Digital picture, like portrait, inner shot
- .IP "\fBphoto\fR" 4
- .IX Item "photo"
- Outdoor photograph, with natural lighting
- .IP "\fBdrawing\fR" 4
- .IX Item "drawing"
- Hand or line drawing, with high-contrast details
- .IP "\fBicon\fR" 4
- .IX Item "icon"
- Small-sized colorful images
- .IP "\fBtext\fR" 4
- .IX Item "text"
- Text-like
- .RE
- .RS 4
- .RE
- .SS "libx264, libx264rgb"
- .IX Subsection "libx264, libx264rgb"
- x264 H.264/MPEG\-4 \s-1AVC\s0 encoder wrapper.
- .PP
- This encoder requires the presence of the libx264 headers and library
- during configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libx264\*(C'\fR.
- .PP
- libx264 supports an impressive number of features, including 8x8 and
- 4x4 adaptive spatial transform, adaptive B\-frame placement, \s-1CAVLC/CABAC\s0
- entropy coding, interlacing (\s-1MBAFF\s0), lossless mode, psy optimizations
- for detail retention (adaptive quantization, psy-RD, psy-trellis).
- .PP
- Many libx264 encoder options are mapped to FFmpeg global codec
- options, while unique encoder options are provided through private
- options. Additionally the \fBx264opts\fR and \fBx264\-params\fR
- private options allows one to pass a list of key=value tuples as accepted
- by the libx264 \f(CW\*(C`x264_param_parse\*(C'\fR function.
- .PP
- The x264 project website is at
- <\fBhttp://www.videolan.org/developers/x264.html\fR>.
- .PP
- The libx264rgb encoder is the same as libx264, except it accepts packed \s-1RGB\s0
- pixel formats as input instead of \s-1YUV.\s0
- .PP
- \fISupported Pixel Formats\fR
- .IX Subsection "Supported Pixel Formats"
- .PP
- x264 supports 8\- to 10\-bit color spaces. The exact bit depth is controlled at
- x264's configure time.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by the libx264 wrapper. The
- \&\fBx264\fR\-equivalent options or values are listed in parentheses
- for easy migration.
- .PP
- To reduce the duplication of documentation, only the private options
- and some others requiring special attention are documented here. For
- the documentation of the undocumented generic options, see
- \&\fBthe Codec Options chapter\fR.
- .PP
- To get a more accurate and extensive documentation of the libx264
- options, invoke the command \fBx264 \-\-fullhelp\fR or consult
- the libx264 documentation.
- .IP "\fBb (\fR\fIbitrate\fR\fB)\fR" 4
- .IX Item "b (bitrate)"
- Set bitrate in bits/s. Note that FFmpeg's \fBb\fR option is
- expressed in bits/s, while \fBx264\fR's \fBbitrate\fR is in
- kilobits/s.
- .IP "\fBbf (\fR\fIbframes\fR\fB)\fR" 4
- .IX Item "bf (bframes)"
- .PD 0
- .IP "\fBg (\fR\fIkeyint\fR\fB)\fR" 4
- .IX Item "g (keyint)"
- .IP "\fBqmin (\fR\fIqpmin\fR\fB)\fR" 4
- .IX Item "qmin (qpmin)"
- .PD
- Minimum quantizer scale.
- .IP "\fBqmax (\fR\fIqpmax\fR\fB)\fR" 4
- .IX Item "qmax (qpmax)"
- Maximum quantizer scale.
- .IP "\fBqdiff (\fR\fIqpstep\fR\fB)\fR" 4
- .IX Item "qdiff (qpstep)"
- Maximum difference between quantizer scales.
- .IP "\fBqblur (\fR\fIqblur\fR\fB)\fR" 4
- .IX Item "qblur (qblur)"
- Quantizer curve blur
- .IP "\fBqcomp (\fR\fIqcomp\fR\fB)\fR" 4
- .IX Item "qcomp (qcomp)"
- Quantizer curve compression factor
- .IP "\fBrefs (\fR\fIref\fR\fB)\fR" 4
- .IX Item "refs (ref)"
- Number of reference frames each P\-frame can use. The range is from \fI0\-16\fR.
- .IP "\fBsc_threshold (\fR\fIscenecut\fR\fB)\fR" 4
- .IX Item "sc_threshold (scenecut)"
- Sets the threshold for the scene change detection.
- .IP "\fBtrellis (\fR\fItrellis\fR\fB)\fR" 4
- .IX Item "trellis (trellis)"
- Performs Trellis quantization to increase efficiency. Enabled by default.
- .IP "\fBnr (\fR\fInr\fR\fB)\fR" 4
- .IX Item "nr (nr)"
- .PD 0
- .IP "\fBme_range (\fR\fImerange\fR\fB)\fR" 4
- .IX Item "me_range (merange)"
- .PD
- Maximum range of the motion search in pixels.
- .IP "\fBme_method (\fR\fIme\fR\fB)\fR" 4
- .IX Item "me_method (me)"
- Set motion estimation method. Possible values in the decreasing order
- of speed:
- .RS 4
- .IP "\fBdia (\fR\fIdia\fR\fB)\fR" 4
- .IX Item "dia (dia)"
- .PD 0
- .IP "\fBepzs (\fR\fIdia\fR\fB)\fR" 4
- .IX Item "epzs (dia)"
- .PD
- Diamond search with radius 1 (fastest). \fBepzs\fR is an alias for
- \&\fBdia\fR.
- .IP "\fBhex (\fR\fIhex\fR\fB)\fR" 4
- .IX Item "hex (hex)"
- Hexagonal search with radius 2.
- .IP "\fBumh (\fR\fIumh\fR\fB)\fR" 4
- .IX Item "umh (umh)"
- Uneven multi-hexagon search.
- .IP "\fBesa (\fR\fIesa\fR\fB)\fR" 4
- .IX Item "esa (esa)"
- Exhaustive search.
- .IP "\fBtesa (\fR\fItesa\fR\fB)\fR" 4
- .IX Item "tesa (tesa)"
- Hadamard exhaustive search (slowest).
- .RE
- .RS 4
- .RE
- .IP "\fBforced-idr\fR" 4
- .IX Item "forced-idr"
- Normally, when forcing a I\-frame type, the encoder can select any type
- of I\-frame. This option forces it to choose an IDR-frame.
- .IP "\fBsubq (\fR\fIsubme\fR\fB)\fR" 4
- .IX Item "subq (subme)"
- Sub-pixel motion estimation method.
- .IP "\fBb_strategy (\fR\fIb\-adapt\fR\fB)\fR" 4
- .IX Item "b_strategy (b-adapt)"
- Adaptive B\-frame placement decision algorithm. Use only on first-pass.
- .IP "\fBkeyint_min (\fR\fImin-keyint\fR\fB)\fR" 4
- .IX Item "keyint_min (min-keyint)"
- Minimum \s-1GOP\s0 size.
- .IP "\fBcoder\fR" 4
- .IX Item "coder"
- Set entropy encoder. Possible values:
- .RS 4
- .IP "\fBac\fR" 4
- .IX Item "ac"
- Enable \s-1CABAC.\s0
- .IP "\fBvlc\fR" 4
- .IX Item "vlc"
- Enable \s-1CAVLC\s0 and disable \s-1CABAC.\s0 It generates the same effect as
- \&\fBx264\fR's \fB\-\-no\-cabac\fR option.
- .RE
- .RS 4
- .RE
- .IP "\fBcmp\fR" 4
- .IX Item "cmp"
- Set full pixel motion estimation comparison algorithm. Possible values:
- .RS 4
- .IP "\fBchroma\fR" 4
- .IX Item "chroma"
- Enable chroma in motion estimation.
- .IP "\fBsad\fR" 4
- .IX Item "sad"
- Ignore chroma in motion estimation. It generates the same effect as
- \&\fBx264\fR's \fB\-\-no\-chroma\-me\fR option.
- .RE
- .RS 4
- .RE
- .IP "\fBthreads (\fR\fIthreads\fR\fB)\fR" 4
- .IX Item "threads (threads)"
- Number of encoding threads.
- .IP "\fBthread_type\fR" 4
- .IX Item "thread_type"
- Set multithreading technique. Possible values:
- .RS 4
- .IP "\fBslice\fR" 4
- .IX Item "slice"
- Slice-based multithreading. It generates the same effect as
- \&\fBx264\fR's \fB\-\-sliced\-threads\fR option.
- .IP "\fBframe\fR" 4
- .IX Item "frame"
- Frame-based multithreading.
- .RE
- .RS 4
- .RE
- .IP "\fBflags\fR" 4
- .IX Item "flags"
- Set encoding flags. It can be used to disable closed \s-1GOP\s0 and enable
- open \s-1GOP\s0 by setting it to \f(CW\*(C`\-cgop\*(C'\fR. The result is similar to
- the behavior of \fBx264\fR's \fB\-\-open\-gop\fR option.
- .IP "\fBrc_init_occupancy (\fR\fIvbv-init\fR\fB)\fR" 4
- .IX Item "rc_init_occupancy (vbv-init)"
- .PD 0
- .IP "\fBpreset (\fR\fIpreset\fR\fB)\fR" 4
- .IX Item "preset (preset)"
- .PD
- Set the encoding preset.
- .IP "\fBtune (\fR\fItune\fR\fB)\fR" 4
- .IX Item "tune (tune)"
- Set tuning of the encoding params.
- .IP "\fBprofile (\fR\fIprofile\fR\fB)\fR" 4
- .IX Item "profile (profile)"
- Set profile restrictions.
- .IP "\fBfastfirstpass\fR" 4
- .IX Item "fastfirstpass"
- Enable fast settings when encoding first pass, when set to 1. When set
- to 0, it has the same effect of \fBx264\fR's
- \&\fB\-\-slow\-firstpass\fR option.
- .IP "\fBcrf (\fR\fIcrf\fR\fB)\fR" 4
- .IX Item "crf (crf)"
- Set the quality for constant quality mode.
- .IP "\fBcrf_max (\fR\fIcrf-max\fR\fB)\fR" 4
- .IX Item "crf_max (crf-max)"
- In \s-1CRF\s0 mode, prevents \s-1VBV\s0 from lowering quality beyond this point.
- .IP "\fBqp (\fR\fIqp\fR\fB)\fR" 4
- .IX Item "qp (qp)"
- Set constant quantization rate control method parameter.
- .IP "\fBaq-mode (\fR\fIaq-mode\fR\fB)\fR" 4
- .IX Item "aq-mode (aq-mode)"
- Set \s-1AQ\s0 method. Possible values:
- .RS 4
- .IP "\fBnone (\fR\fI0\fR\fB)\fR" 4
- .IX Item "none (0)"
- Disabled.
- .IP "\fBvariance (\fR\fI1\fR\fB)\fR" 4
- .IX Item "variance (1)"
- Variance \s-1AQ\s0 (complexity mask).
- .IP "\fBautovariance (\fR\fI2\fR\fB)\fR" 4
- .IX Item "autovariance (2)"
- Auto-variance \s-1AQ\s0 (experimental).
- .RE
- .RS 4
- .RE
- .IP "\fBaq-strength (\fR\fIaq-strength\fR\fB)\fR" 4
- .IX Item "aq-strength (aq-strength)"
- Set \s-1AQ\s0 strength, reduce blocking and blurring in flat and textured areas.
- .IP "\fBpsy\fR" 4
- .IX Item "psy"
- Use psychovisual optimizations when set to 1. When set to 0, it has the
- same effect as \fBx264\fR's \fB\-\-no\-psy\fR option.
- .IP "\fBpsy-rd (\fR\fIpsy-rd\fR\fB)\fR" 4
- .IX Item "psy-rd (psy-rd)"
- Set strength of psychovisual optimization, in
- \&\fIpsy-rd\fR:\fIpsy-trellis\fR format.
- .IP "\fBrc-lookahead (\fR\fIrc-lookahead\fR\fB)\fR" 4
- .IX Item "rc-lookahead (rc-lookahead)"
- Set number of frames to look ahead for frametype and ratecontrol.
- .IP "\fBweightb\fR" 4
- .IX Item "weightb"
- Enable weighted prediction for B\-frames when set to 1. When set to 0,
- it has the same effect as \fBx264\fR's \fB\-\-no\-weightb\fR option.
- .IP "\fBweightp (\fR\fIweightp\fR\fB)\fR" 4
- .IX Item "weightp (weightp)"
- Set weighted prediction method for P\-frames. Possible values:
- .RS 4
- .IP "\fBnone (\fR\fI0\fR\fB)\fR" 4
- .IX Item "none (0)"
- Disabled
- .IP "\fBsimple (\fR\fI1\fR\fB)\fR" 4
- .IX Item "simple (1)"
- Enable only weighted refs
- .IP "\fBsmart (\fR\fI2\fR\fB)\fR" 4
- .IX Item "smart (2)"
- Enable both weighted refs and duplicates
- .RE
- .RS 4
- .RE
- .IP "\fBssim (\fR\fIssim\fR\fB)\fR" 4
- .IX Item "ssim (ssim)"
- Enable calculation and printing \s-1SSIM\s0 stats after the encoding.
- .IP "\fBintra-refresh (\fR\fIintra-refresh\fR\fB)\fR" 4
- .IX Item "intra-refresh (intra-refresh)"
- Enable the use of Periodic Intra Refresh instead of \s-1IDR\s0 frames when set
- to 1.
- .IP "\fBavcintra-class (\fR\fIclass\fR\fB)\fR" 4
- .IX Item "avcintra-class (class)"
- Configure the encoder to generate AVC-Intra.
- Valid values are 50,100 and 200
- .IP "\fBbluray-compat (\fR\fIbluray-compat\fR\fB)\fR" 4
- .IX Item "bluray-compat (bluray-compat)"
- Configure the encoder to be compatible with the bluray standard.
- It is a shorthand for setting \*(L"bluray\-compat=1 force\-cfr=1\*(R".
- .IP "\fBb\-bias (\fR\fIb\-bias\fR\fB)\fR" 4
- .IX Item "b-bias (b-bias)"
- Set the influence on how often B\-frames are used.
- .IP "\fBb\-pyramid (\fR\fIb\-pyramid\fR\fB)\fR" 4
- .IX Item "b-pyramid (b-pyramid)"
- Set method for keeping of some B\-frames as references. Possible values:
- .RS 4
- .IP "\fBnone (\fR\fInone\fR\fB)\fR" 4
- .IX Item "none (none)"
- Disabled.
- .IP "\fBstrict (\fR\fIstrict\fR\fB)\fR" 4
- .IX Item "strict (strict)"
- Strictly hierarchical pyramid.
- .IP "\fBnormal (\fR\fInormal\fR\fB)\fR" 4
- .IX Item "normal (normal)"
- Non-strict (not Blu-ray compatible).
- .RE
- .RS 4
- .RE
- .IP "\fBmixed-refs\fR" 4
- .IX Item "mixed-refs"
- Enable the use of one reference per partition, as opposed to one
- reference per macroblock when set to 1. When set to 0, it has the
- same effect as \fBx264\fR's \fB\-\-no\-mixed\-refs\fR option.
- .IP "\fB8x8dct\fR" 4
- .IX Item "8x8dct"
- Enable adaptive spatial transform (high profile 8x8 transform)
- when set to 1. When set to 0, it has the same effect as
- \&\fBx264\fR's \fB\-\-no\-8x8dct\fR option.
- .IP "\fBfast-pskip\fR" 4
- .IX Item "fast-pskip"
- Enable early \s-1SKIP\s0 detection on P\-frames when set to 1. When set
- to 0, it has the same effect as \fBx264\fR's
- \&\fB\-\-no\-fast\-pskip\fR option.
- .IP "\fBaud (\fR\fIaud\fR\fB)\fR" 4
- .IX Item "aud (aud)"
- Enable use of access unit delimiters when set to 1.
- .IP "\fBmbtree\fR" 4
- .IX Item "mbtree"
- Enable use macroblock tree ratecontrol when set to 1. When set
- to 0, it has the same effect as \fBx264\fR's
- \&\fB\-\-no\-mbtree\fR option.
- .IP "\fBdeblock (\fR\fIdeblock\fR\fB)\fR" 4
- .IX Item "deblock (deblock)"
- Set loop filter parameters, in \fIalpha\fR:\fIbeta\fR form.
- .IP "\fBcplxblur (\fR\fIcplxblur\fR\fB)\fR" 4
- .IX Item "cplxblur (cplxblur)"
- Set fluctuations reduction in \s-1QP\s0 (before curve compression).
- .IP "\fBpartitions (\fR\fIpartitions\fR\fB)\fR" 4
- .IX Item "partitions (partitions)"
- Set partitions to consider as a comma-separated list of. Possible
- values in the list:
- .RS 4
- .IP "\fBp8x8\fR" 4
- .IX Item "p8x8"
- 8x8 P\-frame partition.
- .IP "\fBp4x4\fR" 4
- .IX Item "p4x4"
- 4x4 P\-frame partition.
- .IP "\fBb8x8\fR" 4
- .IX Item "b8x8"
- 4x4 B\-frame partition.
- .IP "\fBi8x8\fR" 4
- .IX Item "i8x8"
- 8x8 I\-frame partition.
- .IP "\fBi4x4\fR" 4
- .IX Item "i4x4"
- 4x4 I\-frame partition.
- (Enabling \fBp4x4\fR requires \fBp8x8\fR to be enabled. Enabling
- \&\fBi8x8\fR requires adaptive spatial transform (\fB8x8dct\fR
- option) to be enabled.)
- .IP "\fBnone (\fR\fInone\fR\fB)\fR" 4
- .IX Item "none (none)"
- Do not consider any partitions.
- .IP "\fBall (\fR\fIall\fR\fB)\fR" 4
- .IX Item "all (all)"
- Consider every partition.
- .RE
- .RS 4
- .RE
- .IP "\fBdirect-pred (\fR\fIdirect\fR\fB)\fR" 4
- .IX Item "direct-pred (direct)"
- Set direct \s-1MV\s0 prediction mode. Possible values:
- .RS 4
- .IP "\fBnone (\fR\fInone\fR\fB)\fR" 4
- .IX Item "none (none)"
- Disable \s-1MV\s0 prediction.
- .IP "\fBspatial (\fR\fIspatial\fR\fB)\fR" 4
- .IX Item "spatial (spatial)"
- Enable spatial predicting.
- .IP "\fBtemporal (\fR\fItemporal\fR\fB)\fR" 4
- .IX Item "temporal (temporal)"
- Enable temporal predicting.
- .IP "\fBauto (\fR\fIauto\fR\fB)\fR" 4
- .IX Item "auto (auto)"
- Automatically decided.
- .RE
- .RS 4
- .RE
- .IP "\fBslice-max-size (\fR\fIslice-max-size\fR\fB)\fR" 4
- .IX Item "slice-max-size (slice-max-size)"
- Set the limit of the size of each slice in bytes. If not specified
- but \s-1RTP\s0 payload size (\fBps\fR) is specified, that is used.
- .IP "\fBstats (\fR\fIstats\fR\fB)\fR" 4
- .IX Item "stats (stats)"
- Set the file name for multi-pass stats.
- .IP "\fBnal-hrd (\fR\fInal-hrd\fR\fB)\fR" 4
- .IX Item "nal-hrd (nal-hrd)"
- Set signal \s-1HRD\s0 information (requires \fBvbv-bufsize\fR to be set).
- Possible values:
- .RS 4
- .IP "\fBnone (\fR\fInone\fR\fB)\fR" 4
- .IX Item "none (none)"
- Disable \s-1HRD\s0 information signaling.
- .IP "\fBvbr (\fR\fIvbr\fR\fB)\fR" 4
- .IX Item "vbr (vbr)"
- Variable bit rate.
- .IP "\fBcbr (\fR\fIcbr\fR\fB)\fR" 4
- .IX Item "cbr (cbr)"
- Constant bit rate (not allowed in \s-1MP4\s0 container).
- .RE
- .RS 4
- .RE
- .IP "\fBx264opts (N.A.)\fR" 4
- .IX Item "x264opts (N.A.)"
- Set any x264 option, see \fBx264 \-\-fullhelp\fR for a list.
- .Sp
- Argument is a list of \fIkey\fR=\fIvalue\fR couples separated by
- \&\*(L":\*(R". In \fIfilter\fR and \fIpsy-rd\fR options that use \*(L":\*(R" as a separator
- themselves, use \*(L",\*(R" instead. They accept it as well since long ago but this
- is kept undocumented for some reason.
- .Sp
- For example to specify libx264 encoding options with \fBffmpeg\fR:
- .Sp
- .Vb 1
- \& ffmpeg \-i foo.mpg \-c:v libx264 \-x264opts keyint=123:min\-keyint=20 \-an out.mkv
- .Ve
- .IP "\fBa53cc\fR \fIboolean\fR" 4
- .IX Item "a53cc boolean"
- Import closed captions (which must be \s-1ATSC\s0 compatible format) into output.
- Only the mpeg2 and h264 decoders provide these. Default is 1 (on).
- .IP "\fBx264\-params (N.A.)\fR" 4
- .IX Item "x264-params (N.A.)"
- Override the x264 configuration using a :\-separated list of key=value
- parameters.
- .Sp
- This option is functionally the same as the \fBx264opts\fR, but is
- duplicated for compatibility with the Libav fork.
- .Sp
- For example to specify libx264 encoding options with \fBffmpeg\fR:
- .Sp
- .Vb 3
- \& ffmpeg \-i INPUT \-c:v libx264 \-x264\-params level=30:bframes=0:weightp=0:\e
- \& cabac=0:ref=1:vbv\-maxrate=768:vbv\-bufsize=2000:analyse=all:me=umh:\e
- \& no\-fast\-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
- .Ve
- .PP
- Encoding ffpresets for common usages are provided so they can be used with the
- general presets system (e.g. passing the \fBpre\fR option).
- .SS "libx265"
- .IX Subsection "libx265"
- x265 H.265/HEVC encoder wrapper.
- .PP
- This encoder requires the presence of the libx265 headers and library
- during configuration. You need to explicitly configure the build with
- \&\fB\-\-enable\-libx265\fR.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBb\fR" 4
- .IX Item "b"
- Sets target video bitrate.
- .IP "\fBbf\fR" 4
- .IX Item "bf"
- .PD 0
- .IP "\fBg\fR" 4
- .IX Item "g"
- .PD
- Set the \s-1GOP\s0 size.
- .IP "\fBkeyint_min\fR" 4
- .IX Item "keyint_min"
- Minimum \s-1GOP\s0 size.
- .IP "\fBrefs\fR" 4
- .IX Item "refs"
- Number of reference frames each P\-frame can use. The range is from \fI1\-16\fR.
- .IP "\fBpreset\fR" 4
- .IX Item "preset"
- Set the x265 preset.
- .IP "\fBtune\fR" 4
- .IX Item "tune"
- Set the x265 tune parameter.
- .IP "\fBprofile\fR" 4
- .IX Item "profile"
- Set profile restrictions.
- .IP "\fBcrf\fR" 4
- .IX Item "crf"
- Set the quality for constant quality mode.
- .IP "\fBqp\fR" 4
- .IX Item "qp"
- Set constant quantization rate control method parameter.
- .IP "\fBqmin\fR" 4
- .IX Item "qmin"
- Minimum quantizer scale.
- .IP "\fBqmax\fR" 4
- .IX Item "qmax"
- Maximum quantizer scale.
- .IP "\fBqdiff\fR" 4
- .IX Item "qdiff"
- Maximum difference between quantizer scales.
- .IP "\fBqblur\fR" 4
- .IX Item "qblur"
- Quantizer curve blur
- .IP "\fBqcomp\fR" 4
- .IX Item "qcomp"
- Quantizer curve compression factor
- .IP "\fBi_qfactor\fR" 4
- .IX Item "i_qfactor"
- .PD 0
- .IP "\fBb_qfactor\fR" 4
- .IX Item "b_qfactor"
- .IP "\fBforced-idr\fR" 4
- .IX Item "forced-idr"
- .PD
- Normally, when forcing a I\-frame type, the encoder can select any type
- of I\-frame. This option forces it to choose an IDR-frame.
- .IP "\fBx265\-params\fR" 4
- .IX Item "x265-params"
- Set x265 options using a list of \fIkey\fR=\fIvalue\fR couples separated
- by \*(L":\*(R". See \fBx265 \-\-help\fR for a list of options.
- .Sp
- For example to specify libx265 encoding options with \fB\-x265\-params\fR:
- .Sp
- .Vb 1
- \& ffmpeg \-i input \-c:v libx265 \-x265\-params crf=26:psy\-rd=1 output.mp4
- .Ve
- .SS "libxavs2"
- .IX Subsection "libxavs2"
- xavs2 \s-1AVS2\-P2/IEEE1857.4\s0 encoder wrapper.
- .PP
- This encoder requires the presence of the libxavs2 headers and library
- during configuration. You need to explicitly configure the build with
- \&\fB\-\-enable\-libxavs2\fR.
- .PP
- The following standard libavcodec options are used:
- .IP "\(bu" 4
- \&\fBb\fR / \fBbit_rate\fR
- .IP "\(bu" 4
- \&\fBg\fR / \fBgop_size\fR
- .IP "\(bu" 4
- \&\fBbf\fR / \fBmax_b_frames\fR
- .PP
- The encoder also has its own specific options:
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBlcu_row_threads\fR" 4
- .IX Item "lcu_row_threads"
- Set the number of parallel threads for rows from 1 to 8 (default 5).
- .IP "\fBinitial_qp\fR" 4
- .IX Item "initial_qp"
- Set the xavs2 quantization parameter from 1 to 63 (default 34). This is
- used to set the initial qp for the first frame.
- .IP "\fBqp\fR" 4
- .IX Item "qp"
- Set the xavs2 quantization parameter from 1 to 63 (default 34). This is
- used to set the qp value under constant-QP mode.
- .IP "\fBmax_qp\fR" 4
- .IX Item "max_qp"
- Set the max qp for rate control from 1 to 63 (default 55).
- .IP "\fBmin_qp\fR" 4
- .IX Item "min_qp"
- Set the min qp for rate control from 1 to 63 (default 20).
- .IP "\fBspeed_level\fR" 4
- .IX Item "speed_level"
- Set the Speed level from 0 to 9 (default 0). Higher is better but slower.
- .IP "\fBlog_level\fR" 4
- .IX Item "log_level"
- Set the log level from \-1 to 3 (default 0). \-1: none, 0: error,
- 1: warning, 2: info, 3: debug.
- .IP "\fBxavs2\-params\fR" 4
- .IX Item "xavs2-params"
- Set xavs2 options using a list of \fIkey\fR=\fIvalue\fR couples separated
- by \*(L":\*(R".
- .Sp
- For example to specify libxavs2 encoding options with \fB\-xavs2\-params\fR:
- .Sp
- .Vb 1
- \& ffmpeg \-i input \-c:v libxavs2 \-xavs2\-params RdoqLevel=0 output.avs2
- .Ve
- .SS "libxvid"
- .IX Subsection "libxvid"
- Xvid \s-1MPEG\-4\s0 Part 2 encoder wrapper.
- .PP
- This encoder requires the presence of the libxvidcore headers and library
- during configuration. You need to explicitly configure the build with
- \&\f(CW\*(C`\-\-enable\-libxvid \-\-enable\-gpl\*(C'\fR.
- .PP
- The native \f(CW\*(C`mpeg4\*(C'\fR encoder supports the \s-1MPEG\-4\s0 Part 2 format, so
- users can encode to this format without this library.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .PP
- The following options are supported by the libxvid wrapper. Some of
- the following options are listed but are not documented, and
- correspond to shared codec options. See \fBthe Codec
- Options chapter\fR for their documentation. The other shared options
- which are not listed have no effect for the libxvid encoder.
- .IP "\fBb\fR" 4
- .IX Item "b"
- .PD 0
- .IP "\fBg\fR" 4
- .IX Item "g"
- .IP "\fBqmin\fR" 4
- .IX Item "qmin"
- .IP "\fBqmax\fR" 4
- .IX Item "qmax"
- .IP "\fBmpeg_quant\fR" 4
- .IX Item "mpeg_quant"
- .IP "\fBthreads\fR" 4
- .IX Item "threads"
- .IP "\fBbf\fR" 4
- .IX Item "bf"
- .IP "\fBb_qfactor\fR" 4
- .IX Item "b_qfactor"
- .IP "\fBb_qoffset\fR" 4
- .IX Item "b_qoffset"
- .IP "\fBflags\fR" 4
- .IX Item "flags"
- .PD
- Set specific encoding flags. Possible values:
- .RS 4
- .IP "\fBmv4\fR" 4
- .IX Item "mv4"
- Use four motion vector by macroblock.
- .IP "\fBaic\fR" 4
- .IX Item "aic"
- Enable high quality \s-1AC\s0 prediction.
- .IP "\fBgray\fR" 4
- .IX Item "gray"
- Only encode grayscale.
- .IP "\fBgmc\fR" 4
- .IX Item "gmc"
- Enable the use of global motion compensation (\s-1GMC\s0).
- .IP "\fBqpel\fR" 4
- .IX Item "qpel"
- Enable quarter-pixel motion compensation.
- .IP "\fBcgop\fR" 4
- .IX Item "cgop"
- Enable closed \s-1GOP.\s0
- .IP "\fBglobal_header\fR" 4
- .IX Item "global_header"
- Place global headers in extradata instead of every keyframe.
- .RE
- .RS 4
- .RE
- .IP "\fBtrellis\fR" 4
- .IX Item "trellis"
- .PD 0
- .IP "\fBme_method\fR" 4
- .IX Item "me_method"
- .PD
- Set motion estimation method. Possible values in decreasing order of
- speed and increasing order of quality:
- .RS 4
- .IP "\fBzero\fR" 4
- .IX Item "zero"
- Use no motion estimation (default).
- .IP "\fBphods\fR" 4
- .IX Item "phods"
- .PD 0
- .IP "\fBx1\fR" 4
- .IX Item "x1"
- .IP "\fBlog\fR" 4
- .IX Item "log"
- .PD
- Enable advanced diamond zonal search for 16x16 blocks and half-pixel
- refinement for 16x16 blocks. \fBx1\fR and \fBlog\fR are aliases for
- \&\fBphods\fR.
- .IP "\fBepzs\fR" 4
- .IX Item "epzs"
- Enable all of the things described above, plus advanced diamond zonal
- search for 8x8 blocks, half-pixel refinement for 8x8 blocks, and motion
- estimation on chroma planes.
- .IP "\fBfull\fR" 4
- .IX Item "full"
- Enable all of the things described above, plus extended 16x16 and 8x8
- blocks search.
- .RE
- .RS 4
- .RE
- .IP "\fBmbd\fR" 4
- .IX Item "mbd"
- Set macroblock decision algorithm. Possible values in the increasing
- order of quality:
- .RS 4
- .IP "\fBsimple\fR" 4
- .IX Item "simple"
- Use macroblock comparing function algorithm (default).
- .IP "\fBbits\fR" 4
- .IX Item "bits"
- Enable rate distortion-based half pixel and quarter pixel refinement for
- 16x16 blocks.
- .IP "\fBrd\fR" 4
- .IX Item "rd"
- Enable all of the things described above, plus rate distortion-based
- half pixel and quarter pixel refinement for 8x8 blocks, and rate
- distortion-based search using square pattern.
- .RE
- .RS 4
- .RE
- .IP "\fBlumi_aq\fR" 4
- .IX Item "lumi_aq"
- Enable lumi masking adaptive quantization when set to 1. Default is 0
- (disabled).
- .IP "\fBvariance_aq\fR" 4
- .IX Item "variance_aq"
- Enable variance adaptive quantization when set to 1. Default is 0
- (disabled).
- .Sp
- When combined with \fBlumi_aq\fR, the resulting quality will not
- be better than any of the two specified individually. In other
- words, the resulting quality will be the worse one of the two
- effects.
- .IP "\fBssim\fR" 4
- .IX Item "ssim"
- Set structural similarity (\s-1SSIM\s0) displaying method. Possible values:
- .RS 4
- .IP "\fBoff\fR" 4
- .IX Item "off"
- Disable displaying of \s-1SSIM\s0 information.
- .IP "\fBavg\fR" 4
- .IX Item "avg"
- Output average \s-1SSIM\s0 at the end of encoding to stdout. The format of
- showing the average \s-1SSIM\s0 is:
- .Sp
- .Vb 1
- \& Average SSIM: %f
- .Ve
- .Sp
- For users who are not familiar with C, \f(CW%f\fR means a float number, or
- a decimal (e.g. 0.939232).
- .IP "\fBframe\fR" 4
- .IX Item "frame"
- Output both per-frame \s-1SSIM\s0 data during encoding and average \s-1SSIM\s0 at
- the end of encoding to stdout. The format of per-frame information
- is:
- .Sp
- .Vb 1
- \& SSIM: avg: %1.3f min: %1.3f max: %1.3f
- .Ve
- .Sp
- For users who are not familiar with C, \f(CW%1\fR.3f means a float number
- rounded to 3 digits after the dot (e.g. 0.932).
- .RE
- .RS 4
- .RE
- .IP "\fBssim_acc\fR" 4
- .IX Item "ssim_acc"
- Set \s-1SSIM\s0 accuracy. Valid options are integers within the range of
- 0\-4, while 0 gives the most accurate result and 4 computes the
- fastest.
- .SS "MediaFoundation"
- .IX Subsection "MediaFoundation"
- This provides wrappers to encoders (both audio and video) in the
- MediaFoundation framework. It can access both \s-1SW\s0 and \s-1HW\s0 encoders.
- Video encoders can take input in either of nv12 or yuv420p form
- (some encoders support both, some support only either \- in practice,
- nv12 is the safer choice, especially among \s-1HW\s0 encoders).
- .SS "mpeg2"
- .IX Subsection "mpeg2"
- \&\s-1MPEG\-2\s0 video encoder.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBprofile\fR" 4
- .IX Item "profile"
- Select the mpeg2 profile to encode:
- .RS 4
- .IP "\fB422\fR" 4
- .IX Item "422"
- .PD 0
- .IP "\fBhigh\fR" 4
- .IX Item "high"
- .IP "\fBss\fR" 4
- .IX Item "ss"
- .PD
- Spatially Scalable
- .IP "\fBsnr\fR" 4
- .IX Item "snr"
- \&\s-1SNR\s0 Scalable
- .IP "\fBmain\fR" 4
- .IX Item "main"
- .PD 0
- .IP "\fBsimple\fR" 4
- .IX Item "simple"
- .RE
- .RS 4
- .RE
- .IP "\fBlevel\fR" 4
- .IX Item "level"
- .PD
- Select the mpeg2 level to encode:
- .RS 4
- .IP "\fBhigh\fR" 4
- .IX Item "high"
- .PD 0
- .IP "\fBhigh1440\fR" 4
- .IX Item "high1440"
- .IP "\fBmain\fR" 4
- .IX Item "main"
- .IP "\fBlow\fR" 4
- .IX Item "low"
- .RE
- .RS 4
- .RE
- .IP "\fBseq_disp_ext\fR \fIinteger\fR" 4
- .IX Item "seq_disp_ext integer"
- .PD
- Specifies if the encoder should write a sequence_display_extension to the
- output.
- .RS 4
- .IP "\fB\-1\fR" 4
- .IX Item "-1"
- .PD 0
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- .PD
- Decide automatically to write it or not (this is the default) by checking if
- the data to be written is different from the default or unspecified values.
- .IP "\fB0\fR" 4
- .IX Item "0"
- .PD 0
- .IP "\fBnever\fR" 4
- .IX Item "never"
- .PD
- Never write it.
- .IP "\fB1\fR" 4
- .IX Item "1"
- .PD 0
- .IP "\fBalways\fR" 4
- .IX Item "always"
- .PD
- Always write it.
- .RE
- .RS 4
- .RE
- .IP "\fBvideo_format\fR \fIinteger\fR" 4
- .IX Item "video_format integer"
- Specifies the video_format written into the sequence display extension
- indicating the source of the video pictures. The default is \fBunspecified\fR,
- can be \fBcomponent\fR, \fBpal\fR, \fBntsc\fR, \fBsecam\fR or \fBmac\fR.
- For maximum compatibility, use \fBcomponent\fR.
- .IP "\fBa53cc\fR \fIboolean\fR" 4
- .IX Item "a53cc boolean"
- Import closed captions (which must be \s-1ATSC\s0 compatible format) into output.
- Default is 1 (on).
- .SS "png"
- .IX Subsection "png"
- \&\s-1PNG\s0 image encoder.
- .PP
- \fIPrivate options\fR
- .IX Subsection "Private options"
- .IP "\fBdpi\fR \fIinteger\fR" 4
- .IX Item "dpi integer"
- Set physical density of pixels, in dots per inch, unset by default
- .IP "\fBdpm\fR \fIinteger\fR" 4
- .IX Item "dpm integer"
- Set physical density of pixels, in dots per meter, unset by default
- .SS "ProRes"
- .IX Subsection "ProRes"
- Apple ProRes encoder.
- .PP
- FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
- The used encoder can be chosen with the \f(CW\*(C`\-vcodec\*(C'\fR option.
- .PP
- \fIPrivate Options for prores-ks\fR
- .IX Subsection "Private Options for prores-ks"
- .IP "\fBprofile\fR \fIinteger\fR" 4
- .IX Item "profile integer"
- Select the ProRes profile to encode
- .RS 4
- .IP "\fBproxy\fR" 4
- .IX Item "proxy"
- .PD 0
- .IP "\fBlt\fR" 4
- .IX Item "lt"
- .IP "\fBstandard\fR" 4
- .IX Item "standard"
- .IP "\fBhq\fR" 4
- .IX Item "hq"
- .IP "\fB4444\fR" 4
- .IX Item "4444"
- .IP "\fB4444xq\fR" 4
- .IX Item "4444xq"
- .RE
- .RS 4
- .RE
- .IP "\fBquant_mat\fR \fIinteger\fR" 4
- .IX Item "quant_mat integer"
- .PD
- Select quantization matrix.
- .RS 4
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- .PD 0
- .IP "\fBdefault\fR" 4
- .IX Item "default"
- .IP "\fBproxy\fR" 4
- .IX Item "proxy"
- .IP "\fBlt\fR" 4
- .IX Item "lt"
- .IP "\fBstandard\fR" 4
- .IX Item "standard"
- .IP "\fBhq\fR" 4
- .IX Item "hq"
- .RE
- .RS 4
- .PD
- .Sp
- If set to \fIauto\fR, the matrix matching the profile will be picked.
- If not set, the matrix providing the highest quality, \fIdefault\fR, will be
- picked.
- .RE
- .IP "\fBbits_per_mb\fR \fIinteger\fR" 4
- .IX Item "bits_per_mb integer"
- How many bits to allot for coding one macroblock. Different profiles use
- between 200 and 2400 bits per macroblock, the maximum is 8000.
- .IP "\fBmbs_per_slice\fR \fIinteger\fR" 4
- .IX Item "mbs_per_slice integer"
- Number of macroblocks in each slice (1\-8); the default value (8)
- should be good in almost all situations.
- .IP "\fBvendor\fR \fIstring\fR" 4
- .IX Item "vendor string"
- Override the 4\-byte vendor \s-1ID.
- A\s0 custom vendor \s-1ID\s0 like \fIapl0\fR would claim the stream was produced by
- the Apple encoder.
- .IP "\fBalpha_bits\fR \fIinteger\fR" 4
- .IX Item "alpha_bits integer"
- Specify number of bits for alpha component.
- Possible values are \fI0\fR, \fI8\fR and \fI16\fR.
- Use \fI0\fR to disable alpha plane coding.
- .PP
- \fISpeed considerations\fR
- .IX Subsection "Speed considerations"
- .PP
- In the default mode of operation the encoder has to honor frame constraints
- (i.e. not produce frames with size bigger than requested) while still making
- output picture as good as possible.
- A frame containing a lot of small details is harder to compress and the encoder
- would spend more time searching for appropriate quantizers for each slice.
- .PP
- Setting a higher \fBbits_per_mb\fR limit will improve the speed.
- .PP
- For the fastest encoding speed set the \fBqscale\fR parameter (4 is the
- recommended value) and do not set a size constraint.
- .SS "\s-1QSV\s0 encoders"
- .IX Subsection "QSV encoders"
- The family of Intel QuickSync Video encoders (\s-1MPEG\-2, H.264, HEVC, JPEG/MJPEG\s0 and \s-1VP9\s0)
- .PP
- The ratecontrol method is selected as follows:
- .IP "\(bu" 4
- When \fBglobal_quality\fR is specified, a quality-based mode is used.
- Specifically this means either
- .RS 4
- .IP "\-" 4
- \&\fI\s-1CQP\s0\fR \- constant quantizer scale, when the \fBqscale\fR codec flag is
- also set (the \fB\-qscale\fR ffmpeg option).
- .IP "\-" 4
- \&\fI\s-1LA_ICQ\s0\fR \- intelligent constant quality with lookahead, when the
- \&\fBlook_ahead\fR option is also set.
- .IP "\-" 4
- \&\fI\s-1ICQ\s0\fR \*(-- intelligent constant quality otherwise.
- .RE
- .RS 4
- .RE
- .IP "\(bu" 4
- Otherwise, a bitrate-based mode is used. For all of those, you should specify at
- least the desired average bitrate with the \fBb\fR option.
- .RS 4
- .IP "\-" 4
- \&\fI\s-1LA\s0\fR \- \s-1VBR\s0 with lookahead, when the \fBlook_ahead\fR option is specified.
- .IP "\-" 4
- \&\fI\s-1VCM\s0\fR \- video conferencing mode, when the \fBvcm\fR option is set.
- .IP "\-" 4
- \&\fI\s-1CBR\s0\fR \- constant bitrate, when \fBmaxrate\fR is specified and equal to
- the average bitrate.
- .IP "\-" 4
- \&\fI\s-1VBR\s0\fR \- variable bitrate, when \fBmaxrate\fR is specified, but is higher
- than the average bitrate.
- .IP "\-" 4
- \&\fI\s-1AVBR\s0\fR \- average \s-1VBR\s0 mode, when \fBmaxrate\fR is not specified. This mode
- is further configured by the \fBavbr_accuracy\fR and
- \&\fBavbr_convergence\fR options.
- .RE
- .RS 4
- .RE
- .PP
- Note that depending on your system, a different mode than the one you specified
- may be selected by the encoder. Set the verbosity level to \fIverbose\fR or
- higher to see the actual settings used by the \s-1QSV\s0 runtime.
- .PP
- Additional libavcodec global options are mapped to \s-1MSDK\s0 options as follows:
- .IP "\(bu" 4
- \&\fBg/gop_size\fR \-> \fBGopPicSize\fR
- .IP "\(bu" 4
- \&\fBbf/max_b_frames\fR+1 \-> \fBGopRefDist\fR
- .IP "\(bu" 4
- \&\fBrc_init_occupancy/rc_initial_buffer_occupancy\fR \->
- \&\fBInitialDelayInKB\fR
- .IP "\(bu" 4
- \&\fBslices\fR \-> \fBNumSlice\fR
- .IP "\(bu" 4
- \&\fBrefs\fR \-> \fBNumRefFrame\fR
- .IP "\(bu" 4
- \&\fBb_strategy/b_frame_strategy\fR \-> \fBBRefType\fR
- .IP "\(bu" 4
- \&\fBcgop/CLOSED_GOP\fR codec flag \-> \fBGopOptFlag\fR
- .IP "\(bu" 4
- For the \fI\s-1CQP\s0\fR mode, the \fBi_qfactor/i_qoffset\fR and
- \&\fBb_qfactor/b_qoffset\fR set the difference between \fI\s-1QPP\s0\fR and \fI\s-1QPI\s0\fR,
- and \fI\s-1QPP\s0\fR and \fI\s-1QPB\s0\fR respectively.
- .IP "\(bu" 4
- Setting the \fBcoder\fR option to the value \fIvlc\fR will make the H.264
- encoder use \s-1CAVLC\s0 instead of \s-1CABAC.\s0
- .SS "snow"
- .IX Subsection "snow"
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBiterative_dia_size\fR" 4
- .IX Item "iterative_dia_size"
- dia size for the iterative motion estimation
- .SS "\s-1VAAPI\s0 encoders"
- .IX Subsection "VAAPI encoders"
- Wrappers for hardware encoders accessible via \s-1VAAPI.\s0
- .PP
- These encoders only accept input in \s-1VAAPI\s0 hardware surfaces. If you have input
- in software frames, use the \fBhwupload\fR filter to upload them to the \s-1GPU.\s0
- .PP
- The following standard libavcodec options are used:
- .IP "\(bu" 4
- \&\fBg\fR / \fBgop_size\fR
- .IP "\(bu" 4
- \&\fBbf\fR / \fBmax_b_frames\fR
- .IP "\(bu" 4
- \&\fBprofile\fR
- .Sp
- If not set, this will be determined automatically from the format of the input
- frames and the profiles supported by the driver.
- .IP "\(bu" 4
- \&\fBlevel\fR
- .IP "\(bu" 4
- \&\fBb\fR / \fBbit_rate\fR
- .IP "\(bu" 4
- \&\fBmaxrate\fR / \fBrc_max_rate\fR
- .IP "\(bu" 4
- \&\fBbufsize\fR / \fBrc_buffer_size\fR
- .IP "\(bu" 4
- \&\fBrc_init_occupancy\fR / \fBrc_initial_buffer_occupancy\fR
- .IP "\(bu" 4
- \&\fBcompression_level\fR
- .Sp
- Speed / quality tradeoff: higher values are faster / worse quality.
- .IP "\(bu" 4
- \&\fBq\fR / \fBglobal_quality\fR
- .Sp
- Size / quality tradeoff: higher values are smaller / worse quality.
- .IP "\(bu" 4
- \&\fBqmin\fR
- .IP "\(bu" 4
- \&\fBqmax\fR
- .IP "\(bu" 4
- \&\fBi_qfactor\fR / \fBi_quant_factor\fR
- .IP "\(bu" 4
- \&\fBi_qoffset\fR / \fBi_quant_offset\fR
- .IP "\(bu" 4
- \&\fBb_qfactor\fR / \fBb_quant_factor\fR
- .IP "\(bu" 4
- \&\fBb_qoffset\fR / \fBb_quant_offset\fR
- .IP "\(bu" 4
- \&\fBslices\fR
- .PP
- All encoders support the following options:
- .IP "\fBlow_power\fR" 4
- .IX Item "low_power"
- Some drivers/platforms offer a second encoder for some codecs intended to use
- less power than the default encoder; setting this option will attempt to use
- that encoder. Note that it may support a reduced feature set, so some other
- options may not be available in this mode.
- .IP "\fBidr_interval\fR" 4
- .IX Item "idr_interval"
- Set the number of normal intra frames between full-refresh (\s-1IDR\s0) frames in
- open-GOP mode. The intra frames are still IRAPs, but will not include global
- headers and may have non-decodable leading pictures.
- .IP "\fBb_depth\fR" 4
- .IX Item "b_depth"
- Set the B\-frame reference depth. When set to one (the default), all B\-frames
- will refer only to P\- or I\-frames. When set to greater values multiple layers
- of B\-frames will be present, frames in each layer only referring to frames in
- higher layers.
- .IP "\fBrc_mode\fR" 4
- .IX Item "rc_mode"
- Set the rate control mode to use. A given driver may only support a subset of
- modes.
- .Sp
- Possible modes:
- .RS 4
- .IP "\fBauto\fR" 4
- .IX Item "auto"
- Choose the mode automatically based on driver support and the other options.
- This is the default.
- .IP "\fB\s-1CQP\s0\fR" 4
- .IX Item "CQP"
- Constant-quality.
- .IP "\fB\s-1CBR\s0\fR" 4
- .IX Item "CBR"
- Constant-bitrate.
- .IP "\fB\s-1VBR\s0\fR" 4
- .IX Item "VBR"
- Variable-bitrate.
- .IP "\fB\s-1ICQ\s0\fR" 4
- .IX Item "ICQ"
- Intelligent constant-quality.
- .IP "\fB\s-1QVBR\s0\fR" 4
- .IX Item "QVBR"
- Quality-defined variable-bitrate.
- .IP "\fB\s-1AVBR\s0\fR" 4
- .IX Item "AVBR"
- Average variable bitrate.
- .RE
- .RS 4
- .RE
- .PP
- Each encoder also has its own specific options:
- .IP "\fBh264_vaapi\fR" 4
- .IX Item "h264_vaapi"
- \&\fBprofile\fR sets the value of \fIprofile_idc\fR and the \fIconstraint_set*_flag\fRs.
- \&\fBlevel\fR sets the value of \fIlevel_idc\fR.
- .RS 4
- .IP "\fBcoder\fR" 4
- .IX Item "coder"
- Set entropy encoder (default is \fIcabac\fR). Possible values:
- .RS 4
- .IP "\fBac\fR" 4
- .IX Item "ac"
- .PD 0
- .IP "\fBcabac\fR" 4
- .IX Item "cabac"
- .PD
- Use \s-1CABAC.\s0
- .IP "\fBvlc\fR" 4
- .IX Item "vlc"
- .PD 0
- .IP "\fBcavlc\fR" 4
- .IX Item "cavlc"
- .PD
- Use \s-1CAVLC.\s0
- .RE
- .RS 4
- .RE
- .IP "\fBaud\fR" 4
- .IX Item "aud"
- Include access unit delimiters in the stream (not included by default).
- .IP "\fBsei\fR" 4
- .IX Item "sei"
- Set \s-1SEI\s0 message types to include.
- Some combination of the following values:
- .RS 4
- .IP "\fBidentifier\fR" 4
- .IX Item "identifier"
- Include a \fIuser_data_unregistered\fR message containing information about
- the encoder.
- .IP "\fBtiming\fR" 4
- .IX Item "timing"
- Include picture timing parameters (\fIbuffering_period\fR and
- \&\fIpic_timing\fR messages).
- .IP "\fBrecovery_point\fR" 4
- .IX Item "recovery_point"
- Include recovery points where appropriate (\fIrecovery_point\fR messages).
- .RE
- .RS 4
- .RE
- .RE
- .RS 4
- .RE
- .IP "\fBhevc_vaapi\fR" 4
- .IX Item "hevc_vaapi"
- \&\fBprofile\fR and \fBlevel\fR set the values of
- \&\fIgeneral_profile_idc\fR and \fIgeneral_level_idc\fR respectively.
- .RS 4
- .IP "\fBaud\fR" 4
- .IX Item "aud"
- Include access unit delimiters in the stream (not included by default).
- .IP "\fBtier\fR" 4
- .IX Item "tier"
- Set \fIgeneral_tier_flag\fR. This may affect the level chosen for the stream
- if it is not explicitly specified.
- .IP "\fBsei\fR" 4
- .IX Item "sei"
- Set \s-1SEI\s0 message types to include.
- Some combination of the following values:
- .RS 4
- .IP "\fBhdr\fR" 4
- .IX Item "hdr"
- Include \s-1HDR\s0 metadata if the input frames have it
- (\fImastering_display_colour_volume\fR and \fIcontent_light_level\fR
- messages).
- .RE
- .RS 4
- .RE
- .IP "\fBtiles\fR" 4
- .IX Item "tiles"
- Set the number of tiles to encode the input video with, as columns x rows.
- Larger numbers allow greater parallelism in both encoding and decoding, but
- may decrease coding efficiency.
- .RE
- .RS 4
- .RE
- .IP "\fBmjpeg_vaapi\fR" 4
- .IX Item "mjpeg_vaapi"
- Only baseline \s-1DCT\s0 encoding is supported. The encoder always uses the standard
- quantisation and huffman tables \- \fBglobal_quality\fR scales the standard
- quantisation table (range 1\-100).
- .Sp
- For \s-1YUV, 4:2:0, 4:2:2\s0 and 4:4:4 subsampling modes are supported. \s-1RGB\s0 is also
- supported, and will create an \s-1RGB JPEG.\s0
- .RS 4
- .IP "\fBjfif\fR" 4
- .IX Item "jfif"
- Include \s-1JFIF\s0 header in each frame (not included by default).
- .IP "\fBhuffman\fR" 4
- .IX Item "huffman"
- Include standard huffman tables (on by default). Turning this off will save
- a few hundred bytes in each output frame, but may lose compatibility with some
- \&\s-1JPEG\s0 decoders which don't fully handle \s-1MJPEG.\s0
- .RE
- .RS 4
- .RE
- .IP "\fBmpeg2_vaapi\fR" 4
- .IX Item "mpeg2_vaapi"
- \&\fBprofile\fR and \fBlevel\fR set the value of \fIprofile_and_level_indication\fR.
- .IP "\fBvp8_vaapi\fR" 4
- .IX Item "vp8_vaapi"
- B\-frames are not supported.
- .Sp
- \&\fBglobal_quality\fR sets the \fIq_idx\fR used for non-key frames (range 0\-127).
- .RS 4
- .IP "\fBloop_filter_level\fR" 4
- .IX Item "loop_filter_level"
- .PD 0
- .IP "\fBloop_filter_sharpness\fR" 4
- .IX Item "loop_filter_sharpness"
- .PD
- Manually set the loop filter parameters.
- .RE
- .RS 4
- .RE
- .IP "\fBvp9_vaapi\fR" 4
- .IX Item "vp9_vaapi"
- \&\fBglobal_quality\fR sets the \fIq_idx\fR used for P\-frames (range 0\-255).
- .RS 4
- .IP "\fBloop_filter_level\fR" 4
- .IX Item "loop_filter_level"
- .PD 0
- .IP "\fBloop_filter_sharpness\fR" 4
- .IX Item "loop_filter_sharpness"
- .PD
- Manually set the loop filter parameters.
- .RE
- .RS 4
- .Sp
- B\-frames are supported, but the output stream is always in encode order rather than display
- order. If B\-frames are enabled, it may be necessary to use the \fBvp9_raw_reorder\fR
- bitstream filter to modify the output stream to display frames in the correct order.
- .Sp
- Only normal frames are produced \- the \fBvp9_superframe\fR bitstream filter may be
- required to produce a stream usable with all decoders.
- .RE
- .SS "vc2"
- .IX Subsection "vc2"
- \&\s-1SMPTE VC\-2\s0 (previously \s-1BBC\s0 Dirac Pro). This codec was primarily aimed at
- professional broadcasting but since it supports yuv420, yuv422 and yuv444 at
- 8 (limited range or full range), 10 or 12 bits, this makes it suitable for
- other tasks which require low overhead and low compression (like screen
- recording).
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBb\fR" 4
- .IX Item "b"
- Sets target video bitrate. Usually that's around 1:6 of the uncompressed
- video bitrate (e.g. for 1920x1080 50fps yuv422p10 that's around 400Mbps). Higher
- values (close to the uncompressed bitrate) turn on lossless compression mode.
- .IP "\fBfield_order\fR" 4
- .IX Item "field_order"
- Enables field coding when set (e.g. to tt \- top field first) for interlaced
- inputs. Should increase compression with interlaced content as it splits the
- fields and encodes each separately.
- .IP "\fBwavelet_depth\fR" 4
- .IX Item "wavelet_depth"
- Sets the total amount of wavelet transforms to apply, between 1 and 5 (default).
- Lower values reduce compression and quality. Less capable decoders may not be
- able to handle values of \fBwavelet_depth\fR over 3.
- .IP "\fBwavelet_type\fR" 4
- .IX Item "wavelet_type"
- Sets the transform type. Currently only \fI5_3\fR (LeGall) and \fI9_7\fR
- (Deslauriers-Dubuc)
- are implemented, with 9_7 being the one with better compression and thus
- is the default.
- .IP "\fBslice_width\fR" 4
- .IX Item "slice_width"
- .PD 0
- .IP "\fBslice_height\fR" 4
- .IX Item "slice_height"
- .PD
- Sets the slice size for each slice. Larger values result in better compression.
- For compatibility with other more limited decoders use \fBslice_width\fR of
- 32 and \fBslice_height\fR of 8.
- .IP "\fBtolerance\fR" 4
- .IX Item "tolerance"
- Sets the undershoot tolerance of the rate control system in percent. This is
- to prevent an expensive search from being run.
- .IP "\fBqm\fR" 4
- .IX Item "qm"
- Sets the quantization matrix preset to use by default or when \fBwavelet_depth\fR
- is set to 5
- .RS 4
- .IP "\-" 4
- \&\fIdefault\fR
- Uses the default quantization matrix from the specifications, extended with
- values for the fifth level. This provides a good balance between keeping detail
- and omitting artifacts.
- .IP "\-" 4
- \&\fIflat\fR
- Use a completely zeroed out quantization matrix. This increases \s-1PSNR\s0 but might
- reduce perception. Use in bogus benchmarks.
- .IP "\-" 4
- \&\fIcolor\fR
- Reduces detail but attempts to preserve color at extremely low bitrates.
- .RE
- .RS 4
- .RE
- .SH "SUBTITLES ENCODERS"
- .IX Header "SUBTITLES ENCODERS"
- .SS "dvdsub"
- .IX Subsection "dvdsub"
- This codec encodes the bitmap subtitle format that is used in DVDs.
- Typically they are stored in \s-1VOBSUB\s0 file pairs (*.idx + *.sub),
- and they can also be used in Matroska files.
- .PP
- \fIOptions\fR
- .IX Subsection "Options"
- .IP "\fBpalette\fR" 4
- .IX Item "palette"
- Specify the global palette used by the bitmaps.
- .Sp
- The format for this option is a string containing 16 24\-bits hexadecimal
- numbers (without 0x prefix) separated by commas, for example \f(CW\*(C`0d00ee,
- ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
- 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b\*(C'\fR.
- .IP "\fBeven_rows_fix\fR" 4
- .IX Item "even_rows_fix"
- When set to 1, enable a work-around that makes the number of pixel rows
- even in all subtitles. This fixes a problem with some players that
- cut off the bottom row if the number is odd. The work-around just adds
- a fully transparent row if needed. The overhead is low, typically
- one byte per subtitle on average.
- .Sp
- By default, this work-around is disabled.
- .SH "SEE ALSO"
- .IX Header "SEE ALSO"
- \&\fBffmpeg\fR\|(1), \fBffplay\fR\|(1), \fBffprobe\fR\|(1), \fBlibavcodec\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.
|