[FFmpeg-devel] [PATCH] libvpxenc: extend auto-alt-ref range

James Zern jzern at google.com
Tue Nov 6 03:03:50 EET 2018


On Mon, Nov 5, 2018 at 5:02 PM James Zern <jzern at google.com> wrote:
>
> vp9 now supports [0, 6]
>
> Signed-off-by: James Zern <jzern at google.com>
> ---
>  doc/encoders.texi      | 1 +
>  libavcodec/libvpxenc.c | 6 ++++--
>  2 files changed, 5 insertions(+), 2 deletions(-)
>

This version moves the option from COMMON_OPTIONS for comparison.

> diff --git a/doc/encoders.texi b/doc/encoders.texi
> index 899faac49b..3c6f5cd70b 100644
> --- a/doc/encoders.texi
> +++ b/doc/encoders.texi
> @@ -1641,6 +1641,7 @@ means unlimited.
>  @table @option
>  @item auto-alt-ref
>  Enable use of alternate reference frames (2-pass only).
> +Values greater than 1 enable multi-layer alternate reference frames (VP9 only).
>  @item arnr-max-frames
>  Set altref noise reduction max frame count.
>  @item arnr-type
> diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
> index 09f7a88452..827df21fa5 100644
> --- a/libavcodec/libvpxenc.c
> +++ b/libavcodec/libvpxenc.c
> @@ -1067,8 +1067,6 @@ static int vpx_encode(AVCodecContext *avctx, AVPacket *pkt,
>  #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
>
>  #define COMMON_OPTIONS \
> -    { "auto-alt-ref",    "Enable use of alternate reference " \
> -                         "frames (2-pass only)",                   OFFSET(auto_alt_ref),    AV_OPT_TYPE_INT, {.i64 = -1},      -1,      2,       VE}, \
>      { "lag-in-frames",   "Number of frames to look ahead for " \
>                           "alternate reference frame selection",    OFFSET(lag_in_frames),   AV_OPT_TYPE_INT, {.i64 = -1},      -1,      INT_MAX, VE}, \
>      { "arnr-maxframes",  "altref noise reduction max frame count", OFFSET(arnr_max_frames), AV_OPT_TYPE_INT, {.i64 = -1},      -1,      INT_MAX, VE}, \
> @@ -1112,6 +1110,8 @@ static int vpx_encode(AVCodecContext *avctx, AVPacket *pkt,
>  #if CONFIG_LIBVPX_VP8_ENCODER
>  static const AVOption vp8_options[] = {
>      COMMON_OPTIONS
> +    { "auto-alt-ref",    "Enable use of alternate reference "
> +                         "frames (2-pass only)",                        OFFSET(auto_alt_ref),    AV_OPT_TYPE_INT, {.i64 = -1}, -1,  2, VE},
>      { "cpu-used",        "Quality/Speed ratio modifier",                OFFSET(cpu_used),        AV_OPT_TYPE_INT, {.i64 = 1}, -16, 16, VE},
>      LEGACY_OPTIONS
>      { NULL }
> @@ -1121,6 +1121,8 @@ static const AVOption vp8_options[] = {
>  #if CONFIG_LIBVPX_VP9_ENCODER
>  static const AVOption vp9_options[] = {
>      COMMON_OPTIONS
> +    { "auto-alt-ref",    "Enable use of alternate reference "
> +                         "frames (2-pass only)",                        OFFSET(auto_alt_ref),    AV_OPT_TYPE_INT, {.i64 = -1}, -1, 6, VE},
>      { "cpu-used",        "Quality/Speed ratio modifier",                OFFSET(cpu_used),        AV_OPT_TYPE_INT, {.i64 = 1},  -8, 8, VE},
>      { "lossless",        "Lossless mode",                               OFFSET(lossless),        AV_OPT_TYPE_INT, {.i64 = -1}, -1, 1, VE},
>      { "tile-columns",    "Number of tile columns to use, log2",         OFFSET(tile_columns),    AV_OPT_TYPE_INT, {.i64 = -1}, -1, 6, VE},
> --
> 2.19.1.930.g4563a0d9d0-goog
>


More information about the ffmpeg-devel mailing list