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

James Zern jzern at google.com
Fri Nov 9 00:49:19 EET 2018


On Mon, Nov 5, 2018 at 5:03 PM James Zern <jzern at google.com> wrote:
>
> 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.
>

I'll submit this version soon if there aren't any comments. vp8 could
be made a bool in a followup at the cost of compatibility, it's been
in its current state for a couple years.

> > 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