codecs.texi 25 KB

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