Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. =encoding utf8
  2.  
  3. =head1 NAME
  4.  
  5. ffmpeg-codecs - FFmpeg codecs
  6.  
  7. =head1 DESCRIPTION
  8.  
  9.  
  10. This document describes the codecs (decoders and encoders) provided by
  11. the libavcodec library.
  12.  
  13.  
  14.  
  15.  
  16. =head1 CODEC OPTIONS
  17.  
  18.  
  19. libavcodec provides some generic global options, which can be set on
  20. all the encoders and decoders. In addition each codec may support
  21. so-called private options, which are specific for a given codec.
  22.  
  23. Sometimes, a global option may only affect a specific kind of codec,
  24. and may be nonsensical or ignored by another, so you need to be aware
  25. of the meaning of the specified options. Also some options are
  26. meant only for decoding or encoding.
  27.  
  28. Options may be set by specifying -I<option> I<value> in the
  29. FFmpeg tools, or by setting the value explicitly in the
  30. C<AVCodecContext> options or using the F<libavutil/opt.h> API
  31. for programmatic use.
  32.  
  33. The list of supported options follow:
  34.  
  35.  
  36. =over 4
  37.  
  38.  
  39. =item B<b> I<integer> B<(>I<encoding,audio,video>B<)>
  40.  
  41. Set bitrate in bits/s. Default value is 200K.
  42.  
  43.  
  44. =item B<ab> I<integer> B<(>I<encoding,audio>B<)>
  45.  
  46. Set audio bitrate (in bits/s). Default value is 128K.
  47.  
  48.  
  49. =item B<bt> I<integer> B<(>I<encoding,video>B<)>
  50.  
  51. Set video bitrate tolerance (in bits/s). In 1-pass mode, bitrate
  52. tolerance specifies how far ratecontrol is willing to deviate from the
  53. target average bitrate value. This is not related to min/max
  54. bitrate. Lowering tolerance too much has an adverse effect on quality.
  55.  
  56.  
  57. =item B<flags> I<flags> B<(>I<decoding/encoding,audio,video,subtitles>B<)>
  58.  
  59. Set generic flags.
  60.  
  61. Possible values:
  62.  
  63. =over 4
  64.  
  65.  
  66. =item B<mv4>
  67.  
  68. Use four motion vector by macroblock (mpeg4).
  69.  
  70. =item B<qpel>
  71.  
  72. Use 1/4 pel motion compensation.
  73.  
  74. =item B<loop>
  75.  
  76. Use loop filter.
  77.  
  78. =item B<qscale>
  79.  
  80. Use fixed qscale.
  81.  
  82. =item B<gmc>
  83.  
  84. Use gmc.
  85.  
  86. =item B<mv0>
  87.  
  88. Always try a mb with mv=E<lt>0,0E<gt>.
  89.  
  90. =item B<input_preserved>
  91.  
  92.  
  93.  
  94. =item B<pass1>
  95.  
  96. Use internal 2pass ratecontrol in first pass mode.
  97.  
  98. =item B<pass2>
  99.  
  100. Use internal 2pass ratecontrol in second pass mode.
  101.  
  102. =item B<gray>
  103.  
  104. Only decode/encode grayscale.
  105.  
  106. =item B<emu_edge>
  107.  
  108. Do not draw edges.
  109.  
  110. =item B<psnr>
  111.  
  112. Set error[?] variables during encoding.
  113.  
  114. =item B<truncated>
  115.  
  116.  
  117.  
  118. =item B<naq>
  119.  
  120. Normalize adaptive quantization.
  121.  
  122. =item B<ildct>
  123.  
  124. Use interlaced DCT.
  125.  
  126. =item B<low_delay>
  127.  
  128. Force low delay.
  129.  
  130. =item B<global_header>
  131.  
  132. Place global headers in extradata instead of every keyframe.
  133.  
  134. =item B<bitexact>
  135.  
  136. Only write platform-, build- and time-independent data. (except (I)DCT).
  137. This ensures that file and data checksums are reproducible and match between
  138. platforms. Its primary use is for regression testing.
  139.  
  140. =item B<aic>
  141.  
  142. Apply H263 advanced intra coding / mpeg4 ac prediction.
  143.  
  144. =item B<cbp>
  145.  
  146. Deprecated, use mpegvideo private options instead.
  147.  
  148. =item B<qprd>
  149.  
  150. Deprecated, use mpegvideo private options instead.
  151.  
  152. =item B<ilme>
  153.  
  154. Apply interlaced motion estimation.
  155.  
  156. =item B<cgop>
  157.  
  158. Use closed gop.
  159.  
  160. =back
  161.  
  162.  
  163.  
  164. =item B<me_method> I<integer> B<(>I<encoding,video>B<)>
  165.  
  166. Set motion estimation method.
  167.  
  168. Possible values:
  169.  
  170. =over 4
  171.  
  172.  
  173. =item B<zero>
  174.  
  175. zero motion estimation (fastest)
  176.  
  177. =item B<full>
  178.  
  179. full motion estimation (slowest)
  180.  
  181. =item B<epzs>
  182.  
  183. EPZS motion estimation (default)
  184.  
  185. =item B<esa>
  186.  
  187. esa motion estimation (alias for full)
  188.  
  189. =item B<tesa>
  190.  
  191. tesa motion estimation
  192.  
  193. =item B<dia>
  194.  
  195. dia motion estimation (alias for epzs)
  196.  
  197. =item B<log>
  198.  
  199. log motion estimation
  200.  
  201. =item B<phods>
  202.  
  203. phods motion estimation
  204.  
  205. =item B<x1>
  206.  
  207. X1 motion estimation
  208.  
  209. =item B<hex>
  210.  
  211. hex motion estimation
  212.  
  213. =item B<umh>
  214.  
  215. umh motion estimation
  216.  
  217. =item B<iter>
  218.  
  219. iter motion estimation
  220.  
  221. =back
  222.  
  223.  
  224.  
  225. =item B<extradata_size> I<integer>
  226.  
  227. Set extradata size.
  228.  
  229.  
  230. =item B<time_base> I<rational number>
  231.  
  232. Set codec time base.
  233.  
  234. It is the fundamental unit of time (in seconds) in terms of which
  235. frame timestamps are represented. For fixed-fps content, timebase
  236. should be C<1 / frame_rate> and timestamp increments should be
  237. identically 1.
  238.  
  239.  
  240. =item B<g> I<integer> B<(>I<encoding,video>B<)>
  241.  
  242. Set the group of picture size. Default value is 12.
  243.  
  244.  
  245. =item B<ar> I<integer> B<(>I<decoding/encoding,audio>B<)>
  246.  
  247. Set audio sampling rate (in Hz).
  248.  
  249.  
  250. =item B<ac> I<integer> B<(>I<decoding/encoding,audio>B<)>
  251.  
  252. Set number of audio channels.
  253.  
  254.  
  255. =item B<cutoff> I<integer> B<(>I<encoding,audio>B<)>
  256.  
  257. Set cutoff bandwidth.
  258.  
  259.  
  260. =item B<frame_size> I<integer> B<(>I<encoding,audio>B<)>
  261.  
  262. Set audio frame size.
  263.  
  264. Each submitted frame except the last must contain exactly frame_size
  265. samples per channel. May be 0 when the codec has
  266. CODEC_CAP_VARIABLE_FRAME_SIZE set, in that case the frame size is not
  267. restricted. It is set by some decoders to indicate constant frame
  268. size.
  269.  
  270.  
  271. =item B<frame_number> I<integer>
  272.  
  273. Set the frame number.
  274.  
  275.  
  276. =item B<delay> I<integer>
  277.  
  278.  
  279.  
  280. =item B<qcomp> I<float> B<(>I<encoding,video>B<)>
  281.  
  282. Set video quantizer scale compression (VBR). It is used as a constant
  283. in the ratecontrol equation. Recommended range for default rc_eq:
  284. 0.0-1.0.
  285.  
  286.  
  287. =item B<qblur> I<float> B<(>I<encoding,video>B<)>
  288.  
  289. Set video quantizer scale blur (VBR).
  290.  
  291.  
  292. =item B<qmin> I<integer> B<(>I<encoding,video>B<)>
  293.  
  294. Set min video quantizer scale (VBR). Must be included between -1 and
  295. 69, default value is 2.
  296.  
  297.  
  298. =item B<qmax> I<integer> B<(>I<encoding,video>B<)>
  299.  
  300. Set max video quantizer scale (VBR). Must be included between -1 and
  301. 1024, default value is 31.
  302.  
  303.  
  304. =item B<qdiff> I<integer> B<(>I<encoding,video>B<)>
  305.  
  306. Set max difference between the quantizer scale (VBR).
  307.  
  308.  
  309. =item B<bf> I<integer> B<(>I<encoding,video>B<)>
  310.  
  311. Set max number of B frames between non-B-frames.
  312.  
  313. Must be an integer between -1 and 16. 0 means that B-frames are
  314. disabled. If a value of -1 is used, it will choose an automatic value
  315. depending on the encoder.
  316.  
  317. Default value is 0.
  318.  
  319.  
  320. =item B<b_qfactor> I<float> B<(>I<encoding,video>B<)>
  321.  
  322. Set qp factor between P and B frames.
  323.  
  324.  
  325. =item B<rc_strategy> I<integer> B<(>I<encoding,video>B<)>
  326.  
  327. Set ratecontrol method.
  328.  
  329.  
  330. =item B<b_strategy> I<integer> B<(>I<encoding,video>B<)>
  331.  
  332. Set strategy to choose between I/P/B-frames.
  333.  
  334.  
  335. =item B<ps> I<integer> B<(>I<encoding,video>B<)>
  336.  
  337. Set RTP payload size in bytes.
  338.  
  339.  
  340. =item B<mv_bits> I<integer>
  341.  
  342.  
  343. =item B<header_bits> I<integer>
  344.  
  345.  
  346. =item B<i_tex_bits> I<integer>
  347.  
  348.  
  349. =item B<p_tex_bits> I<integer>
  350.  
  351.  
  352. =item B<i_count> I<integer>
  353.  
  354.  
  355. =item B<p_count> I<integer>
  356.  
  357.  
  358. =item B<skip_count> I<integer>
  359.  
  360.  
  361. =item B<misc_bits> I<integer>
  362.  
  363.  
  364. =item B<frame_bits> I<integer>
  365.  
  366.  
  367. =item B<codec_tag> I<integer>
  368.  
  369.  
  370. =item B<bug> I<flags> B<(>I<decoding,video>B<)>
  371.  
  372. Workaround not auto detected encoder bugs.
  373.  
  374. Possible values:
  375.  
  376. =over 4
  377.  
  378.  
  379. =item B<autodetect>
  380.  
  381.  
  382.  
  383. =item B<old_msmpeg4>
  384.  
  385. some old lavc generated msmpeg4v3 files (no autodetection)
  386.  
  387. =item B<xvid_ilace>
  388.  
  389. Xvid interlacing bug (autodetected if fourcc==XVIX)
  390.  
  391. =item B<ump4>
  392.  
  393. (autodetected if fourcc==UMP4)
  394.  
  395. =item B<no_padding>
  396.  
  397. padding bug (autodetected)
  398.  
  399. =item B<amv>
  400.  
  401.  
  402.  
  403. =item B<ac_vlc>
  404.  
  405. illegal vlc bug (autodetected per fourcc)
  406.  
  407. =item B<qpel_chroma>
  408.  
  409.  
  410.  
  411. =item B<std_qpel>
  412.  
  413. old standard qpel (autodetected per fourcc/version)
  414.  
  415. =item B<qpel_chroma2>
  416.  
  417.  
  418.  
  419. =item B<direct_blocksize>
  420.  
  421. direct-qpel-blocksize bug (autodetected per fourcc/version)
  422.  
  423. =item B<edge>
  424.  
  425. edge padding bug (autodetected per fourcc/version)
  426.  
  427. =item B<hpel_chroma>
  428.  
  429.  
  430.  
  431. =item B<dc_clip>
  432.  
  433.  
  434.  
  435. =item B<ms>
  436.  
  437. Workaround various bugs in microsoft broken decoders.
  438.  
  439. =item B<trunc>
  440.  
  441. trancated frames
  442.  
  443. =back
  444.  
  445.  
  446.  
  447. =item B<lelim> I<integer> B<(>I<encoding,video>B<)>
  448.  
  449. Set single coefficient elimination threshold for luminance (negative
  450. values also consider DC coefficient).
  451.  
  452.  
  453. =item B<celim> I<integer> B<(>I<encoding,video>B<)>
  454.  
  455. Set single coefficient elimination threshold for chrominance (negative
  456. values also consider dc coefficient)
  457.  
  458.  
  459. =item B<strict> I<integer> B<(>I<decoding/encoding,audio,video>B<)>
  460.  
  461. Specify how strictly to follow the standards.
  462.  
  463. Possible values:
  464.  
  465. =over 4
  466.  
  467.  
  468. =item B<very>
  469.  
  470. strictly conform to a older more strict version of the spec or reference software
  471.  
  472. =item B<strict>
  473.  
  474. strictly conform to all the things in the spec no matter what consequences
  475.  
  476. =item B<normal>
  477.  
  478.  
  479.  
  480. =item B<unofficial>
  481.  
  482. allow unofficial extensions
  483.  
  484. =item B<experimental>
  485.  
  486. allow non standardized experimental things, experimental
  487. (unfinished/work in progress/not well tested) decoders and encoders.
  488. Note: experimental decoders can pose a security risk, do not use this for
  489. decoding untrusted input.
  490.  
  491. =back
  492.  
  493.  
  494.  
  495. =item B<b_qoffset> I<float> B<(>I<encoding,video>B<)>
  496.  
  497. Set QP offset between P and B frames.
  498.  
  499.  
  500. =item B<err_detect> I<flags> B<(>I<decoding,audio,video>B<)>
  501.  
  502. Set error detection flags.
  503.  
  504. Possible values:
  505.  
  506. =over 4
  507.  
  508.  
  509. =item B<crccheck>
  510.  
  511. verify embedded CRCs
  512.  
  513. =item B<bitstream>
  514.  
  515. detect bitstream specification deviations
  516.  
  517. =item B<buffer>
  518.  
  519. detect improper bitstream length
  520.  
  521. =item B<explode>
  522.  
  523. abort decoding on minor error detection
  524.  
  525. =item B<ignore_err>
  526.  
  527. ignore decoding errors, and continue decoding.
  528. This is useful if you want to analyze the content of a video and thus want
  529. everything to be decoded no matter what. This option will not result in a video
  530. that is pleasing to watch in case of errors.
  531.  
  532. =item B<careful>
  533.  
  534. consider things that violate the spec and have not been seen in the wild as errors
  535.  
  536. =item B<compliant>
  537.  
  538. consider all spec non compliancies as errors
  539.  
  540. =item B<aggressive>
  541.  
  542. consider things that a sane encoder should not do as an error
  543.  
  544. =back
  545.  
  546.  
  547.  
  548. =item B<has_b_frames> I<integer>
  549.  
  550.  
  551.  
  552. =item B<block_align> I<integer>
  553.  
  554.  
  555.  
  556. =item B<mpeg_quant> I<integer> B<(>I<encoding,video>B<)>
  557.  
  558. Use MPEG quantizers instead of H.263.
  559.  
  560.  
  561. =item B<qsquish> I<float> B<(>I<encoding,video>B<)>
  562.  
  563. How to keep quantizer between qmin and qmax (0 = clip, 1 = use
  564. differentiable function).
  565.  
  566.  
  567. =item B<rc_qmod_amp> I<float> B<(>I<encoding,video>B<)>
  568.  
  569. Set experimental quantizer modulation.
  570.  
  571.  
  572. =item B<rc_qmod_freq> I<integer> B<(>I<encoding,video>B<)>
  573.  
  574. Set experimental quantizer modulation.
  575.  
  576.  
  577. =item B<rc_override_count> I<integer>
  578.  
  579.  
  580.  
  581. =item B<rc_eq> I<string> B<(>I<encoding,video>B<)>
  582.  
  583. Set rate control equation. When computing the expression, besides the
  584. standard functions defined in the section 'Expression Evaluation', the
  585. following functions are available: bits2qp(bits), qp2bits(qp). Also
  586. the following constants are available: iTex pTex tex mv fCode iCount
  587. mcVar var isI isP isB avgQP qComp avgIITex avgPITex avgPPTex avgBPTex
  588. avgTex.
  589.  
  590.  
  591. =item B<maxrate> I<integer> B<(>I<encoding,audio,video>B<)>
  592.  
  593. Set max bitrate tolerance (in bits/s). Requires bufsize to be set.
  594.  
  595.  
  596. =item B<minrate> I<integer> B<(>I<encoding,audio,video>B<)>
  597.  
  598. Set min bitrate tolerance (in bits/s). Most useful in setting up a CBR
  599. encode. It is of little use elsewise.
  600.  
  601.  
  602. =item B<bufsize> I<integer> B<(>I<encoding,audio,video>B<)>
  603.  
  604. Set ratecontrol buffer size (in bits).
  605.  
  606.  
  607. =item B<rc_buf_aggressivity> I<float> B<(>I<encoding,video>B<)>
  608.  
  609. Currently useless.
  610.  
  611.  
  612. =item B<i_qfactor> I<float> B<(>I<encoding,video>B<)>
  613.  
  614. Set QP factor between P and I frames.
  615.  
  616.  
  617. =item B<i_qoffset> I<float> B<(>I<encoding,video>B<)>
  618.  
  619. Set QP offset between P and I frames.
  620.  
  621.  
  622. =item B<rc_init_cplx> I<float> B<(>I<encoding,video>B<)>
  623.  
  624. Set initial complexity for 1-pass encoding.
  625.  
  626.  
  627. =item B<dct> I<integer> B<(>I<encoding,video>B<)>
  628.  
  629. Set DCT algorithm.
  630.  
  631. Possible values:
  632.  
  633. =over 4
  634.  
  635.  
  636. =item B<auto>
  637.  
  638. autoselect a good one (default)
  639.  
  640. =item B<fastint>
  641.  
  642. fast integer
  643.  
  644. =item B<int>
  645.  
  646. accurate integer
  647.  
  648. =item B<mmx>
  649.  
  650.  
  651.  
  652. =item B<altivec>
  653.  
  654.  
  655.  
  656. =item B<faan>
  657.  
  658. floating point AAN DCT
  659.  
  660. =back
  661.  
  662.  
  663.  
  664. =item B<lumi_mask> I<float> B<(>I<encoding,video>B<)>
  665.  
  666. Compress bright areas stronger than medium ones.
  667.  
  668.  
  669. =item B<tcplx_mask> I<float> B<(>I<encoding,video>B<)>
  670.  
  671. Set temporal complexity masking.
  672.  
  673.  
  674. =item B<scplx_mask> I<float> B<(>I<encoding,video>B<)>
  675.  
  676. Set spatial complexity masking.
  677.  
  678.  
  679. =item B<p_mask> I<float> B<(>I<encoding,video>B<)>
  680.  
  681. Set inter masking.
  682.  
  683.  
  684. =item B<dark_mask> I<float> B<(>I<encoding,video>B<)>
  685.  
  686. Compress dark areas stronger than medium ones.
  687.  
  688.  
  689. =item B<idct> I<integer> B<(>I<decoding/encoding,video>B<)>
  690.  
  691. Select IDCT implementation.
  692.  
  693. Possible values:
  694.  
  695. =over 4
  696.  
  697.  
  698. =item B<auto>
  699.  
  700.  
  701.  
  702. =item B<int>
  703.  
  704.  
  705.  
  706. =item B<simple>
  707.  
  708.  
  709.  
  710. =item B<simplemmx>
  711.  
  712.  
  713.  
  714. =item B<simpleauto>
  715.  
  716. Automatically pick a IDCT compatible with the simple one
  717.  
  718.  
  719. =item B<arm>
  720.  
  721.  
  722.  
  723. =item B<altivec>
  724.  
  725.  
  726.  
  727. =item B<sh4>
  728.  
  729.  
  730.  
  731. =item B<simplearm>
  732.  
  733.  
  734.  
  735. =item B<simplearmv5te>
  736.  
  737.  
  738.  
  739. =item B<simplearmv6>
  740.  
  741.  
  742.  
  743. =item B<simpleneon>
  744.  
  745.  
  746.  
  747. =item B<simplealpha>
  748.  
  749.  
  750.  
  751. =item B<ipp>
  752.  
  753.  
  754.  
  755. =item B<xvidmmx>
  756.  
  757.  
  758.  
  759. =item B<faani>
  760.  
  761. floating point AAN IDCT
  762.  
  763. =back
  764.  
  765.  
  766.  
  767. =item B<slice_count> I<integer>
  768.  
  769.  
  770.  
  771. =item B<ec> I<flags> B<(>I<decoding,video>B<)>
  772.  
  773. Set error concealment strategy.
  774.  
  775. Possible values:
  776.  
  777. =over 4
  778.  
  779.  
  780. =item B<guess_mvs>
  781.  
  782. iterative motion vector (MV) search (slow)
  783.  
  784. =item B<deblock>
  785.  
  786. use strong deblock filter for damaged MBs
  787.  
  788. =item B<favor_inter>
  789.  
  790. favor predicting from the previous frame instead of the current
  791.  
  792. =back
  793.  
  794.  
  795.  
  796. =item B<bits_per_coded_sample> I<integer>
  797.  
  798.  
  799.  
  800. =item B<pred> I<integer> B<(>I<encoding,video>B<)>
  801.  
  802. Set prediction method.
  803.  
  804. Possible values:
  805.  
  806. =over 4
  807.  
  808.  
  809. =item B<left>
  810.  
  811.  
  812.  
  813. =item B<plane>
  814.  
  815.  
  816.  
  817. =item B<median>
  818.  
  819.  
  820.  
  821. =back
  822.  
  823.  
  824.  
  825. =item B<aspect> I<rational number> B<(>I<encoding,video>B<)>
  826.  
  827. Set sample aspect ratio.
  828.  
  829.  
  830. =item B<debug> I<flags> B<(>I<decoding/encoding,audio,video,subtitles>B<)>
  831.  
  832. Print specific debug info.
  833.  
  834. Possible values:
  835.  
  836. =over 4
  837.  
  838.  
  839. =item B<pict>
  840.  
  841. picture info
  842.  
  843. =item B<rc>
  844.  
  845. rate control
  846.  
  847. =item B<bitstream>
  848.  
  849.  
  850.  
  851. =item B<mb_type>
  852.  
  853. macroblock (MB) type
  854.  
  855. =item B<qp>
  856.  
  857. per-block quantization parameter (QP)
  858.  
  859. =item B<mv>
  860.  
  861. motion vector
  862.  
  863. =item B<dct_coeff>
  864.  
  865.  
  866.  
  867. =item B<green_metadata>
  868.  
  869. display complexity metadata for the upcoming frame, GoP or for a given duration.
  870.  
  871.  
  872. =item B<skip>
  873.  
  874.  
  875.  
  876. =item B<startcode>
  877.  
  878.  
  879.  
  880. =item B<pts>
  881.  
  882.  
  883.  
  884. =item B<er>
  885.  
  886. error recognition
  887.  
  888. =item B<mmco>
  889.  
  890. memory management control operations (H.264)
  891.  
  892. =item B<bugs>
  893.  
  894.  
  895.  
  896. =item B<vis_qp>
  897.  
  898. visualize quantization parameter (QP), lower QP are tinted greener
  899.  
  900. =item B<vis_mb_type>
  901.  
  902. visualize block types
  903.  
  904. =item B<buffers>
  905.  
  906. picture buffer allocations
  907.  
  908. =item B<thread_ops>
  909.  
  910. threading operations
  911.  
  912. =item B<nomc>
  913.  
  914. skip motion compensation
  915.  
  916. =back
  917.  
  918.  
  919.  
  920. =item B<vismv> I<integer> B<(>I<decoding,video>B<)>
  921.  
  922. Visualize motion vectors (MVs).
  923.  
  924. This option is deprecated, see the codecview filter instead.
  925.  
  926. Possible values:
  927.  
  928. =over 4
  929.  
  930.  
  931. =item B<pf>
  932.  
  933. forward predicted MVs of P-frames
  934.  
  935. =item B<bf>
  936.  
  937. forward predicted MVs of B-frames
  938.  
  939. =item B<bb>
  940.  
  941. backward predicted MVs of B-frames
  942.  
  943. =back
  944.  
  945.  
  946.  
  947. =item B<cmp> I<integer> B<(>I<encoding,video>B<)>
  948.  
  949. Set full pel me compare function.
  950.  
  951. Possible values:
  952.  
  953. =over 4
  954.  
  955.  
  956. =item B<sad>
  957.  
  958. sum of absolute differences, fast (default)
  959.  
  960. =item B<sse>
  961.  
  962. sum of squared errors
  963.  
  964. =item B<satd>
  965.  
  966. sum of absolute Hadamard transformed differences
  967.  
  968. =item B<dct>
  969.  
  970. sum of absolute DCT transformed differences
  971.  
  972. =item B<psnr>
  973.  
  974. sum of squared quantization errors (avoid, low quality)
  975.  
  976. =item B<bit>
  977.  
  978. number of bits needed for the block
  979.  
  980. =item B<rd>
  981.  
  982. rate distortion optimal, slow
  983.  
  984. =item B<zero>
  985.  
  986. 0
  987.  
  988. =item B<vsad>
  989.  
  990. sum of absolute vertical differences
  991.  
  992. =item B<vsse>
  993.  
  994. sum of squared vertical differences
  995.  
  996. =item B<nsse>
  997.  
  998. noise preserving sum of squared differences
  999.  
  1000. =item B<w53>
  1001.  
  1002. 5/3 wavelet, only used in snow
  1003.  
  1004. =item B<w97>
  1005.  
  1006. 9/7 wavelet, only used in snow
  1007.  
  1008. =item B<dctmax>
  1009.  
  1010.  
  1011.  
  1012. =item B<chroma>
  1013.  
  1014.  
  1015.  
  1016. =back
  1017.  
  1018.  
  1019.  
  1020. =item B<subcmp> I<integer> B<(>I<encoding,video>B<)>
  1021.  
  1022. Set sub pel me compare function.
  1023.  
  1024. Possible values:
  1025.  
  1026. =over 4
  1027.  
  1028.  
  1029. =item B<sad>
  1030.  
  1031. sum of absolute differences, fast (default)
  1032.  
  1033. =item B<sse>
  1034.  
  1035. sum of squared errors
  1036.  
  1037. =item B<satd>
  1038.  
  1039. sum of absolute Hadamard transformed differences
  1040.  
  1041. =item B<dct>
  1042.  
  1043. sum of absolute DCT transformed differences
  1044.  
  1045. =item B<psnr>
  1046.  
  1047. sum of squared quantization errors (avoid, low quality)
  1048.  
  1049. =item B<bit>
  1050.  
  1051. number of bits needed for the block
  1052.  
  1053. =item B<rd>
  1054.  
  1055. rate distortion optimal, slow
  1056.  
  1057. =item B<zero>
  1058.  
  1059. 0
  1060.  
  1061. =item B<vsad>
  1062.  
  1063. sum of absolute vertical differences
  1064.  
  1065. =item B<vsse>
  1066.  
  1067. sum of squared vertical differences
  1068.  
  1069. =item B<nsse>
  1070.  
  1071. noise preserving sum of squared differences
  1072.  
  1073. =item B<w53>
  1074.  
  1075. 5/3 wavelet, only used in snow
  1076.  
  1077. =item B<w97>
  1078.  
  1079. 9/7 wavelet, only used in snow
  1080.  
  1081. =item B<dctmax>
  1082.  
  1083.  
  1084.  
  1085. =item B<chroma>
  1086.  
  1087.  
  1088.  
  1089. =back
  1090.  
  1091.  
  1092.  
  1093. =item B<mbcmp> I<integer> B<(>I<encoding,video>B<)>
  1094.  
  1095. Set macroblock compare function.
  1096.  
  1097. Possible values:
  1098.  
  1099. =over 4
  1100.  
  1101.  
  1102. =item B<sad>
  1103.  
  1104. sum of absolute differences, fast (default)
  1105.  
  1106. =item B<sse>
  1107.  
  1108. sum of squared errors
  1109.  
  1110. =item B<satd>
  1111.  
  1112. sum of absolute Hadamard transformed differences
  1113.  
  1114. =item B<dct>
  1115.  
  1116. sum of absolute DCT transformed differences
  1117.  
  1118. =item B<psnr>
  1119.  
  1120. sum of squared quantization errors (avoid, low quality)
  1121.  
  1122. =item B<bit>
  1123.  
  1124. number of bits needed for the block
  1125.  
  1126. =item B<rd>
  1127.  
  1128. rate distortion optimal, slow
  1129.  
  1130. =item B<zero>
  1131.  
  1132. 0
  1133.  
  1134. =item B<vsad>
  1135.  
  1136. sum of absolute vertical differences
  1137.  
  1138. =item B<vsse>
  1139.  
  1140. sum of squared vertical differences
  1141.  
  1142. =item B<nsse>
  1143.  
  1144. noise preserving sum of squared differences
  1145.  
  1146. =item B<w53>
  1147.  
  1148. 5/3 wavelet, only used in snow
  1149.  
  1150. =item B<w97>
  1151.  
  1152. 9/7 wavelet, only used in snow
  1153.  
  1154. =item B<dctmax>
  1155.  
  1156.  
  1157.  
  1158. =item B<chroma>
  1159.  
  1160.  
  1161.  
  1162. =back
  1163.  
  1164.  
  1165.  
  1166. =item B<ildctcmp> I<integer> B<(>I<encoding,video>B<)>
  1167.  
  1168. Set interlaced dct compare function.
  1169.  
  1170. Possible values:
  1171.  
  1172. =over 4
  1173.  
  1174.  
  1175. =item B<sad>
  1176.  
  1177. sum of absolute differences, fast (default)
  1178.  
  1179. =item B<sse>
  1180.  
  1181. sum of squared errors
  1182.  
  1183. =item B<satd>
  1184.  
  1185. sum of absolute Hadamard transformed differences
  1186.  
  1187. =item B<dct>
  1188.  
  1189. sum of absolute DCT transformed differences
  1190.  
  1191. =item B<psnr>
  1192.  
  1193. sum of squared quantization errors (avoid, low quality)
  1194.  
  1195. =item B<bit>
  1196.  
  1197. number of bits needed for the block
  1198.  
  1199. =item B<rd>
  1200.  
  1201. rate distortion optimal, slow
  1202.  
  1203. =item B<zero>
  1204.  
  1205. 0
  1206.  
  1207. =item B<vsad>
  1208.  
  1209. sum of absolute vertical differences
  1210.  
  1211. =item B<vsse>
  1212.  
  1213. sum of squared vertical differences
  1214.  
  1215. =item B<nsse>
  1216.  
  1217. noise preserving sum of squared differences
  1218.  
  1219. =item B<w53>
  1220.  
  1221. 5/3 wavelet, only used in snow
  1222.  
  1223. =item B<w97>
  1224.  
  1225. 9/7 wavelet, only used in snow
  1226.  
  1227. =item B<dctmax>
  1228.  
  1229.  
  1230.  
  1231. =item B<chroma>
  1232.  
  1233.  
  1234.  
  1235. =back
  1236.  
  1237.  
  1238.  
  1239. =item B<dia_size> I<integer> B<(>I<encoding,video>B<)>
  1240.  
  1241. Set diamond type & size for motion estimation.
  1242.  
  1243.  
  1244. =item B<last_pred> I<integer> B<(>I<encoding,video>B<)>
  1245.  
  1246. Set amount of motion predictors from the previous frame.
  1247.  
  1248.  
  1249. =item B<preme> I<integer> B<(>I<encoding,video>B<)>
  1250.  
  1251. Set pre motion estimation.
  1252.  
  1253.  
  1254. =item B<precmp> I<integer> B<(>I<encoding,video>B<)>
  1255.  
  1256. Set pre motion estimation compare function.
  1257.  
  1258. Possible values:
  1259.  
  1260. =over 4
  1261.  
  1262.  
  1263. =item B<sad>
  1264.  
  1265. sum of absolute differences, fast (default)
  1266.  
  1267. =item B<sse>
  1268.  
  1269. sum of squared errors
  1270.  
  1271. =item B<satd>
  1272.  
  1273. sum of absolute Hadamard transformed differences
  1274.  
  1275. =item B<dct>
  1276.  
  1277. sum of absolute DCT transformed differences
  1278.  
  1279. =item B<psnr>
  1280.  
  1281. sum of squared quantization errors (avoid, low quality)
  1282.  
  1283. =item B<bit>
  1284.  
  1285. number of bits needed for the block
  1286.  
  1287. =item B<rd>
  1288.  
  1289. rate distortion optimal, slow
  1290.  
  1291. =item B<zero>
  1292.  
  1293. 0
  1294.  
  1295. =item B<vsad>
  1296.  
  1297. sum of absolute vertical differences
  1298.  
  1299. =item B<vsse>
  1300.  
  1301. sum of squared vertical differences
  1302.  
  1303. =item B<nsse>
  1304.  
  1305. noise preserving sum of squared differences
  1306.  
  1307. =item B<w53>
  1308.  
  1309. 5/3 wavelet, only used in snow
  1310.  
  1311. =item B<w97>
  1312.  
  1313. 9/7 wavelet, only used in snow
  1314.  
  1315. =item B<dctmax>
  1316.  
  1317.  
  1318.  
  1319. =item B<chroma>
  1320.  
  1321.  
  1322.  
  1323. =back
  1324.  
  1325.  
  1326.  
  1327. =item B<pre_dia_size> I<integer> B<(>I<encoding,video>B<)>
  1328.  
  1329. Set diamond type & size for motion estimation pre-pass.
  1330.  
  1331.  
  1332. =item B<subq> I<integer> B<(>I<encoding,video>B<)>
  1333.  
  1334. Set sub pel motion estimation quality.
  1335.  
  1336.  
  1337. =item B<dtg_active_format> I<integer>
  1338.  
  1339.  
  1340.  
  1341. =item B<me_range> I<integer> B<(>I<encoding,video>B<)>
  1342.  
  1343. Set limit motion vectors range (1023 for DivX player).
  1344.  
  1345.  
  1346. =item B<ibias> I<integer> B<(>I<encoding,video>B<)>
  1347.  
  1348. Set intra quant bias.
  1349.  
  1350.  
  1351. =item B<pbias> I<integer> B<(>I<encoding,video>B<)>
  1352.  
  1353. Set inter quant bias.
  1354.  
  1355.  
  1356. =item B<color_table_id> I<integer>
  1357.  
  1358.  
  1359.  
  1360. =item B<global_quality> I<integer> B<(>I<encoding,audio,video>B<)>
  1361.  
  1362.  
  1363.  
  1364. =item B<coder> I<integer> B<(>I<encoding,video>B<)>
  1365.  
  1366.  
  1367. Possible values:
  1368.  
  1369. =over 4
  1370.  
  1371.  
  1372. =item B<vlc>
  1373.  
  1374. variable length coder / huffman coder
  1375.  
  1376. =item B<ac>
  1377.  
  1378. arithmetic coder
  1379.  
  1380. =item B<raw>
  1381.  
  1382. raw (no encoding)
  1383.  
  1384. =item B<rle>
  1385.  
  1386. run-length coder
  1387.  
  1388. =item B<deflate>
  1389.  
  1390. deflate-based coder
  1391.  
  1392. =back
  1393.  
  1394.  
  1395.  
  1396. =item B<context> I<integer> B<(>I<encoding,video>B<)>
  1397.  
  1398. Set context model.
  1399.  
  1400.  
  1401. =item B<slice_flags> I<integer>
  1402.  
  1403.  
  1404.  
  1405. =item B<xvmc_acceleration> I<integer>
  1406.  
  1407.  
  1408.  
  1409. =item B<mbd> I<integer> B<(>I<encoding,video>B<)>
  1410.  
  1411. Set macroblock decision algorithm (high quality mode).
  1412.  
  1413. Possible values:
  1414.  
  1415. =over 4
  1416.  
  1417.  
  1418. =item B<simple>
  1419.  
  1420. use mbcmp (default)
  1421.  
  1422. =item B<bits>
  1423.  
  1424. use fewest bits
  1425.  
  1426. =item B<rd>
  1427.  
  1428. use best rate distortion
  1429.  
  1430. =back
  1431.  
  1432.  
  1433.  
  1434. =item B<stream_codec_tag> I<integer>
  1435.  
  1436.  
  1437.  
  1438. =item B<sc_threshold> I<integer> B<(>I<encoding,video>B<)>
  1439.  
  1440. Set scene change threshold.
  1441.  
  1442.  
  1443. =item B<lmin> I<integer> B<(>I<encoding,video>B<)>
  1444.  
  1445. Set min lagrange factor (VBR).
  1446.  
  1447.  
  1448. =item B<lmax> I<integer> B<(>I<encoding,video>B<)>
  1449.  
  1450. Set max lagrange factor (VBR).
  1451.  
  1452.  
  1453. =item B<nr> I<integer> B<(>I<encoding,video>B<)>
  1454.  
  1455. Set noise reduction.
  1456.  
  1457.  
  1458. =item B<rc_init_occupancy> I<integer> B<(>I<encoding,video>B<)>
  1459.  
  1460. Set number of bits which should be loaded into the rc buffer before
  1461. decoding starts.
  1462.  
  1463.  
  1464. =item B<flags2> I<flags> B<(>I<decoding/encoding,audio,video>B<)>
  1465.  
  1466.  
  1467. Possible values:
  1468.  
  1469. =over 4
  1470.  
  1471.  
  1472. =item B<fast>
  1473.  
  1474. Allow non spec compliant speedup tricks.
  1475.  
  1476. =item B<sgop>
  1477.  
  1478. Deprecated, use mpegvideo private options instead.
  1479.  
  1480. =item B<noout>
  1481.  
  1482. Skip bitstream encoding.
  1483.  
  1484. =item B<ignorecrop>
  1485.  
  1486. Ignore cropping information from sps.
  1487.  
  1488. =item B<local_header>
  1489.  
  1490. Place global headers at every keyframe instead of in extradata.
  1491.  
  1492. =item B<chunks>
  1493.  
  1494. Frame data might be split into multiple chunks.
  1495.  
  1496. =item B<showall>
  1497.  
  1498. Show all frames before the first keyframe.
  1499.  
  1500. =item B<skiprd>
  1501.  
  1502. Deprecated, use mpegvideo private options instead.
  1503.  
  1504. =item B<export_mvs>
  1505.  
  1506. Export motion vectors into frame side-data (see C<AV_FRAME_DATA_MOTION_VECTORS>)
  1507. for codecs that support it. See also F<doc/examples/export_mvs.c>.
  1508.  
  1509. =back
  1510.  
  1511.  
  1512.  
  1513. =item B<error> I<integer> B<(>I<encoding,video>B<)>
  1514.  
  1515.  
  1516.  
  1517. =item B<qns> I<integer> B<(>I<encoding,video>B<)>
  1518.  
  1519. Deprecated, use mpegvideo private options instead.
  1520.  
  1521.  
  1522. =item B<threads> I<integer> B<(>I<decoding/encoding,video>B<)>
  1523.  
  1524.  
  1525. Possible values:
  1526.  
  1527. =over 4
  1528.  
  1529.  
  1530. =item B<auto>
  1531.  
  1532. detect a good number of threads
  1533.  
  1534. =back
  1535.  
  1536.  
  1537.  
  1538. =item B<me_threshold> I<integer> B<(>I<encoding,video>B<)>
  1539.  
  1540. Set motion estimation threshold.
  1541.  
  1542.  
  1543. =item B<mb_threshold> I<integer> B<(>I<encoding,video>B<)>
  1544.  
  1545. Set macroblock threshold.
  1546.  
  1547.  
  1548. =item B<dc> I<integer> B<(>I<encoding,video>B<)>
  1549.  
  1550. Set intra_dc_precision.
  1551.  
  1552.  
  1553. =item B<nssew> I<integer> B<(>I<encoding,video>B<)>
  1554.  
  1555. Set nsse weight.
  1556.  
  1557.  
  1558. =item B<skip_top> I<integer> B<(>I<decoding,video>B<)>
  1559.  
  1560. Set number of macroblock rows at the top which are skipped.
  1561.  
  1562.  
  1563. =item B<skip_bottom> I<integer> B<(>I<decoding,video>B<)>
  1564.  
  1565. Set number of macroblock rows at the bottom which are skipped.
  1566.  
  1567.  
  1568. =item B<profile> I<integer> B<(>I<encoding,audio,video>B<)>
  1569.  
  1570.  
  1571. Possible values:
  1572.  
  1573. =over 4
  1574.  
  1575.  
  1576. =item B<unknown>
  1577.  
  1578.  
  1579.  
  1580. =item B<aac_main>
  1581.  
  1582.  
  1583.  
  1584. =item B<aac_low>
  1585.  
  1586.  
  1587.  
  1588. =item B<aac_ssr>
  1589.  
  1590.  
  1591.  
  1592. =item B<aac_ltp>
  1593.  
  1594.  
  1595.  
  1596. =item B<aac_he>
  1597.  
  1598.  
  1599.  
  1600. =item B<aac_he_v2>
  1601.  
  1602.  
  1603.  
  1604. =item B<aac_ld>
  1605.  
  1606.  
  1607.  
  1608. =item B<aac_eld>
  1609.  
  1610.  
  1611.  
  1612. =item B<mpeg2_aac_low>
  1613.  
  1614.  
  1615.  
  1616. =item B<mpeg2_aac_he>
  1617.  
  1618.  
  1619.  
  1620. =item B<mpeg4_sp>
  1621.  
  1622.  
  1623.  
  1624. =item B<mpeg4_core>
  1625.  
  1626.  
  1627.  
  1628. =item B<mpeg4_main>
  1629.  
  1630.  
  1631.  
  1632. =item B<mpeg4_asp>
  1633.  
  1634.  
  1635.  
  1636. =item B<dts>
  1637.  
  1638.  
  1639.  
  1640. =item B<dts_es>
  1641.  
  1642.  
  1643.  
  1644. =item B<dts_96_24>
  1645.  
  1646.  
  1647.  
  1648. =item B<dts_hd_hra>
  1649.  
  1650.  
  1651.  
  1652. =item B<dts_hd_ma>
  1653.  
  1654.  
  1655.  
  1656. =back
  1657.  
  1658.  
  1659.  
  1660. =item B<level> I<integer> B<(>I<encoding,audio,video>B<)>
  1661.  
  1662.  
  1663. Possible values:
  1664.  
  1665. =over 4
  1666.  
  1667.  
  1668. =item B<unknown>
  1669.  
  1670.  
  1671.  
  1672. =back
  1673.  
  1674.  
  1675.  
  1676. =item B<lowres> I<integer> B<(>I<decoding,audio,video>B<)>
  1677.  
  1678. Decode at 1= 1/2, 2=1/4, 3=1/8 resolutions.
  1679.  
  1680.  
  1681. =item B<skip_threshold> I<integer> B<(>I<encoding,video>B<)>
  1682.  
  1683. Set frame skip threshold.
  1684.  
  1685.  
  1686. =item B<skip_factor> I<integer> B<(>I<encoding,video>B<)>
  1687.  
  1688. Set frame skip factor.
  1689.  
  1690.  
  1691. =item B<skip_exp> I<integer> B<(>I<encoding,video>B<)>
  1692.  
  1693. Set frame skip exponent.
  1694. Negative values behave identical to the corresponding positive ones, except
  1695. that the score is normalized.
  1696. Positive values exist primarily for compatibility reasons and are not so useful.
  1697.  
  1698.  
  1699. =item B<skipcmp> I<integer> B<(>I<encoding,video>B<)>
  1700.  
  1701. Set frame skip compare function.
  1702.  
  1703. Possible values:
  1704.  
  1705. =over 4
  1706.  
  1707.  
  1708. =item B<sad>
  1709.  
  1710. sum of absolute differences, fast (default)
  1711.  
  1712. =item B<sse>
  1713.  
  1714. sum of squared errors
  1715.  
  1716. =item B<satd>
  1717.  
  1718. sum of absolute Hadamard transformed differences
  1719.  
  1720. =item B<dct>
  1721.  
  1722. sum of absolute DCT transformed differences
  1723.  
  1724. =item B<psnr>
  1725.  
  1726. sum of squared quantization errors (avoid, low quality)
  1727.  
  1728. =item B<bit>
  1729.  
  1730. number of bits needed for the block
  1731.  
  1732. =item B<rd>
  1733.  
  1734. rate distortion optimal, slow
  1735.  
  1736. =item B<zero>
  1737.  
  1738. 0
  1739.  
  1740. =item B<vsad>
  1741.  
  1742. sum of absolute vertical differences
  1743.  
  1744. =item B<vsse>
  1745.  
  1746. sum of squared vertical differences
  1747.  
  1748. =item B<nsse>
  1749.  
  1750. noise preserving sum of squared differences
  1751.  
  1752. =item B<w53>
  1753.  
  1754. 5/3 wavelet, only used in snow
  1755.  
  1756. =item B<w97>
  1757.  
  1758. 9/7 wavelet, only used in snow
  1759.  
  1760. =item B<dctmax>
  1761.  
  1762.  
  1763.  
  1764. =item B<chroma>
  1765.  
  1766.  
  1767.  
  1768. =back
  1769.  
  1770.  
  1771.  
  1772. =item B<border_mask> I<float> B<(>I<encoding,video>B<)>
  1773.  
  1774. Increase the quantizer for macroblocks close to borders.
  1775.  
  1776.  
  1777. =item B<mblmin> I<integer> B<(>I<encoding,video>B<)>
  1778.  
  1779. Set min macroblock lagrange factor (VBR).
  1780.  
  1781.  
  1782. =item B<mblmax> I<integer> B<(>I<encoding,video>B<)>
  1783.  
  1784. Set max macroblock lagrange factor (VBR).
  1785.  
  1786.  
  1787. =item B<mepc> I<integer> B<(>I<encoding,video>B<)>
  1788.  
  1789. Set motion estimation bitrate penalty compensation (1.0 = 256).
  1790.  
  1791.  
  1792. =item B<skip_loop_filter> I<integer> B<(>I<decoding,video>B<)>
  1793.  
  1794.  
  1795. =item B<skip_idct>        I<integer> B<(>I<decoding,video>B<)>
  1796.  
  1797.  
  1798. =item B<skip_frame>       I<integer> B<(>I<decoding,video>B<)>
  1799.  
  1800.  
  1801. Make decoder discard processing depending on the frame type selected
  1802. by the option value.
  1803.  
  1804. B<skip_loop_filter> skips frame loop filtering, B<skip_idct>
  1805. skips frame IDCT/dequantization, B<skip_frame> skips decoding.
  1806.  
  1807. Possible values:
  1808.  
  1809. =over 4
  1810.  
  1811.  
  1812. =item B<none>
  1813.  
  1814. Discard no frame.
  1815.  
  1816.  
  1817. =item B<default>
  1818.  
  1819. Discard useless frames like 0-sized frames.
  1820.  
  1821.  
  1822. =item B<noref>
  1823.  
  1824. Discard all non-reference frames.
  1825.  
  1826.  
  1827. =item B<bidir>
  1828.  
  1829. Discard all bidirectional frames.
  1830.  
  1831.  
  1832. =item B<nokey>
  1833.  
  1834. Discard all frames excepts keyframes.
  1835.  
  1836.  
  1837. =item B<all>
  1838.  
  1839. Discard all frames.
  1840.  
  1841. =back
  1842.  
  1843.  
  1844. Default value is B<default>.
  1845.  
  1846.  
  1847. =item B<bidir_refine> I<integer> B<(>I<encoding,video>B<)>
  1848.  
  1849. Refine the two motion vectors used in bidirectional macroblocks.
  1850.  
  1851.  
  1852. =item B<brd_scale> I<integer> B<(>I<encoding,video>B<)>
  1853.  
  1854. Downscale frames for dynamic B-frame decision.
  1855.  
  1856.  
  1857. =item B<keyint_min> I<integer> B<(>I<encoding,video>B<)>
  1858.  
  1859. Set minimum interval between IDR-frames.
  1860.  
  1861.  
  1862. =item B<refs> I<integer> B<(>I<encoding,video>B<)>
  1863.  
  1864. Set reference frames to consider for motion compensation.
  1865.  
  1866.  
  1867. =item B<chromaoffset> I<integer> B<(>I<encoding,video>B<)>
  1868.  
  1869. Set chroma qp offset from luma.
  1870.  
  1871.  
  1872. =item B<trellis> I<integer> B<(>I<encoding,audio,video>B<)>
  1873.  
  1874. Set rate-distortion optimal quantization.
  1875.  
  1876.  
  1877. =item B<sc_factor> I<integer> B<(>I<encoding,video>B<)>
  1878.  
  1879. Set value multiplied by qscale for each frame and added to
  1880. scene_change_score.
  1881.  
  1882.  
  1883. =item B<mv0_threshold> I<integer> B<(>I<encoding,video>B<)>
  1884.  
  1885.  
  1886. =item B<b_sensitivity> I<integer> B<(>I<encoding,video>B<)>
  1887.  
  1888. Adjust sensitivity of b_frame_strategy 1.
  1889.  
  1890.  
  1891. =item B<compression_level> I<integer> B<(>I<encoding,audio,video>B<)>
  1892.  
  1893.  
  1894. =item B<min_prediction_order> I<integer> B<(>I<encoding,audio>B<)>
  1895.  
  1896.  
  1897. =item B<max_prediction_order> I<integer> B<(>I<encoding,audio>B<)>
  1898.  
  1899.  
  1900. =item B<timecode_frame_start> I<integer> B<(>I<encoding,video>B<)>
  1901.  
  1902. Set GOP timecode frame start number, in non drop frame format.
  1903.  
  1904.  
  1905. =item B<request_channels> I<integer> B<(>I<decoding,audio>B<)>
  1906.  
  1907. Set desired number of audio channels.
  1908.  
  1909.  
  1910. =item B<bits_per_raw_sample> I<integer>
  1911.  
  1912.  
  1913. =item B<channel_layout> I<integer> B<(>I<decoding/encoding,audio>B<)>
  1914.  
  1915.  
  1916. Possible values:
  1917.  
  1918. =over 4
  1919.  
  1920.  
  1921. =back
  1922.  
  1923.  
  1924. =item B<request_channel_layout> I<integer> B<(>I<decoding,audio>B<)>
  1925.  
  1926.  
  1927. Possible values:
  1928.  
  1929. =over 4
  1930.  
  1931.  
  1932. =back
  1933.  
  1934.  
  1935. =item B<rc_max_vbv_use> I<float> B<(>I<encoding,video>B<)>
  1936.  
  1937.  
  1938. =item B<rc_min_vbv_use> I<float> B<(>I<encoding,video>B<)>
  1939.  
  1940.  
  1941. =item B<ticks_per_frame> I<integer> B<(>I<decoding/encoding,audio,video>B<)>
  1942.  
  1943.  
  1944. =item B<color_primaries> I<integer> B<(>I<decoding/encoding,video>B<)>
  1945.  
  1946.  
  1947. =item B<color_trc> I<integer> B<(>I<decoding/encoding,video>B<)>
  1948.  
  1949.  
  1950. =item B<colorspace> I<integer> B<(>I<decoding/encoding,video>B<)>
  1951.  
  1952.  
  1953.  
  1954. =item B<color_range> I<integer> B<(>I<decoding/encoding,video>B<)>
  1955.  
  1956. If used as input parameter, it serves as a hint to the decoder, which
  1957. color_range the input has.
  1958.  
  1959.  
  1960. =item B<chroma_sample_location> I<integer> B<(>I<decoding/encoding,video>B<)>
  1961.  
  1962.  
  1963.  
  1964. =item B<log_level_offset> I<integer>
  1965.  
  1966. Set the log level offset.
  1967.  
  1968.  
  1969. =item B<slices> I<integer> B<(>I<encoding,video>B<)>
  1970.  
  1971. Number of slices, used in parallelized encoding.
  1972.  
  1973.  
  1974. =item B<thread_type> I<flags> B<(>I<decoding/encoding,video>B<)>
  1975.  
  1976. Select which multithreading methods to use.
  1977.  
  1978. Use of B<frame> will increase decoding delay by one frame per
  1979. thread, so clients which cannot provide future frames should not use
  1980. it.
  1981.  
  1982. Possible values:
  1983.  
  1984. =over 4
  1985.  
  1986.  
  1987. =item B<slice>
  1988.  
  1989. Decode more than one part of a single frame at once.
  1990.  
  1991. Multithreading using slices works only when the video was encoded with
  1992. slices.
  1993.  
  1994.  
  1995. =item B<frame>
  1996.  
  1997. Decode more than one frame at once.
  1998.  
  1999. =back
  2000.  
  2001.  
  2002. Default value is B<slice+frame>.
  2003.  
  2004.  
  2005. =item B<audio_service_type> I<integer> B<(>I<encoding,audio>B<)>
  2006.  
  2007. Set audio service type.
  2008.  
  2009. Possible values:
  2010.  
  2011. =over 4
  2012.  
  2013.  
  2014. =item B<ma>
  2015.  
  2016. Main Audio Service
  2017.  
  2018. =item B<ef>
  2019.  
  2020. Effects
  2021.  
  2022. =item B<vi>
  2023.  
  2024. Visually Impaired
  2025.  
  2026. =item B<hi>
  2027.  
  2028. Hearing Impaired
  2029.  
  2030. =item B<di>
  2031.  
  2032. Dialogue
  2033.  
  2034. =item B<co>
  2035.  
  2036. Commentary
  2037.  
  2038. =item B<em>
  2039.  
  2040. Emergency
  2041.  
  2042. =item B<vo>
  2043.  
  2044. Voice Over
  2045.  
  2046. =item B<ka>
  2047.  
  2048. Karaoke
  2049.  
  2050. =back
  2051.  
  2052.  
  2053.  
  2054. =item B<request_sample_fmt> I<sample_fmt> B<(>I<decoding,audio>B<)>
  2055.  
  2056. Set sample format audio decoders should prefer. Default value is
  2057. C<none>.
  2058.  
  2059.  
  2060. =item B<pkt_timebase> I<rational number>
  2061.  
  2062.  
  2063.  
  2064. =item B<sub_charenc> I<encoding> B<(>I<decoding,subtitles>B<)>
  2065.  
  2066. Set the input subtitles character encoding.
  2067.  
  2068.  
  2069. =item B<field_order>  I<field_order> B<(>I<video>B<)>
  2070.  
  2071. Set/override the field order of the video.
  2072. Possible values:
  2073.  
  2074. =over 4
  2075.  
  2076.  
  2077. =item B<progressive>
  2078.  
  2079. Progressive video
  2080.  
  2081. =item B<tt>
  2082.  
  2083. Interlaced video, top field coded and displayed first
  2084.  
  2085. =item B<bb>
  2086.  
  2087. Interlaced video, bottom field coded and displayed first
  2088.  
  2089. =item B<tb>
  2090.  
  2091. Interlaced video, top coded first, bottom displayed first
  2092.  
  2093. =item B<bt>
  2094.  
  2095. Interlaced video, bottom coded first, top displayed first
  2096.  
  2097. =back
  2098.  
  2099.  
  2100.  
  2101. =item B<skip_alpha> I<integer> B<(>I<decoding,video>B<)>
  2102.  
  2103. Set to 1 to disable processing alpha (transparency). This works like the
  2104. B<gray> flag in the B<flags> option which skips chroma information
  2105. instead of alpha. Default is 0.
  2106.  
  2107.  
  2108. =item B<codec_whitelist> I<list> B<(>I<input>B<)>
  2109.  
  2110. "," separated List of allowed decoders. By default all are allowed.
  2111.  
  2112.  
  2113. =item B<dump_separator> I<string> B<(>I<input>B<)>
  2114.  
  2115. Separator used to separate the fields printed on the command line about the
  2116. Stream parameters.
  2117. For example to separate the fields with newlines and indention:
  2118.        
  2119.         ffprobe -dump_separator "
  2120.                                   "  -i ~/videos/matrixbench_mpeg2.mpg
  2121.  
  2122.  
  2123.  
  2124. =back
  2125.  
  2126.  
  2127.  
  2128.  
  2129. =head1 DECODERS
  2130.  
  2131.  
  2132. Decoders are configured elements in FFmpeg which allow the decoding of
  2133. multimedia streams.
  2134.  
  2135. When you configure your FFmpeg build, all the supported native decoders
  2136. are enabled by default. Decoders requiring an external library must be enabled
  2137. manually via the corresponding C<--enable-lib> option. You can list all
  2138. available decoders using the configure option C<--list-decoders>.
  2139.  
  2140. You can disable all the decoders with the configure option
  2141. C<--disable-decoders> and selectively enable / disable single decoders
  2142. with the options C<--enable-decoder=I<DECODER>> /
  2143. C<--disable-decoder=I<DECODER>>.
  2144.  
  2145. The option C<-decoders> of the ff* tools will display the list of
  2146. enabled decoders.
  2147.  
  2148.  
  2149.  
  2150. =head1 VIDEO DECODERS
  2151.  
  2152.  
  2153. A description of some of the currently available video decoders
  2154. follows.
  2155.  
  2156.  
  2157. =head2 hevc
  2158.  
  2159.  
  2160. HEVC / H.265 decoder.
  2161.  
  2162. Note: the B<skip_loop_filter> option has effect only at level
  2163. C<all>.
  2164.  
  2165.  
  2166. =head2 rawvideo
  2167.  
  2168.  
  2169. Raw video decoder.
  2170.  
  2171. This decoder decodes rawvideo streams.
  2172.  
  2173.  
  2174. =head3 Options
  2175.  
  2176.  
  2177.  
  2178. =over 4
  2179.  
  2180.  
  2181. =item B<top> I<top_field_first>
  2182.  
  2183. Specify the assumed field type of the input video.
  2184.  
  2185. =over 4
  2186.  
  2187.  
  2188. =item B<-1>
  2189.  
  2190. the video is assumed to be progressive (default)
  2191.  
  2192. =item B<0>
  2193.  
  2194. bottom-field-first is assumed
  2195.  
  2196. =item B<1>
  2197.  
  2198. top-field-first is assumed
  2199.  
  2200. =back
  2201.  
  2202.  
  2203.  
  2204. =back
  2205.  
  2206.  
  2207.  
  2208.  
  2209. =head1 AUDIO DECODERS
  2210.  
  2211.  
  2212. A description of some of the currently available audio decoders
  2213. follows.
  2214.  
  2215.  
  2216. =head2 ac3
  2217.  
  2218.  
  2219. AC-3 audio decoder.
  2220.  
  2221. This decoder implements part of ATSC A/52:2010 and ETSI TS 102 366, as well as
  2222. the undocumented RealAudio 3 (a.k.a. dnet).
  2223.  
  2224.  
  2225. =head3 AC-3 Decoder Options
  2226.  
  2227.  
  2228.  
  2229. =over 4
  2230.  
  2231.  
  2232.  
  2233. =item B<-drc_scale> I<value>
  2234.  
  2235. Dynamic Range Scale Factor. The factor to apply to dynamic range values
  2236. from the AC-3 stream. This factor is applied exponentially.
  2237. There are 3 notable scale factor ranges:
  2238.  
  2239. =over 4
  2240.  
  2241.  
  2242. =item B<drc_scale == 0>
  2243.  
  2244. DRC disabled. Produces full range audio.
  2245.  
  2246. =item B<0 E<lt> drc_scale E<lt>= 1>
  2247.  
  2248. DRC enabled.  Applies a fraction of the stream DRC value.
  2249. Audio reproduction is between full range and full compression.
  2250.  
  2251. =item B<drc_scale E<gt> 1>
  2252.  
  2253. DRC enabled. Applies drc_scale asymmetrically.
  2254. Loud sounds are fully compressed.  Soft sounds are enhanced.
  2255.  
  2256. =back
  2257.  
  2258.  
  2259.  
  2260. =back
  2261.  
  2262.  
  2263.  
  2264. =head2 flac
  2265.  
  2266.  
  2267. FLAC audio decoder.
  2268.  
  2269. This decoder aims to implement the complete FLAC specification from Xiph.
  2270.  
  2271.  
  2272. =head3 FLAC Decoder options
  2273.  
  2274.  
  2275.  
  2276. =over 4
  2277.  
  2278.  
  2279.  
  2280. =item B<-use_buggy_lpc>
  2281.  
  2282. The lavc FLAC encoder used to produce buggy streams with high lpc values
  2283. (like the default value). This option makes it possible to decode such streams
  2284. correctly by using lavc's old buggy lpc logic for decoding.
  2285.  
  2286.  
  2287. =back
  2288.  
  2289.  
  2290.  
  2291. =head2 ffwavesynth
  2292.  
  2293.  
  2294. Internal wave synthetizer.
  2295.  
  2296. This decoder generates wave patterns according to predefined sequences. Its
  2297. use is purely internal and the format of the data it accepts is not publicly
  2298. documented.
  2299.  
  2300.  
  2301. =head2 libcelt
  2302.  
  2303.  
  2304. libcelt decoder wrapper.
  2305.  
  2306. libcelt allows libavcodec to decode the Xiph CELT ultra-low delay audio codec.
  2307. Requires the presence of the libcelt headers and library during configuration.
  2308. You need to explicitly configure the build with C<--enable-libcelt>.
  2309.  
  2310.  
  2311. =head2 libgsm
  2312.  
  2313.  
  2314. libgsm decoder wrapper.
  2315.  
  2316. libgsm allows libavcodec to decode the GSM full rate audio codec. Requires
  2317. the presence of the libgsm headers and library during configuration. You need
  2318. to explicitly configure the build with C<--enable-libgsm>.
  2319.  
  2320. This decoder supports both the ordinary GSM and the Microsoft variant.
  2321.  
  2322.  
  2323. =head2 libilbc
  2324.  
  2325.  
  2326. libilbc decoder wrapper.
  2327.  
  2328. libilbc allows libavcodec to decode the Internet Low Bitrate Codec (iLBC)
  2329. audio codec. Requires the presence of the libilbc headers and library during
  2330. configuration. You need to explicitly configure the build with
  2331. C<--enable-libilbc>.
  2332.  
  2333.  
  2334. =head3 Options
  2335.  
  2336.  
  2337. The following option is supported by the libilbc wrapper.
  2338.  
  2339.  
  2340. =over 4
  2341.  
  2342.  
  2343. =item B<enhance>
  2344.  
  2345.  
  2346. Enable the enhancement of the decoded audio when set to 1. The default
  2347. value is 0 (disabled).
  2348.  
  2349.  
  2350. =back
  2351.  
  2352.  
  2353.  
  2354. =head2 libopencore-amrnb
  2355.  
  2356.  
  2357. libopencore-amrnb decoder wrapper.
  2358.  
  2359. libopencore-amrnb allows libavcodec to decode the Adaptive Multi-Rate
  2360. Narrowband audio codec. Using it requires the presence of the
  2361. libopencore-amrnb headers and library during configuration. You need to
  2362. explicitly configure the build with C<--enable-libopencore-amrnb>.
  2363.  
  2364. An FFmpeg native decoder for AMR-NB exists, so users can decode AMR-NB
  2365. without this library.
  2366.  
  2367.  
  2368. =head2 libopencore-amrwb
  2369.  
  2370.  
  2371. libopencore-amrwb decoder wrapper.
  2372.  
  2373. libopencore-amrwb allows libavcodec to decode the Adaptive Multi-Rate
  2374. Wideband audio codec. Using it requires the presence of the
  2375. libopencore-amrwb headers and library during configuration. You need to
  2376. explicitly configure the build with C<--enable-libopencore-amrwb>.
  2377.  
  2378. An FFmpeg native decoder for AMR-WB exists, so users can decode AMR-WB
  2379. without this library.
  2380.  
  2381.  
  2382. =head2 libopus
  2383.  
  2384.  
  2385. libopus decoder wrapper.
  2386.  
  2387. libopus allows libavcodec to decode the Opus Interactive Audio Codec.
  2388. Requires the presence of the libopus headers and library during
  2389. configuration. You need to explicitly configure the build with
  2390. C<--enable-libopus>.
  2391.  
  2392. An FFmpeg native decoder for Opus exists, so users can decode Opus
  2393. without this library.
  2394.  
  2395.  
  2396.  
  2397. =head1 SUBTITLES DECODERS
  2398.  
  2399.  
  2400.  
  2401. =head2 dvbsub
  2402.  
  2403.  
  2404.  
  2405. =head3 Options
  2406.  
  2407.  
  2408.  
  2409. =over 4
  2410.  
  2411.  
  2412. =item B<compute_clut>
  2413.  
  2414.  
  2415. =over 4
  2416.  
  2417.  
  2418. =item B<-1>
  2419.  
  2420. Compute clut if no matching CLUT is in the stream.
  2421.  
  2422. =item B<0>
  2423.  
  2424. Never compute CLUT
  2425.  
  2426. =item B<1>
  2427.  
  2428. Always compute CLUT and override the one provided in the stream.
  2429.  
  2430. =back
  2431.  
  2432.  
  2433. =item B<dvb_substream>
  2434.  
  2435. Selects the dvb substream, or all substreams if -1 which is default.
  2436.  
  2437.  
  2438. =back
  2439.  
  2440.  
  2441.  
  2442. =head2 dvdsub
  2443.  
  2444.  
  2445. This codec decodes the bitmap subtitles used in DVDs; the same subtitles can
  2446. also be found in VobSub file pairs and in some Matroska files.
  2447.  
  2448.  
  2449. =head3 Options
  2450.  
  2451.  
  2452.  
  2453. =over 4
  2454.  
  2455.  
  2456. =item B<palette>
  2457.  
  2458. Specify the global palette used by the bitmaps. When stored in VobSub, the
  2459. palette is normally specified in the index file; in Matroska, the palette is
  2460. stored in the codec extra-data in the same format as in VobSub. In DVDs, the
  2461. palette is stored in the IFO file, and therefore not available when reading
  2462. from dumped VOB files.
  2463.  
  2464. The format for this option is a string containing 16 24-bits hexadecimal
  2465. numbers (without 0x prefix) separated by comas, for example C<0d00ee,
  2466. ee450d, 101010, eaeaea, 0ce60b, ec14ed, ebff0b, 0d617a, 7b7b7b, d1d1d1,
  2467. 7b2a0e, 0d950c, 0f007b, cf0dec, cfa80c, 7c127b>.
  2468.  
  2469.  
  2470. =item B<ifo_palette>
  2471.  
  2472. Specify the IFO file from which the global palette is obtained.
  2473. (experimental)
  2474.  
  2475.  
  2476. =item B<forced_subs_only>
  2477.  
  2478. Only decode subtitle entries marked as forced. Some titles have forced
  2479. and non-forced subtitles in the same track. Setting this flag to C<1>
  2480. will only keep the forced subtitles. Default value is C<0>.
  2481.  
  2482. =back
  2483.  
  2484.  
  2485.  
  2486. =head2 libzvbi-teletext
  2487.  
  2488.  
  2489. Libzvbi allows libavcodec to decode DVB teletext pages and DVB teletext
  2490. subtitles. Requires the presence of the libzvbi headers and library during
  2491. configuration. You need to explicitly configure the build with
  2492. C<--enable-libzvbi>.
  2493.  
  2494.  
  2495. =head3 Options
  2496.  
  2497.  
  2498.  
  2499. =over 4
  2500.  
  2501.  
  2502. =item B<txt_page>
  2503.  
  2504. List of teletext page numbers to decode. You may use the special * string to
  2505. match all pages. Pages that do not match the specified list are dropped.
  2506. Default value is *.
  2507.  
  2508. =item B<txt_chop_top>
  2509.  
  2510. Discards the top teletext line. Default value is 1.
  2511.  
  2512. =item B<txt_format>
  2513.  
  2514. Specifies the format of the decoded subtitles. The teletext decoder is capable
  2515. of decoding the teletext pages to bitmaps or to simple text, you should use
  2516. "bitmap" for teletext pages, because certain graphics and colors cannot be
  2517. expressed in simple text. You might use "text" for teletext based subtitles if
  2518. your application can handle simple text based subtitles. Default value is
  2519. bitmap.
  2520.  
  2521. =item B<txt_left>
  2522.  
  2523. X offset of generated bitmaps, default is 0.
  2524.  
  2525. =item B<txt_top>
  2526.  
  2527. Y offset of generated bitmaps, default is 0.
  2528.  
  2529. =item B<txt_chop_spaces>
  2530.  
  2531. Chops leading and trailing spaces and removes empty lines from the generated
  2532. text. This option is useful for teletext based subtitles where empty spaces may
  2533. be present at the start or at the end of the lines or empty lines may be
  2534. present between the subtitle lines because of double-sized teletext charactes.
  2535. Default value is 1.
  2536.  
  2537. =item B<txt_duration>
  2538.  
  2539. Sets the display duration of the decoded teletext pages or subtitles in
  2540. miliseconds. Default value is 30000 which is 30 seconds.
  2541.  
  2542. =item B<txt_transparent>
  2543.  
  2544. Force transparent background of the generated teletext bitmaps. Default value
  2545. is 0 which means an opaque (black) background.
  2546.  
  2547. =back
  2548.  
  2549.  
  2550.  
  2551. =head1 ENCODERS
  2552.  
  2553.  
  2554. Encoders are configured elements in FFmpeg which allow the encoding of
  2555. multimedia streams.
  2556.  
  2557. When you configure your FFmpeg build, all the supported native encoders
  2558. are enabled by default. Encoders requiring an external library must be enabled
  2559. manually via the corresponding C<--enable-lib> option. You can list all
  2560. available encoders using the configure option C<--list-encoders>.
  2561.  
  2562. You can disable all the encoders with the configure option
  2563. C<--disable-encoders> and selectively enable / disable single encoders
  2564. with the options C<--enable-encoder=I<ENCODER>> /
  2565. C<--disable-encoder=I<ENCODER>>.
  2566.  
  2567. The option C<-encoders> of the ff* tools will display the list of
  2568. enabled encoders.
  2569.  
  2570.  
  2571.  
  2572. =head1 AUDIO ENCODERS
  2573.  
  2574.  
  2575. A description of some of the currently available audio encoders
  2576. follows.
  2577.  
  2578.  
  2579.  
  2580. =head2 aac
  2581.  
  2582.  
  2583. Advanced Audio Coding (AAC) encoder.
  2584.  
  2585. This encoder is an experimental FFmpeg-native AAC encoder. Currently only the
  2586. low complexity (AAC-LC) profile is supported. To use this encoder, you must set
  2587. B<strict> option to B<experimental> or lower.
  2588.  
  2589. As this encoder is experimental, unexpected behavior may exist from time to
  2590. time. For a more stable AAC encoder, see B<libvo-aacenc>. However, be warned
  2591. that it has a worse quality reported by some users.
  2592.  
  2593. See also B<libfdk_aac>.
  2594.  
  2595.  
  2596. =head3 Options
  2597.  
  2598.  
  2599.  
  2600. =over 4
  2601.  
  2602.  
  2603. =item B<b>
  2604.  
  2605. Set bit rate in bits/s. Setting this automatically activates constant bit rate
  2606. (CBR) mode.
  2607.  
  2608.  
  2609. =item B<q>
  2610.  
  2611. Set quality for variable bit rate (VBR) mode. This option is valid only using
  2612. the B<ffmpeg> command-line tool. For library interface users, use
  2613. B<global_quality>.
  2614.  
  2615.  
  2616. =item B<stereo_mode>
  2617.  
  2618. Set stereo encoding mode. Possible values:
  2619.  
  2620.  
  2621. =over 4
  2622.  
  2623.  
  2624. =item B<auto>
  2625.  
  2626. Automatically selected by the encoder.
  2627.  
  2628.  
  2629. =item B<ms_off>
  2630.  
  2631. Disable middle/side encoding. This is the default.
  2632.  
  2633.  
  2634. =item B<ms_force>
  2635.  
  2636. Force middle/side encoding.
  2637.  
  2638. =back
  2639.  
  2640.  
  2641.  
  2642. =item B<aac_coder>
  2643.  
  2644. Set AAC encoder coding method. Possible values:
  2645.  
  2646.  
  2647. =over 4
  2648.  
  2649.  
  2650. =item B<faac>
  2651.  
  2652. FAAC-inspired method.
  2653.  
  2654. This method is a simplified reimplementation of the method used in FAAC, which
  2655. sets thresholds proportional to the band energies, and then decreases all the
  2656. thresholds with quantizer steps to find the appropriate quantization with
  2657. distortion below threshold band by band.
  2658.  
  2659. The quality of this method is comparable to the two loop searching method
  2660. described below, but somewhat a little better and slower.
  2661.  
  2662.  
  2663. =item B<anmr>
  2664.  
  2665. Average noise to mask ratio (ANMR) trellis-based solution.
  2666.  
  2667. This has a theoretic best quality out of all the coding methods, but at the
  2668. cost of the slowest speed.
  2669.  
  2670.  
  2671. =item B<twoloop>
  2672.  
  2673. Two loop searching (TLS) method.
  2674.  
  2675. This method first sets quantizers depending on band thresholds and then tries
  2676. to find an optimal combination by adding or subtracting a specific value from
  2677. all quantizers and adjusting some individual quantizer a little.
  2678.  
  2679. This method produces similar quality with the FAAC method and is the default.
  2680.  
  2681.  
  2682. =item B<fast>
  2683.  
  2684. Constant quantizer method.
  2685.  
  2686. This method sets a constant quantizer for all bands. This is the fastest of all
  2687. the methods, yet produces the worst quality.
  2688.  
  2689.  
  2690. =back
  2691.  
  2692.  
  2693.  
  2694. =back
  2695.  
  2696.  
  2697.  
  2698. =head2 ac3 and ac3_fixed
  2699.  
  2700.  
  2701. AC-3 audio encoders.
  2702.  
  2703. These encoders implement part of ATSC A/52:2010 and ETSI TS 102 366, as well as
  2704. the undocumented RealAudio 3 (a.k.a. dnet).
  2705.  
  2706. The I<ac3> encoder uses floating-point math, while the I<ac3_fixed>
  2707. encoder only uses fixed-point integer math. This does not mean that one is
  2708. always faster, just that one or the other may be better suited to a
  2709. particular system. The floating-point encoder will generally produce better
  2710. quality audio for a given bitrate. The I<ac3_fixed> encoder is not the
  2711. default codec for any of the output formats, so it must be specified explicitly
  2712. using the option C<-acodec ac3_fixed> in order to use it.
  2713.  
  2714.  
  2715. =head3 AC-3 Metadata
  2716.  
  2717.  
  2718. The AC-3 metadata options are used to set parameters that describe the audio,
  2719. but in most cases do not affect the audio encoding itself. Some of the options
  2720. do directly affect or influence the decoding and playback of the resulting
  2721. bitstream, while others are just for informational purposes. A few of the
  2722. options will add bits to the output stream that could otherwise be used for
  2723. audio data, and will thus affect the quality of the output. Those will be
  2724. indicated accordingly with a note in the option list below.
  2725.  
  2726. These parameters are described in detail in several publicly-available
  2727. documents.
  2728.  
  2729. =over 4
  2730.  
  2731.  
  2732. =item *<E<lt>B<http://www.atsc.org/cms/standards/a_52-2010.pdf>E<gt>>
  2733.  
  2734.  
  2735. =item *<E<lt>B<http://www.atsc.org/cms/standards/a_54a_with_corr_1.pdf>E<gt>>
  2736.  
  2737.  
  2738. =item *<E<lt>B<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/18_Metadata.Guide.pdf>E<gt>>
  2739.  
  2740.  
  2741. =item *<E<lt>B<http://www.dolby.com/uploadedFiles/zz-_Shared_Assets/English_PDFs/Professional/46_DDEncodingGuidelines.pdf>E<gt>>
  2742.  
  2743.  
  2744. =back
  2745.  
  2746.  
  2747.  
  2748. =head4 Metadata Control Options
  2749.  
  2750.  
  2751.  
  2752. =over 4
  2753.  
  2754.  
  2755.  
  2756. =item B<-per_frame_metadata> I<boolean>
  2757.  
  2758. Allow Per-Frame Metadata. Specifies if the encoder should check for changing
  2759. metadata for each frame.
  2760.  
  2761. =over 4
  2762.  
  2763.  
  2764. =item B<0>
  2765.  
  2766. The metadata values set at initialization will be used for every frame in the
  2767. stream. (default)
  2768.  
  2769. =item B<1>
  2770.  
  2771. Metadata values can be changed before encoding each frame.
  2772.  
  2773. =back
  2774.  
  2775.  
  2776.  
  2777. =back
  2778.  
  2779.  
  2780.  
  2781. =head4 Downmix Levels
  2782.  
  2783.  
  2784.  
  2785. =over 4
  2786.  
  2787.  
  2788.  
  2789. =item B<-center_mixlev> I<level>
  2790.  
  2791. Center Mix Level. The amount of gain the decoder should apply to the center
  2792. channel when downmixing to stereo. This field will only be written to the
  2793. bitstream if a center channel is present. The value is specified as a scale
  2794. factor. There are 3 valid values:
  2795.  
  2796. =over 4
  2797.  
  2798.  
  2799. =item B<0.707>
  2800.  
  2801. Apply -3dB gain
  2802.  
  2803. =item B<0.595>
  2804.  
  2805. Apply -4.5dB gain (default)
  2806.  
  2807. =item B<0.500>
  2808.  
  2809. Apply -6dB gain
  2810.  
  2811. =back
  2812.  
  2813.  
  2814.  
  2815. =item B<-surround_mixlev> I<level>
  2816.  
  2817. Surround Mix Level. The amount of gain the decoder should apply to the surround
  2818. channel(s) when downmixing to stereo. This field will only be written to the
  2819. bitstream if one or more surround channels are present. The value is specified
  2820. as a scale factor.  There are 3 valid values:
  2821.  
  2822. =over 4
  2823.  
  2824.  
  2825. =item B<0.707>
  2826.  
  2827. Apply -3dB gain
  2828.  
  2829. =item B<0.500>
  2830.  
  2831. Apply -6dB gain (default)
  2832.  
  2833. =item B<0.000>
  2834.  
  2835. Silence Surround Channel(s)
  2836.  
  2837. =back
  2838.  
  2839.  
  2840.  
  2841. =back
  2842.  
  2843.  
  2844.  
  2845. =head4 Audio Production Information
  2846.  
  2847. Audio Production Information is optional information describing the mixing
  2848. environment.  Either none or both of the fields are written to the bitstream.
  2849.  
  2850.  
  2851. =over 4
  2852.  
  2853.  
  2854.  
  2855. =item B<-mixing_level> I<number>
  2856.  
  2857. Mixing Level. Specifies peak sound pressure level (SPL) in the production
  2858. environment when the mix was mastered. Valid values are 80 to 111, or -1 for
  2859. unknown or not indicated. The default value is -1, but that value cannot be
  2860. used if the Audio Production Information is written to the bitstream. Therefore,
  2861. if the C<room_type> option is not the default value, the C<mixing_level>
  2862. option must not be -1.
  2863.  
  2864.  
  2865. =item B<-room_type> I<type>
  2866.  
  2867. Room Type. Describes the equalization used during the final mixing session at
  2868. the studio or on the dubbing stage. A large room is a dubbing stage with the
  2869. industry standard X-curve equalization; a small room has flat equalization.
  2870. This field will not be written to the bitstream if both the C<mixing_level>
  2871. option and the C<room_type> option have the default values.
  2872.  
  2873. =over 4
  2874.  
  2875.  
  2876. =item B<0>
  2877.  
  2878.  
  2879. =item B<notindicated>
  2880.  
  2881. Not Indicated (default)
  2882.  
  2883. =item B<1>
  2884.  
  2885.  
  2886. =item B<large>
  2887.  
  2888. Large Room
  2889.  
  2890. =item B<2>
  2891.  
  2892.  
  2893. =item B<small>
  2894.  
  2895. Small Room
  2896.  
  2897. =back
  2898.  
  2899.  
  2900.  
  2901. =back
  2902.  
  2903.  
  2904.  
  2905. =head4 Other Metadata Options
  2906.  
  2907.  
  2908.  
  2909. =over 4
  2910.  
  2911.  
  2912.  
  2913. =item B<-copyright> I<boolean>
  2914.  
  2915. Copyright Indicator. Specifies whether a copyright exists for this audio.
  2916.  
  2917. =over 4
  2918.  
  2919.  
  2920. =item B<0>
  2921.  
  2922.  
  2923. =item B<off>
  2924.  
  2925. No Copyright Exists (default)
  2926.  
  2927. =item B<1>
  2928.  
  2929.  
  2930. =item B<on>
  2931.  
  2932. Copyright Exists
  2933.  
  2934. =back
  2935.  
  2936.  
  2937.  
  2938. =item B<-dialnorm> I<value>
  2939.  
  2940. Dialogue Normalization. Indicates how far the average dialogue level of the
  2941. program is below digital 100% full scale (0 dBFS). This parameter determines a
  2942. level shift during audio reproduction that sets the average volume of the
  2943. dialogue to a preset level. The goal is to match volume level between program
  2944. sources. A value of -31dB will result in no volume level change, relative to
  2945. the source volume, during audio reproduction. Valid values are whole numbers in
  2946. the range -31 to -1, with -31 being the default.
  2947.  
  2948.  
  2949. =item B<-dsur_mode> I<mode>
  2950.  
  2951. Dolby Surround Mode. Specifies whether the stereo signal uses Dolby Surround
  2952. (Pro Logic). This field will only be written to the bitstream if the audio
  2953. stream is stereo. Using this option does B<NOT> mean the encoder will actually
  2954. apply Dolby Surround processing.
  2955.  
  2956. =over 4
  2957.  
  2958.  
  2959. =item B<0>
  2960.  
  2961.  
  2962. =item B<notindicated>
  2963.  
  2964. Not Indicated (default)
  2965.  
  2966. =item B<1>
  2967.  
  2968.  
  2969. =item B<off>
  2970.  
  2971. Not Dolby Surround Encoded
  2972.  
  2973. =item B<2>
  2974.  
  2975.  
  2976. =item B<on>
  2977.  
  2978. Dolby Surround Encoded
  2979.  
  2980. =back
  2981.  
  2982.  
  2983.  
  2984. =item B<-original> I<boolean>
  2985.  
  2986. Original Bit Stream Indicator. Specifies whether this audio is from the
  2987. original source and not a copy.
  2988.  
  2989. =over 4
  2990.  
  2991.  
  2992. =item B<0>
  2993.  
  2994.  
  2995. =item B<off>
  2996.  
  2997. Not Original Source
  2998.  
  2999. =item B<1>
  3000.  
  3001.  
  3002. =item B<on>
  3003.  
  3004. Original Source (default)
  3005.  
  3006. =back
  3007.  
  3008.  
  3009.  
  3010. =back
  3011.  
  3012.  
  3013.  
  3014. =head3 Extended Bitstream Information
  3015.  
  3016. The extended bitstream options are part of the Alternate Bit Stream Syntax as
  3017. specified in Annex D of the A/52:2010 standard. It is grouped into 2 parts.
  3018. If any one parameter in a group is specified, all values in that group will be
  3019. written to the bitstream.  Default values are used for those that are written
  3020. but have not been specified.  If the mixing levels are written, the decoder
  3021. will use these values instead of the ones specified in the C<center_mixlev>
  3022. and C<surround_mixlev> options if it supports the Alternate Bit Stream
  3023. Syntax.
  3024.  
  3025.  
  3026. =head4 Extended Bitstream Information - Part 1
  3027.  
  3028.  
  3029.  
  3030. =over 4
  3031.  
  3032.  
  3033.  
  3034. =item B<-dmix_mode> I<mode>
  3035.  
  3036. Preferred Stereo Downmix Mode. Allows the user to select either Lt/Rt
  3037. (Dolby Surround) or Lo/Ro (normal stereo) as the preferred stereo downmix mode.
  3038.  
  3039. =over 4
  3040.  
  3041.  
  3042. =item B<0>
  3043.  
  3044.  
  3045. =item B<notindicated>
  3046.  
  3047. Not Indicated (default)
  3048.  
  3049. =item B<1>
  3050.  
  3051.  
  3052. =item B<ltrt>
  3053.  
  3054. Lt/Rt Downmix Preferred
  3055.  
  3056. =item B<2>
  3057.  
  3058.  
  3059. =item B<loro>
  3060.  
  3061. Lo/Ro Downmix Preferred
  3062.  
  3063. =back
  3064.  
  3065.  
  3066.  
  3067. =item B<-ltrt_cmixlev> I<level>
  3068.  
  3069. Lt/Rt Center Mix Level. The amount of gain the decoder should apply to the
  3070. center channel when downmixing to stereo in Lt/Rt mode.
  3071.  
  3072. =over 4
  3073.  
  3074.  
  3075. =item B<1.414>
  3076.  
  3077. Apply +3dB gain
  3078.  
  3079. =item B<1.189>
  3080.  
  3081. Apply +1.5dB gain
  3082.  
  3083. =item B<1.000>
  3084.  
  3085. Apply 0dB gain
  3086.  
  3087. =item B<0.841>
  3088.  
  3089. Apply -1.5dB gain
  3090.  
  3091. =item B<0.707>
  3092.  
  3093. Apply -3.0dB gain
  3094.  
  3095. =item B<0.595>
  3096.  
  3097. Apply -4.5dB gain (default)
  3098.  
  3099. =item B<0.500>
  3100.  
  3101. Apply -6.0dB gain
  3102.  
  3103. =item B<0.000>
  3104.  
  3105. Silence Center Channel
  3106.  
  3107. =back
  3108.  
  3109.  
  3110.  
  3111. =item B<-ltrt_surmixlev> I<level>
  3112.  
  3113. Lt/Rt Surround Mix Level. The amount of gain the decoder should apply to the
  3114. surround channel(s) when downmixing to stereo in Lt/Rt mode.
  3115.  
  3116. =over 4
  3117.  
  3118.  
  3119. =item B<0.841>
  3120.  
  3121. Apply -1.5dB gain
  3122.  
  3123. =item B<0.707>
  3124.  
  3125. Apply -3.0dB gain
  3126.  
  3127. =item B<0.595>
  3128.  
  3129. Apply -4.5dB gain
  3130.  
  3131. =item B<0.500>
  3132.  
  3133. Apply -6.0dB gain (default)
  3134.  
  3135. =item B<0.000>
  3136.  
  3137. Silence Surround Channel(s)
  3138.  
  3139. =back
  3140.  
  3141.  
  3142.  
  3143. =item B<-loro_cmixlev> I<level>
  3144.  
  3145. Lo/Ro Center Mix Level. The amount of gain the decoder should apply to the
  3146. center channel when downmixing to stereo in Lo/Ro mode.
  3147.  
  3148. =over 4
  3149.  
  3150.  
  3151. =item B<1.414>
  3152.  
  3153. Apply +3dB gain
  3154.  
  3155. =item B<1.189>
  3156.  
  3157. Apply +1.5dB gain
  3158.  
  3159. =item B<1.000>
  3160.  
  3161. Apply 0dB gain
  3162.  
  3163. =item B<0.841>
  3164.  
  3165. Apply -1.5dB gain
  3166.  
  3167. =item B<0.707>
  3168.  
  3169. Apply -3.0dB gain
  3170.  
  3171. =item B<0.595>
  3172.  
  3173. Apply -4.5dB gain (default)
  3174.  
  3175. =item B<0.500>
  3176.  
  3177. Apply -6.0dB gain
  3178.  
  3179. =item B<0.000>
  3180.  
  3181. Silence Center Channel
  3182.  
  3183. =back
  3184.  
  3185.  
  3186.  
  3187. =item B<-loro_surmixlev> I<level>
  3188.  
  3189. Lo/Ro Surround Mix Level. The amount of gain the decoder should apply to the
  3190. surround channel(s) when downmixing to stereo in Lo/Ro mode.
  3191.  
  3192. =over 4
  3193.  
  3194.  
  3195. =item B<0.841>
  3196.  
  3197. Apply -1.5dB gain
  3198.  
  3199. =item B<0.707>
  3200.  
  3201. Apply -3.0dB gain
  3202.  
  3203. =item B<0.595>
  3204.  
  3205. Apply -4.5dB gain
  3206.  
  3207. =item B<0.500>
  3208.  
  3209. Apply -6.0dB gain (default)
  3210.  
  3211. =item B<0.000>
  3212.  
  3213. Silence Surround Channel(s)
  3214.  
  3215. =back
  3216.  
  3217.  
  3218.  
  3219. =back
  3220.  
  3221.  
  3222.  
  3223. =head4 Extended Bitstream Information - Part 2
  3224.  
  3225.  
  3226.  
  3227. =over 4
  3228.  
  3229.  
  3230.  
  3231. =item B<-dsurex_mode> I<mode>
  3232.  
  3233. Dolby Surround EX Mode. Indicates whether the stream uses Dolby Surround EX
  3234. (7.1 matrixed to 5.1). Using this option does B<NOT> mean the encoder will actually
  3235. apply Dolby Surround EX processing.
  3236.  
  3237. =over 4
  3238.  
  3239.  
  3240. =item B<0>
  3241.  
  3242.  
  3243. =item B<notindicated>
  3244.  
  3245. Not Indicated (default)
  3246.  
  3247. =item B<1>
  3248.  
  3249.  
  3250. =item B<on>
  3251.  
  3252. Dolby Surround EX Off
  3253.  
  3254. =item B<2>
  3255.  
  3256.  
  3257. =item B<off>
  3258.  
  3259. Dolby Surround EX On
  3260.  
  3261. =back
  3262.  
  3263.  
  3264.  
  3265. =item B<-dheadphone_mode> I<mode>
  3266.  
  3267. Dolby Headphone Mode. Indicates whether the stream uses Dolby Headphone
  3268. encoding (multi-channel matrixed to 2.0 for use with headphones). Using this
  3269. option does B<NOT> mean the encoder will actually apply Dolby Headphone
  3270. processing.
  3271.  
  3272. =over 4
  3273.  
  3274.  
  3275. =item B<0>
  3276.  
  3277.  
  3278. =item B<notindicated>
  3279.  
  3280. Not Indicated (default)
  3281.  
  3282. =item B<1>
  3283.  
  3284.  
  3285. =item B<on>
  3286.  
  3287. Dolby Headphone Off
  3288.  
  3289. =item B<2>
  3290.  
  3291.  
  3292. =item B<off>
  3293.  
  3294. Dolby Headphone On
  3295.  
  3296. =back
  3297.  
  3298.  
  3299.  
  3300. =item B<-ad_conv_type> I<type>
  3301.  
  3302. A/D Converter Type. Indicates whether the audio has passed through HDCD A/D
  3303. conversion.
  3304.  
  3305. =over 4
  3306.  
  3307.  
  3308. =item B<0>
  3309.  
  3310.  
  3311. =item B<standard>
  3312.  
  3313. Standard A/D Converter (default)
  3314.  
  3315. =item B<1>
  3316.  
  3317.  
  3318. =item B<hdcd>
  3319.  
  3320. HDCD A/D Converter
  3321.  
  3322. =back
  3323.  
  3324.  
  3325.  
  3326. =back
  3327.  
  3328.  
  3329.  
  3330. =head3 Other AC-3 Encoding Options
  3331.  
  3332.  
  3333.  
  3334. =over 4
  3335.  
  3336.  
  3337.  
  3338. =item B<-stereo_rematrixing> I<boolean>
  3339.  
  3340. Stereo Rematrixing. Enables/Disables use of rematrixing for stereo input. This
  3341. is an optional AC-3 feature that increases quality by selectively encoding
  3342. the left/right channels as mid/side. This option is enabled by default, and it
  3343. is highly recommended that it be left as enabled except for testing purposes.
  3344.  
  3345.  
  3346. =back
  3347.  
  3348.  
  3349.  
  3350. =head3 Floating-Point-Only AC-3 Encoding Options
  3351.  
  3352.  
  3353. These options are only valid for the floating-point encoder and do not exist
  3354. for the fixed-point encoder due to the corresponding features not being
  3355. implemented in fixed-point.
  3356.  
  3357.  
  3358. =over 4
  3359.  
  3360.  
  3361.  
  3362. =item B<-channel_coupling> I<boolean>
  3363.  
  3364. Enables/Disables use of channel coupling, which is an optional AC-3 feature
  3365. that increases quality by combining high frequency information from multiple
  3366. channels into a single channel. The per-channel high frequency information is
  3367. sent with less accuracy in both the frequency and time domains. This allows
  3368. more bits to be used for lower frequencies while preserving enough information
  3369. to reconstruct the high frequencies. This option is enabled by default for the
  3370. floating-point encoder and should generally be left as enabled except for
  3371. testing purposes or to increase encoding speed.
  3372.  
  3373. =over 4
  3374.  
  3375.  
  3376. =item B<-1>
  3377.  
  3378.  
  3379. =item B<auto>
  3380.  
  3381. Selected by Encoder (default)
  3382.  
  3383. =item B<0>
  3384.  
  3385.  
  3386. =item B<off>
  3387.  
  3388. Disable Channel Coupling
  3389.  
  3390. =item B<1>
  3391.  
  3392.  
  3393. =item B<on>
  3394.  
  3395. Enable Channel Coupling
  3396.  
  3397. =back
  3398.  
  3399.  
  3400.  
  3401. =item B<-cpl_start_band> I<number>
  3402.  
  3403. Coupling Start Band. Sets the channel coupling start band, from 1 to 15. If a
  3404. value higher than the bandwidth is used, it will be reduced to 1 less than the
  3405. coupling end band. If I<auto> is used, the start band will be determined by
  3406. the encoder based on the bit rate, sample rate, and channel layout. This option
  3407. has no effect if channel coupling is disabled.
  3408.  
  3409. =over 4
  3410.  
  3411.  
  3412. =item B<-1>
  3413.  
  3414.  
  3415. =item B<auto>
  3416.  
  3417. Selected by Encoder (default)
  3418.  
  3419. =back
  3420.  
  3421.  
  3422.  
  3423. =back
  3424.  
  3425.  
  3426.  
  3427.  
  3428. =head2 flac
  3429.  
  3430.  
  3431. FLAC (Free Lossless Audio Codec) Encoder
  3432.  
  3433.  
  3434. =head3 Options
  3435.  
  3436.  
  3437. The following options are supported by FFmpeg's flac encoder.
  3438.  
  3439.  
  3440. =over 4
  3441.  
  3442.  
  3443. =item B<compression_level>
  3444.  
  3445. Sets the compression level, which chooses defaults for many other options
  3446. if they are not set explicitly.
  3447.  
  3448.  
  3449. =item B<frame_size>
  3450.  
  3451. Sets the size of the frames in samples per channel.
  3452.  
  3453.  
  3454. =item B<lpc_coeff_precision>
  3455.  
  3456. Sets the LPC coefficient precision, valid values are from 1 to 15, 15 is the
  3457. default.
  3458.  
  3459.  
  3460. =item B<lpc_type>
  3461.  
  3462. Sets the first stage LPC algorithm
  3463.  
  3464. =over 4
  3465.  
  3466.  
  3467. =item B<none>
  3468.  
  3469. LPC is not used
  3470.  
  3471.  
  3472. =item B<fixed>
  3473.  
  3474. fixed LPC coefficients
  3475.  
  3476.  
  3477. =item B<levinson>
  3478.  
  3479.  
  3480.  
  3481. =item B<cholesky>
  3482.  
  3483.  
  3484. =back
  3485.  
  3486.  
  3487.  
  3488. =item B<lpc_passes>
  3489.  
  3490. Number of passes to use for Cholesky factorization during LPC analysis
  3491.  
  3492.  
  3493. =item B<min_partition_order>
  3494.  
  3495. The minimum partition order
  3496.  
  3497.  
  3498. =item B<max_partition_order>
  3499.  
  3500. The maximum partition order
  3501.  
  3502.  
  3503. =item B<prediction_order_method>
  3504.  
  3505.  
  3506. =over 4
  3507.  
  3508.  
  3509. =item B<estimation>
  3510.  
  3511.  
  3512. =item B<2level>
  3513.  
  3514.  
  3515. =item B<4level>
  3516.  
  3517.  
  3518. =item B<8level>
  3519.  
  3520.  
  3521. =item B<search>
  3522.  
  3523. Bruteforce search
  3524.  
  3525. =item B<log>
  3526.  
  3527.  
  3528. =back
  3529.  
  3530.  
  3531.  
  3532. =item B<ch_mode>
  3533.  
  3534. Channel mode
  3535.  
  3536. =over 4
  3537.  
  3538.  
  3539. =item B<auto>
  3540.  
  3541. The mode is chosen automatically for each frame
  3542.  
  3543. =item B<indep>
  3544.  
  3545. Chanels are independently coded
  3546.  
  3547. =item B<left_side>
  3548.  
  3549.  
  3550. =item B<right_side>
  3551.  
  3552.  
  3553. =item B<mid_side>
  3554.  
  3555.  
  3556. =back
  3557.  
  3558.  
  3559.  
  3560. =item B<exact_rice_parameters>
  3561.  
  3562. Chooses if rice parameters are calculated exactly or approximately.
  3563. if set to 1 then they are chosen exactly, which slows the code down slightly and
  3564. improves compression slightly.
  3565.  
  3566.  
  3567. =item B<multi_dim_quant>
  3568.  
  3569. Multi Dimensional Quantization. If set to 1 then a 2nd stage LPC algorithm is
  3570. applied after the first stage to finetune the coefficients. This is quite slow
  3571. and slightly improves compression.
  3572.  
  3573.  
  3574. =back
  3575.  
  3576.  
  3577.  
  3578.  
  3579. =head2 libfaac
  3580.  
  3581.  
  3582. libfaac AAC (Advanced Audio Coding) encoder wrapper.
  3583.  
  3584. Requires the presence of the libfaac headers and library during
  3585. configuration. You need to explicitly configure the build with
  3586. C<--enable-libfaac --enable-nonfree>.
  3587.  
  3588. This encoder is considered to be of higher quality with respect to the
  3589. B<the native experimental FFmpeg AAC encoder>.
  3590.  
  3591. For more information see the libfaac project at
  3592. E<lt>B<http://www.audiocoding.com/faac.html/>E<gt>.
  3593.  
  3594.  
  3595. =head3 Options
  3596.  
  3597.  
  3598. The following shared FFmpeg codec options are recognized.
  3599.  
  3600. The following options are supported by the libfaac wrapper. The
  3601. B<faac>-equivalent of the options are listed in parentheses.
  3602.  
  3603.  
  3604. =over 4
  3605.  
  3606.  
  3607. =item B<b (>I<-b>B<)>
  3608.  
  3609. Set bit rate in bits/s for ABR (Average Bit Rate) mode. If the bit rate
  3610. is not explicitly specified, it is automatically set to a suitable
  3611. value depending on the selected profile. B<faac> bitrate is
  3612. expressed in kilobits/s.
  3613.  
  3614. Note that libfaac does not support CBR (Constant Bit Rate) but only
  3615. ABR (Average Bit Rate).
  3616.  
  3617. If VBR mode is enabled this option is ignored.
  3618.  
  3619.  
  3620. =item B<ar (>I<-R>B<)>
  3621.  
  3622. Set audio sampling rate (in Hz).
  3623.  
  3624.  
  3625. =item B<ac (>I<-c>B<)>
  3626.  
  3627. Set the number of audio channels.
  3628.  
  3629.  
  3630. =item B<cutoff (>I<-C>B<)>
  3631.  
  3632. Set cutoff frequency. If not specified (or explicitly set to 0) it
  3633. will use a value automatically computed by the library. Default value
  3634. is 0.
  3635.  
  3636.  
  3637. =item B<profile>
  3638.  
  3639. Set audio profile.
  3640.  
  3641. The following profiles are recognized:
  3642.  
  3643. =over 4
  3644.  
  3645.  
  3646. =item B<aac_main>
  3647.  
  3648. Main AAC (Main)
  3649.  
  3650.  
  3651. =item B<aac_low>
  3652.  
  3653. Low Complexity AAC (LC)
  3654.  
  3655.  
  3656. =item B<aac_ssr>
  3657.  
  3658. Scalable Sample Rate (SSR)
  3659.  
  3660.  
  3661. =item B<aac_ltp>
  3662.  
  3663. Long Term Prediction (LTP)
  3664.  
  3665. =back
  3666.  
  3667.  
  3668. If not specified it is set to B<aac_low>.
  3669.  
  3670.  
  3671. =item B<flags +qscale>
  3672.  
  3673. Set constant quality VBR (Variable Bit Rate) mode.
  3674.  
  3675.  
  3676. =item B<global_quality>
  3677.  
  3678. Set quality in VBR mode as an integer number of lambda units.
  3679.  
  3680. Only relevant when VBR mode is enabled with C<flags +qscale>.  The
  3681. value is converted to QP units by dividing it by C<FF_QP2LAMBDA>,
  3682. and used to set the quality value used by libfaac. A reasonable range
  3683. for the option value in QP units is [10-500], the higher the value the
  3684. higher the quality.
  3685.  
  3686.  
  3687. =item B<q (>I<-q>B<)>
  3688.  
  3689. Enable VBR mode when set to a non-negative value, and set constant
  3690. quality value as a double floating point value in QP units.
  3691.  
  3692. The value sets the quality value used by libfaac. A reasonable range
  3693. for the option value is [10-500], the higher the value the higher the
  3694. quality.
  3695.  
  3696. This option is valid only using the B<ffmpeg> command-line
  3697. tool. For library interface users, use B<global_quality>.
  3698.  
  3699. =back
  3700.  
  3701.  
  3702.  
  3703. =head3 Examples
  3704.  
  3705.  
  3706.  
  3707. =over 4
  3708.  
  3709.  
  3710. =item *
  3711.  
  3712. Use B<ffmpeg> to convert an audio file to ABR 128 kbps AAC in an M4A (MP4)
  3713. container:
  3714.        
  3715.         ffmpeg -i input.wav -codec:a libfaac -b:a 128k -output.m4a
  3716.  
  3717.  
  3718.  
  3719. =item *
  3720.  
  3721. Use B<ffmpeg> to convert an audio file to VBR AAC, using the
  3722. LTP AAC profile:
  3723.        
  3724.         ffmpeg -i input.wav -c:a libfaac -profile:a aac_ltp -q:a 100 output.m4a
  3725.  
  3726.  
  3727. =back
  3728.  
  3729.  
  3730.  
  3731.  
  3732. =head2 libfdk_aac
  3733.  
  3734.  
  3735. libfdk-aac AAC (Advanced Audio Coding) encoder wrapper.
  3736.  
  3737. The libfdk-aac library is based on the Fraunhofer FDK AAC code from
  3738. the Android project.
  3739.  
  3740. Requires the presence of the libfdk-aac headers and library during
  3741. configuration. You need to explicitly configure the build with
  3742. C<--enable-libfdk-aac>. The library is also incompatible with GPL,
  3743. so if you allow the use of GPL, you should configure with
  3744. C<--enable-gpl --enable-nonfree --enable-libfdk-aac>.
  3745.  
  3746. This encoder is considered to be of higher quality with respect to
  3747. both B<the native experimental FFmpeg AAC encoder> and
  3748. B<libfaac>.
  3749.  
  3750. VBR encoding, enabled through the B<vbr> or B<flags
  3751. +qscale> options, is experimental and only works with some
  3752. combinations of parameters.
  3753.  
  3754. Support for encoding 7.1 audio is only available with libfdk-aac 0.1.3 or
  3755. higher.
  3756.  
  3757. For more information see the fdk-aac project at
  3758. E<lt>B<http://sourceforge.net/p/opencore-amr/fdk-aac/>E<gt>.
  3759.  
  3760.  
  3761. =head3 Options
  3762.  
  3763.  
  3764. The following options are mapped on the shared FFmpeg codec options.
  3765.  
  3766.  
  3767. =over 4
  3768.  
  3769.  
  3770. =item B<b>
  3771.  
  3772. Set bit rate in bits/s. If the bitrate is not explicitly specified, it
  3773. is automatically set to a suitable value depending on the selected
  3774. profile.
  3775.  
  3776. In case VBR mode is enabled the option is ignored.
  3777.  
  3778.  
  3779. =item B<ar>
  3780.  
  3781. Set audio sampling rate (in Hz).
  3782.  
  3783.  
  3784. =item B<channels>
  3785.  
  3786. Set the number of audio channels.
  3787.  
  3788.  
  3789. =item B<flags +qscale>
  3790.  
  3791. Enable fixed quality, VBR (Variable Bit Rate) mode.
  3792. Note that VBR is implicitly enabled when the B<vbr> value is
  3793. positive.
  3794.  
  3795.  
  3796. =item B<cutoff>
  3797.  
  3798. Set cutoff frequency. If not specified (or explicitly set to 0) it
  3799. will use a value automatically computed by the library. Default value
  3800. is 0.
  3801.  
  3802.  
  3803. =item B<profile>
  3804.  
  3805. Set audio profile.
  3806.  
  3807. The following profiles are recognized:
  3808.  
  3809. =over 4
  3810.  
  3811.  
  3812. =item B<aac_low>
  3813.  
  3814. Low Complexity AAC (LC)
  3815.  
  3816.  
  3817. =item B<aac_he>
  3818.  
  3819. High Efficiency AAC (HE-AAC)
  3820.  
  3821.  
  3822. =item B<aac_he_v2>
  3823.  
  3824. High Efficiency AAC version 2 (HE-AACv2)
  3825.  
  3826.  
  3827. =item B<aac_ld>
  3828.  
  3829. Low Delay AAC (LD)
  3830.  
  3831.  
  3832. =item B<aac_eld>
  3833.  
  3834. Enhanced Low Delay AAC (ELD)
  3835.  
  3836. =back
  3837.  
  3838.  
  3839. If not specified it is set to B<aac_low>.
  3840.  
  3841. =back
  3842.  
  3843.  
  3844. The following are private options of the libfdk_aac encoder.
  3845.  
  3846.  
  3847. =over 4
  3848.  
  3849.  
  3850. =item B<afterburner>
  3851.  
  3852. Enable afterburner feature if set to 1, disabled if set to 0. This
  3853. improves the quality but also the required processing power.
  3854.  
  3855. Default value is 1.
  3856.  
  3857.  
  3858. =item B<eld_sbr>
  3859.  
  3860. Enable SBR (Spectral Band Replication) for ELD if set to 1, disabled
  3861. if set to 0.
  3862.  
  3863. Default value is 0.
  3864.  
  3865.  
  3866. =item B<signaling>
  3867.  
  3868. Set SBR/PS signaling style.
  3869.  
  3870. It can assume one of the following values:
  3871.  
  3872. =over 4
  3873.  
  3874.  
  3875. =item B<default>
  3876.  
  3877. choose signaling implicitly (explicit hierarchical by default,
  3878. implicit if global header is disabled)
  3879.  
  3880.  
  3881. =item B<implicit>
  3882.  
  3883. implicit backwards compatible signaling
  3884.  
  3885.  
  3886. =item B<explicit_sbr>
  3887.  
  3888. explicit SBR, implicit PS signaling
  3889.  
  3890.  
  3891. =item B<explicit_hierarchical>
  3892.  
  3893. explicit hierarchical signaling
  3894.  
  3895. =back
  3896.  
  3897.  
  3898. Default value is B<default>.
  3899.  
  3900.  
  3901. =item B<latm>
  3902.  
  3903. Output LATM/LOAS encapsulated data if set to 1, disabled if set to 0.
  3904.  
  3905. Default value is 0.
  3906.  
  3907.  
  3908. =item B<header_period>
  3909.  
  3910. Set StreamMuxConfig and PCE repetition period (in frames) for sending
  3911. in-band configuration buffers within LATM/LOAS transport layer.
  3912.  
  3913. Must be a 16-bits non-negative integer.
  3914.  
  3915. Default value is 0.
  3916.  
  3917.  
  3918. =item B<vbr>
  3919.  
  3920. Set VBR mode, from 1 to 5. 1 is lowest quality (though still pretty
  3921. good) and 5 is highest quality. A value of 0 will disable VBR, and CBR
  3922. (Constant Bit Rate) is enabled.
  3923.  
  3924. Currently only the B<aac_low> profile supports VBR encoding.
  3925.  
  3926. VBR modes 1-5 correspond to roughly the following average bit rates:
  3927.  
  3928.  
  3929. =over 4
  3930.  
  3931.  
  3932. =item B<1>
  3933.  
  3934. 32 kbps/channel
  3935.  
  3936. =item B<2>
  3937.  
  3938. 40 kbps/channel
  3939.  
  3940. =item B<3>
  3941.  
  3942. 48-56 kbps/channel
  3943.  
  3944. =item B<4>
  3945.  
  3946. 64 kbps/channel
  3947.  
  3948. =item B<5>
  3949.  
  3950. about 80-96 kbps/channel
  3951.  
  3952. =back
  3953.  
  3954.  
  3955. Default value is 0.
  3956.  
  3957. =back
  3958.  
  3959.  
  3960.  
  3961. =head3 Examples
  3962.  
  3963.  
  3964.  
  3965. =over 4
  3966.  
  3967.  
  3968. =item *
  3969.  
  3970. Use B<ffmpeg> to convert an audio file to VBR AAC in an M4A (MP4)
  3971. container:
  3972.        
  3973.         ffmpeg -i input.wav -codec:a libfdk_aac -vbr 3 output.m4a
  3974.  
  3975.  
  3976.  
  3977. =item *
  3978.  
  3979. Use B<ffmpeg> to convert an audio file to CBR 64k kbps AAC, using the
  3980. High-Efficiency AAC profile:
  3981.        
  3982.         ffmpeg -i input.wav -c:a libfdk_aac -profile:a aac_he -b:a 64k output.m4a
  3983.  
  3984.  
  3985. =back
  3986.  
  3987.  
  3988.  
  3989.  
  3990. =head2 libmp3lame
  3991.  
  3992.  
  3993. LAME (Lame Ain't an MP3 Encoder) MP3 encoder wrapper.
  3994.  
  3995. Requires the presence of the libmp3lame headers and library during
  3996. configuration. You need to explicitly configure the build with
  3997. C<--enable-libmp3lame>.
  3998.  
  3999. See B<libshine> for a fixed-point MP3 encoder, although with a
  4000. lower quality.
  4001.  
  4002.  
  4003. =head3 Options
  4004.  
  4005.  
  4006. The following options are supported by the libmp3lame wrapper. The
  4007. B<lame>-equivalent of the options are listed in parentheses.
  4008.  
  4009.  
  4010. =over 4
  4011.  
  4012.  
  4013. =item B<b (>I<-b>B<)>
  4014.  
  4015. Set bitrate expressed in bits/s for CBR or ABR. LAME C<bitrate> is
  4016. expressed in kilobits/s.
  4017.  
  4018.  
  4019. =item B<q (>I<-V>B<)>
  4020.  
  4021. Set constant quality setting for VBR. This option is valid only
  4022. using the B<ffmpeg> command-line tool. For library interface
  4023. users, use B<global_quality>.
  4024.  
  4025.  
  4026. =item B<compression_level (>I<-q>B<)>
  4027.  
  4028. Set algorithm quality. Valid arguments are integers in the 0-9 range,
  4029. with 0 meaning highest quality but slowest, and 9 meaning fastest
  4030. while producing the worst quality.
  4031.  
  4032.  
  4033. =item B<reservoir>
  4034.  
  4035. Enable use of bit reservoir when set to 1. Default value is 1. LAME
  4036. has this enabled by default, but can be overridden by use
  4037. B<--nores> option.
  4038.  
  4039.  
  4040. =item B<joint_stereo (>I<-m j>B<)>
  4041.  
  4042. Enable the encoder to use (on a frame by frame basis) either L/R
  4043. stereo or mid/side stereo. Default value is 1.
  4044.  
  4045.  
  4046. =item B<abr (>I<--abr>B<)>
  4047.  
  4048. Enable the encoder to use ABR when set to 1. The B<lame>
  4049. B<--abr> sets the target bitrate, while this options only
  4050. tells FFmpeg to use ABR still relies on B<b> to set bitrate.
  4051.  
  4052.  
  4053. =back
  4054.  
  4055.  
  4056.  
  4057. =head2 libopencore-amrnb
  4058.  
  4059.  
  4060. OpenCORE Adaptive Multi-Rate Narrowband encoder.
  4061.  
  4062. Requires the presence of the libopencore-amrnb headers and library during
  4063. configuration. You need to explicitly configure the build with
  4064. C<--enable-libopencore-amrnb --enable-version3>.
  4065.  
  4066. This is a mono-only encoder. Officially it only supports 8000Hz sample rate,
  4067. but you can override it by setting B<strict> to B<unofficial> or
  4068. lower.
  4069.  
  4070.  
  4071. =head3 Options
  4072.  
  4073.  
  4074.  
  4075. =over 4
  4076.  
  4077.  
  4078.  
  4079. =item B<b>
  4080.  
  4081. Set bitrate in bits per second. Only the following bitrates are supported,
  4082. otherwise libavcodec will round to the nearest valid bitrate.
  4083.  
  4084.  
  4085. =over 4
  4086.  
  4087.  
  4088. =item B<4750>
  4089.  
  4090.  
  4091. =item B<5150>
  4092.  
  4093.  
  4094. =item B<5900>
  4095.  
  4096.  
  4097. =item B<6700>
  4098.  
  4099.  
  4100. =item B<7400>
  4101.  
  4102.  
  4103. =item B<7950>
  4104.  
  4105.  
  4106. =item B<10200>
  4107.  
  4108.  
  4109. =item B<12200>
  4110.  
  4111.  
  4112. =back
  4113.  
  4114.  
  4115.  
  4116. =item B<dtx>
  4117.  
  4118. Allow discontinuous transmission (generate comfort noise) when set to 1. The
  4119. default value is 0 (disabled).
  4120.  
  4121.  
  4122. =back
  4123.  
  4124.  
  4125.  
  4126.  
  4127. =head2 libshine
  4128.  
  4129.  
  4130. Shine Fixed-Point MP3 encoder wrapper.
  4131.  
  4132. Shine is a fixed-point MP3 encoder. It has a far better performance on
  4133. platforms without an FPU, e.g. armel CPUs, and some phones and tablets.
  4134. However, as it is more targeted on performance than quality, it is not on par
  4135. with LAME and other production-grade encoders quality-wise. Also, according to
  4136. the project's homepage, this encoder may not be free of bugs as the code was
  4137. written a long time ago and the project was dead for at least 5 years.
  4138.  
  4139. This encoder only supports stereo and mono input. This is also CBR-only.
  4140.  
  4141. The original project (last updated in early 2007) is at
  4142. E<lt>B<http://sourceforge.net/projects/libshine-fxp/>E<gt>. We only support the
  4143. updated fork by the Savonet/Liquidsoap project at E<lt>B<https://github.com/savonet/shine>E<gt>.
  4144.  
  4145. Requires the presence of the libshine headers and library during
  4146. configuration. You need to explicitly configure the build with
  4147. C<--enable-libshine>.
  4148.  
  4149. See also B<libmp3lame>.
  4150.  
  4151.  
  4152. =head3 Options
  4153.  
  4154.  
  4155. The following options are supported by the libshine wrapper. The
  4156. B<shineenc>-equivalent of the options are listed in parentheses.
  4157.  
  4158.  
  4159. =over 4
  4160.  
  4161.  
  4162. =item B<b (>I<-b>B<)>
  4163.  
  4164. Set bitrate expressed in bits/s for CBR. B<shineenc> B<-b> option
  4165. is expressed in kilobits/s.
  4166.  
  4167.  
  4168. =back
  4169.  
  4170.  
  4171.  
  4172. =head2 libtwolame
  4173.  
  4174.  
  4175. TwoLAME MP2 encoder wrapper.
  4176.  
  4177. Requires the presence of the libtwolame headers and library during
  4178. configuration. You need to explicitly configure the build with
  4179. C<--enable-libtwolame>.
  4180.  
  4181.  
  4182. =head3 Options
  4183.  
  4184.  
  4185. The following options are supported by the libtwolame wrapper. The
  4186. B<twolame>-equivalent options follow the FFmpeg ones and are in
  4187. parentheses.
  4188.  
  4189.  
  4190. =over 4
  4191.  
  4192.  
  4193. =item B<b (>I<-b>B<)>
  4194.  
  4195. Set bitrate expressed in bits/s for CBR. B<twolame> B<b>
  4196. option is expressed in kilobits/s. Default value is 128k.
  4197.  
  4198.  
  4199. =item B<q (>I<-V>B<)>
  4200.  
  4201. Set quality for experimental VBR support. Maximum value range is
  4202. from -50 to 50, useful range is from -10 to 10. The higher the
  4203. value, the better the quality. This option is valid only using the
  4204. B<ffmpeg> command-line tool. For library interface users,
  4205. use B<global_quality>.
  4206.  
  4207.  
  4208. =item B<mode (>I<--mode>B<)>
  4209.  
  4210. Set the mode of the resulting audio. Possible values:
  4211.  
  4212.  
  4213. =over 4
  4214.  
  4215.  
  4216. =item B<auto>
  4217.  
  4218. Choose mode automatically based on the input. This is the default.
  4219.  
  4220. =item B<stereo>
  4221.  
  4222. Stereo
  4223.  
  4224. =item B<joint_stereo>
  4225.  
  4226. Joint stereo
  4227.  
  4228. =item B<dual_channel>
  4229.  
  4230. Dual channel
  4231.  
  4232. =item B<mono>
  4233.  
  4234. Mono
  4235.  
  4236. =back
  4237.  
  4238.  
  4239.  
  4240. =item B<psymodel (>I<--psyc-mode>B<)>
  4241.  
  4242. Set psychoacoustic model to use in encoding. The argument must be
  4243. an integer between -1 and 4, inclusive. The higher the value, the
  4244. better the quality. The default value is 3.
  4245.  
  4246.  
  4247. =item B<energy_levels (>I<--energy>B<)>
  4248.  
  4249. Enable energy levels extensions when set to 1. The default value is
  4250. 0 (disabled).
  4251.  
  4252.  
  4253. =item B<error_protection (>I<--protect>B<)>
  4254.  
  4255. Enable CRC error protection when set to 1. The default value is 0
  4256. (disabled).
  4257.  
  4258.  
  4259. =item B<copyright (>I<--copyright>B<)>
  4260.  
  4261. Set MPEG audio copyright flag when set to 1. The default value is 0
  4262. (disabled).
  4263.  
  4264.  
  4265. =item B<original (>I<--original>B<)>
  4266.  
  4267. Set MPEG audio original flag when set to 1. The default value is 0
  4268. (disabled).
  4269.  
  4270.  
  4271. =back
  4272.  
  4273.  
  4274.  
  4275.  
  4276. =head2 libvo-aacenc
  4277.  
  4278.  
  4279. VisualOn AAC encoder.
  4280.  
  4281. Requires the presence of the libvo-aacenc headers and library during
  4282. configuration. You need to explicitly configure the build with
  4283. C<--enable-libvo-aacenc --enable-version3>.
  4284.  
  4285. This encoder is considered to be worse than the
  4286. B<native experimental FFmpeg AAC encoder>, according to
  4287. multiple sources.
  4288.  
  4289.  
  4290. =head3 Options
  4291.  
  4292.  
  4293. The VisualOn AAC encoder only support encoding AAC-LC and up to 2
  4294. channels. It is also CBR-only.
  4295.  
  4296.  
  4297. =over 4
  4298.  
  4299.  
  4300.  
  4301. =item B<b>
  4302.  
  4303. Set bit rate in bits/s.
  4304.  
  4305.  
  4306. =back
  4307.  
  4308.  
  4309.  
  4310. =head2 libvo-amrwbenc
  4311.  
  4312.  
  4313. VisualOn Adaptive Multi-Rate Wideband encoder.
  4314.  
  4315. Requires the presence of the libvo-amrwbenc headers and library during
  4316. configuration. You need to explicitly configure the build with
  4317. C<--enable-libvo-amrwbenc --enable-version3>.
  4318.  
  4319. This is a mono-only encoder. Officially it only supports 16000Hz sample
  4320. rate, but you can override it by setting B<strict> to
  4321. B<unofficial> or lower.
  4322.  
  4323.  
  4324. =head3 Options
  4325.  
  4326.  
  4327.  
  4328. =over 4
  4329.  
  4330.  
  4331.  
  4332. =item B<b>
  4333.  
  4334. Set bitrate in bits/s. Only the following bitrates are supported, otherwise
  4335. libavcodec will round to the nearest valid bitrate.
  4336.  
  4337.  
  4338. =over 4
  4339.  
  4340.  
  4341. =item B<6600>
  4342.  
  4343.  
  4344. =item B<8850>
  4345.  
  4346.  
  4347. =item B<12650>
  4348.  
  4349.  
  4350. =item B<14250>
  4351.  
  4352.  
  4353. =item B<15850>
  4354.  
  4355.  
  4356. =item B<18250>
  4357.  
  4358.  
  4359. =item B<19850>
  4360.  
  4361.  
  4362. =item B<23050>
  4363.  
  4364.  
  4365. =item B<23850>
  4366.  
  4367.  
  4368. =back
  4369.  
  4370.  
  4371.  
  4372. =item B<dtx>
  4373.  
  4374. Allow discontinuous transmission (generate comfort noise) when set to 1. The
  4375. default value is 0 (disabled).
  4376.  
  4377.  
  4378. =back
  4379.  
  4380.  
  4381.  
  4382. =head2 libopus
  4383.  
  4384.  
  4385. libopus Opus Interactive Audio Codec encoder wrapper.
  4386.  
  4387. Requires the presence of the libopus headers and library during
  4388. configuration. You need to explicitly configure the build with
  4389. C<--enable-libopus>.
  4390.  
  4391.  
  4392. =head3 Option Mapping
  4393.  
  4394.  
  4395. Most libopus options are modelled after the B<opusenc> utility from
  4396. opus-tools. The following is an option mapping chart describing options
  4397. supported by the libopus wrapper, and their B<opusenc>-equivalent
  4398. in parentheses.
  4399.  
  4400.  
  4401. =over 4
  4402.  
  4403.  
  4404.  
  4405. =item B<b (>I<bitrate>B<)>
  4406.  
  4407. Set the bit rate in bits/s.  FFmpeg's B<b> option is
  4408. expressed in bits/s, while B<opusenc>'s B<bitrate> in
  4409. kilobits/s.
  4410.  
  4411.  
  4412. =item B<vbr (>I<vbr>B<,> I<hard-cbr>B<, and> I<cvbr>B<)>
  4413.  
  4414. Set VBR mode. The FFmpeg B<vbr> option has the following
  4415. valid arguments, with the their B<opusenc> equivalent options
  4416. in parentheses:
  4417.  
  4418.  
  4419. =over 4
  4420.  
  4421.  
  4422. =item B<off (>I<hard-cbr>B<)>
  4423.  
  4424. Use constant bit rate encoding.
  4425.  
  4426.  
  4427. =item B<on (>I<vbr>B<)>
  4428.  
  4429. Use variable bit rate encoding (the default).
  4430.  
  4431.  
  4432. =item B<constrained (>I<cvbr>B<)>
  4433.  
  4434. Use constrained variable bit rate encoding.
  4435.  
  4436. =back
  4437.  
  4438.  
  4439.  
  4440. =item B<compression_level (>I<comp>B<)>
  4441.  
  4442. Set encoding algorithm complexity. Valid options are integers in
  4443. the 0-10 range. 0 gives the fastest encodes but lower quality, while 10
  4444. gives the highest quality but slowest encoding. The default is 10.
  4445.  
  4446.  
  4447. =item B<frame_duration (>I<framesize>B<)>
  4448.  
  4449. Set maximum frame size, or duration of a frame in milliseconds. The
  4450. argument must be exactly the following: 2.5, 5, 10, 20, 40, 60. Smaller
  4451. frame sizes achieve lower latency but less quality at a given bitrate.
  4452. Sizes greater than 20ms are only interesting at fairly low bitrates.
  4453. The default is 20ms.
  4454.  
  4455.  
  4456. =item B<packet_loss (>I<expect-loss>B<)>
  4457.  
  4458. Set expected packet loss percentage. The default is 0.
  4459.  
  4460.  
  4461. =item B<application (N.A.)>
  4462.  
  4463. Set intended application type. Valid options are listed below:
  4464.  
  4465.  
  4466. =over 4
  4467.  
  4468.  
  4469. =item B<voip>
  4470.  
  4471. Favor improved speech intelligibility.
  4472.  
  4473. =item B<audio>
  4474.  
  4475. Favor faithfulness to the input (the default).
  4476.  
  4477. =item B<lowdelay>
  4478.  
  4479. Restrict to only the lowest delay modes.
  4480.  
  4481. =back
  4482.  
  4483.  
  4484.  
  4485. =item B<cutoff (N.A.)>
  4486.  
  4487. Set cutoff bandwidth in Hz. The argument must be exactly one of the
  4488. following: 4000, 6000, 8000, 12000, or 20000, corresponding to
  4489. narrowband, mediumband, wideband, super wideband, and fullband
  4490. respectively. The default is 0 (cutoff disabled).
  4491.  
  4492.  
  4493. =back
  4494.  
  4495.  
  4496.  
  4497. =head2 libvorbis
  4498.  
  4499.  
  4500. libvorbis encoder wrapper.
  4501.  
  4502. Requires the presence of the libvorbisenc headers and library during
  4503. configuration. You need to explicitly configure the build with
  4504. C<--enable-libvorbis>.
  4505.  
  4506.  
  4507. =head3 Options
  4508.  
  4509.  
  4510. The following options are supported by the libvorbis wrapper. The
  4511. B<oggenc>-equivalent of the options are listed in parentheses.
  4512.  
  4513. To get a more accurate and extensive documentation of the libvorbis
  4514. options, consult the libvorbisenc's and B<oggenc>'s documentations.
  4515. See E<lt>B<http://xiph.org/vorbis/>E<gt>,
  4516. E<lt>B<http://wiki.xiph.org/Vorbis-tools>E<gt>, and oggenc(1).
  4517.  
  4518.  
  4519. =over 4
  4520.  
  4521.  
  4522. =item B<b (>I<-b>B<)>
  4523.  
  4524. Set bitrate expressed in bits/s for ABR. B<oggenc> B<-b> is
  4525. expressed in kilobits/s.
  4526.  
  4527.  
  4528. =item B<q (>I<-q>B<)>
  4529.  
  4530. Set constant quality setting for VBR. The value should be a float
  4531. number in the range of -1.0 to 10.0. The higher the value, the better
  4532. the quality. The default value is B<3.0>.
  4533.  
  4534. This option is valid only using the B<ffmpeg> command-line tool.
  4535. For library interface users, use B<global_quality>.
  4536.  
  4537.  
  4538. =item B<cutoff (>I<--advanced-encode-option lowpass_frequency=N>B<)>
  4539.  
  4540. Set cutoff bandwidth in Hz, a value of 0 disables cutoff. B<oggenc>'s
  4541. related option is expressed in kHz. The default value is B<0> (cutoff
  4542. disabled).
  4543.  
  4544.  
  4545. =item B<minrate (>I<-m>B<)>
  4546.  
  4547. Set minimum bitrate expressed in bits/s. B<oggenc> B<-m> is
  4548. expressed in kilobits/s.
  4549.  
  4550.  
  4551. =item B<maxrate (>I<-M>B<)>
  4552.  
  4553. Set maximum bitrate expressed in bits/s. B<oggenc> B<-M> is
  4554. expressed in kilobits/s. This only has effect on ABR mode.
  4555.  
  4556.  
  4557. =item B<iblock (>I<--advanced-encode-option impulse_noisetune=N>B<)>
  4558.  
  4559. Set noise floor bias for impulse blocks. The value is a float number from
  4560. -15.0 to 0.0. A negative bias instructs the encoder to pay special attention
  4561. to the crispness of transients in the encoded audio. The tradeoff for better
  4562. transient response is a higher bitrate.
  4563.  
  4564.  
  4565. =back
  4566.  
  4567.  
  4568.  
  4569.  
  4570. =head2 libwavpack
  4571.  
  4572.  
  4573. A wrapper providing WavPack encoding through libwavpack.
  4574.  
  4575. Only lossless mode using 32-bit integer samples is supported currently.
  4576.  
  4577. Requires the presence of the libwavpack headers and library during
  4578. configuration. You need to explicitly configure the build with
  4579. C<--enable-libwavpack>.
  4580.  
  4581. Note that a libavcodec-native encoder for the WavPack codec exists so users can
  4582. encode audios with this codec without using this encoder. See B<wavpackenc>.
  4583.  
  4584.  
  4585. =head3 Options
  4586.  
  4587.  
  4588. B<wavpack> command line utility's corresponding options are listed in
  4589. parentheses, if any.
  4590.  
  4591.  
  4592. =over 4
  4593.  
  4594.  
  4595. =item B<frame_size (>I<--blocksize>B<)>
  4596.  
  4597. Default is 32768.
  4598.  
  4599.  
  4600. =item B<compression_level>
  4601.  
  4602. Set speed vs. compression tradeoff. Acceptable arguments are listed below:
  4603.  
  4604.  
  4605. =over 4
  4606.  
  4607.  
  4608. =item B<0 (>I<-f>B<)>
  4609.  
  4610. Fast mode.
  4611.  
  4612.  
  4613. =item B<1>
  4614.  
  4615. Normal (default) settings.
  4616.  
  4617.  
  4618. =item B<2 (>I<-h>B<)>
  4619.  
  4620. High quality.
  4621.  
  4622.  
  4623. =item B<3 (>I<-hh>B<)>
  4624.  
  4625. Very high quality.
  4626.  
  4627.  
  4628. =item B<4-8 (>I<-hh -x>I<EXTRAPROC>B<)>
  4629.  
  4630. Same as B<3>, but with extra processing enabled.
  4631.  
  4632. B<4> is the same as B<-x2> and B<8> is the same as B<-x6>.
  4633.  
  4634.  
  4635. =back
  4636.  
  4637.  
  4638. =back
  4639.  
  4640.  
  4641.  
  4642.  
  4643. =head2 wavpack
  4644.  
  4645.  
  4646. WavPack lossless audio encoder.
  4647.  
  4648. This is a libavcodec-native WavPack encoder. There is also an encoder based on
  4649. libwavpack, but there is virtually no reason to use that encoder.
  4650.  
  4651. See also B<libwavpack>.
  4652.  
  4653.  
  4654. =head3 Options
  4655.  
  4656.  
  4657. The equivalent options for B<wavpack> command line utility are listed in
  4658. parentheses.
  4659.  
  4660.  
  4661. =head4 Shared options
  4662.  
  4663.  
  4664. The following shared options are effective for this encoder. Only special notes
  4665. about this particular encoder will be documented here. For the general meaning
  4666. of the options, see B<the Codec Options chapter>.
  4667.  
  4668.  
  4669. =over 4
  4670.  
  4671.  
  4672. =item B<frame_size (>I<--blocksize>B<)>
  4673.  
  4674. For this encoder, the range for this option is between 128 and 131072. Default
  4675. is automatically decided based on sample rate and number of channel.
  4676.  
  4677. For the complete formula of calculating default, see
  4678. F<libavcodec/wavpackenc.c>.
  4679.  
  4680.  
  4681. =item B<compression_level (>I<-f>B<,> I<-h>B<,> I<-hh>B<, and> I<-x>B<)>
  4682.  
  4683. This option's syntax is consistent with B<libwavpack>'s.
  4684.  
  4685. =back
  4686.  
  4687.  
  4688.  
  4689. =head4 Private options
  4690.  
  4691.  
  4692.  
  4693. =over 4
  4694.  
  4695.  
  4696. =item B<joint_stereo (>I<-j>B<)>
  4697.  
  4698. Set whether to enable joint stereo. Valid values are:
  4699.  
  4700.  
  4701. =over 4
  4702.  
  4703.  
  4704. =item B<on (>I<1>B<)>
  4705.  
  4706. Force mid/side audio encoding.
  4707.  
  4708. =item B<off (>I<0>B<)>
  4709.  
  4710. Force left/right audio encoding.
  4711.  
  4712. =item B<auto>
  4713.  
  4714. Let the encoder decide automatically.
  4715.  
  4716. =back
  4717.  
  4718.  
  4719.  
  4720. =item B<optimize_mono>
  4721.  
  4722. Set whether to enable optimization for mono. This option is only effective for
  4723. non-mono streams. Available values:
  4724.  
  4725.  
  4726. =over 4
  4727.  
  4728.  
  4729. =item B<on>
  4730.  
  4731. enabled
  4732.  
  4733. =item B<off>
  4734.  
  4735. disabled
  4736.  
  4737. =back
  4738.  
  4739.  
  4740.  
  4741. =back
  4742.  
  4743.  
  4744.  
  4745.  
  4746. =head1 VIDEO ENCODERS
  4747.  
  4748.  
  4749. A description of some of the currently available video encoders
  4750. follows.
  4751.  
  4752.  
  4753. =head2 jpeg2000
  4754.  
  4755.  
  4756. The native jpeg 2000 encoder is lossy by default, the C<-q:v>
  4757. option can be used to set the encoding quality. Lossless encoding
  4758. can be selected with C<-pred 1>.
  4759.  
  4760.  
  4761. =head3 Options
  4762.  
  4763.  
  4764.  
  4765. =over 4
  4766.  
  4767.  
  4768. =item B<format>
  4769.  
  4770. Can be set to either C<j2k> or C<jp2> (the default) that
  4771. makes it possible to store non-rgb pix_fmts.
  4772.  
  4773.  
  4774. =back
  4775.  
  4776.  
  4777.  
  4778. =head2 snow
  4779.  
  4780.  
  4781.  
  4782. =head3 Options
  4783.  
  4784.  
  4785.  
  4786. =over 4
  4787.  
  4788.  
  4789. =item B<iterative_dia_size>
  4790.  
  4791. dia size for the iterative motion estimation
  4792.  
  4793. =back
  4794.  
  4795.  
  4796.  
  4797. =head2 libtheora
  4798.  
  4799.  
  4800. libtheora Theora encoder wrapper.
  4801.  
  4802. Requires the presence of the libtheora headers and library during
  4803. configuration. You need to explicitly configure the build with
  4804. C<--enable-libtheora>.
  4805.  
  4806. For more information about the libtheora project see
  4807. E<lt>B<http://www.theora.org/>E<gt>.
  4808.  
  4809.  
  4810. =head3 Options
  4811.  
  4812.  
  4813. The following global options are mapped to internal libtheora options
  4814. which affect the quality and the bitrate of the encoded stream.
  4815.  
  4816.  
  4817. =over 4
  4818.  
  4819.  
  4820. =item B<b>
  4821.  
  4822. Set the video bitrate in bit/s for CBR (Constant Bit Rate) mode.  In
  4823. case VBR (Variable Bit Rate) mode is enabled this option is ignored.
  4824.  
  4825.  
  4826. =item B<flags>
  4827.  
  4828. Used to enable constant quality mode (VBR) encoding through the
  4829. B<qscale> flag, and to enable the C<pass1> and C<pass2>
  4830. modes.
  4831.  
  4832.  
  4833. =item B<g>
  4834.  
  4835. Set the GOP size.
  4836.  
  4837.  
  4838. =item B<global_quality>
  4839.  
  4840. Set the global quality as an integer in lambda units.
  4841.  
  4842. Only relevant when VBR mode is enabled with C<flags +qscale>. The
  4843. value is converted to QP units by dividing it by C<FF_QP2LAMBDA>,
  4844. clipped in the [0 - 10] range, and then multiplied by 6.3 to get a
  4845. value in the native libtheora range [0-63]. A higher value corresponds
  4846. to a higher quality.
  4847.  
  4848.  
  4849. =item B<q>
  4850.  
  4851. Enable VBR mode when set to a non-negative value, and set constant
  4852. quality value as a double floating point value in QP units.
  4853.  
  4854. The value is clipped in the [0-10] range, and then multiplied by 6.3
  4855. to get a value in the native libtheora range [0-63].
  4856.  
  4857. This option is valid only using the B<ffmpeg> command-line
  4858. tool. For library interface users, use B<global_quality>.
  4859.  
  4860. =back
  4861.  
  4862.  
  4863.  
  4864. =head3 Examples
  4865.  
  4866.  
  4867.  
  4868. =over 4
  4869.  
  4870.  
  4871. =item *
  4872.  
  4873. Set maximum constant quality (VBR) encoding with B<ffmpeg>:
  4874.        
  4875.         ffmpeg -i INPUT -codec:v libtheora -q:v 10 OUTPUT.ogg
  4876.  
  4877.  
  4878.  
  4879. =item *
  4880.  
  4881. Use B<ffmpeg> to convert a CBR 1000 kbps Theora video stream:
  4882.        
  4883.         ffmpeg -i INPUT -codec:v libtheora -b:v 1000k OUTPUT.ogg
  4884.  
  4885.  
  4886. =back
  4887.  
  4888.  
  4889.  
  4890. =head2 libvpx
  4891.  
  4892.  
  4893. VP8/VP9 format supported through libvpx.
  4894.  
  4895. Requires the presence of the libvpx headers and library during configuration.
  4896. You need to explicitly configure the build with C<--enable-libvpx>.
  4897.  
  4898.  
  4899. =head3 Options
  4900.  
  4901.  
  4902. The following options are supported by the libvpx wrapper. The
  4903. B<vpxenc>-equivalent options or values are listed in parentheses
  4904. for easy migration.
  4905.  
  4906. To reduce the duplication of documentation, only the private options
  4907. and some others requiring special attention are documented here. For
  4908. the documentation of the undocumented generic options, see
  4909. B<the Codec Options chapter>.
  4910.  
  4911. To get more documentation of the libvpx options, invoke the command
  4912. B<ffmpeg -h encoder=libvpx>, B<ffmpeg -h encoder=libvpx-vp9> or
  4913. B<vpxenc --help>. Further information is available in the libvpx API
  4914. documentation.
  4915.  
  4916.  
  4917. =over 4
  4918.  
  4919.  
  4920.  
  4921. =item B<b (>I<target-bitrate>B<)>
  4922.  
  4923. Set bitrate in bits/s. Note that FFmpeg's B<b> option is
  4924. expressed in bits/s, while B<vpxenc>'s B<target-bitrate> is in
  4925. kilobits/s.
  4926.  
  4927.  
  4928. =item B<g (>I<kf-max-dist>B<)>
  4929.  
  4930.  
  4931.  
  4932. =item B<keyint_min (>I<kf-min-dist>B<)>
  4933.  
  4934.  
  4935.  
  4936. =item B<qmin (>I<min-q>B<)>
  4937.  
  4938.  
  4939.  
  4940. =item B<qmax (>I<max-q>B<)>
  4941.  
  4942.  
  4943.  
  4944. =item B<bufsize (>I<buf-sz>B<,> I<buf-optimal-sz>B<)>
  4945.  
  4946. Set ratecontrol buffer size (in bits). Note B<vpxenc>'s options are
  4947. specified in milliseconds, the libvpx wrapper converts this value as follows:
  4948. C<buf-sz = bufsize * 1000 / bitrate>,
  4949. C<buf-optimal-sz = bufsize * 1000 / bitrate * 5 / 6>.
  4950.  
  4951.  
  4952. =item B<rc_init_occupancy (>I<buf-initial-sz>B<)>
  4953.  
  4954. Set number of bits which should be loaded into the rc buffer before decoding
  4955. starts. Note B<vpxenc>'s option is specified in milliseconds, the libvpx
  4956. wrapper converts this value as follows:
  4957. C<rc_init_occupancy * 1000 / bitrate>.
  4958.  
  4959.  
  4960. =item B<undershoot-pct>
  4961.  
  4962. Set datarate undershoot (min) percentage of the target bitrate.
  4963.  
  4964.  
  4965. =item B<overshoot-pct>
  4966.  
  4967. Set datarate overshoot (max) percentage of the target bitrate.
  4968.  
  4969.  
  4970. =item B<skip_threshold (>I<drop-frame>B<)>
  4971.  
  4972.  
  4973.  
  4974. =item B<qcomp (>I<bias-pct>B<)>
  4975.  
  4976.  
  4977.  
  4978. =item B<maxrate (>I<maxsection-pct>B<)>
  4979.  
  4980. Set GOP max bitrate in bits/s. Note B<vpxenc>'s option is specified as a
  4981. percentage of the target bitrate, the libvpx wrapper converts this value as
  4982. follows: C<(maxrate * 100 / bitrate)>.
  4983.  
  4984.  
  4985. =item B<minrate (>I<minsection-pct>B<)>
  4986.  
  4987. Set GOP min bitrate in bits/s. Note B<vpxenc>'s option is specified as a
  4988. percentage of the target bitrate, the libvpx wrapper converts this value as
  4989. follows: C<(minrate * 100 / bitrate)>.
  4990.  
  4991.  
  4992. =item B<minrate, maxrate, b> I<end-usage=cbr>
  4993.  
  4994. C<(minrate == maxrate == bitrate)>.
  4995.  
  4996.  
  4997. =item B<crf (>I<end-usage=cq>B<,> I<cq-level>B<)>
  4998.  
  4999.  
  5000.  
  5001. =item B<quality, deadline (>I<deadline>B<)>
  5002.  
  5003.  
  5004. =over 4
  5005.  
  5006.  
  5007. =item B<best>
  5008.  
  5009. Use best quality deadline. Poorly named and quite slow, this option should be
  5010. avoided as it may give worse quality output than good.
  5011.  
  5012. =item B<good>
  5013.  
  5014. Use good quality deadline. This is a good trade-off between speed and quality
  5015. when used with the B<cpu-used> option.
  5016.  
  5017. =item B<realtime>
  5018.  
  5019. Use realtime quality deadline.
  5020.  
  5021. =back
  5022.  
  5023.  
  5024.  
  5025. =item B<speed, cpu-used (>I<cpu-used>B<)>
  5026.  
  5027. Set quality/speed ratio modifier. Higher values speed up the encode at the cost
  5028. of quality.
  5029.  
  5030.  
  5031. =item B<nr (>I<noise-sensitivity>B<)>
  5032.  
  5033.  
  5034.  
  5035. =item B<static-thresh>
  5036.  
  5037. Set a change threshold on blocks below which they will be skipped by the
  5038. encoder.
  5039.  
  5040.  
  5041. =item B<slices (>I<token-parts>B<)>
  5042.  
  5043. Note that FFmpeg's B<slices> option gives the total number of partitions,
  5044. while B<vpxenc>'s B<token-parts> is given as
  5045. C<log2(partitions)>.
  5046.  
  5047.  
  5048. =item B<max-intra-rate>
  5049.  
  5050. Set maximum I-frame bitrate as a percentage of the target bitrate. A value of 0
  5051. means unlimited.
  5052.  
  5053.  
  5054. =item B<force_key_frames>
  5055.  
  5056. C<VPX_EFLAG_FORCE_KF>
  5057.  
  5058.  
  5059. =item B<Alternate reference frame related>
  5060.  
  5061.  
  5062. =over 4
  5063.  
  5064.  
  5065. =item B<auto-alt-ref>
  5066.  
  5067. Enable use of alternate reference frames (2-pass only).
  5068.  
  5069. =item B<arnr-max-frames>
  5070.  
  5071. Set altref noise reduction max frame count.
  5072.  
  5073. =item B<arnr-type>
  5074.  
  5075. Set altref noise reduction filter type: backward, forward, centered.
  5076.  
  5077. =item B<arnr-strength>
  5078.  
  5079. Set altref noise reduction filter strength.
  5080.  
  5081. =item B<rc-lookahead, lag-in-frames (>I<lag-in-frames>B<)>
  5082.  
  5083. Set number of frames to look ahead for frametype and ratecontrol.
  5084.  
  5085. =back
  5086.  
  5087.  
  5088.  
  5089. =item B<error-resilient>
  5090.  
  5091. Enable error resiliency features.
  5092.  
  5093.  
  5094. =item B<VP9-specific options>
  5095.  
  5096.  
  5097. =over 4
  5098.  
  5099.  
  5100. =item B<lossless>
  5101.  
  5102. Enable lossless mode.
  5103.  
  5104. =item B<tile-columns>
  5105.  
  5106. Set number of tile columns to use. Note this is given as
  5107. C<log2(tile_columns)>. For example, 8 tile columns would be requested by
  5108. setting the B<tile-columns> option to 3.
  5109.  
  5110. =item B<tile-rows>
  5111.  
  5112. Set number of tile rows to use. Note this is given as C<log2(tile_rows)>.
  5113. For example, 4 tile rows would be requested by setting the B<tile-rows>
  5114. option to 2.
  5115.  
  5116. =item B<frame-parallel>
  5117.  
  5118. Enable frame parallel decodability features.
  5119.  
  5120. =item B<aq-mode>
  5121.  
  5122. Set adaptive quantization mode (0: off (default), 1: variance 2: complexity, 3:
  5123. cyclic refresh).
  5124.  
  5125. =item B<colorspace> I<color-space>
  5126.  
  5127. Set input color space. The VP9 bitstream supports signaling the following
  5128. colorspaces:
  5129.  
  5130. =over 4
  5131.  
  5132.  
  5133. =item B<B<rgb> I<sRGB>>
  5134.  
  5135.  
  5136. =item B<B<bt709> I<bt709>>
  5137.  
  5138.  
  5139. =item B<B<unspecified> I<unknown>>
  5140.  
  5141.  
  5142. =item B<B<bt470bg> I<bt601>>
  5143.  
  5144.  
  5145. =item B<B<smpte170m> I<smpte170>>
  5146.  
  5147.  
  5148. =item B<B<smpte240m> I<smpte240>>
  5149.  
  5150.  
  5151. =item B<B<bt2020_ncl> I<bt2020>>
  5152.  
  5153.  
  5154. =back
  5155.  
  5156.  
  5157. =back
  5158.  
  5159.  
  5160.  
  5161. =back
  5162.  
  5163.  
  5164. For more information about libvpx see:
  5165. E<lt>B<http://www.webmproject.org/>E<gt>
  5166.  
  5167.  
  5168.  
  5169. =head2 libwebp
  5170.  
  5171.  
  5172. libwebp WebP Image encoder wrapper
  5173.  
  5174. libwebp is Google's official encoder for WebP images. It can encode in either
  5175. lossy or lossless mode. Lossy images are essentially a wrapper around a VP8
  5176. frame. Lossless images are a separate codec developed by Google.
  5177.  
  5178.  
  5179. =head3 Pixel Format
  5180.  
  5181.  
  5182. Currently, libwebp only supports YUV420 for lossy and RGB for lossless due
  5183. to limitations of the format and libwebp. Alpha is supported for either mode.
  5184. Because of API limitations, if RGB is passed in when encoding lossy or YUV is
  5185. passed in for encoding lossless, the pixel format will automatically be
  5186. converted using functions from libwebp. This is not ideal and is done only for
  5187. convenience.
  5188.  
  5189.  
  5190. =head3 Options
  5191.  
  5192.  
  5193.  
  5194. =over 4
  5195.  
  5196.  
  5197.  
  5198. =item B<-lossless> I<boolean>
  5199.  
  5200. Enables/Disables use of lossless mode. Default is 0.
  5201.  
  5202.  
  5203. =item B<-compression_level> I<integer>
  5204.  
  5205. For lossy, this is a quality/speed tradeoff. Higher values give better quality
  5206. for a given size at the cost of increased encoding time. For lossless, this is
  5207. a size/speed tradeoff. Higher values give smaller size at the cost of increased
  5208. encoding time. More specifically, it controls the number of extra algorithms
  5209. and compression tools used, and varies the combination of these tools. This
  5210. maps to the I<method> option in libwebp. The valid range is 0 to 6.
  5211. Default is 4.
  5212.  
  5213.  
  5214. =item B<-qscale> I<float>
  5215.  
  5216. For lossy encoding, this controls image quality, 0 to 100. For lossless
  5217. encoding, this controls the effort and time spent at compressing more. The
  5218. default value is 75. Note that for usage via libavcodec, this option is called
  5219. I<global_quality> and must be multiplied by I<FF_QP2LAMBDA>.
  5220.  
  5221.  
  5222. =item B<-preset> I<type>
  5223.  
  5224. Configuration preset. This does some automatic settings based on the general
  5225. type of the image.
  5226.  
  5227. =over 4
  5228.  
  5229.  
  5230. =item B<none>
  5231.  
  5232. Do not use a preset.
  5233.  
  5234. =item B<default>
  5235.  
  5236. Use the encoder default.
  5237.  
  5238. =item B<picture>
  5239.  
  5240. Digital picture, like portrait, inner shot
  5241.  
  5242. =item B<photo>
  5243.  
  5244. Outdoor photograph, with natural lighting
  5245.  
  5246. =item B<drawing>
  5247.  
  5248. Hand or line drawing, with high-contrast details
  5249.  
  5250. =item B<icon>
  5251.  
  5252. Small-sized colorful images
  5253.  
  5254. =item B<text>
  5255.  
  5256. Text-like
  5257.  
  5258. =back
  5259.  
  5260.  
  5261.  
  5262. =back
  5263.  
  5264.  
  5265.  
  5266. =head2 libx264, libx264rgb
  5267.  
  5268.  
  5269. x264 H.264/MPEG-4 AVC encoder wrapper.
  5270.  
  5271. This encoder requires the presence of the libx264 headers and library
  5272. during configuration. You need to explicitly configure the build with
  5273. C<--enable-libx264>.
  5274.  
  5275. libx264 supports an impressive number of features, including 8x8 and
  5276. 4x4 adaptive spatial transform, adaptive B-frame placement, CAVLC/CABAC
  5277. entropy coding, interlacing (MBAFF), lossless mode, psy optimizations
  5278. for detail retention (adaptive quantization, psy-RD, psy-trellis).
  5279.  
  5280. Many libx264 encoder options are mapped to FFmpeg global codec
  5281. options, while unique encoder options are provided through private
  5282. options. Additionally the B<x264opts> and B<x264-params>
  5283. private options allows one to pass a list of key=value tuples as accepted
  5284. by the libx264 C<x264_param_parse> function.
  5285.  
  5286. The x264 project website is at
  5287. E<lt>B<http://www.videolan.org/developers/x264.html>E<gt>.
  5288.  
  5289. The libx264rgb encoder is the same as libx264, except it accepts packed RGB
  5290. pixel formats as input instead of YUV.
  5291.  
  5292.  
  5293. =head3 Supported Pixel Formats
  5294.  
  5295.  
  5296. x264 supports 8- to 10-bit color spaces. The exact bit depth is controlled at
  5297. x264's configure time. FFmpeg only supports one bit depth in one particular
  5298. build. In other words, it is not possible to build one FFmpeg with multiple
  5299. versions of x264 with different bit depths.
  5300.  
  5301.  
  5302. =head3 Options
  5303.  
  5304.  
  5305. The following options are supported by the libx264 wrapper. The
  5306. B<x264>-equivalent options or values are listed in parentheses
  5307. for easy migration.
  5308.  
  5309. To reduce the duplication of documentation, only the private options
  5310. and some others requiring special attention are documented here. For
  5311. the documentation of the undocumented generic options, see
  5312. B<the Codec Options chapter>.
  5313.  
  5314. To get a more accurate and extensive documentation of the libx264
  5315. options, invoke the command B<x264 --full-help> or consult
  5316. the libx264 documentation.
  5317.  
  5318.  
  5319. =over 4
  5320.  
  5321.  
  5322. =item B<b (>I<bitrate>B<)>
  5323.  
  5324. Set bitrate in bits/s. Note that FFmpeg's B<b> option is
  5325. expressed in bits/s, while B<x264>'s B<bitrate> is in
  5326. kilobits/s.
  5327.  
  5328.  
  5329. =item B<bf (>I<bframes>B<)>
  5330.  
  5331.  
  5332.  
  5333. =item B<g (>I<keyint>B<)>
  5334.  
  5335.  
  5336.  
  5337. =item B<qmin (>I<qpmin>B<)>
  5338.  
  5339. Minimum quantizer scale.
  5340.  
  5341.  
  5342. =item B<qmax (>I<qpmax>B<)>
  5343.  
  5344. Maximum quantizer scale.
  5345.  
  5346.  
  5347. =item B<qdiff (>I<qpstep>B<)>
  5348.  
  5349. Maximum difference between quantizer scales.
  5350.  
  5351.  
  5352. =item B<qblur (>I<qblur>B<)>
  5353.  
  5354. Quantizer curve blur
  5355.  
  5356.  
  5357. =item B<qcomp (>I<qcomp>B<)>
  5358.  
  5359. Quantizer curve compression factor
  5360.  
  5361.  
  5362. =item B<refs (>I<ref>B<)>
  5363.  
  5364. Number of reference frames each P-frame can use. The range is from I<0-16>.
  5365.  
  5366.  
  5367. =item B<sc_threshold (>I<scenecut>B<)>
  5368.  
  5369. Sets the threshold for the scene change detection.
  5370.  
  5371.  
  5372. =item B<trellis (>I<trellis>B<)>
  5373.  
  5374. Performs Trellis quantization to increase efficiency. Enabled by default.
  5375.  
  5376.  
  5377. =item B<nr  (>I<nr>B<)>
  5378.  
  5379.  
  5380.  
  5381. =item B<me_range (>I<merange>B<)>
  5382.  
  5383. Maximum range of the motion search in pixels.
  5384.  
  5385.  
  5386. =item B<me_method (>I<me>B<)>
  5387.  
  5388. Set motion estimation method. Possible values in the decreasing order
  5389. of speed:
  5390.  
  5391.  
  5392. =over 4
  5393.  
  5394.  
  5395. =item B<dia (>I<dia>B<)>
  5396.  
  5397.  
  5398. =item B<epzs (>I<dia>B<)>
  5399.  
  5400. Diamond search with radius 1 (fastest). B<epzs> is an alias for
  5401. B<dia>.
  5402.  
  5403. =item B<hex (>I<hex>B<)>
  5404.  
  5405. Hexagonal search with radius 2.
  5406.  
  5407. =item B<umh (>I<umh>B<)>
  5408.  
  5409. Uneven multi-hexagon search.
  5410.  
  5411. =item B<esa (>I<esa>B<)>
  5412.  
  5413. Exhaustive search.
  5414.  
  5415. =item B<tesa (>I<tesa>B<)>
  5416.  
  5417. Hadamard exhaustive search (slowest).
  5418.  
  5419. =back
  5420.  
  5421.  
  5422.  
  5423. =item B<subq (>I<subme>B<)>
  5424.  
  5425. Sub-pixel motion estimation method.
  5426.  
  5427.  
  5428. =item B<b_strategy (>I<b-adapt>B<)>
  5429.  
  5430. Adaptive B-frame placement decision algorithm. Use only on first-pass.
  5431.  
  5432.  
  5433. =item B<keyint_min (>I<min-keyint>B<)>
  5434.  
  5435. Minimum GOP size.
  5436.  
  5437.  
  5438. =item B<coder>
  5439.  
  5440. Set entropy encoder. Possible values:
  5441.  
  5442.  
  5443. =over 4
  5444.  
  5445.  
  5446. =item B<ac>
  5447.  
  5448. Enable CABAC.
  5449.  
  5450.  
  5451. =item B<vlc>
  5452.  
  5453. Enable CAVLC and disable CABAC. It generates the same effect as
  5454. B<x264>'s B<--no-cabac> option.
  5455.  
  5456. =back
  5457.  
  5458.  
  5459.  
  5460. =item B<cmp>
  5461.  
  5462. Set full pixel motion estimation comparation algorithm. Possible values:
  5463.  
  5464.  
  5465. =over 4
  5466.  
  5467.  
  5468. =item B<chroma>
  5469.  
  5470. Enable chroma in motion estimation.
  5471.  
  5472.  
  5473. =item B<sad>
  5474.  
  5475. Ignore chroma in motion estimation. It generates the same effect as
  5476. B<x264>'s B<--no-chroma-me> option.
  5477.  
  5478. =back
  5479.  
  5480.  
  5481.  
  5482. =item B<threads (>I<threads>B<)>
  5483.  
  5484. Number of encoding threads.
  5485.  
  5486.  
  5487. =item B<thread_type>
  5488.  
  5489. Set multithreading technique. Possible values:
  5490.  
  5491.  
  5492. =over 4
  5493.  
  5494.  
  5495. =item B<slice>
  5496.  
  5497. Slice-based multithreading. It generates the same effect as
  5498. B<x264>'s B<--sliced-threads> option.
  5499.  
  5500. =item B<frame>
  5501.  
  5502. Frame-based multithreading.
  5503.  
  5504. =back
  5505.  
  5506.  
  5507.  
  5508. =item B<flags>
  5509.  
  5510. Set encoding flags. It can be used to disable closed GOP and enable
  5511. open GOP by setting it to C<-cgop>. The result is similar to
  5512. the behavior of B<x264>'s B<--open-gop> option.
  5513.  
  5514.  
  5515. =item B<rc_init_occupancy (>I<vbv-init>B<)>
  5516.  
  5517.  
  5518.  
  5519. =item B<preset (>I<preset>B<)>
  5520.  
  5521. Set the encoding preset.
  5522.  
  5523.  
  5524. =item B<tune (>I<tune>B<)>
  5525.  
  5526. Set tuning of the encoding params.
  5527.  
  5528.  
  5529. =item B<profile (>I<profile>B<)>
  5530.  
  5531. Set profile restrictions.
  5532.  
  5533.  
  5534. =item B<fastfirstpass>
  5535.  
  5536. Enable fast settings when encoding first pass, when set to 1. When set
  5537. to 0, it has the same effect of B<x264>'s
  5538. B<--slow-firstpass> option.
  5539.  
  5540.  
  5541. =item B<crf (>I<crf>B<)>
  5542.  
  5543. Set the quality for constant quality mode.
  5544.  
  5545.  
  5546. =item B<crf_max (>I<crf-max>B<)>
  5547.  
  5548. In CRF mode, prevents VBV from lowering quality beyond this point.
  5549.  
  5550.  
  5551. =item B<qp (>I<qp>B<)>
  5552.  
  5553. Set constant quantization rate control method parameter.
  5554.  
  5555.  
  5556. =item B<aq-mode (>I<aq-mode>B<)>
  5557.  
  5558. Set AQ method. Possible values:
  5559.  
  5560.  
  5561. =over 4
  5562.  
  5563.  
  5564. =item B<none (>I<0>B<)>
  5565.  
  5566. Disabled.
  5567.  
  5568.  
  5569. =item B<variance (>I<1>B<)>
  5570.  
  5571. Variance AQ (complexity mask).
  5572.  
  5573.  
  5574. =item B<autovariance (>I<2>B<)>
  5575.  
  5576. Auto-variance AQ (experimental).
  5577.  
  5578. =back
  5579.  
  5580.  
  5581.  
  5582. =item B<aq-strength (>I<aq-strength>B<)>
  5583.  
  5584. Set AQ strength, reduce blocking and blurring in flat and textured areas.
  5585.  
  5586.  
  5587. =item B<psy>
  5588.  
  5589. Use psychovisual optimizations when set to 1. When set to 0, it has the
  5590. same effect as B<x264>'s B<--no-psy> option.
  5591.  
  5592.  
  5593. =item B<psy-rd  (>I<psy-rd>B<)>
  5594.  
  5595. Set strength of psychovisual optimization, in
  5596. I<psy-rd>:I<psy-trellis> format.
  5597.  
  5598.  
  5599. =item B<rc-lookahead (>I<rc-lookahead>B<)>
  5600.  
  5601. Set number of frames to look ahead for frametype and ratecontrol.
  5602.  
  5603.  
  5604. =item B<weightb>
  5605.  
  5606. Enable weighted prediction for B-frames when set to 1. When set to 0,
  5607. it has the same effect as B<x264>'s B<--no-weightb> option.
  5608.  
  5609.  
  5610. =item B<weightp (>I<weightp>B<)>
  5611.  
  5612. Set weighted prediction method for P-frames. Possible values:
  5613.  
  5614.  
  5615. =over 4
  5616.  
  5617.  
  5618. =item B<none (>I<0>B<)>
  5619.  
  5620. Disabled
  5621.  
  5622. =item B<simple (>I<1>B<)>
  5623.  
  5624. Enable only weighted refs
  5625.  
  5626. =item B<smart (>I<2>B<)>
  5627.  
  5628. Enable both weighted refs and duplicates
  5629.  
  5630. =back
  5631.  
  5632.  
  5633.  
  5634. =item B<ssim (>I<ssim>B<)>
  5635.  
  5636. Enable calculation and printing SSIM stats after the encoding.
  5637.  
  5638.  
  5639. =item B<intra-refresh (>I<intra-refresh>B<)>
  5640.  
  5641. Enable the use of Periodic Intra Refresh instead of IDR frames when set
  5642. to 1.
  5643.  
  5644.  
  5645. =item B<avcintra-class (>I<class>B<)>
  5646.  
  5647. Configure the encoder to generate AVC-Intra.
  5648. Valid values are 50,100 and 200
  5649.  
  5650.  
  5651. =item B<bluray-compat (>I<bluray-compat>B<)>
  5652.  
  5653. Configure the encoder to be compatible with the bluray standard.
  5654. It is a shorthand for setting "bluray-compat=1 force-cfr=1".
  5655.  
  5656.  
  5657. =item B<b-bias (>I<b-bias>B<)>
  5658.  
  5659. Set the influence on how often B-frames are used.
  5660.  
  5661.  
  5662. =item B<b-pyramid (>I<b-pyramid>B<)>
  5663.  
  5664. Set method for keeping of some B-frames as references. Possible values:
  5665.  
  5666.  
  5667. =over 4
  5668.  
  5669.  
  5670. =item B<none (>I<none>B<)>
  5671.  
  5672. Disabled.
  5673.  
  5674. =item B<strict (>I<strict>B<)>
  5675.  
  5676. Strictly hierarchical pyramid.
  5677.  
  5678. =item B<normal (>I<normal>B<)>
  5679.  
  5680. Non-strict (not Blu-ray compatible).
  5681.  
  5682. =back
  5683.  
  5684.  
  5685.  
  5686. =item B<mixed-refs>
  5687.  
  5688. Enable the use of one reference per partition, as opposed to one
  5689. reference per macroblock when set to 1. When set to 0, it has the
  5690. same effect as B<x264>'s B<--no-mixed-refs> option.
  5691.  
  5692.  
  5693. =item B<8x8dct>
  5694.  
  5695. Enable adaptive spatial transform (high profile 8x8 transform)
  5696. when set to 1. When set to 0, it has the same effect as
  5697. B<x264>'s B<--no-8x8dct> option.
  5698.  
  5699.  
  5700. =item B<fast-pskip>
  5701.  
  5702. Enable early SKIP detection on P-frames when set to 1. When set
  5703. to 0, it has the same effect as B<x264>'s
  5704. B<--no-fast-pskip> option.
  5705.  
  5706.  
  5707. =item B<aud (>I<aud>B<)>
  5708.  
  5709. Enable use of access unit delimiters when set to 1.
  5710.  
  5711.  
  5712. =item B<mbtree>
  5713.  
  5714. Enable use macroblock tree ratecontrol when set to 1. When set
  5715. to 0, it has the same effect as B<x264>'s
  5716. B<--no-mbtree> option.
  5717.  
  5718.  
  5719. =item B<deblock (>I<deblock>B<)>
  5720.  
  5721. Set loop filter parameters, in I<alpha>:I<beta> form.
  5722.  
  5723.  
  5724. =item B<cplxblur (>I<cplxblur>B<)>
  5725.  
  5726. Set fluctuations reduction in QP (before curve compression).
  5727.  
  5728.  
  5729. =item B<partitions (>I<partitions>B<)>
  5730.  
  5731. Set partitions to consider as a comma-separated list of. Possible
  5732. values in the list:
  5733.  
  5734.  
  5735. =over 4
  5736.  
  5737.  
  5738. =item B<p8x8>
  5739.  
  5740. 8x8 P-frame partition.
  5741.  
  5742. =item B<p4x4>
  5743.  
  5744. 4x4 P-frame partition.
  5745.  
  5746. =item B<b8x8>
  5747.  
  5748. 4x4 B-frame partition.
  5749.  
  5750. =item B<i8x8>
  5751.  
  5752. 8x8 I-frame partition.
  5753.  
  5754. =item B<i4x4>
  5755.  
  5756. 4x4 I-frame partition.
  5757. (Enabling B<p4x4> requires B<p8x8> to be enabled. Enabling
  5758. B<i8x8> requires adaptive spatial transform (B<8x8dct>
  5759. option) to be enabled.)
  5760.  
  5761. =item B<none (>I<none>B<)>
  5762.  
  5763. Do not consider any partitions.
  5764.  
  5765. =item B<all (>I<all>B<)>
  5766.  
  5767. Consider every partition.
  5768.  
  5769. =back
  5770.  
  5771.  
  5772.  
  5773. =item B<direct-pred (>I<direct>B<)>
  5774.  
  5775. Set direct MV prediction mode. Possible values:
  5776.  
  5777.  
  5778. =over 4
  5779.  
  5780.  
  5781. =item B<none (>I<none>B<)>
  5782.  
  5783. Disable MV prediction.
  5784.  
  5785. =item B<spatial (>I<spatial>B<)>
  5786.  
  5787. Enable spatial predicting.
  5788.  
  5789. =item B<temporal (>I<temporal>B<)>
  5790.  
  5791. Enable temporal predicting.
  5792.  
  5793. =item B<auto (>I<auto>B<)>
  5794.  
  5795. Automatically decided.
  5796.  
  5797. =back
  5798.  
  5799.  
  5800.  
  5801. =item B<slice-max-size (>I<slice-max-size>B<)>
  5802.  
  5803. Set the limit of the size of each slice in bytes. If not specified
  5804. but RTP payload size (B<ps>) is specified, that is used.
  5805.  
  5806.  
  5807. =item B<stats (>I<stats>B<)>
  5808.  
  5809. Set the file name for multi-pass stats.
  5810.  
  5811.  
  5812. =item B<nal-hrd (>I<nal-hrd>B<)>
  5813.  
  5814. Set signal HRD information (requires B<vbv-bufsize> to be set).
  5815. Possible values:
  5816.  
  5817.  
  5818. =over 4
  5819.  
  5820.  
  5821. =item B<none (>I<none>B<)>
  5822.  
  5823. Disable HRD information signaling.
  5824.  
  5825. =item B<vbr (>I<vbr>B<)>
  5826.  
  5827. Variable bit rate.
  5828.  
  5829. =item B<cbr (>I<cbr>B<)>
  5830.  
  5831. Constant bit rate (not allowed in MP4 container).
  5832.  
  5833. =back
  5834.  
  5835.  
  5836.  
  5837. =item B<x264opts (N.A.)>
  5838.  
  5839. Set any x264 option, see B<x264 --fullhelp> for a list.
  5840.  
  5841. Argument is a list of I<key>=I<value> couples separated by
  5842. ":". In I<filter> and I<psy-rd> options that use ":" as a separator
  5843. themselves, use "," instead. They accept it as well since long ago but this
  5844. is kept undocumented for some reason.
  5845.  
  5846. For example to specify libx264 encoding options with B<ffmpeg>:
  5847.        
  5848.         ffmpeg -i foo.mpg -vcodec libx264 -x264opts keyint=123:min-keyint=20 -an out.mkv
  5849.  
  5850.  
  5851.  
  5852. =item B<x264-params (N.A.)>
  5853.  
  5854. Override the x264 configuration using a :-separated list of key=value
  5855. parameters.
  5856.  
  5857. This option is functionally the same as the B<x264opts>, but is
  5858. duplicated for compatibility with the Libav fork.
  5859.  
  5860. For example to specify libx264 encoding options with B<ffmpeg>:
  5861.        
  5862.         ffmpeg -i INPUT -c:v libx264 -x264-params level=30:bframes=0:weightp=0:\
  5863.         cabac=0:ref=1:vbv-maxrate=768:vbv-bufsize=2000:analyse=all:me=umh:\
  5864.         no-fast-pskip=1:subq=6:8x8dct=0:trellis=0 OUTPUT
  5865.  
  5866.  
  5867. =back
  5868.  
  5869.  
  5870. Encoding ffpresets for common usages are provided so they can be used with the
  5871. general presets system (e.g. passing the B<pre> option).
  5872.  
  5873.  
  5874. =head2 libx265
  5875.  
  5876.  
  5877. x265 H.265/HEVC encoder wrapper.
  5878.  
  5879. This encoder requires the presence of the libx265 headers and library
  5880. during configuration. You need to explicitly configure the build with
  5881. B<--enable-libx265>.
  5882.  
  5883.  
  5884. =head3 Options
  5885.  
  5886.  
  5887.  
  5888. =over 4
  5889.  
  5890.  
  5891. =item B<preset>
  5892.  
  5893. Set the x265 preset.
  5894.  
  5895.  
  5896. =item B<tune>
  5897.  
  5898. Set the x265 tune parameter.
  5899.  
  5900.  
  5901. =item B<x265-params>
  5902.  
  5903. Set x265 options using a list of I<key>=I<value> couples separated
  5904. by ":". See B<x265 --help> for a list of options.
  5905.  
  5906. For example to specify libx265 encoding options with B<-x265-params>:
  5907.  
  5908.        
  5909.         ffmpeg -i input -c:v libx265 -x265-params crf=26:psy-rd=1 output.mp4
  5910.  
  5911.  
  5912. =back
  5913.  
  5914.  
  5915.  
  5916. =head2 libxvid
  5917.  
  5918.  
  5919. Xvid MPEG-4 Part 2 encoder wrapper.
  5920.  
  5921. This encoder requires the presence of the libxvidcore headers and library
  5922. during configuration. You need to explicitly configure the build with
  5923. C<--enable-libxvid --enable-gpl>.
  5924.  
  5925. The native C<mpeg4> encoder supports the MPEG-4 Part 2 format, so
  5926. users can encode to this format without this library.
  5927.  
  5928.  
  5929. =head3 Options
  5930.  
  5931.  
  5932. The following options are supported by the libxvid wrapper. Some of
  5933. the following options are listed but are not documented, and
  5934. correspond to shared codec options. See B<the Codec
  5935. Options chapter> for their documentation. The other shared options
  5936. which are not listed have no effect for the libxvid encoder.
  5937.  
  5938.  
  5939. =over 4
  5940.  
  5941.  
  5942. =item B<b>
  5943.  
  5944.  
  5945.  
  5946. =item B<g>
  5947.  
  5948.  
  5949.  
  5950. =item B<qmin>
  5951.  
  5952.  
  5953.  
  5954. =item B<qmax>
  5955.  
  5956.  
  5957.  
  5958. =item B<mpeg_quant>
  5959.  
  5960.  
  5961.  
  5962. =item B<threads>
  5963.  
  5964.  
  5965.  
  5966. =item B<bf>
  5967.  
  5968.  
  5969.  
  5970. =item B<b_qfactor>
  5971.  
  5972.  
  5973.  
  5974. =item B<b_qoffset>
  5975.  
  5976.  
  5977.  
  5978. =item B<flags>
  5979.  
  5980. Set specific encoding flags. Possible values:
  5981.  
  5982.  
  5983. =over 4
  5984.  
  5985.  
  5986.  
  5987. =item B<mv4>
  5988.  
  5989. Use four motion vector by macroblock.
  5990.  
  5991.  
  5992. =item B<aic>
  5993.  
  5994. Enable high quality AC prediction.
  5995.  
  5996.  
  5997. =item B<gray>
  5998.  
  5999. Only encode grayscale.
  6000.  
  6001.  
  6002. =item B<gmc>
  6003.  
  6004. Enable the use of global motion compensation (GMC).
  6005.  
  6006.  
  6007. =item B<qpel>
  6008.  
  6009. Enable quarter-pixel motion compensation.
  6010.  
  6011.  
  6012. =item B<cgop>
  6013.  
  6014. Enable closed GOP.
  6015.  
  6016.  
  6017. =item B<global_header>
  6018.  
  6019. Place global headers in extradata instead of every keyframe.
  6020.  
  6021.  
  6022. =back
  6023.  
  6024.  
  6025.  
  6026. =item B<trellis>
  6027.  
  6028.  
  6029.  
  6030. =item B<me_method>
  6031.  
  6032. Set motion estimation method. Possible values in decreasing order of
  6033. speed and increasing order of quality:
  6034.  
  6035.  
  6036. =over 4
  6037.  
  6038.  
  6039. =item B<zero>
  6040.  
  6041. Use no motion estimation (default).
  6042.  
  6043.  
  6044. =item B<phods>
  6045.  
  6046.  
  6047. =item B<x1>
  6048.  
  6049.  
  6050. =item B<log>
  6051.  
  6052. Enable advanced diamond zonal search for 16x16 blocks and half-pixel
  6053. refinement for 16x16 blocks. B<x1> and B<log> are aliases for
  6054. B<phods>.
  6055.  
  6056.  
  6057. =item B<epzs>
  6058.  
  6059. Enable all of the things described above, plus advanced diamond zonal
  6060. search for 8x8 blocks, half-pixel refinement for 8x8 blocks, and motion
  6061. estimation on chroma planes.
  6062.  
  6063.  
  6064. =item B<full>
  6065.  
  6066. Enable all of the things described above, plus extended 16x16 and 8x8
  6067. blocks search.
  6068.  
  6069. =back
  6070.  
  6071.  
  6072.  
  6073. =item B<mbd>
  6074.  
  6075. Set macroblock decision algorithm. Possible values in the increasing
  6076. order of quality:
  6077.  
  6078.  
  6079. =over 4
  6080.  
  6081.  
  6082. =item B<simple>
  6083.  
  6084. Use macroblock comparing function algorithm (default).
  6085.  
  6086.  
  6087. =item B<bits>
  6088.  
  6089. Enable rate distortion-based half pixel and quarter pixel refinement for
  6090. 16x16 blocks.
  6091.  
  6092.  
  6093. =item B<rd>
  6094.  
  6095. Enable all of the things described above, plus rate distortion-based
  6096. half pixel and quarter pixel refinement for 8x8 blocks, and rate
  6097. distortion-based search using square pattern.
  6098.  
  6099. =back
  6100.  
  6101.  
  6102.  
  6103. =item B<lumi_aq>
  6104.  
  6105. Enable lumi masking adaptive quantization when set to 1. Default is 0
  6106. (disabled).
  6107.  
  6108.  
  6109. =item B<variance_aq>
  6110.  
  6111. Enable variance adaptive quantization when set to 1. Default is 0
  6112. (disabled).
  6113.  
  6114. When combined with B<lumi_aq>, the resulting quality will not
  6115. be better than any of the two specified individually. In other
  6116. words, the resulting quality will be the worse one of the two
  6117. effects.
  6118.  
  6119.  
  6120. =item B<ssim>
  6121.  
  6122. Set structural similarity (SSIM) displaying method. Possible values:
  6123.  
  6124.  
  6125. =over 4
  6126.  
  6127.  
  6128. =item B<off>
  6129.  
  6130. Disable displaying of SSIM information.
  6131.  
  6132.  
  6133. =item B<avg>
  6134.  
  6135. Output average SSIM at the end of encoding to stdout. The format of
  6136. showing the average SSIM is:
  6137.  
  6138.        
  6139.         Average SSIM: %f
  6140.  
  6141.  
  6142. For users who are not familiar with C, %f means a float number, or
  6143. a decimal (e.g. 0.939232).
  6144.  
  6145.  
  6146. =item B<frame>
  6147.  
  6148. Output both per-frame SSIM data during encoding and average SSIM at
  6149. the end of encoding to stdout. The format of per-frame information
  6150. is:
  6151.  
  6152.        
  6153.                SSIM: avg: %1.3f min: %1.3f max: %1.3f
  6154.  
  6155.  
  6156. For users who are not familiar with C, %1.3f means a float number
  6157. rounded to 3 digits after the dot (e.g. 0.932).
  6158.  
  6159.  
  6160. =back
  6161.  
  6162.  
  6163.  
  6164. =item B<ssim_acc>
  6165.  
  6166. Set SSIM accuracy. Valid options are integers within the range of
  6167. 0-4, while 0 gives the most accurate result and 4 computes the
  6168. fastest.
  6169.  
  6170.  
  6171. =back
  6172.  
  6173.  
  6174.  
  6175. =head2 mpeg2
  6176.  
  6177.  
  6178. MPEG-2 video encoder.
  6179.  
  6180.  
  6181. =head3 Options
  6182.  
  6183.  
  6184.  
  6185. =over 4
  6186.  
  6187.  
  6188. =item B<seq_disp_ext> I<integer>
  6189.  
  6190. Specifies if the encoder should write a sequence_display_extension to the
  6191. output.
  6192.  
  6193. =over 4
  6194.  
  6195.  
  6196. =item B<-1>
  6197.  
  6198.  
  6199. =item B<auto>
  6200.  
  6201. Decide automatically to write it or not (this is the default) by checking if
  6202. the data to be written is different from the default or unspecified values.
  6203.  
  6204. =item B<0>
  6205.  
  6206.  
  6207. =item B<never>
  6208.  
  6209. Never write it.
  6210.  
  6211. =item B<1>
  6212.  
  6213.  
  6214. =item B<always>
  6215.  
  6216. Always write it.
  6217.  
  6218. =back
  6219.  
  6220.  
  6221. =back
  6222.  
  6223.  
  6224.  
  6225. =head2 png
  6226.  
  6227.  
  6228. PNG image encoder.
  6229.  
  6230.  
  6231. =head3 Private options
  6232.  
  6233.  
  6234.  
  6235. =over 4
  6236.  
  6237.  
  6238. =item B<dpi> I<integer>
  6239.  
  6240. Set physical density of pixels, in dots per inch, unset by default
  6241.  
  6242. =item B<dpm> I<integer>
  6243.  
  6244. Set physical density of pixels, in dots per meter, unset by default
  6245.  
  6246. =back
  6247.  
  6248.  
  6249.  
  6250. =head2 ProRes
  6251.  
  6252.  
  6253. Apple ProRes encoder.
  6254.  
  6255. FFmpeg contains 2 ProRes encoders, the prores-aw and prores-ks encoder.
  6256. The used encoder can be chosen with the C<-vcodec> option.
  6257.  
  6258.  
  6259. =head3 Private Options for prores-ks
  6260.  
  6261.  
  6262.  
  6263. =over 4
  6264.  
  6265.  
  6266. =item B<profile> I<integer>
  6267.  
  6268. Select the ProRes profile to encode
  6269.  
  6270. =over 4
  6271.  
  6272.  
  6273. =item B<proxy>
  6274.  
  6275.  
  6276. =item B<lt>
  6277.  
  6278.  
  6279. =item B<standard>
  6280.  
  6281.  
  6282. =item B<hq>
  6283.  
  6284.  
  6285. =item B<4444>
  6286.  
  6287.  
  6288. =back
  6289.  
  6290.  
  6291.  
  6292. =item B<quant_mat> I<integer>
  6293.  
  6294. Select quantization matrix.
  6295.  
  6296. =over 4
  6297.  
  6298.  
  6299. =item B<auto>
  6300.  
  6301.  
  6302. =item B<default>
  6303.  
  6304.  
  6305. =item B<proxy>
  6306.  
  6307.  
  6308. =item B<lt>
  6309.  
  6310.  
  6311. =item B<standard>
  6312.  
  6313.  
  6314. =item B<hq>
  6315.  
  6316.  
  6317. =back
  6318.  
  6319. If set to I<auto>, the matrix matching the profile will be picked.
  6320. If not set, the matrix providing the highest quality, I<default>, will be
  6321. picked.
  6322.  
  6323.  
  6324. =item B<bits_per_mb> I<integer>
  6325.  
  6326. How many bits to allot for coding one macroblock. Different profiles use
  6327. between 200 and 2400 bits per macroblock, the maximum is 8000.
  6328.  
  6329.  
  6330. =item B<mbs_per_slice> I<integer>
  6331.  
  6332. Number of macroblocks in each slice (1-8); the default value (8)
  6333. should be good in almost all situations.
  6334.  
  6335.  
  6336. =item B<vendor> I<string>
  6337.  
  6338. Override the 4-byte vendor ID.
  6339. A custom vendor ID like I<apl0> would claim the stream was produced by
  6340. the Apple encoder.
  6341.  
  6342.  
  6343. =item B<alpha_bits> I<integer>
  6344.  
  6345. Specify number of bits for alpha component.
  6346. Possible values are I<0>, I<8> and I<16>.
  6347. Use I<0> to disable alpha plane coding.
  6348.  
  6349.  
  6350. =back
  6351.  
  6352.  
  6353.  
  6354. =head3 Speed considerations
  6355.  
  6356.  
  6357. In the default mode of operation the encoder has to honor frame constraints
  6358. (i.e. not produce frames with size bigger than requested) while still making
  6359. output picture as good as possible.
  6360. A frame containing a lot of small details is harder to compress and the encoder
  6361. would spend more time searching for appropriate quantizers for each slice.
  6362.  
  6363. Setting a higher B<bits_per_mb> limit will improve the speed.
  6364.  
  6365. For the fastest encoding speed set the B<qscale> parameter (4 is the
  6366. recommended value) and do not set a size constraint.
  6367.  
  6368.  
  6369. =head2 libkvazaar
  6370.  
  6371.  
  6372. Kvazaar H.265/HEVC encoder.
  6373.  
  6374. Requires the presence of the libkvazaar headers and library during
  6375. configuration. You need to explicitly configure the build with
  6376. B<--enable-libkvazaar>.
  6377.  
  6378.  
  6379. =head3 Options
  6380.  
  6381.  
  6382.  
  6383. =over 4
  6384.  
  6385.  
  6386.  
  6387. =item B<b>
  6388.  
  6389. Set target video bitrate in bit/s and enable rate control.
  6390.  
  6391.  
  6392. =item B<threads>
  6393.  
  6394. Set number of encoding threads.
  6395.  
  6396.  
  6397. =item B<kvazaar-params>
  6398.  
  6399. Set kvazaar parameters as a list of I<name>=I<value> pairs separated
  6400. by commas (,). See kvazaar documentation for a list of options.
  6401.  
  6402.  
  6403. =back
  6404.  
  6405.  
  6406.  
  6407.  
  6408. =head1 SUBTITLES ENCODERS
  6409.  
  6410.  
  6411.  
  6412. =head2 dvdsub
  6413.  
  6414.  
  6415. This codec encodes the bitmap subtitle format that is used in DVDs.
  6416. Typically they are stored in VOBSUB file pairs (*.idx + *.sub),
  6417. and they can also be used in Matroska files.
  6418.  
  6419.  
  6420. =head3 Options
  6421.  
  6422.  
  6423.  
  6424. =over 4
  6425.  
  6426.  
  6427. =item B<even_rows_fix>
  6428.  
  6429. When set to 1, enable a work-around that makes the number of pixel rows
  6430. even in all subtitles.  This fixes a problem with some players that
  6431. cut off the bottom row if the number is odd.  The work-around just adds
  6432. a fully transparent row if needed.  The overhead is low, typically
  6433. one byte per subtitle on average.
  6434.  
  6435. By default, this work-around is disabled.
  6436.  
  6437. =back
  6438.  
  6439.  
  6440.  
  6441.  
  6442. =head1 SEE ALSO
  6443.  
  6444.  
  6445.  
  6446. ffmpeg(1), ffplay(1), ffprobe(1), ffserver(1), libavcodec(3)
  6447.  
  6448.  
  6449. =head1 AUTHORS
  6450.  
  6451.  
  6452. The FFmpeg developers.
  6453.  
  6454. For details about the authorship, see the Git history of the project
  6455. (git://source.ffmpeg.org/ffmpeg), e.g. by typing the command
  6456. B<git log> in the FFmpeg source directory, or browsing the
  6457. online repository at E<lt>B<http://source.ffmpeg.org>E<gt>.
  6458.  
  6459. Maintainers for the specific components are listed in the file
  6460. F<MAINTAINERS> in the source code tree.
  6461.  
  6462.  
  6463.  
  6464.