patch-doc_encoders_texi 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. $OpenBSD: patch-doc_encoders_texi,v 1.2 2016/01/14 06:09:43 ajacoutot Exp $
  2. doc/encoders.texi: update documentation for the native AAC encoder
  3. doc/encoders.texi: remove forgotten mention of "experimental" from libvo-aacenc
  4. doc/encoders.texi: use words intead of numbers to describe option states
  5. doc/encoders.texi: fix typo and clarify mpeg2_aac_low
  6. doc/encoders: fix typo in AAC encoder documentation
  7. --- doc/encoders.texi.orig Fri Dec 25 03:00:18 2015
  8. +++ doc/encoders.texi Sat Jan 9 13:16:06 2016
  9. @@ -30,82 +30,120 @@ follows.
  10. Advanced Audio Coding (AAC) encoder.
  11. -This encoder is an experimental FFmpeg-native AAC encoder. Currently only the
  12. -low complexity (AAC-LC) profile is supported. To use this encoder, you must set
  13. -@option{strict} option to @samp{experimental} or lower.
  14. +This encoder is the default AAC encoder, natively implemented into FFmpeg. Its
  15. +quality is on par or better than libfdk_aac at the default bitrate of 128kbps.
  16. +This encoder also implements more options, profiles and samplerates than
  17. +other encoders (with only the AAC-HE profile pending to be implemented) so this
  18. +encoder has become the default and is the recommended choice.
  19. -As this encoder is experimental, unexpected behavior may exist from time to
  20. -time. For a more stable AAC encoder, see @ref{libvo-aacenc}. However, be warned
  21. -that it has a worse quality reported by some users.
  22. -
  23. -@c todo @ref{libaacplus}
  24. -See also @ref{libfdk-aac-enc,,libfdk_aac} and @ref{libfaac}.
  25. -
  26. @subsection Options
  27. @table @option
  28. @item b
  29. Set bit rate in bits/s. Setting this automatically activates constant bit rate
  30. -(CBR) mode.
  31. +(CBR) mode. If this option is unspecified it is set to 128kbps.
  32. @item q
  33. Set quality for variable bit rate (VBR) mode. This option is valid only using
  34. the @command{ffmpeg} command-line tool. For library interface users, use
  35. @option{global_quality}.
  36. -@item stereo_mode
  37. -Set stereo encoding mode. Possible values:
  38. +@item cutoff
  39. +Set cutoff frequency. If unspecified will allow the encoder to dynamically
  40. +adjust the cutoff to improve clarity on low bitrates.
  41. -@table @samp
  42. -@item auto
  43. -Automatically selected by the encoder.
  44. -
  45. -@item ms_off
  46. -Disable middle/side encoding. This is the default.
  47. -
  48. -@item ms_force
  49. -Force middle/side encoding.
  50. -@end table
  51. -
  52. @item aac_coder
  53. Set AAC encoder coding method. Possible values:
  54. @table @samp
  55. -@item faac
  56. -FAAC-inspired method.
  57. -
  58. -This method is a simplified reimplementation of the method used in FAAC, which
  59. -sets thresholds proportional to the band energies, and then decreases all the
  60. -thresholds with quantizer steps to find the appropriate quantization with
  61. -distortion below threshold band by band.
  62. -
  63. -The quality of this method is comparable to the two loop searching method
  64. -described below, but somewhat a little better and slower.
  65. -
  66. -@item anmr
  67. -Average noise to mask ratio (ANMR) trellis-based solution.
  68. -
  69. -This has a theoretic best quality out of all the coding methods, but at the
  70. -cost of the slowest speed.
  71. -
  72. @item twoloop
  73. Two loop searching (TLS) method.
  74. This method first sets quantizers depending on band thresholds and then tries
  75. to find an optimal combination by adding or subtracting a specific value from
  76. all quantizers and adjusting some individual quantizer a little.
  77. +Will tune itself based on whether aac_is/aac_ms/aac_pns are enabled.
  78. +This is the default choice for a coder.
  79. -This method produces similar quality with the FAAC method and is the default.
  80. +@item anmr
  81. +Average noise to mask ratio (ANMR) trellis-based solution.
  82. +This is an experimental coder which currently produces a lower quality, is more
  83. +unstable and is slower than the default twoloop coder but has potential.
  84. +Currently has no support for the @option{aac_is} or @option{aac_pns} options.
  85. +Not currently recommended.
  86. +
  87. @item fast
  88. Constant quantizer method.
  89. This method sets a constant quantizer for all bands. This is the fastest of all
  90. -the methods, yet produces the worst quality.
  91. +the methods and has no rate control or support for @option{aac_is} or
  92. +@option{aac_pns}.
  93. +Not recommended.
  94. @end table
  95. +@item aac_ms
  96. +Sets mid/side coding mode. The default value of auto will automatically use
  97. +M/S with bands which will benefit from such coding. Can be forced for all bands
  98. +using the value "enable", which is mainly useful for debugging or disabled using
  99. +"disable".
  100. +
  101. +@item aac_is
  102. +Sets intensity stereo coding tool usage. By default, it's enabled and will
  103. +automatically toggle IS for similar pairs of stereo bands if it's benefitial.
  104. +Can be disabled for debugging by setting the value to "disable".
  105. +
  106. +@item aac_pns
  107. +Uses perceptual noise substitution to replace low entropy high frequency bands
  108. +with imperceivable white noise during the decoding process. By default, it's
  109. +enabled, but can be disabled for debugging purposes by using "disable".
  110. +
  111. +@item aac_tns
  112. +Enables the use of a multitap FIR filter which spans through the high frequency
  113. +bands to hide quantization noise during the encoding process and is reverted
  114. +by the decoder. As well as decreasing unpleasant artifacts in the high range
  115. +this also reduces the entropy in the high bands and allows for more bits to
  116. +be used by the mid-low bands. By default it's enabled but can be disabled for
  117. +debugging by setting the option to "disable".
  118. +
  119. +@item aac_ltp
  120. +Enables the use of the long term prediction extension which increases coding
  121. +efficiency in very low bandwidth situations such as encoding of voice or
  122. +solo piano music by extending constant harmonic peaks in bands throughout
  123. +frames. This option is implied by profile:a aac_low and is incompatible with
  124. +aac_pred. Use in conjunction with @option{-ar} to decrease the samplerate.
  125. +
  126. +@item aac_pred
  127. +Enables the use of a more traditional style of prediction where the spectral
  128. +coefficients transmitted are replaced by the difference of the current
  129. +coefficients minus the previous "predicted" coefficients. In theory and sometimes
  130. +in practice this can improve quality for low to mid bitrate audio.
  131. +This option implies the aac_main profile and is incompatible with aac_ltp.
  132. +
  133. +@item profile
  134. +Sets the encoding profile, possible values:
  135. +
  136. +@table @samp
  137. +@item aac_low
  138. +The default, AAC "Low-complexity" profile. Is the most compatible and produces
  139. +decent quality.
  140. +
  141. +@item mpeg2_aac_low
  142. +Equivalent to -profile:a aac_low -aac_pns 0. PNS was introduced with the MPEG4
  143. +specifications.
  144. +
  145. +@item aac_ltp
  146. +Long term prediction profile, is enabled by and will enable the aac_ltp option.
  147. +Introduced in MPEG4.
  148. +
  149. +@item aac_main
  150. +Main-type prediction profile, is enabled by and will enable the aac_pred option.
  151. +Introduced in MPEG2.
  152. +
  153. +If this option is unspecified it is set to @samp{aac_low}.
  154. @end table
  155. +@end table
  156. @section ac3 and ac3_fixed
  157. @@ -578,16 +616,14 @@ and slightly improves compression.
  158. libfaac AAC (Advanced Audio Coding) encoder wrapper.
  159. -Requires the presence of the libfaac headers and library during
  160. -configuration. You need to explicitly configure the build with
  161. +This encoder is of much lower quality and is more unstable than any other AAC
  162. +encoders, so it's highly recommended to instead use other encoders, like
  163. +@ref{aacenc,,the native FFmpeg AAC encoder}.
  164. +
  165. +This encoder also requires the presence of the libfaac headers and library
  166. +during configuration. You need to explicitly configure the build with
  167. @code{--enable-libfaac --enable-nonfree}.
  168. -This encoder is considered to be of higher quality with respect to the
  169. -@ref{aacenc,,the native experimental FFmpeg AAC encoder}.
  170. -
  171. -For more information see the libfaac project at
  172. -@url{http://www.audiocoding.com/faac.html/}.
  173. -
  174. @subsection Options
  175. The following shared FFmpeg codec options are recognized.
  176. @@ -694,9 +730,10 @@ configuration. You need to explicitly configure the bu
  177. so if you allow the use of GPL, you should configure with
  178. @code{--enable-gpl --enable-nonfree --enable-libfdk-aac}.
  179. -This encoder is considered to be of higher quality with respect to
  180. -both @ref{aacenc,,the native experimental FFmpeg AAC encoder} and
  181. -@ref{libfaac}.
  182. +This encoder is considered to produce output on par or worse at 128kbps to the
  183. +@ref{aacenc,,the native FFmpeg AAC encoder} but can often produce better
  184. +sounding audio at identical or lower bitrates and has support for the
  185. +AAC-HE profiles.
  186. VBR encoding, enabled through the @option{vbr} or @option{flags
  187. +qscale} options, is experimental and only works with some
  188. @@ -1048,7 +1085,7 @@ configuration. You need to explicitly configure the bu
  189. @code{--enable-libvo-aacenc --enable-version3}.
  190. This encoder is considered to be worse than the
  191. -@ref{aacenc,,native experimental FFmpeg AAC encoder}, according to
  192. +@ref{aacenc,,native FFmpeg AAC encoder}, according to
  193. multiple sources.
  194. @subsection Options