Hi, On 16.08.2015 19:27, Ronald S. Bultje wrote: > On Sat, Aug 8, 2015 at 7:37 AM, Andreas Cadhalpun < > andreas.cadhal...@googlemail.com> wrote: > >> +#define FF_API_VOXWARE (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_AC_VLC (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_OLD_MSMPEG4 (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_ARCH_ALPHA (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_NEG_LINESIZES (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_ARCH_SH4 (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_ARCH_SPARC (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_IDCT_XVIDMMX (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_AVFILTER_OPEN (LIBAVFILTER_VERSION_MAJOR < 7) >> +#define FF_API_AVFILTER_INIT_FILTER (LIBAVFILTER_VERSION_MAJOR < 7) >> +#define FF_API_NOCONST_GET_NAME (LIBAVFILTER_VERSION_MAJOR < 7) >> +#define FF_API_OPT_TYPE_METADATA (LIBAVUTIL_VERSION_MAJOR < 56)
Removing these now is probably OK, because they seem to be relatively unused. >> +#define FF_API_BUFS_VDPAU (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_SET_DIMENSIONS (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_ASPECT_EXTENDED (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_ERROR_RATE (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_MB_TYPE (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_MAX_BFRAMES (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_INPUT_PRESERVED (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_NORMALIZE_AQP (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_GMC (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_MV0 (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_CODEC_NAME (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_AFD (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_OLD_FILTER_OPTS (LIBAVFILTER_VERSION_MAJOR < 7) >> +#define FF_API_OLD_FILTER_REGISTER (LIBAVFILTER_VERSION_MAJOR < 7) >> +#define FF_API_LAVF_BITEXACT (LIBAVFORMAT_VERSION_MAJOR < 58) >> +#define FF_API_LAVF_CODEC_TB (LIBAVFORMAT_VERSION_MAJOR < 58) These seem to be still somewhat used, so it would at least need good documentation how to deal with the removals. >> +#define FF_API_XVMC (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_XVMC (LIBAVUTIL_VERSION_MAJOR < 56) Why are there two defines with the same name? And what about mpeg1_xvmc/mpeg2_xvmc? >> +#define FF_API_LOWRES (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_CAP_VDPAU (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_DEBUG_MV (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_QSCALE_TYPE (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_EMU_EDGE (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_UNUSED_MEMBERS (LIBAVCODEC_VERSION_MAJOR < 58) >> +#define FF_API_OLD_AVOPTIONS (LIBAVUTIL_VERSION_MAJOR < 56) >> +#define FF_API_VDPAU (LIBAVUTIL_VERSION_MAJOR < 56) >> +#define FF_API_DLOG (LIBAVUTIL_VERSION_MAJOR < 56) >> +#define FF_API_LAVF_FRAC (LIBAVFORMAT_VERSION_MAJOR < 58) With any of those disabled FFmpeg doesn't compile. Someone needs to fix that before these can be removed. > 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. How to deal with things like the xvmc removal seems to be particularly undocumented. > 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. Comparing with gtk (or qt or python) is not actually useful, because these have far more users. If you do that I would suggest to compare with libc, which doesn't do any API breaks anymore, because it would be far too much pain. > Every single delay of the bump needs to be explicitly justified. On that we can agree. Best regards, Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel