[FFmpeg-devel] Updated the documentation about the encoding options for libaom-av1 encoder.

Submitted by Oliver Collyer via ffmpeg-devel on April 3, 2019, 12:49 a.m.

Details

Message ID 20190403004932.12707-1-samjohn@google.com
State New
Headers show

Commit Message

Oliver Collyer via ffmpeg-devel April 3, 2019, 12:49 a.m.
---
 doc/encoders.texi | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

Comments

Gyan April 4, 2019, 5:22 p.m.
On 03-04-2019 06:19 AM, Sam John via ffmpeg-devel wrote:
> ---
>   doc/encoders.texi | 46 ++++++++++++++++++++++++++++++++++++++++++++++
>   1 file changed, 46 insertions(+)
>
> diff --git a/doc/encoders.texi b/doc/encoders.texi
> index 94337d009c..a669ac3739 100644
> --- a/doc/encoders.texi
> +++ b/doc/encoders.texi
> @@ -1434,6 +1434,12 @@ value is 1, which will be slow and high quality.
>   Enable use of alternate reference frames.  Defaults to the internal
>   default of the library.
>   
> +@item arnr-max-frames
> +Set altref noise reduction max frame count.
> +
> +@item arnr-strength
> +Set altref noise reduction filter strength.
> +
>   @item lag-in-frames
>   Set the maximum number of frames which the encoder may keep in flight
>   at any one time for lookahead purposes.  Defaults to the internal
> @@ -1466,6 +1472,33 @@ buffer falls below this percentage, frames will be dropped until it
>   has refilled above the threshold.  Defaults to zero (no frames are
>   dropped).
>   
> +@item denoise-noise-level
> +Amount of noise to be removed for grain synthesis. Grain synthesis is disabled if
> +it is not set or set to 0.
> +
> +@item denoise-block-size
> +Block size used for denoising for grain synthesis. If not set, AV1 codec
> +uses the default value of 32.
> +
> +@item undershoot-pct
> +Set datarate undershoot (min) percentage of the target bitrate.
> +
> +@item overshoot-pct
> +Set datarate overshoot (max) percentage of the target bitrate.
> +
> +@item maxrate (@emph{maxsection-pct})
> +Set GOP max bitrate in bits/s. Note @command{libaom-av1}'s option maxsection-pct is
> +specified as a percentage of the target bitrate. If maxsection-pct is not set, the
> +libaomenc wrapper computes it as follows: @code{(maxrate * 100 / bitrate)}.
> +
> +@item minrate (@emph{minsection-pct})
> +Set GOP min bitrate in bits/s. Note @command{libaom-av1}'s option minsection-pct is
> +specified as a percentage of the target bitrate. If minsection-pct is not set, the
> +libaomenc wrapper computes it as follows: @code{(minrate * 100 / bitrate)}.
The actual option names should be used for @item. minrate/maxrate are 
generic lavc options. The label in @emph describes the units expected.

> +@item frame-parallel @var{boolean}
> +Enable frame parallel decodability features. The default value is true.
> +
>   @item tiles
>   Set the number of tiles to encode the input video with, as columns x
>   rows.  Larger numbers allow greater parallelism in both encoding and
> @@ -1480,6 +1513,19 @@ Provided for compatibility with libvpx/VP9.
>   @item row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
>   Enable row based multi-threading. Disabled by default.
>   
> +@item enable-cdef @var{boolean}
> +Flag to enable or disable Constrianed Directional Enhancement Filter. The libaom-av1
> +encoder enables CDEF by default.
s/Constrianed/Constrained

> +@item enable-global-motion @var{boolean}
> +Flag to enable or disable the use of global motion for block prediction.
> +The default value is true.
> +
> +@item enable-intrabc @var{boolean}
> +Flag to enable or disable block copy mode for intra block prediction. This mode is
> +useful for screen content. The default value is true.

Doc for aq-mode missing.

Gyan
James Almer April 4, 2019, 5:31 p.m.
On 4/2/2019 9:49 PM, Sam John via ffmpeg-devel wrote:
> ---
>  doc/encoders.texi | 46 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 46 insertions(+)
> 
> diff --git a/doc/encoders.texi b/doc/encoders.texi
> index 94337d009c..a669ac3739 100644
> --- a/doc/encoders.texi
> +++ b/doc/encoders.texi
> @@ -1434,6 +1434,12 @@ value is 1, which will be slow and high quality.
>  Enable use of alternate reference frames.  Defaults to the internal
>  default of the library.
>  
> +@item arnr-max-frames
> +Set altref noise reduction max frame count.
> +
> +@item arnr-strength
> +Set altref noise reduction filter strength.
> +
>  @item lag-in-frames
>  Set the maximum number of frames which the encoder may keep in flight
>  at any one time for lookahead purposes.  Defaults to the internal
> @@ -1466,6 +1472,33 @@ buffer falls below this percentage, frames will be dropped until it
>  has refilled above the threshold.  Defaults to zero (no frames are
>  dropped).
>  
> +@item denoise-noise-level
> +Amount of noise to be removed for grain synthesis. Grain synthesis is disabled if 
> +it is not set or set to 0.
> +
> +@item denoise-block-size
> +Block size used for denoising for grain synthesis. If not set, AV1 codec
> +uses the default value of 32.
> +
> +@item undershoot-pct
> +Set datarate undershoot (min) percentage of the target bitrate.
> +
> +@item overshoot-pct
> +Set datarate overshoot (max) percentage of the target bitrate.
> +
> +@item maxrate (@emph{maxsection-pct})
> +Set GOP max bitrate in bits/s. Note @command{libaom-av1}'s option maxsection-pct is
> +specified as a percentage of the target bitrate. If maxsection-pct is not set, the
> +libaomenc wrapper computes it as follows: @code{(maxrate * 100 / bitrate)}.
> +
> +@item minrate (@emph{minsection-pct})
> +Set GOP min bitrate in bits/s. Note @command{libaom-av1}'s option minsection-pct is
> +specified as a percentage of the target bitrate. If minsection-pct is not set, the
> +libaomenc wrapper computes it as follows: @code{(minrate * 100 / bitrate)}.
> +
> +@item frame-parallel @var{boolean}
> +Enable frame parallel decodability features. The default value is true.
> +
>  @item tiles
>  Set the number of tiles to encode the input video with, as columns x
>  rows.  Larger numbers allow greater parallelism in both encoding and
> @@ -1480,6 +1513,19 @@ Provided for compatibility with libvpx/VP9.
>  @item row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
>  Enable row based multi-threading. Disabled by default.
>  
> +@item enable-cdef @var{boolean}
> +Flag to enable or disable Constrianed Directional Enhancement Filter. The libaom-av1
> +encoder enables CDEF by default.
> +
> +@item enable-global-motion @var{boolean}
> +Flag to enable or disable the use of global motion for block prediction. 
> +The default value is true.
> +
> +@item enable-intrabc @var{boolean}
> +Flag to enable or disable block copy mode for intra block prediction. This mode is
> +useful for screen content. The default value is true.

Maybe "The libaom-av1 encoder enables global-motion/intrabc by default"
like you did for cdef. For all three the default value is -1, meaning up
to the library.

> +
> +
>  @end table
>  
>  @section libkvazaar
>
Oliver Collyer via ffmpeg-devel April 10, 2019, 12:53 a.m.
James,

Thanks for the review. I am sending the updated patch now.

libaom-av1 enables  global-motion/intrabc by default. These options were
added to enable/disable these tools to reduce the complexity. The default
value is set to -1.





On Thu, Apr 4, 2019 at 10:31 AM James Almer <jamrial@gmail.com> wrote:

> On 4/2/2019 9:49 PM, Sam John via ffmpeg-devel wrote:
> > ---
> >  doc/encoders.texi | 46 ++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 46 insertions(+)
> >
> > diff --git a/doc/encoders.texi b/doc/encoders.texi
> > index 94337d009c..a669ac3739 100644
> > --- a/doc/encoders.texi
> > +++ b/doc/encoders.texi
> > @@ -1434,6 +1434,12 @@ value is 1, which will be slow and high quality.
> >  Enable use of alternate reference frames.  Defaults to the internal
> >  default of the library.
> >
> > +@item arnr-max-frames
> > +Set altref noise reduction max frame count.
> > +
> > +@item arnr-strength
> > +Set altref noise reduction filter strength.
> > +
> >  @item lag-in-frames
> >  Set the maximum number of frames which the encoder may keep in flight
> >  at any one time for lookahead purposes.  Defaults to the internal
> > @@ -1466,6 +1472,33 @@ buffer falls below this percentage, frames will
> be dropped until it
> >  has refilled above the threshold.  Defaults to zero (no frames are
> >  dropped).
> >
> > +@item denoise-noise-level
> > +Amount of noise to be removed for grain synthesis. Grain synthesis is
> disabled if
> > +it is not set or set to 0.
> > +
> > +@item denoise-block-size
> > +Block size used for denoising for grain synthesis. If not set, AV1 codec
> > +uses the default value of 32.
> > +
> > +@item undershoot-pct
> > +Set datarate undershoot (min) percentage of the target bitrate.
> > +
> > +@item overshoot-pct
> > +Set datarate overshoot (max) percentage of the target bitrate.
> > +
> > +@item maxrate (@emph{maxsection-pct})
> > +Set GOP max bitrate in bits/s. Note @command{libaom-av1}'s option
> maxsection-pct is
> > +specified as a percentage of the target bitrate. If maxsection-pct is
> not set, the
> > +libaomenc wrapper computes it as follows: @code{(maxrate * 100 /
> bitrate)}.
> > +
> > +@item minrate (@emph{minsection-pct})
> > +Set GOP min bitrate in bits/s. Note @command{libaom-av1}'s option
> minsection-pct is
> > +specified as a percentage of the target bitrate. If minsection-pct is
> not set, the
> > +libaomenc wrapper computes it as follows: @code{(minrate * 100 /
> bitrate)}.
> > +
> > +@item frame-parallel @var{boolean}
> > +Enable frame parallel decodability features. The default value is true.
> > +
> >  @item tiles
> >  Set the number of tiles to encode the input video with, as columns x
> >  rows.  Larger numbers allow greater parallelism in both encoding and
> > @@ -1480,6 +1513,19 @@ Provided for compatibility with libvpx/VP9.
> >  @item row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
> >  Enable row based multi-threading. Disabled by default.
> >
> > +@item enable-cdef @var{boolean}
> > +Flag to enable or disable Constrianed Directional Enhancement Filter.
> The libaom-av1
> > +encoder enables CDEF by default.
> > +
> > +@item enable-global-motion @var{boolean}
> > +Flag to enable or disable the use of global motion for block
> prediction.
> > +The default value is true.
> > +
> > +@item enable-intrabc @var{boolean}
> > +Flag to enable or disable block copy mode for intra block prediction.
> This mode is
> > +useful for screen content. The default value is true.
>
> Maybe "The libaom-av1 encoder enables global-motion/intrabc by default"
> like you did for cdef. For all three the default value is -1, meaning up
> to the library.
>
> > +
> > +
> >  @end table
> >
> >  @section libkvazaar
> >
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

Patch hide | download patch | download mbox

diff --git a/doc/encoders.texi b/doc/encoders.texi
index 94337d009c..a669ac3739 100644
--- a/doc/encoders.texi
+++ b/doc/encoders.texi
@@ -1434,6 +1434,12 @@  value is 1, which will be slow and high quality.
 Enable use of alternate reference frames.  Defaults to the internal
 default of the library.
 
+@item arnr-max-frames
+Set altref noise reduction max frame count.
+
+@item arnr-strength
+Set altref noise reduction filter strength.
+
 @item lag-in-frames
 Set the maximum number of frames which the encoder may keep in flight
 at any one time for lookahead purposes.  Defaults to the internal
@@ -1466,6 +1472,33 @@  buffer falls below this percentage, frames will be dropped until it
 has refilled above the threshold.  Defaults to zero (no frames are
 dropped).
 
+@item denoise-noise-level
+Amount of noise to be removed for grain synthesis. Grain synthesis is disabled if 
+it is not set or set to 0.
+
+@item denoise-block-size
+Block size used for denoising for grain synthesis. If not set, AV1 codec
+uses the default value of 32.
+
+@item undershoot-pct
+Set datarate undershoot (min) percentage of the target bitrate.
+
+@item overshoot-pct
+Set datarate overshoot (max) percentage of the target bitrate.
+
+@item maxrate (@emph{maxsection-pct})
+Set GOP max bitrate in bits/s. Note @command{libaom-av1}'s option maxsection-pct is
+specified as a percentage of the target bitrate. If maxsection-pct is not set, the
+libaomenc wrapper computes it as follows: @code{(maxrate * 100 / bitrate)}.
+
+@item minrate (@emph{minsection-pct})
+Set GOP min bitrate in bits/s. Note @command{libaom-av1}'s option minsection-pct is
+specified as a percentage of the target bitrate. If minsection-pct is not set, the
+libaomenc wrapper computes it as follows: @code{(minrate * 100 / bitrate)}.
+
+@item frame-parallel @var{boolean}
+Enable frame parallel decodability features. The default value is true.
+
 @item tiles
 Set the number of tiles to encode the input video with, as columns x
 rows.  Larger numbers allow greater parallelism in both encoding and
@@ -1480,6 +1513,19 @@  Provided for compatibility with libvpx/VP9.
 @item row-mt (Requires libaom >= 1.0.0-759-g90a15f4f2)
 Enable row based multi-threading. Disabled by default.
 
+@item enable-cdef @var{boolean}
+Flag to enable or disable Constrianed Directional Enhancement Filter. The libaom-av1
+encoder enables CDEF by default.
+
+@item enable-global-motion @var{boolean}
+Flag to enable or disable the use of global motion for block prediction. 
+The default value is true.
+
+@item enable-intrabc @var{boolean}
+Flag to enable or disable block copy mode for intra block prediction. This mode is
+useful for screen content. The default value is true.
+
+
 @end table
 
 @section libkvazaar