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.

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