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.

1265 lines
29KB

  1. @anchor{codec-options}
  2. @chapter Codec Options
  3. @c man begin CODEC OPTIONS
  4. libavcodec provides some generic global options, which can be set on
  5. all the encoders and decoders. In addition each codec may support
  6. so-called private options, which are specific for a given codec.
  7. Sometimes, a global option may only affect a specific kind of codec,
  8. and may be nonsensical or ignored by another, so you need to be aware
  9. of the meaning of the specified options. Also some options are
  10. meant only for decoding or encoding.
  11. Options may be set by specifying -@var{option} @var{value} in the
  12. FFmpeg tools, or by setting the value explicitly in the
  13. @code{AVCodecContext} options or using the @file{libavutil/opt.h} API
  14. for programmatic use.
  15. The list of supported options follow:
  16. @table @option
  17. @item b @var{integer} (@emph{encoding,audio,video})
  18. Set bitrate in bits/s. Default value is 200K.
  19. @item ab @var{integer} (@emph{encoding,audio})
  20. Set audio bitrate (in bits/s). Default value is 128K.
  21. @item bt @var{integer} (@emph{encoding,video})
  22. Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate
  23. tolerance specifies how far ratecontrol is willing to deviate from the
  24. target average bitrate value. This is not related to min/max
  25. bitrate. Lowering tolerance too much has an adverse effect on quality.
  26. @item flags @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
  27. Set generic flags.
  28. Possible values:
  29. @table @samp
  30. @item mv4
  31. Use four motion vector by macroblock (mpeg4).
  32. @item qpel
  33. Use 1/4 pel motion compensation.
  34. @item loop
  35. Use loop filter.
  36. @item qscale
  37. Use fixed qscale.
  38. @item pass1
  39. Use internal 2pass ratecontrol in first pass mode.
  40. @item pass2
  41. Use internal 2pass ratecontrol in second pass mode.
  42. @item gray
  43. Only decode/encode grayscale.
  44. @item emu_edge
  45. Do not draw edges.
  46. @item psnr
  47. Set error[?] variables during encoding.
  48. @item truncated
  49. @item drop_changed
  50. Don't output frames whose parameters differ from first decoded frame in stream.
  51. @item ildct
  52. Use interlaced DCT.
  53. @item low_delay
  54. Force low delay.
  55. @item global_header
  56. Place global headers in extradata instead of every keyframe.
  57. @item bitexact
  58. Only write platform-, build- and time-independent data. (except (I)DCT).
  59. This ensures that file and data checksums are reproducible and match between
  60. platforms. Its primary use is for regression testing.
  61. @item aic
  62. Apply H263 advanced intra coding / mpeg4 ac prediction.
  63. @item cbp
  64. Deprecated, use mpegvideo private options instead.
  65. @item qprd
  66. Deprecated, use mpegvideo private options instead.
  67. @item ilme
  68. Apply interlaced motion estimation.
  69. @item cgop
  70. Use closed gop.
  71. @end table
  72. @item me_method @var{integer} (@emph{encoding,video})
  73. Set motion estimation method.
  74. Possible values:
  75. @table @samp
  76. @item zero
  77. zero motion estimation (fastest)
  78. @item full
  79. full motion estimation (slowest)
  80. @item epzs
  81. EPZS motion estimation (default)
  82. @item esa
  83. esa motion estimation (alias for full)
  84. @item tesa
  85. tesa motion estimation
  86. @item dia
  87. dia motion estimation (alias for epzs)
  88. @item log
  89. log motion estimation
  90. @item phods
  91. phods motion estimation
  92. @item x1
  93. X1 motion estimation
  94. @item hex
  95. hex motion estimation
  96. @item umh
  97. umh motion estimation
  98. @item iter
  99. iter motion estimation
  100. @end table
  101. @item extradata_size @var{integer}
  102. Set extradata size.
  103. @item time_base @var{rational number}
  104. Set codec time base.
  105. It is the fundamental unit of time (in seconds) in terms of which
  106. frame timestamps are represented. For fixed-fps content, timebase
  107. should be @code{1 / frame_rate} and timestamp increments should be
  108. identically 1.
  109. @item g @var{integer} (@emph{encoding,video})
  110. Set the group of picture (GOP) size. Default value is 12.
  111. @item ar @var{integer} (@emph{decoding/encoding,audio})
  112. Set audio sampling rate (in Hz).
  113. @item ac @var{integer} (@emph{decoding/encoding,audio})
  114. Set number of audio channels.
  115. @item cutoff @var{integer} (@emph{encoding,audio})
  116. Set cutoff bandwidth. (Supported only by selected encoders, see
  117. their respective documentation sections.)
  118. @item frame_size @var{integer} (@emph{encoding,audio})
  119. Set audio frame size.
  120. Each submitted frame except the last must contain exactly frame_size
  121. samples per channel. May be 0 when the codec has
  122. CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not
  123. restricted. It is set by some decoders to indicate constant frame
  124. size.
  125. @item frame_number @var{integer}
  126. Set the frame number.
  127. @item delay @var{integer}
  128. @item qcomp @var{float} (@emph{encoding,video})
  129. Set video quantizer scale compression (VBR). It is used as a constant
  130. in the ratecontrol equation. Recommended range for default rc_eq:
  131. 0.0-1.0.
  132. @item qblur @var{float} (@emph{encoding,video})
  133. Set video quantizer scale blur (VBR).
  134. @item qmin @var{integer} (@emph{encoding,video})
  135. Set min video quantizer scale (VBR). Must be included between -1 and
  136. 69, default value is 2.
  137. @item qmax @var{integer} (@emph{encoding,video})
  138. Set max video quantizer scale (VBR). Must be included between -1 and
  139. 1024, default value is 31.
  140. @item qdiff @var{integer} (@emph{encoding,video})
  141. Set max difference between the quantizer scale (VBR).
  142. @item bf @var{integer} (@emph{encoding,video})
  143. Set max number of B frames between non-B-frames.
  144. Must be an integer between -1 and 16. 0 means that B-frames are
  145. disabled. If a value of -1 is used, it will choose an automatic value
  146. depending on the encoder.
  147. Default value is 0.
  148. @item b_qfactor @var{float} (@emph{encoding,video})
  149. Set qp factor between P and B frames.
  150. @item rc_strategy @var{integer} (@emph{encoding,video})
  151. Set ratecontrol method.
  152. @item b_strategy @var{integer} (@emph{encoding,video})
  153. Set strategy to choose between I/P/B-frames.
  154. @item ps @var{integer} (@emph{encoding,video})
  155. Set RTP payload size in bytes.
  156. @item mv_bits @var{integer}
  157. @item header_bits @var{integer}
  158. @item i_tex_bits @var{integer}
  159. @item p_tex_bits @var{integer}
  160. @item i_count @var{integer}
  161. @item p_count @var{integer}
  162. @item skip_count @var{integer}
  163. @item misc_bits @var{integer}
  164. @item frame_bits @var{integer}
  165. @item codec_tag @var{integer}
  166. @item bug @var{flags} (@emph{decoding,video})
  167. Workaround not auto detected encoder bugs.
  168. Possible values:
  169. @table @samp
  170. @item autodetect
  171. @item old_msmpeg4
  172. some old lavc generated msmpeg4v3 files (no autodetection)
  173. @item xvid_ilace
  174. Xvid interlacing bug (autodetected if fourcc==XVIX)
  175. @item ump4
  176. (autodetected if fourcc==UMP4)
  177. @item no_padding
  178. padding bug (autodetected)
  179. @item amv
  180. @item ac_vlc
  181. illegal vlc bug (autodetected per fourcc)
  182. @item qpel_chroma
  183. @item std_qpel
  184. old standard qpel (autodetected per fourcc/version)
  185. @item qpel_chroma2
  186. @item direct_blocksize
  187. direct-qpel-blocksize bug (autodetected per fourcc/version)
  188. @item edge
  189. edge padding bug (autodetected per fourcc/version)
  190. @item hpel_chroma
  191. @item dc_clip
  192. @item ms
  193. Workaround various bugs in microsoft broken decoders.
  194. @item trunc
  195. trancated frames
  196. @end table
  197. @item lelim @var{integer} (@emph{encoding,video})
  198. Set single coefficient elimination threshold for luminance (negative
  199. values also consider DC coefficient).
  200. @item celim @var{integer} (@emph{encoding,video})
  201. Set single coefficient elimination threshold for chrominance (negative
  202. values also consider dc coefficient)
  203. @item strict @var{integer} (@emph{decoding/encoding,audio,video})
  204. Specify how strictly to follow the standards.
  205. Possible values:
  206. @table @samp
  207. @item very
  208. strictly conform to an older more strict version of the spec or reference software
  209. @item strict
  210. strictly conform to all the things in the spec no matter what consequences
  211. @item normal
  212. @item unofficial
  213. allow unofficial extensions
  214. @item experimental
  215. allow non standardized experimental things, experimental
  216. (unfinished/work in progress/not well tested) decoders and encoders.
  217. Note: experimental decoders can pose a security risk, do not use this for
  218. decoding untrusted input.
  219. @end table
  220. @item b_qoffset @var{float} (@emph{encoding,video})
  221. Set QP offset between P and B frames.
  222. @item err_detect @var{flags} (@emph{decoding,audio,video})
  223. Set error detection flags.
  224. Possible values:
  225. @table @samp
  226. @item crccheck
  227. verify embedded CRCs
  228. @item bitstream
  229. detect bitstream specification deviations
  230. @item buffer
  231. detect improper bitstream length
  232. @item explode
  233. abort decoding on minor error detection
  234. @item ignore_err
  235. ignore decoding errors, and continue decoding.
  236. This is useful if you want to analyze the content of a video and thus want
  237. everything to be decoded no matter what. This option will not result in a video
  238. that is pleasing to watch in case of errors.
  239. @item careful
  240. consider things that violate the spec and have not been seen in the wild as errors
  241. @item compliant
  242. consider all spec non compliancies as errors
  243. @item aggressive
  244. consider things that a sane encoder should not do as an error
  245. @end table
  246. @item has_b_frames @var{integer}
  247. @item block_align @var{integer}
  248. @item mpeg_quant @var{integer} (@emph{encoding,video})
  249. Use MPEG quantizers instead of H.263.
  250. @item qsquish @var{float} (@emph{encoding,video})
  251. How to keep quantizer between qmin and qmax (0 = clip, 1 = use
  252. differentiable function).
  253. @item rc_qmod_amp @var{float} (@emph{encoding,video})
  254. Set experimental quantizer modulation.
  255. @item rc_qmod_freq @var{integer} (@emph{encoding,video})
  256. Set experimental quantizer modulation.
  257. @item rc_override_count @var{integer}
  258. @item rc_eq @var{string} (@emph{encoding,video})
  259. Set rate control equation. When computing the expression, besides the
  260. standard functions defined in the section 'Expression Evaluation', the
  261. following functions are available: bits2qp(bits), qp2bits(qp). Also
  262. the following constants are available: iTex pTex tex mv fCode iCount
  263. mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
  264. avgTex.
  265. @item maxrate @var{integer} (@emph{encoding,audio,video})
  266. Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
  267. @item minrate @var{integer} (@emph{encoding,audio,video})
  268. Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
  269. encode. It is of little use elsewise.
  270. @item bufsize @var{integer} (@emph{encoding,audio,video})
  271. Set ratecontrol buffer size (in bits).
  272. @item rc_buf_aggressivity @var{float} (@emph{encoding,video})
  273. Currently useless.
  274. @item i_qfactor @var{float} (@emph{encoding,video})
  275. Set QP factor between P and I frames.
  276. @item i_qoffset @var{float} (@emph{encoding,video})
  277. Set QP offset between P and I frames.
  278. @item rc_init_cplx @var{float} (@emph{encoding,video})
  279. Set initial complexity for 1-pass encoding.
  280. @item dct @var{integer} (@emph{encoding,video})
  281. Set DCT algorithm.
  282. Possible values:
  283. @table @samp
  284. @item auto
  285. autoselect a good one (default)
  286. @item fastint
  287. fast integer
  288. @item int
  289. accurate integer
  290. @item mmx
  291. @item altivec
  292. @item faan
  293. floating point AAN DCT
  294. @end table
  295. @item lumi_mask @var{float} (@emph{encoding,video})
  296. Compress bright areas stronger than medium ones.
  297. @item tcplx_mask @var{float} (@emph{encoding,video})
  298. Set temporal complexity masking.
  299. @item scplx_mask @var{float} (@emph{encoding,video})
  300. Set spatial complexity masking.
  301. @item p_mask @var{float} (@emph{encoding,video})
  302. Set inter masking.
  303. @item dark_mask @var{float} (@emph{encoding,video})
  304. Compress dark areas stronger than medium ones.
  305. @item idct @var{integer} (@emph{decoding/encoding,video})
  306. Select IDCT implementation.
  307. Possible values:
  308. @table @samp
  309. @item auto
  310. @item int
  311. @item simple
  312. @item simplemmx
  313. @item simpleauto
  314. Automatically pick a IDCT compatible with the simple one
  315. @item arm
  316. @item altivec
  317. @item sh4
  318. @item simplearm
  319. @item simplearmv5te
  320. @item simplearmv6
  321. @item simpleneon
  322. @item simplealpha
  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. @item favor_inter
  338. favor predicting from the previous frame instead of the current
  339. @end table
  340. @item bits_per_coded_sample @var{integer}
  341. @item pred @var{integer} (@emph{encoding,video})
  342. Set prediction method.
  343. Possible values:
  344. @table @samp
  345. @item left
  346. @item plane
  347. @item median
  348. @end table
  349. @item aspect @var{rational number} (@emph{encoding,video})
  350. Set sample aspect ratio.
  351. @item sar @var{rational number} (@emph{encoding,video})
  352. Set sample aspect ratio. Alias to @var{aspect}.
  353. @item debug @var{flags} (@emph{decoding/encoding,audio,video,subtitles})
  354. Print specific debug info.
  355. Possible values:
  356. @table @samp
  357. @item pict
  358. picture info
  359. @item rc
  360. rate control
  361. @item bitstream
  362. @item mb_type
  363. macroblock (MB) type
  364. @item qp
  365. per-block quantization parameter (QP)
  366. @item dct_coeff
  367. @item green_metadata
  368. display complexity metadata for the upcoming frame, GoP or for a given duration.
  369. @item skip
  370. @item startcode
  371. @item er
  372. error recognition
  373. @item mmco
  374. memory management control operations (H.264)
  375. @item bugs
  376. @item buffers
  377. picture buffer allocations
  378. @item thread_ops
  379. threading operations
  380. @item nomc
  381. skip motion compensation
  382. @end table
  383. @item cmp @var{integer} (@emph{encoding,video})
  384. Set full pel me compare function.
  385. Possible values:
  386. @table @samp
  387. @item sad
  388. sum of absolute differences, fast (default)
  389. @item sse
  390. sum of squared errors
  391. @item satd
  392. sum of absolute Hadamard transformed differences
  393. @item dct
  394. sum of absolute DCT transformed differences
  395. @item psnr
  396. sum of squared quantization errors (avoid, low quality)
  397. @item bit
  398. number of bits needed for the block
  399. @item rd
  400. rate distortion optimal, slow
  401. @item zero
  402. 0
  403. @item vsad
  404. sum of absolute vertical differences
  405. @item vsse
  406. sum of squared vertical differences
  407. @item nsse
  408. noise preserving sum of squared differences
  409. @item w53
  410. 5/3 wavelet, only used in snow
  411. @item w97
  412. 9/7 wavelet, only used in snow
  413. @item dctmax
  414. @item chroma
  415. @end table
  416. @item subcmp @var{integer} (@emph{encoding,video})
  417. Set sub pel me compare function.
  418. Possible values:
  419. @table @samp
  420. @item sad
  421. sum of absolute differences, fast (default)
  422. @item sse
  423. sum of squared errors
  424. @item satd
  425. sum of absolute Hadamard transformed differences
  426. @item dct
  427. sum of absolute DCT transformed differences
  428. @item psnr
  429. sum of squared quantization errors (avoid, low quality)
  430. @item bit
  431. number of bits needed for the block
  432. @item rd
  433. rate distortion optimal, slow
  434. @item zero
  435. 0
  436. @item vsad
  437. sum of absolute vertical differences
  438. @item vsse
  439. sum of squared vertical differences
  440. @item nsse
  441. noise preserving sum of squared differences
  442. @item w53
  443. 5/3 wavelet, only used in snow
  444. @item w97
  445. 9/7 wavelet, only used in snow
  446. @item dctmax
  447. @item chroma
  448. @end table
  449. @item mbcmp @var{integer} (@emph{encoding,video})
  450. Set macroblock compare function.
  451. Possible values:
  452. @table @samp
  453. @item sad
  454. sum of absolute differences, fast (default)
  455. @item sse
  456. sum of squared errors
  457. @item satd
  458. sum of absolute Hadamard transformed differences
  459. @item dct
  460. sum of absolute DCT transformed differences
  461. @item psnr
  462. sum of squared quantization errors (avoid, low quality)
  463. @item bit
  464. number of bits needed for the block
  465. @item rd
  466. rate distortion optimal, slow
  467. @item zero
  468. 0
  469. @item vsad
  470. sum of absolute vertical differences
  471. @item vsse
  472. sum of squared vertical differences
  473. @item nsse
  474. noise preserving sum of squared differences
  475. @item w53
  476. 5/3 wavelet, only used in snow
  477. @item w97
  478. 9/7 wavelet, only used in snow
  479. @item dctmax
  480. @item chroma
  481. @end table
  482. @item ildctcmp @var{integer} (@emph{encoding,video})
  483. Set interlaced dct compare function.
  484. Possible values:
  485. @table @samp
  486. @item sad
  487. sum of absolute differences, fast (default)
  488. @item sse
  489. sum of squared errors
  490. @item satd
  491. sum of absolute Hadamard transformed differences
  492. @item dct
  493. sum of absolute DCT transformed differences
  494. @item psnr
  495. sum of squared quantization errors (avoid, low quality)
  496. @item bit
  497. number of bits needed for the block
  498. @item rd
  499. rate distortion optimal, slow
  500. @item zero
  501. 0
  502. @item vsad
  503. sum of absolute vertical differences
  504. @item vsse
  505. sum of squared vertical differences
  506. @item nsse
  507. noise preserving sum of squared differences
  508. @item w53
  509. 5/3 wavelet, only used in snow
  510. @item w97
  511. 9/7 wavelet, only used in snow
  512. @item dctmax
  513. @item chroma
  514. @end table
  515. @item dia_size @var{integer} (@emph{encoding,video})
  516. Set diamond type & size for motion estimation.
  517. @item last_pred @var{integer} (@emph{encoding,video})
  518. Set amount of motion predictors from the previous frame.
  519. @item preme @var{integer} (@emph{encoding,video})
  520. Set pre motion estimation.
  521. @item precmp @var{integer} (@emph{encoding,video})
  522. Set pre motion estimation compare function.
  523. Possible values:
  524. @table @samp
  525. @item sad
  526. sum of absolute differences, fast (default)
  527. @item sse
  528. sum of squared errors
  529. @item satd
  530. sum of absolute Hadamard transformed differences
  531. @item dct
  532. sum of absolute DCT transformed differences
  533. @item psnr
  534. sum of squared quantization errors (avoid, low quality)
  535. @item bit
  536. number of bits needed for the block
  537. @item rd
  538. rate distortion optimal, slow
  539. @item zero
  540. 0
  541. @item vsad
  542. sum of absolute vertical differences
  543. @item vsse
  544. sum of squared vertical differences
  545. @item nsse
  546. noise preserving sum of squared differences
  547. @item w53
  548. 5/3 wavelet, only used in snow
  549. @item w97
  550. 9/7 wavelet, only used in snow
  551. @item dctmax
  552. @item chroma
  553. @end table
  554. @item pre_dia_size @var{integer} (@emph{encoding,video})
  555. Set diamond type & size for motion estimation pre-pass.
  556. @item subq @var{integer} (@emph{encoding,video})
  557. Set sub pel motion estimation quality.
  558. @item dtg_active_format @var{integer}
  559. @item me_range @var{integer} (@emph{encoding,video})
  560. Set limit motion vectors range (1023 for DivX player).
  561. @item ibias @var{integer} (@emph{encoding,video})
  562. Set intra quant bias.
  563. @item pbias @var{integer} (@emph{encoding,video})
  564. Set inter quant bias.
  565. @item color_table_id @var{integer}
  566. @item global_quality @var{integer} (@emph{encoding,audio,video})
  567. @item coder @var{integer} (@emph{encoding,video})
  568. Possible values:
  569. @table @samp
  570. @item vlc
  571. variable length coder / huffman coder
  572. @item ac
  573. arithmetic coder
  574. @item raw
  575. raw (no encoding)
  576. @item rle
  577. run-length coder
  578. @item deflate
  579. deflate-based coder
  580. @end table
  581. @item context @var{integer} (@emph{encoding,video})
  582. Set context model.
  583. @item slice_flags @var{integer}
  584. @item mbd @var{integer} (@emph{encoding,video})
  585. Set macroblock decision algorithm (high quality mode).
  586. Possible values:
  587. @table @samp
  588. @item simple
  589. use mbcmp (default)
  590. @item bits
  591. use fewest bits
  592. @item rd
  593. use best rate distortion
  594. @end table
  595. @item stream_codec_tag @var{integer}
  596. @item sc_threshold @var{integer} (@emph{encoding,video})
  597. Set scene change threshold.
  598. @item lmin @var{integer} (@emph{encoding,video})
  599. Set min lagrange factor (VBR).
  600. @item lmax @var{integer} (@emph{encoding,video})
  601. Set max lagrange factor (VBR).
  602. @item nr @var{integer} (@emph{encoding,video})
  603. Set noise reduction.
  604. @item rc_init_occupancy @var{integer} (@emph{encoding,video})
  605. Set number of bits which should be loaded into the rc buffer before
  606. decoding starts.
  607. @item flags2 @var{flags} (@emph{decoding/encoding,audio,video})
  608. Possible values:
  609. @table @samp
  610. @item fast
  611. Allow non spec compliant speedup tricks.
  612. @item sgop
  613. Deprecated, use mpegvideo private options instead.
  614. @item noout
  615. Skip bitstream encoding.
  616. @item ignorecrop
  617. Ignore cropping information from sps.
  618. @item local_header
  619. Place global headers at every keyframe instead of in extradata.
  620. @item chunks
  621. Frame data might be split into multiple chunks.
  622. @item showall
  623. Show all frames before the first keyframe.
  624. @item export_mvs
  625. Export motion vectors into frame side-data (see @code{AV_FRAME_DATA_MOTION_VECTORS})
  626. for codecs that support it. See also @file{doc/examples/export_mvs.c}.
  627. @end table
  628. @item error @var{integer} (@emph{encoding,video})
  629. @item qns @var{integer} (@emph{encoding,video})
  630. Deprecated, use mpegvideo private options instead.
  631. @item threads @var{integer} (@emph{decoding/encoding,video})
  632. Set the number of threads to be used, in case the selected codec
  633. implementation supports multi-threading.
  634. Possible values:
  635. @table @samp
  636. @item auto, 0
  637. automatically select the number of threads to set
  638. @end table
  639. Default value is @samp{auto}.
  640. @item me_threshold @var{integer} (@emph{encoding,video})
  641. Set motion estimation threshold.
  642. @item mb_threshold @var{integer} (@emph{encoding,video})
  643. Set macroblock threshold.
  644. @item dc @var{integer} (@emph{encoding,video})
  645. Set intra_dc_precision.
  646. @item nssew @var{integer} (@emph{encoding,video})
  647. Set nsse weight.
  648. @item skip_top @var{integer} (@emph{decoding,video})
  649. Set number of macroblock rows at the top which are skipped.
  650. @item skip_bottom @var{integer} (@emph{decoding,video})
  651. Set number of macroblock rows at the bottom which are skipped.
  652. @item profile @var{integer} (@emph{encoding,audio,video})
  653. Possible values:
  654. @table @samp
  655. @item unknown
  656. @item aac_main
  657. @item aac_low
  658. @item aac_ssr
  659. @item aac_ltp
  660. @item aac_he
  661. @item aac_he_v2
  662. @item aac_ld
  663. @item aac_eld
  664. @item mpeg2_aac_low
  665. @item mpeg2_aac_he
  666. @item mpeg4_sp
  667. @item mpeg4_core
  668. @item mpeg4_main
  669. @item mpeg4_asp
  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. Negative values behave identical to the corresponding positive ones, except
  690. that the score is normalized.
  691. Positive values exist primarily for compatibility reasons and are not so useful.
  692. @item skipcmp @var{integer} (@emph{encoding,video})
  693. Set frame skip compare function.
  694. Possible values:
  695. @table @samp
  696. @item sad
  697. sum of absolute differences, fast (default)
  698. @item sse
  699. sum of squared errors
  700. @item satd
  701. sum of absolute Hadamard transformed differences
  702. @item dct
  703. sum of absolute DCT transformed differences
  704. @item psnr
  705. sum of squared quantization errors (avoid, low quality)
  706. @item bit
  707. number of bits needed for the block
  708. @item rd
  709. rate distortion optimal, slow
  710. @item zero
  711. 0
  712. @item vsad
  713. sum of absolute vertical differences
  714. @item vsse
  715. sum of squared vertical differences
  716. @item nsse
  717. noise preserving sum of squared differences
  718. @item w53
  719. 5/3 wavelet, only used in snow
  720. @item w97
  721. 9/7 wavelet, only used in snow
  722. @item dctmax
  723. @item chroma
  724. @end table
  725. @item border_mask @var{float} (@emph{encoding,video})
  726. Increase the quantizer for macroblocks close to borders.
  727. @item mblmin @var{integer} (@emph{encoding,video})
  728. Set min macroblock lagrange factor (VBR).
  729. @item mblmax @var{integer} (@emph{encoding,video})
  730. Set max macroblock lagrange factor (VBR).
  731. @item mepc @var{integer} (@emph{encoding,video})
  732. Set motion estimation bitrate penalty compensation (1.0 = 256).
  733. @item skip_loop_filter @var{integer} (@emph{decoding,video})
  734. @item skip_idct @var{integer} (@emph{decoding,video})
  735. @item skip_frame @var{integer} (@emph{decoding,video})
  736. Make decoder discard processing depending on the frame type selected
  737. by the option value.
  738. @option{skip_loop_filter} skips frame loop filtering, @option{skip_idct}
  739. skips frame IDCT/dequantization, @option{skip_frame} skips decoding.
  740. Possible values:
  741. @table @samp
  742. @item none
  743. Discard no frame.
  744. @item default
  745. Discard useless frames like 0-sized frames.
  746. @item noref
  747. Discard all non-reference frames.
  748. @item bidir
  749. Discard all bidirectional frames.
  750. @item nokey
  751. Discard all frames excepts keyframes.
  752. @item all
  753. Discard all frames.
  754. @end table
  755. Default value is @samp{default}.
  756. @item bidir_refine @var{integer} (@emph{encoding,video})
  757. Refine the two motion vectors used in bidirectional macroblocks.
  758. @item brd_scale @var{integer} (@emph{encoding,video})
  759. Downscale frames for dynamic B-frame decision.
  760. @item keyint_min @var{integer} (@emph{encoding,video})
  761. Set minimum interval between IDR-frames.
  762. @item refs @var{integer} (@emph{encoding,video})
  763. Set reference frames to consider for motion compensation.
  764. @item chromaoffset @var{integer} (@emph{encoding,video})
  765. Set chroma qp offset from luma.
  766. @item trellis @var{integer} (@emph{encoding,audio,video})
  767. Set rate-distortion optimal quantization.
  768. @item mv0_threshold @var{integer} (@emph{encoding,video})
  769. @item b_sensitivity @var{integer} (@emph{encoding,video})
  770. Adjust sensitivity of b_frame_strategy 1.
  771. @item compression_level @var{integer} (@emph{encoding,audio,video})
  772. @item min_prediction_order @var{integer} (@emph{encoding,audio})
  773. @item max_prediction_order @var{integer} (@emph{encoding,audio})
  774. @item timecode_frame_start @var{integer} (@emph{encoding,video})
  775. Set GOP timecode frame start number, in non drop frame format.
  776. @item request_channels @var{integer} (@emph{decoding,audio})
  777. Set desired number of audio channels.
  778. @item bits_per_raw_sample @var{integer}
  779. @item channel_layout @var{integer} (@emph{decoding/encoding,audio})
  780. Possible values:
  781. @table @samp
  782. @end table
  783. @item request_channel_layout @var{integer} (@emph{decoding,audio})
  784. Possible values:
  785. @table @samp
  786. @end table
  787. @item rc_max_vbv_use @var{float} (@emph{encoding,video})
  788. @item rc_min_vbv_use @var{float} (@emph{encoding,video})
  789. @item ticks_per_frame @var{integer} (@emph{decoding/encoding,audio,video})
  790. @item color_primaries @var{integer} (@emph{decoding/encoding,video})
  791. Possible values:
  792. @table @samp
  793. @item bt709
  794. BT.709
  795. @item bt470m
  796. BT.470 M
  797. @item bt470bg
  798. BT.470 BG
  799. @item smpte170m
  800. SMPTE 170 M
  801. @item smpte240m
  802. SMPTE 240 M
  803. @item film
  804. Film
  805. @item bt2020
  806. BT.2020
  807. @item smpte428
  808. @item smpte428_1
  809. SMPTE ST 428-1
  810. @item smpte431
  811. SMPTE 431-2
  812. @item smpte432
  813. SMPTE 432-1
  814. @item jedec-p22
  815. JEDEC P22
  816. @end table
  817. @item color_trc @var{integer} (@emph{decoding/encoding,video})
  818. Possible values:
  819. @table @samp
  820. @item bt709
  821. BT.709
  822. @item gamma22
  823. BT.470 M
  824. @item gamma28
  825. BT.470 BG
  826. @item smpte170m
  827. SMPTE 170 M
  828. @item smpte240m
  829. SMPTE 240 M
  830. @item linear
  831. Linear
  832. @item log
  833. @item log100
  834. Log
  835. @item log_sqrt
  836. @item log316
  837. Log square root
  838. @item iec61966_2_4
  839. @item iec61966-2-4
  840. IEC 61966-2-4
  841. @item bt1361
  842. @item bt1361e
  843. BT.1361
  844. @item iec61966_2_1
  845. @item iec61966-2-1
  846. IEC 61966-2-1
  847. @item bt2020_10
  848. @item bt2020_10bit
  849. BT.2020 - 10 bit
  850. @item bt2020_12
  851. @item bt2020_12bit
  852. BT.2020 - 12 bit
  853. @item smpte2084
  854. SMPTE ST 2084
  855. @item smpte428
  856. @item smpte428_1
  857. SMPTE ST 428-1
  858. @item arib-std-b67
  859. ARIB STD-B67
  860. @end table
  861. @item colorspace @var{integer} (@emph{decoding/encoding,video})
  862. Possible values:
  863. @table @samp
  864. @item rgb
  865. RGB
  866. @item bt709
  867. BT.709
  868. @item fcc
  869. FCC
  870. @item bt470bg
  871. BT.470 BG
  872. @item smpte170m
  873. SMPTE 170 M
  874. @item smpte240m
  875. SMPTE 240 M
  876. @item ycocg
  877. YCOCG
  878. @item bt2020nc
  879. @item bt2020_ncl
  880. BT.2020 NCL
  881. @item bt2020c
  882. @item bt2020_cl
  883. BT.2020 CL
  884. @item smpte2085
  885. SMPTE 2085
  886. @end table
  887. @item color_range @var{integer} (@emph{decoding/encoding,video})
  888. If used as input parameter, it serves as a hint to the decoder, which
  889. color_range the input has.
  890. Possible values:
  891. @table @samp
  892. @item tv
  893. @item mpeg
  894. MPEG (219*2^(n-8))
  895. @item pc
  896. @item jpeg
  897. JPEG (2^n-1)
  898. @end table
  899. @item chroma_sample_location @var{integer} (@emph{decoding/encoding,video})
  900. Possible values:
  901. @table @samp
  902. @item left
  903. @item center
  904. @item topleft
  905. @item top
  906. @item bottomleft
  907. @item bottom
  908. @end table
  909. @item log_level_offset @var{integer}
  910. Set the log level offset.
  911. @item slices @var{integer} (@emph{encoding,video})
  912. Number of slices, used in parallelized encoding.
  913. @item thread_type @var{flags} (@emph{decoding/encoding,video})
  914. Select which multithreading methods to use.
  915. Use of @samp{frame} will increase decoding delay by one frame per
  916. thread, so clients which cannot provide future frames should not use
  917. it.
  918. Possible values:
  919. @table @samp
  920. @item slice
  921. Decode more than one part of a single frame at once.
  922. Multithreading using slices works only when the video was encoded with
  923. slices.
  924. @item frame
  925. Decode more than one frame at once.
  926. @end table
  927. Default value is @samp{slice+frame}.
  928. @item audio_service_type @var{integer} (@emph{encoding,audio})
  929. Set audio service type.
  930. Possible values:
  931. @table @samp
  932. @item ma
  933. Main Audio Service
  934. @item ef
  935. Effects
  936. @item vi
  937. Visually Impaired
  938. @item hi
  939. Hearing Impaired
  940. @item di
  941. Dialogue
  942. @item co
  943. Commentary
  944. @item em
  945. Emergency
  946. @item vo
  947. Voice Over
  948. @item ka
  949. Karaoke
  950. @end table
  951. @item request_sample_fmt @var{sample_fmt} (@emph{decoding,audio})
  952. Set sample format audio decoders should prefer. Default value is
  953. @code{none}.
  954. @item pkt_timebase @var{rational number}
  955. @item sub_charenc @var{encoding} (@emph{decoding,subtitles})
  956. Set the input subtitles character encoding.
  957. @item field_order @var{field_order} (@emph{video})
  958. Set/override the field order of the video.
  959. Possible values:
  960. @table @samp
  961. @item progressive
  962. Progressive video
  963. @item tt
  964. Interlaced video, top field coded and displayed first
  965. @item bb
  966. Interlaced video, bottom field coded and displayed first
  967. @item tb
  968. Interlaced video, top coded first, bottom displayed first
  969. @item bt
  970. Interlaced video, bottom coded first, top displayed first
  971. @end table
  972. @item skip_alpha @var{bool} (@emph{decoding,video})
  973. Set to 1 to disable processing alpha (transparency). This works like the
  974. @samp{gray} flag in the @option{flags} option which skips chroma information
  975. instead of alpha. Default is 0.
  976. @item codec_whitelist @var{list} (@emph{input})
  977. "," separated list of allowed decoders. By default all are allowed.
  978. @item dump_separator @var{string} (@emph{input})
  979. Separator used to separate the fields printed on the command line about the
  980. Stream parameters.
  981. For example, to separate the fields with newlines and indentation:
  982. @example
  983. ffprobe -dump_separator "
  984. " -i ~/videos/matrixbench_mpeg2.mpg
  985. @end example
  986. @item max_pixels @var{integer} (@emph{decoding/encoding,video})
  987. Maximum number of pixels per image. This value can be used to avoid out of
  988. memory failures due to large images.
  989. @item apply_cropping @var{bool} (@emph{decoding,video})
  990. Enable cropping if cropping parameters are multiples of the required
  991. alignment for the left and top parameters. If the alignment is not met the
  992. cropping will be partially applied to maintain alignment.
  993. Default is 1 (enabled).
  994. Note: The required alignment depends on if @code{AV_CODEC_FLAG_UNALIGNED} is set and the
  995. CPU. @code{AV_CODEC_FLAG_UNALIGNED} cannot be changed from the command line. Also hardware
  996. decoders will not apply left/top Cropping.
  997. @end table
  998. @c man end CODEC OPTIONS
  999. @ifclear config-writeonly
  1000. @include decoders.texi
  1001. @end ifclear
  1002. @ifclear config-readonly
  1003. @include encoders.texi
  1004. @end ifclear