[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 19:27:03 CEST 2015


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.

I want to reiterate my intention here to break stuff. It is fully
intentional for some stuff to break as part of API bumps. I want you to
think of this as gtk2-gtk3 moves. Gtk2 works just fine and is parallel
installable. However, it's gone in gtk3. Every single delay of the bump
needs to be explicitly justified.

Ronald


More information about the ffmpeg-devel mailing list