You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1122 lines
25KB

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