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.

1129 lines
25KB

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