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.

1086 lines
25KB

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