doc/encoders: extend/clarify libtheora encoder documentation

This commit is contained in:
Stefano Sabatini 2013-10-30 15:10:04 +01:00
parent a2bfee36b7
commit 4fdec65eb3
1 changed files with 39 additions and 14 deletions

View File

@ -902,12 +902,15 @@ follows.
@section libtheora @section libtheora
Theora format supported through libtheora. libtheora Theora encoder wrapper.
Requires the presence of the libtheora headers and library during Requires the presence of the libtheora headers and library during
configuration. You need to explicitly configure the build with configuration. You need to explicitly configure the build with
@code{--enable-libtheora}. @code{--enable-libtheora}.
For more informations about the libtheora project see
@url{http://www.theora.org/}.
@subsection Options @subsection Options
The following global options are mapped to internal libtheora options The following global options are mapped to internal libtheora options
@ -915,11 +918,11 @@ which affect the quality and the bitrate of the encoded stream.
@table @option @table @option
@item b @item b
Set the video bitrate, only works if the @code{qscale} flag in Set the video bitrate in bit/s for CBR (Constant Bit Rate) mode. In
@option{flags} is not enabled. case VBR (Variable Bit Rate) mode is enabled this option is ignored.
@item flags @item flags
Used to enable constant quality mode encoding through the Used to enable constant quality mode (VBR) encoding through the
@option{qscale} flag, and to enable the @code{pass1} and @code{pass2} @option{qscale} flag, and to enable the @code{pass1} and @code{pass2}
modes. modes.
@ -927,19 +930,41 @@ modes.
Set the GOP size. Set the GOP size.
@item global_quality @item global_quality
Set the global quality in lambda units, only works if the Set the global quality as an integer in lambda units.
@code{qscale} flag in @option{flags} is enabled. The value is clipped
in the [0 - 10*@code{FF_QP2LAMBDA}] range, and then multiplied for 6.3
to get a value in the native libtheora range [0-63]. A higher value
corresponds to a higher quality.
For example, to set maximum constant quality encoding with Only relevant when VBR mode is enabled with @code{flags +qscale}. The
@command{ffmpeg}: value is converted to QP units by dividing it by @code{FF_QP2LAMBDA},
@example clipped in the [0 - 10] range, and then multiplied by 6.3 to get a
ffmpeg -i INPUT -flags:v qscale -global_quality:v "10*QP2LAMBDA" -codec:v libtheora OUTPUT.ogg value in the native libtheora range [0-63]. A higher value corresponds
@end example to a higher quality.
@item q
Enable VBR mode when set to a non-negative value, and set constant
quality value as a double floating point value in QP units.
The value is clipped in the [0-10] range, and then multiplied by 6.3
to get a value in the native libtheora range [0-63].
This option is valid only using the @command{ffmpeg} command-line
tool. For library interface users, use @option{global_quality}.
@end table @end table
@subsection Examples
@itemize
@item
Set maximum constant quality (VBR) encoding with @command{ffmpeg}:
@example
ffmpeg -i INPUT -codec:v libtheora -q:v 10 OUTPUT.ogg
@end example
@item
Use @command{ffmpeg} to convert a CBR 1000 kbps Theora video stream:
@example
ffmpeg -i INPUT -codec:v libtheora -b:v 1000k OUTPUT.ogg
@end example
@end itemize
@section libvpx @section libvpx
VP8 format supported through libvpx. VP8 format supported through libvpx.