[FFmpeg-devel] [libav-devel] [PATCH 5/6] Postpone API-incompatible changes until the next bump

Ronald S. Bultje rsbultje at gmail.com
Sun Aug 16 21:55:55 CEST 2015


Hi,

On Sun, Aug 16, 2015 at 3:41 PM, Michael Niedermayer <michael at niedermayer.cc
> wrote:

> On Sun, Aug 16, 2015 at 01:27:03PM -0400, Ronald S. Bultje wrote:
> > Hi,
> >
> > On Sat, Aug 8, 2015 at 7:37 AM, Andreas Cadhalpun <
> > andreas.cadhalpun at googlemail.com> wrote:
> >
> > > Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
> > > ---
> > >  libavcodec/version.h  | 54
> > > +++++++++++++++++++++++++--------------------------
> > >  libavfilter/version.h | 10 +++++-----
> > >  libavformat/version.h |  6 +++---
> > >  libavutil/version.h   | 10 +++++-----
> > >  4 files changed, 40 insertions(+), 40 deletions(-)
> > >
> > > diff --git a/libavcodec/version.h b/libavcodec/version.h
> > > index c903d2f..7eedf08 100644
> > > --- a/libavcodec/version.h
> > > +++ b/libavcodec/version.h
> > > @@ -85,31 +85,31 @@
> > >  #define FF_API_MISSING_SAMPLE    (LIBAVCODEC_VERSION_MAJOR < 57)
> > >  #endif
> > >  #ifndef FF_API_LOWRES
> > > -#define FF_API_LOWRES            (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_LOWRES            (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_CAP_VDPAU
> > > -#define FF_API_CAP_VDPAU         (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_CAP_VDPAU         (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_BUFS_VDPAU
> > > -#define FF_API_BUFS_VDPAU        (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_BUFS_VDPAU        (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_VOXWARE
> > > -#define FF_API_VOXWARE           (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_VOXWARE           (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_SET_DIMENSIONS
> > > -#define FF_API_SET_DIMENSIONS    (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_SET_DIMENSIONS    (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_DEBUG_MV
> > > -#define FF_API_DEBUG_MV          (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_DEBUG_MV          (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_AC_VLC
> > > -#define FF_API_AC_VLC            (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_AC_VLC            (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_OLD_MSMPEG4
> > > -#define FF_API_OLD_MSMPEG4       (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_OLD_MSMPEG4       (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_ASPECT_EXTENDED
> > > -#define FF_API_ASPECT_EXTENDED   (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_ASPECT_EXTENDED   (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_THREAD_OPAQUE
> > >  #define FF_API_THREAD_OPAQUE     (LIBAVCODEC_VERSION_MAJOR < 57)
> > > @@ -118,58 +118,58 @@
> > >  #define FF_API_CODEC_PKT         (LIBAVCODEC_VERSION_MAJOR < 57)
> > >  #endif
> > >  #ifndef FF_API_ARCH_ALPHA
> > > -#define FF_API_ARCH_ALPHA        (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_ARCH_ALPHA        (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_XVMC
> > > -#define FF_API_XVMC              (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_XVMC              (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_ERROR_RATE
> > > -#define FF_API_ERROR_RATE        (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_ERROR_RATE        (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_QSCALE_TYPE
> > > -#define FF_API_QSCALE_TYPE       (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_QSCALE_TYPE       (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_MB_TYPE
> > > -#define FF_API_MB_TYPE           (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_MB_TYPE           (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_MAX_BFRAMES
> > > -#define FF_API_MAX_BFRAMES       (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_MAX_BFRAMES       (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_NEG_LINESIZES
> > > -#define FF_API_NEG_LINESIZES     (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_NEG_LINESIZES     (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_EMU_EDGE
> > > -#define FF_API_EMU_EDGE          (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_EMU_EDGE          (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_ARCH_SH4
> > > -#define FF_API_ARCH_SH4          (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_ARCH_SH4          (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_ARCH_SPARC
> > > -#define FF_API_ARCH_SPARC        (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_ARCH_SPARC        (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_UNUSED_MEMBERS
> > > -#define FF_API_UNUSED_MEMBERS    (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_UNUSED_MEMBERS    (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_IDCT_XVIDMMX
> > > -#define FF_API_IDCT_XVIDMMX      (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_IDCT_XVIDMMX      (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_INPUT_PRESERVED
> > > -#define FF_API_INPUT_PRESERVED   (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_INPUT_PRESERVED   (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_NORMALIZE_AQP
> > > -#define FF_API_NORMALIZE_AQP     (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_NORMALIZE_AQP     (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_GMC
> > > -#define FF_API_GMC               (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_GMC               (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_MV0
> > > -#define FF_API_MV0               (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_MV0               (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_CODEC_NAME
> > > -#define FF_API_CODEC_NAME        (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_CODEC_NAME        (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_AFD
> > > -#define FF_API_AFD               (LIBAVCODEC_VERSION_MAJOR < 57)
> > > +#define FF_API_AFD               (LIBAVCODEC_VERSION_MAJOR < 58)
> > >  #endif
> > >  #ifndef FF_API_VISMV
> > >  /* XXX: don't forget to drop the -vismv documentation */
> > > diff --git a/libavfilter/version.h b/libavfilter/version.h
> > > index b3b637e..f42f9ca 100644
> > > --- a/libavfilter/version.h
> > > +++ b/libavfilter/version.h
> > > @@ -59,22 +59,22 @@
> > >  #define FF_API_AVFILTERBUFFER
>  (LIBAVFILTER_VERSION_MAJOR <
> > > 6)
> > >  #endif
> > >  #ifndef FF_API_OLD_FILTER_OPTS
> > > -#define FF_API_OLD_FILTER_OPTS
> (LIBAVFILTER_VERSION_MAJOR <
> > > 6)
> > > +#define FF_API_OLD_FILTER_OPTS
> (LIBAVFILTER_VERSION_MAJOR <
> > > 7)
> > >  #endif
> > >  #ifndef FF_API_AVFILTER_OPEN
> > > -#define FF_API_AVFILTER_OPEN
> (LIBAVFILTER_VERSION_MAJOR <
> > > 6)
> > > +#define FF_API_AVFILTER_OPEN
> (LIBAVFILTER_VERSION_MAJOR <
> > > 7)
> > >  #endif
> > >  #ifndef FF_API_AVFILTER_INIT_FILTER
> > > -#define FF_API_AVFILTER_INIT_FILTER
>  (LIBAVFILTER_VERSION_MAJOR <
> > > 6)
> > > +#define FF_API_AVFILTER_INIT_FILTER
>  (LIBAVFILTER_VERSION_MAJOR <
> > > 7)
> > >  #endif
> > >  #ifndef FF_API_OLD_FILTER_REGISTER
> > > -#define FF_API_OLD_FILTER_REGISTER
> (LIBAVFILTER_VERSION_MAJOR <
> > > 6)
> > > +#define FF_API_OLD_FILTER_REGISTER
> (LIBAVFILTER_VERSION_MAJOR <
> > > 7)
> > >  #endif
> > >  #ifndef FF_API_OLD_GRAPH_PARSE
> > >  #define FF_API_OLD_GRAPH_PARSE
> (LIBAVFILTER_VERSION_MAJOR <
> > > 5)
> > >  #endif
> > >  #ifndef FF_API_NOCONST_GET_NAME
> > > -#define FF_API_NOCONST_GET_NAME
>  (LIBAVFILTER_VERSION_MAJOR <
> > > 6)
> > > +#define FF_API_NOCONST_GET_NAME
>  (LIBAVFILTER_VERSION_MAJOR <
> > > 7)
> > >  #endif
> > >
> > >  #endif /* AVFILTER_VERSION_H */
> > > diff --git a/libavformat/version.h b/libavformat/version.h
> > > index 3ddba0c..fdb3a0b 100644
> > > --- a/libavformat/version.h
> > > +++ b/libavformat/version.h
> > > @@ -49,13 +49,13 @@
> > >   * the public API and may change, break or disappear at any time.
> > >   */
> > >  #ifndef FF_API_LAVF_BITEXACT
> > > -#define FF_API_LAVF_BITEXACT            (LIBAVFORMAT_VERSION_MAJOR <
> 57)
> > > +#define FF_API_LAVF_BITEXACT            (LIBAVFORMAT_VERSION_MAJOR <
> 58)
> > >  #endif
> > >  #ifndef FF_API_LAVF_FRAC
> > > -#define FF_API_LAVF_FRAC                (LIBAVFORMAT_VERSION_MAJOR <
> 57)
> > > +#define FF_API_LAVF_FRAC                (LIBAVFORMAT_VERSION_MAJOR <
> 58)
> > >  #endif
> > >  #ifndef FF_API_LAVF_CODEC_TB
> > > -#define FF_API_LAVF_CODEC_TB            (LIBAVFORMAT_VERSION_MAJOR <
> 57)
> > > +#define FF_API_LAVF_CODEC_TB            (LIBAVFORMAT_VERSION_MAJOR <
> 58)
> > >  #endif
> > >  #ifndef FF_API_URL_FEOF
> > >  #define FF_API_URL_FEOF                 (LIBAVFORMAT_VERSION_MAJOR <
> 57)
> > > diff --git a/libavutil/version.h b/libavutil/version.h
> > > index 23bc444..f21ea1b 100644
> > > --- a/libavutil/version.h
> > > +++ b/libavutil/version.h
> > > @@ -81,7 +81,7 @@
> > >   */
> > >
> > >  #ifndef FF_API_OLD_AVOPTIONS
> > > -#define FF_API_OLD_AVOPTIONS            (LIBAVUTIL_VERSION_MAJOR < 55)
> > > +#define FF_API_OLD_AVOPTIONS            (LIBAVUTIL_VERSION_MAJOR < 56)
> > >  #endif
> > >  #ifndef FF_API_PIXELFORMAT
> > >  #define FF_API_PIXELFORMAT              (LIBAVUTIL_VERSION_MAJOR < 55)
> > > @@ -108,19 +108,19 @@
> > >  #define FF_API_AVFRAME_LAVC             (LIBAVUTIL_VERSION_MAJOR < 55)
> > >  #endif
> > >  #ifndef FF_API_VDPAU
> > > -#define FF_API_VDPAU                    (LIBAVUTIL_VERSION_MAJOR < 55)
> > > +#define FF_API_VDPAU                    (LIBAVUTIL_VERSION_MAJOR < 56)
> > >  #endif
> > >  #ifndef FF_API_GET_CHANNEL_LAYOUT_COMPAT
> > >  #define FF_API_GET_CHANNEL_LAYOUT_COMPAT (LIBAVUTIL_VERSION_MAJOR <
> 55)
> > >  #endif
> > >  #ifndef FF_API_XVMC
> > > -#define FF_API_XVMC                     (LIBAVUTIL_VERSION_MAJOR < 55)
> > > +#define FF_API_XVMC                     (LIBAVUTIL_VERSION_MAJOR < 56)
> > >  #endif
> > >  #ifndef FF_API_OPT_TYPE_METADATA
> > > -#define FF_API_OPT_TYPE_METADATA        (LIBAVUTIL_VERSION_MAJOR < 55)
> > > +#define FF_API_OPT_TYPE_METADATA        (LIBAVUTIL_VERSION_MAJOR < 56)
> > >  #endif
> > >  #ifndef FF_API_DLOG
> > > -#define FF_API_DLOG                     (LIBAVUTIL_VERSION_MAJOR < 55)
> > > +#define FF_API_DLOG                     (LIBAVUTIL_VERSION_MAJOR < 56)
> > >  #endif
> > >  #ifndef FF_API_HMAC
> > >  #define FF_API_HMAC                     (LIBAVUTIL_VERSION_MAJOR < 55)
> >
> >
> > For each of them, I don't understand why. Particularly for things like
> > xvmc, I think we just want to kill it. I'm sure stuff stops working after
> > that, _that is the whole point_. We're killing dead weight. It's normal
> for
> > stuff to break after that.
>
> FF_API_LOWRES as is would remove lowres support with the bump
> i actively maintain this code and it is fully functional
> also FF_API_LOWRES only wraps around like 5% of the code it would
> not even remove the lowres code.
>
> some of the above like FF_API_OLD_AVOPTIONS would remove public
> functions that are not even deprecated
> like av_get_double() or av_get_q() or av_get_int()


lowres can stay, I'm fine with a patch that completely removes that define.
I don't think it makes sense to keep the define if we intend to keep the
feature. (I don't care if we keep the feature or not, I just want a
decision one way or another.)

What is av_get_double() and av_get_int() and why would we want to keep
them? If the answer is no, let's prepare a patch to put them under macros
and mark them as deprecated before doing anything else.

Ronald


More information about the ffmpeg-devel mailing list