ffmpeg-codecs.texi 25 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129
  1. \input texinfo @c -*- texinfo -*-
  2. @settitle FFmpeg Codecs Documentation
  3. @titlepage
  4. @center @titlefont{FFmpeg Codecs Documentation}
  5. @end titlepage
  6. @top
  7. @contents
  8. @chapter Description
  9. @c man begin DESCRIPTION
  10. This document describes the codecs (decoders and encoders) provided by
  11. the libavcodec library.
  12. @c man end DESCRIPTION
  13. @anchor{codec-options}
  14. @chapter Codec Options
  15. @c man begin CODEC OPTIONS
  16. libavcodec provides some generic global options, which can be set on
  17. all the encoders and decoders. In addition each codec may support
  18. so-called private options, which are specific for a given codec.
  19. Sometimes, a global option may only affect a specific kind of codec,
  20. and may be unsensical or ignored by another, so you need to be aware
  21. of the meaning of the specified options. Also some options are
  22. meant only for decoding or encoding.
  23. Options may be set by specifying -@var{option} @var{value} in the
  24. FFmpeg tools, or by setting the value explicitly in the
  25. @code{AVCodecContext} options or using the @file{libavutil/opt.h} API
  26. for programmatic use.
  27. The list of supported options follow:
  28. @table @option
  29. @item b @var{integer} (@emph{encoding,audio,video})
  30. Set bitrate in bits/s. Default value is 200K.
  31. @item ab @var{integer} (@emph{encoding,audio})
  32. Set audio bitrate (in bits/s). Default value is 128K.
  33. @item bt @var{integer} (@emph{encoding,video})
  34. Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate
  35. tolerance specifies how far ratecontrol is willing to deviate from the
  36. target average bitrate value. This is not related to min/max
  37. bitrate. Lowering tolerance too much has an adverse effect on quality.
  38. @item flags @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
  39. Set generic flags.
  40. Possible values:
  41. @table @samp
  42. @item mv4
  43. Use four motion vector by macroblock (mpeg4).
  44. @item qpel
  45. Use 1/4 pel motion compensation.
  46. @item loop
  47. Use loop filter.
  48. @item qscale
  49. Use fixed qscale.
  50. @item gmc
  51. Use gmc.
  52. @item mv0
  53. Always try a mb with mv=<0,0>.
  54. @item input_preserved
  55. @item pass1
  56. Use internal 2pass ratecontrol in first pass mode.
  57. @item pass2
  58. Use internal 2pass ratecontrol in second pass mode.
  59. @item gray
  60. Only decode/encode grayscale.
  61. @item emu_edge
  62. Do not draw edges.
  63. @item psnr
  64. Set error[?] variables during encoding.
  65. @item truncated
  66. @item naq
  67. Normalize adaptive quantization.
  68. @item ildct
  69. Use interlaced DCT.
  70. @item low_delay
  71. Force low delay.
  72. @item global_header
  73. Place global headers in extradata instead of every keyframe.
  74. @item bitexact
  75. Use only bitexact stuff (except (I)DCT).
  76. @item aic
  77. Apply H263 advanced intra coding / mpeg4 ac prediction.
  78. @item cbp
  79. Deprecated, use mpegvideo private options instead.
  80. @item qprd
  81. Deprecated, use mpegvideo private options instead.
  82. @item ilme
  83. Apply interlaced motion estimation.
  84. @item cgop
  85. Use closed gop.
  86. @end table
  87. @item sub_id @var{integer}
  88. Deprecated, currently unused.
  89. @item me_method @var{integer} (@emph{encoding,video})
  90. Set motion estimation method.
  91. Possible values:
  92. @table @samp
  93. @item zero
  94. zero motion estimation (fastest)
  95. @item full
  96. full motion estimation (slowest)
  97. @item epzs
  98. EPZS motion estimation (default)
  99. @item esa
  100. esa motion estimation (alias for full)
  101. @item tesa
  102. tesa motion estimation
  103. @item dia
  104. dia motion estimation (alias for epzs)
  105. @item log
  106. log motion estimation
  107. @item phods
  108. phods motion estimation
  109. @item x1
  110. X1 motion estimation
  111. @item hex
  112. hex motion estimation
  113. @item umh
  114. umh motion estimation
  115. @item iter
  116. iter motion estimation
  117. @end table
  118. @item extradata_size @var{integer}
  119. Set extradata size.
  120. @item time_base @var{rational number}
  121. Set codec time base.
  122. It is the fundamental unit of time (in seconds) in terms of which
  123. frame timestamps are represented. For fixed-fps content, timebase
  124. should be 1/framerate and timestamp increments should be identically
  125. 1.
  126. @item g @var{integer} (@emph{encoding,video})
  127. Set the group of picture size. Default value is 12.
  128. @item ar @var{integer} (@emph{decoding/encoding,audio})
  129. Set audio sampling rate (in Hz).
  130. @item ac @var{integer} (@emph{decoding/encoding,audio})
  131. Set number of audio channels.
  132. @item cutoff @var{integer} (@emph{encoding,audio})
  133. Set cutoff bandwidth.
  134. @item frame_size @var{integer} (@emph{encoding,audio})
  135. Set audio frame size.
  136. Each submitted frame except the last must contain exactly frame_size
  137. samples per channel. May be 0 when the codec has
  138. CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not
  139. restricted. It is set by some decoders to indicate constant frame
  140. size.
  141. @item frame_number @var{integer}
  142. Set the frame number.
  143. @item delay @var{integer}
  144. @item qcomp @var{float} (@emph{encoding,video})
  145. Set video quantizer scale compression (VBR). It is used as a constant
  146. in the ratecontrol equation. Recommended range for default rc_eq:
  147. 0.0-1.0.
  148. @item qblur @var{float} (@emph{encoding,video})
  149. Set video quantizer scale blur (VBR).
  150. @item qmin @var{integer} (@emph{encoding,video})
  151. Set min video quantizer scale (VBR). Must be included between -1 and
  152. 69, default value is 2.
  153. @item qmax @var{integer} (@emph{encoding,video})
  154. Set max video quantizer scale (VBR). Must be included between -1 and
  155. 1024, default value is 31.
  156. @item qdiff @var{integer} (@emph{encoding,video})
  157. Set max difference between the quantizer scale (VBR).
  158. @item bf @var{integer} (@emph{encoding,video})
  159. Set max number of B frames.
  160. @item b_qfactor @var{float} (@emph{encoding,video})
  161. Set qp factor between P and B frames.
  162. @item rc_strategy @var{integer} (@emph{encoding,video})
  163. Set ratecontrol method.
  164. @item b_strategy @var{integer} (@emph{encoding,video})
  165. Set strategy to choose between I/P/B-frames.
  166. @item ps @var{integer} (@emph{encoding,video})
  167. Set RTP payload size in bytes.
  168. @item mv_bits @var{integer}
  169. @item header_bits @var{integer}
  170. @item i_tex_bits @var{integer}
  171. @item p_tex_bits @var{integer}
  172. @item i_count @var{integer}
  173. @item p_count @var{integer}
  174. @item skip_count @var{integer}
  175. @item misc_bits @var{integer}
  176. @item frame_bits @var{integer}
  177. @item codec_tag @var{integer}
  178. @item bug @var{flags} (@emph{decoding,video})
  179. Workaround not auto detected encoder bugs.
  180. Possible values:
  181. @table @samp
  182. @item autodetect
  183. @item old_msmpeg4
  184. some old lavc generated msmpeg4v3 files (no autodetection)
  185. @item xvid_ilace
  186. Xvid interlacing bug (autodetected if fourcc==XVIX)
  187. @item ump4
  188. (autodetected if fourcc==UMP4)
  189. @item no_padding
  190. padding bug (autodetected)
  191. @item amv
  192. @item ac_vlc
  193. illegal vlc bug (autodetected per fourcc)
  194. @item qpel_chroma
  195. @item std_qpel
  196. old standard qpel (autodetected per fourcc/version)
  197. @item qpel_chroma2
  198. @item direct_blocksize
  199. direct-qpel-blocksize bug (autodetected per fourcc/version)
  200. @item edge
  201. edge padding bug (autodetected per fourcc/version)
  202. @item hpel_chroma
  203. @item dc_clip
  204. @item ms
  205. Workaround various bugs in microsoft broken decoders.
  206. @item trunc
  207. trancated frames
  208. @end table
  209. @item lelim @var{integer} (@emph{encoding,video})
  210. Set single coefficient elimination threshold for luminance (negative
  211. values also consider DC coefficient).
  212. @item celim @var{integer} (@emph{encoding,video})
  213. Set single coefficient elimination threshold for chrominance (negative
  214. values also consider dc coefficient)
  215. @item strict @var{integer} (@emph{decoding/encoding,audio,video})
  216. Specify how strictly to follow the standards.
  217. Possible values:
  218. @table @samp
  219. @item very
  220. strictly conform to a older more strict version of the spec or reference software
  221. @item strict
  222. strictly conform to all the things in the spec no matter what consequences
  223. @item normal
  224. @item unofficial
  225. allow unofficial extensions
  226. @item experimental
  227. allow non standardized experimental things
  228. @end table
  229. @item b_qoffset @var{float} (@emph{encoding,video})
  230. Set QP offset between P and B frames.
  231. @item err_detect @var{flags} (@emph{decoding,audio,video})
  232. Set error detection flags.
  233. Possible values:
  234. @table @samp
  235. @item crccheck
  236. verify embedded CRCs
  237. @item bitstream
  238. detect bitstream specification deviations
  239. @item buffer
  240. detect improper bitstream length
  241. @item explode
  242. abort decoding on minor error detection
  243. @item careful
  244. consider things that violate the spec and have not been seen in the wild as errors
  245. @item compliant
  246. consider all spec non compliancies as errors
  247. @item aggressive
  248. consider things that a sane encoder should not do as an error
  249. @end table
  250. @item has_b_frames @var{integer}
  251. @item block_align @var{integer}
  252. @item mpeg_quant @var{integer} (@emph{encoding,video})
  253. Use MPEG quantizers instead of H.263.
  254. @item qsquish @var{float} (@emph{encoding,video})
  255. How to keep quantizer between qmin and qmax (0 = clip, 1 = use
  256. differentiable function).
  257. @item rc_qmod_amp @var{float} (@emph{encoding,video})
  258. Set experimental quantizer modulation.
  259. @item rc_qmod_freq @var{integer} (@emph{encoding,video})
  260. Set experimental quantizer modulation.
  261. @item rc_override_count @var{integer}
  262. @item rc_eq @var{string} (@emph{encoding,video})
  263. Set rate control equation. When computing the expression, besides the
  264. standard functions defined in the section 'Expression Evaluation', the
  265. following functions are available: bits2qp(bits), qp2bits(qp). Also
  266. the following constants are available: iTex pTex tex mv fCode iCount
  267. mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
  268. avgTex.
  269. @item maxrate @var{integer} (@emph{encoding,audio,video})
  270. Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
  271. @item minrate @var{integer} (@emph{encoding,audio,video})
  272. Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
  273. encode. It is of little use elsewise.
  274. @item bufsize @var{integer} (@emph{encoding,audio,video})
  275. Set ratecontrol buffer size (in bits).
  276. @item rc_buf_aggressivity @var{float} (@emph{encoding,video})
  277. Currently useless.
  278. @item i_qfactor @var{float} (@emph{encoding,video})
  279. Set QP factor between P and I frames.
  280. @item i_qoffset @var{float} (@emph{encoding,video})
  281. Set QP offset between P and I frames.
  282. @item rc_init_cplx @var{float} (@emph{encoding,video})
  283. Set initial complexity for 1-pass encoding.
  284. @item dct @var{integer} (@emph{encoding,video})
  285. Set DCT algorithm.
  286. Possible values:
  287. @table @samp
  288. @item auto
  289. autoselect a good one (default)
  290. @item fastint
  291. fast integer
  292. @item int
  293. accurate integer
  294. @item mmx
  295. @item altivec
  296. @item faan
  297. floating point AAN DCT
  298. @end table
  299. @item lumi_mask @var{float} (@emph{encoding,video})
  300. Compress bright areas stronger than medium ones.
  301. @item tcplx_mask @var{float} (@emph{encoding,video})
  302. Set temporal complexity masking.
  303. @item scplx_mask @var{float} (@emph{encoding,video})
  304. Set spatial complexity masking.
  305. @item p_mask @var{float} (@emph{encoding,video})
  306. Set inter masking.
  307. @item dark_mask @var{float} (@emph{encoding,video})
  308. Compress dark areas stronger than medium ones.
  309. @item idct @var{integer} (@emph{decoding/encoding,video})
  310. Select IDCT implementation.
  311. Possible values:
  312. @table @samp
  313. @item auto
  314. @item int
  315. @item simple
  316. @item simplemmx
  317. @item libmpeg2mmx
  318. @item mmi
  319. @item arm
  320. @item altivec
  321. @item sh4
  322. @item simplearm
  323. @item simplearmv5te
  324. @item simplearmv6
  325. @item simpleneon
  326. @item simplealpha
  327. @item h264
  328. @item vp3
  329. @item ipp
  330. @item xvidmmx
  331. @item faani
  332. floating point AAN IDCT
  333. @end table
  334. @item slice_count @var{integer}
  335. @item ec @var{flags} (@emph{decoding,video})
  336. Set error concealment strategy.
  337. Possible values:
  338. @table @samp
  339. @item guess_mvs
  340. iterative motion vector (MV) search (slow)
  341. @item deblock
  342. use strong deblock filter for damaged MBs
  343. @end table
  344. @item bits_per_coded_sample @var{integer}
  345. @item pred @var{integer} (@emph{encoding,video})
  346. Set prediction method.
  347. Possible values:
  348. @table @samp
  349. @item left
  350. @item plane
  351. @item median
  352. @end table
  353. @item aspect @var{rational number} (@emph{encoding,video})
  354. Set sample aspect ratio.
  355. @item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
  356. Print specific debug info.
  357. Possible values:
  358. @table @samp
  359. @item pict
  360. picture info
  361. @item rc
  362. rate control
  363. @item bitstream
  364. @item mb_type
  365. macroblock (MB) type
  366. @item qp
  367. per-block quantization parameter (QP)
  368. @item mv
  369. motion vector
  370. @item dct_coeff
  371. @item skip
  372. @item startcode
  373. @item pts
  374. @item er
  375. error recognition
  376. @item mmco
  377. memory management control operations (H.264)
  378. @item bugs
  379. @item vis_qp
  380. visualize quantization parameter (QP), lower QP are tinted greener
  381. @item vis_mb_type
  382. visualize block types
  383. @item buffers
  384. picture buffer allocations
  385. @item thread_ops
  386. threading operations
  387. @end table
  388. @item vismv @var{integer} (@emph{decoding,video})
  389. Visualize motion vectors (MVs).
  390. Possible values:
  391. @table @samp
  392. @item pf
  393. forward predicted MVs of P-frames
  394. @item bf
  395. forward predicted MVs of B-frames
  396. @item bb
  397. backward predicted MVs of B-frames
  398. @end table
  399. @item cmp @var{integer} (@emph{encoding,video})
  400. Set full pel me compare function.
  401. Possible values:
  402. @table @samp
  403. @item sad
  404. sum of absolute differences, fast (default)
  405. @item sse
  406. sum of squared errors
  407. @item satd
  408. sum of absolute Hadamard transformed differences
  409. @item dct
  410. sum of absolute DCT transformed differences
  411. @item psnr
  412. sum of squared quantization errors (avoid, low quality)
  413. @item bit
  414. number of bits needed for the block
  415. @item rd
  416. rate distortion optimal, slow
  417. @item zero
  418. 0
  419. @item vsad
  420. sum of absolute vertical differences
  421. @item vsse
  422. sum of squared vertical differences
  423. @item nsse
  424. noise preserving sum of squared differences
  425. @item w53
  426. 5/3 wavelet, only used in snow
  427. @item w97
  428. 9/7 wavelet, only used in snow
  429. @item dctmax
  430. @item chroma
  431. @end table
  432. @item subcmp @var{integer} (@emph{encoding,video})
  433. Set sub pel me compare function.
  434. Possible values:
  435. @table @samp
  436. @item sad
  437. sum of absolute differences, fast (default)
  438. @item sse
  439. sum of squared errors
  440. @item satd
  441. sum of absolute Hadamard transformed differences
  442. @item dct
  443. sum of absolute DCT transformed differences
  444. @item psnr
  445. sum of squared quantization errors (avoid, low quality)
  446. @item bit
  447. number of bits needed for the block
  448. @item rd
  449. rate distortion optimal, slow
  450. @item zero
  451. 0
  452. @item vsad
  453. sum of absolute vertical differences
  454. @item vsse
  455. sum of squared vertical differences
  456. @item nsse
  457. noise preserving sum of squared differences
  458. @item w53
  459. 5/3 wavelet, only used in snow
  460. @item w97
  461. 9/7 wavelet, only used in snow
  462. @item dctmax
  463. @item chroma
  464. @end table
  465. @item mbcmp @var{integer} (@emph{encoding,video})
  466. Set macroblock compare function.
  467. Possible values:
  468. @table @samp
  469. @item sad
  470. sum of absolute differences, fast (default)
  471. @item sse
  472. sum of squared errors
  473. @item satd
  474. sum of absolute Hadamard transformed differences
  475. @item dct
  476. sum of absolute DCT transformed differences
  477. @item psnr
  478. sum of squared quantization errors (avoid, low quality)
  479. @item bit
  480. number of bits needed for the block
  481. @item rd
  482. rate distortion optimal, slow
  483. @item zero
  484. 0
  485. @item vsad
  486. sum of absolute vertical differences
  487. @item vsse
  488. sum of squared vertical differences
  489. @item nsse
  490. noise preserving sum of squared differences
  491. @item w53
  492. 5/3 wavelet, only used in snow
  493. @item w97
  494. 9/7 wavelet, only used in snow
  495. @item dctmax
  496. @item chroma
  497. @end table
  498. @item ildctcmp @var{integer} (@emph{encoding,video})
  499. Set interlaced dct compare function.
  500. Possible values:
  501. @table @samp
  502. @item sad
  503. sum of absolute differences, fast (default)
  504. @item sse
  505. sum of squared errors
  506. @item satd
  507. sum of absolute Hadamard transformed differences
  508. @item dct
  509. sum of absolute DCT transformed differences
  510. @item psnr
  511. sum of squared quantization errors (avoid, low quality)
  512. @item bit
  513. number of bits needed for the block
  514. @item rd
  515. rate distortion optimal, slow
  516. @item zero
  517. 0
  518. @item vsad
  519. sum of absolute vertical differences
  520. @item vsse
  521. sum of squared vertical differences
  522. @item nsse
  523. noise preserving sum of squared differences
  524. @item w53
  525. 5/3 wavelet, only used in snow
  526. @item w97
  527. 9/7 wavelet, only used in snow
  528. @item dctmax
  529. @item chroma
  530. @end table
  531. @item dia_size @var{integer} (@emph{encoding,video})
  532. Set diamond type & size for motion estimation.
  533. @item last_pred @var{integer} (@emph{encoding,video})
  534. Set amount of motion predictors from the previous frame.
  535. @item preme @var{integer} (@emph{encoding,video})
  536. Set pre motion estimation.
  537. @item precmp @var{integer} (@emph{encoding,video})
  538. Set pre motion estimation compare function.
  539. Possible values:
  540. @table @samp
  541. @item sad
  542. sum of absolute differences, fast (default)
  543. @item sse
  544. sum of squared errors
  545. @item satd
  546. sum of absolute Hadamard transformed differences
  547. @item dct
  548. sum of absolute DCT transformed differences
  549. @item psnr
  550. sum of squared quantization errors (avoid, low quality)
  551. @item bit
  552. number of bits needed for the block
  553. @item rd
  554. rate distortion optimal, slow
  555. @item zero
  556. 0
  557. @item vsad
  558. sum of absolute vertical differences
  559. @item vsse
  560. sum of squared vertical differences
  561. @item nsse
  562. noise preserving sum of squared differences
  563. @item w53
  564. 5/3 wavelet, only used in snow
  565. @item w97
  566. 9/7 wavelet, only used in snow
  567. @item dctmax
  568. @item chroma
  569. @end table
  570. @item pre_dia_size @var{integer} (@emph{encoding,video})
  571. Set diamond type & size for motion estimation pre-pass.
  572. @item subq @var{integer} (@emph{encoding,video})
  573. Set sub pel motion estimation quality.
  574. @item dtg_active_format @var{integer}
  575. @item me_range @var{integer} (@emph{encoding,video})
  576. Set limit motion vectors range (1023 for DivX player).
  577. @item ibias @var{integer} (@emph{encoding,video})
  578. Set intra quant bias.
  579. @item pbias @var{integer} (@emph{encoding,video})
  580. Set inter quant bias.
  581. @item color_table_id @var{integer}
  582. @item global_quality @var{integer} (@emph{encoding,audio,video})
  583. @item coder @var{integer} (@emph{encoding,video})
  584. Possible values:
  585. @table @samp
  586. @item vlc
  587. variable length coder / huffman coder
  588. @item ac
  589. arithmetic coder
  590. @item raw
  591. raw (no encoding)
  592. @item rle
  593. run-length coder
  594. @item deflate
  595. deflate-based coder
  596. @end table
  597. @item context @var{integer} (@emph{encoding,video})
  598. Set context model.
  599. @item slice_flags @var{integer}
  600. @item xvmc_acceleration @var{integer}
  601. @item mbd @var{integer} (@emph{encoding,video})
  602. Set macroblock decision algorithm (high quality mode).
  603. Possible values:
  604. @table @samp
  605. @item simple
  606. use mbcmp (default)
  607. @item bits
  608. use fewest bits
  609. @item rd
  610. use best rate distortion
  611. @end table
  612. @item stream_codec_tag @var{integer}
  613. @item sc_threshold @var{integer} (@emph{encoding,video})
  614. Set scene change threshold.
  615. @item lmin @var{integer} (@emph{encoding,video})
  616. Set min lagrange factor (VBR).
  617. @item lmax @var{integer} (@emph{encoding,video})
  618. Set max lagrange factor (VBR).
  619. @item nr @var{integer} (@emph{encoding,video})
  620. Set noise reduction.
  621. @item rc_init_occupancy @var{integer} (@emph{encoding,video})
  622. Set number of bits which should be loaded into the rc buffer before
  623. decoding starts.
  624. @item inter_threshold @var{integer} (@emph{encoding,video})
  625. @item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
  626. Possible values:
  627. @table @samp
  628. @item fast
  629. allow non spec compliant speedup tricks
  630. @item sgop
  631. Deprecated, use mpegvideo private options instead
  632. @item noout
  633. skip bitstream encoding
  634. @item local_header
  635. place global headers at every keyframe instead of in extradata
  636. @item chunks
  637. Frame data might be split into multiple chunks
  638. @item showall
  639. Show all frames before the first keyframe
  640. @item skiprd
  641. Deprecated, use mpegvideo private options instead
  642. @end table
  643. @item error @var{integer} (@emph{encoding,video})
  644. @item qns @var{integer} (@emph{encoding,video})
  645. Deprecated, use mpegvideo private options instead.
  646. @item threads @var{integer} (@emph{decoding/encoding,video})
  647. Possible values:
  648. @table @samp
  649. @item auto
  650. detect a good number of threads
  651. @end table
  652. @item me_threshold @var{integer} (@emph{encoding,video})
  653. Set motion estimation threshold.
  654. @item mb_threshold @var{integer} (@emph{encoding,video})
  655. Set macroblock threshold.
  656. @item dc @var{integer} (@emph{encoding,video})
  657. Set intra_dc_precision.
  658. @item nssew @var{integer} (@emph{encoding,video})
  659. Set nsse weight.
  660. @item skip_top @var{integer} (@emph{decoding,video})
  661. Set number of macroblock rows at the top which are skipped.
  662. @item skip_bottom @var{integer} (@emph{decoding,video})
  663. Set number of macroblock rows at the bottom which are skipped.
  664. @item profile @var{integer} (@emph{encoding,audio,video})
  665. Possible values:
  666. @table @samp
  667. @item unknown
  668. @item aac_main
  669. @item aac_low
  670. @item aac_ssr
  671. @item aac_ltp
  672. @item aac_he
  673. @item aac_he_v2
  674. @item aac_ld
  675. @item aac_eld
  676. @item dts
  677. @item dts_es
  678. @item dts_96_24
  679. @item dts_hd_hra
  680. @item dts_hd_ma
  681. @end table
  682. @item level @var{integer} (@emph{encoding,audio,video})
  683. Possible values:
  684. @table @samp
  685. @item unknown
  686. @end table
  687. @item lowres @var{integer} (@emph{decoding,audio,video})
  688. Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
  689. @item skip_threshold @var{integer} (@emph{encoding,video})
  690. Set frame skip threshold.
  691. @item skip_factor @var{integer} (@emph{encoding,video})
  692. Set frame skip factor.
  693. @item skip_exp @var{integer} (@emph{encoding,video})
  694. Set frame skip exponent.
  695. @item skipcmp @var{integer} (@emph{encoding,video})
  696. Set frame skip compare function.
  697. Possible values:
  698. @table @samp
  699. @item sad
  700. sum of absolute differences, fast (default)
  701. @item sse
  702. sum of squared errors
  703. @item satd
  704. sum of absolute Hadamard transformed differences
  705. @item dct
  706. sum of absolute DCT transformed differences
  707. @item psnr
  708. sum of squared quantization errors (avoid, low quality)
  709. @item bit
  710. number of bits needed for the block
  711. @item rd
  712. rate distortion optimal, slow
  713. @item zero
  714. 0
  715. @item vsad
  716. sum of absolute vertical differences
  717. @item vsse
  718. sum of squared vertical differences
  719. @item nsse
  720. noise preserving sum of squared differences
  721. @item w53
  722. 5/3 wavelet, only used in snow
  723. @item w97
  724. 9/7 wavelet, only used in snow
  725. @item dctmax
  726. @item chroma
  727. @end table
  728. @item border_mask @var{float} (@emph{encoding,video})
  729. Increase the quantizer for macroblocks close to borders.
  730. @item mblmin @var{integer} (@emph{encoding,video})
  731. Set min macroblock lagrange factor (VBR).
  732. @item mblmax @var{integer} (@emph{encoding,video})
  733. Set max macroblock lagrange factor (VBR).
  734. @item mepc @var{integer} (@emph{encoding,video})
  735. Set motion estimation bitrate penalty compensation (1.0 = 256).
  736. @item skip_loop_filter @var{integer} (@emph{decoding,video})
  737. Possible values:
  738. @table @samp
  739. @item none
  740. @item default
  741. @item noref
  742. @item bidir
  743. @item nokey
  744. @item all
  745. @end table
  746. @item skip_idct @var{integer} (@emph{decoding,video})
  747. Possible values:
  748. @table @samp
  749. @item none
  750. @item default
  751. @item noref
  752. @item bidir
  753. @item nokey
  754. @item all
  755. @end table
  756. @item skip_frame @var{integer} (@emph{decoding,video})
  757. Possible values:
  758. @table @samp
  759. @item none
  760. @item default
  761. @item noref
  762. @item bidir
  763. @item nokey
  764. @item all
  765. @end table
  766. @item bidir_refine @var{integer} (@emph{encoding,video})
  767. Refine the two motion vectors used in bidirectional macroblocks.
  768. @item brd_scale @var{integer} (@emph{encoding,video})
  769. Downscale frames for dynamic B-frame decision.
  770. @item keyint_min @var{integer} (@emph{encoding,video})
  771. Set minimum interval between IDR-frames.
  772. @item refs @var{integer} (@emph{encoding,video})
  773. Set reference frames to consider for motion compensation.
  774. @item chromaoffset @var{integer} (@emph{encoding,video})
  775. Set chroma qp offset from luma.
  776. @item trellis @var{integer} (@emph{encoding,audio,video})
  777. Set rate-distortion optimal quantization.
  778. @item sc_factor @var{integer} (@emph{encoding,video})
  779. Set value multiplied by qscale for each frame and added to
  780. scene_change_score.
  781. @item mv0_threshold @var{integer} (@emph{encoding,video})
  782. @item b_sensitivity @var{integer} (@emph{encoding,video})
  783. Adjust sensitivity of b_frame_strategy 1.
  784. @item compression_level @var{integer} (@emph{encoding,audio,video})
  785. @item min_prediction_order @var{integer} (@emph{encoding,audio})
  786. @item max_prediction_order @var{integer} (@emph{encoding,audio})
  787. @item timecode_frame_start @var{integer} (@emph{encoding,video})
  788. Set GOP timecode frame start number, in non drop frame format.
  789. @item request_channels @var{integer} (@emph{decoding,audio})
  790. Set desired number of audio channels.
  791. @item bits_per_raw_sample @var{integer}
  792. @item channel_layout @var{integer} (@emph{decoding/encoding,audio})
  793. Possible values:
  794. @table @samp
  795. @end table
  796. @item request_channel_layout @var{integer} (@emph{decoding,audio})
  797. Possible values:
  798. @table @samp
  799. @end table
  800. @item rc_max_vbv_use @var{float} (@emph{encoding,video})
  801. @item rc_min_vbv_use @var{float} (@emph{encoding,video})
  802. @item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
  803. @item color_primaries @var{integer} (@emph{decoding/encoding,video})
  804. @item color_trc @var{integer} (@emph{decoding/encoding,video})
  805. @item colorspace @var{integer} (@emph{decoding/encoding,video})
  806. @item color_range @var{integer} (@emph{decoding/encoding,video})
  807. @item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
  808. @item log_level_offset @var{integer}
  809. Set the log level offset.
  810. @item slices @var{integer} (@emph{encoding,video})
  811. Number of slices, used in parallelized encoding.
  812. @item thread_type @var{flags} (@emph{decoding/encoding,video})
  813. Select multithreading type.
  814. Possible values:
  815. @table @samp
  816. @item slice
  817. @item frame
  818. @end table
  819. @item audio_service_type @var{integer} (@emph{encoding,audio})
  820. Set audio service type.
  821. Possible values:
  822. @table @samp
  823. @item ma
  824. Main Audio Service
  825. @item ef
  826. Effects
  827. @item vi
  828. Visually Impaired
  829. @item hi
  830. Hearing Impaired
  831. @item di
  832. Dialogue
  833. @item co
  834. Commentary
  835. @item em
  836. Emergency
  837. @item vo
  838. Voice Over
  839. @item ka
  840. Karaoke
  841. @end table
  842. @item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
  843. Set sample format audio decoders should prefer. Default value is
  844. @code{none}.
  845. @item pkt_timebase @var{rational number}
  846. @end table
  847. @c man end CODEC OPTIONS
  848. @include decoders.texi
  849. @include encoders.texi
  850. @chapter See Also
  851. @ifhtml
  852. @url{ffmpeg.html,ffmpeg}, @url{ffplay.html,ffplay}, @url{ffprobe.html,ffprobe}, @url{ffserver.html,ffserver},
  853. @url{libavcodec.html,libavcodec}
  854. @end ifhtml
  855. @ifnothtml
  856. ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavcodec(3)
  857. @end ifnothtml
  858. @include authors.texi
  859. @ignore
  860. @setfilename ffmpeg-codecs
  861. @settitle FFmpeg codecs
  862. @end ignore
  863. @bye