From: James Almer <jamrial@gmail.com> To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 00/26] Major library version bump Date: Mon, 16 Jan 2023 10:38:14 -0300 Message-ID: <20230116133840.512-1-jamrial@gmail.com> (raw) It's been a while since the last bump, so it's time to do some cleaning and remove deprecated APIs. This will also give us an "Open ABI season" in which we can do breaking changes (like changing public struct offsets, public enum values, adding fields to structs that have their size tied to the ABI, etc) for a few weeks. I'm also taking this opportunity to suggest a change in our deprecation period policy. Until now it's been a generic two years period, with no concrete reason for it other than giving library users "time" to migrate. What we have seen however is that users migrate in two cases: As soon as things are deprecated when they use git head to get rid of deprecation warnings, or when they have no choice (aka, when they want to move their project to a new ffmpeg version that no longer has the symbols they depended on). In the latter case, any arbitrary amount of time will make no difference whatsoever. Projects could right now still be using ffmpeg 4.3 (since that's what Debian stable ships) and would not consider moving to 5.1 or any future version for the foreseeable future. So the suggestion is to change to a release based scheme, which will in some form be time based anyway. Namely, every three releases we do a major bump, which will be a good year or so in real world terms, in which all API deprecated during that period, as long as it's present in a release, is removed. This would also go with the idea of a recurrent LTS release, so if we do three releases per major version, it could be x.0 (initial release) x.1 (LTS), and x.2 (last release made pre bump). If we go the above route, we could also remove API like the old lavu FIFO stuff, a deprecation that's slightly less than a year old but effectively present in v5.1. We'd also need to add all this in writing, because this kind of policy can't just be "oh yeah, we do it that way" in random emails. James Almer (26): avcodec: remove FF_API_OPENH264_SLICE_MODE avcodec: remove FF_API_OPENH264_CABAC avcodec: remove FF_API_UNUSED_CODEC_CAPS avcodec: remove FF_API_THREAD_SAFE_CALLBACKS avcodec: remove FF_API_DEBUG_MV avcodec: remove FF_API_GET_FRAME_CLASS avcodec: remove FF_API_AUTO_THREADS avcodec: remove FF_API_AVCTX_TIMEBASE avcodec: remove FF_API_FLAG_TRUNCATED avcodec: remove FF_API_SUB_TEXT_FORMAT avformat: remove FF_API_LAVF_PRIV_OPT avformat: remove FF_API_AVIOCONTEXT_WRITTEN avformat: remove FF_HLS_TS_OPTIONS avformat: remove FF_API_AVSTREAM_CLASS avfilter: remove FF_API_SWS_PARAM_OPTION avfilter: remove FF_API_BUFFERSINK_ALLOC avfilter: remove FF_API_PAD_COUNT avdevice: remove FF_API_DEVICE_CAPABILITIES avutil: remove FF_API_D2STR avutil: remove FF_API_DECLARE_ALIGNED avutil: remove FF_API_COLORSPACE_NAME avutil: remove FF_API_AV_MALLOCZ_ARRAY avutil/version: postpone the remaining API deprecations avcodec/version: postpone the remaining API deprecations avformat/version: postpone the remaining API deprecations Bump major versions of all libraries doc/APIchanges | 16 +- fftools/ffmpeg.c | 5 - fftools/ffmpeg_mux_init.c | 11 -- fftools/ffprobe.c | 2 +- libavcodec/av1_parser.c | 3 - libavcodec/avcodec.c | 5 - libavcodec/avcodec.h | 61 +------- libavcodec/avs2_parser.c | 4 +- libavcodec/avs3_parser.c | 4 +- libavcodec/codec.h | 20 --- libavcodec/cpia.c | 8 - libavcodec/decode.c | 22 --- libavcodec/encode.c | 7 +- libavcodec/frame_thread_encoder.c | 20 --- libavcodec/h263_parser.c | 11 -- libavcodec/h263_parser.h | 29 ---- libavcodec/h263dec.c | 42 ------ libavcodec/h264_parser.c | 7 +- libavcodec/h264dec.c | 6 - libavcodec/libopenh264enc.c | 22 --- libavcodec/mjpegdec.c | 2 +- libavcodec/mpeg12.c | 66 --------- libavcodec/mpeg12.h | 9 -- libavcodec/mpeg12dec.c | 31 ---- libavcodec/mpeg4video_parser.c | 16 +- libavcodec/mpeg4video_parser.h | 34 ----- libavcodec/mpeg4videodec.c | 6 - libavcodec/mpegvideo.c | 9 -- libavcodec/mpegvideo.h | 7 - libavcodec/mpegvideo_dec.c | 8 - libavcodec/mpegvideo_parser.c | 12 +- libavcodec/options.c | 33 ----- libavcodec/options_table.h | 7 - libavcodec/pthread.c | 3 - libavcodec/pthread_frame.c | 237 +----------------------------- libavcodec/qdmc.c | 1 + libavcodec/thread.h | 12 -- libavcodec/vc1_parser.c | 2 - libavcodec/version.h | 2 +- libavcodec/version_major.h | 24 +-- libavdevice/avdevice.c | 19 --- libavdevice/avdevice.h | 130 ---------------- libavdevice/version.h | 4 +- libavdevice/version_major.h | 3 +- libavfilter/avfilter.c | 21 --- libavfilter/avfilter.h | 10 -- libavfilter/buffersink.c | 22 --- libavfilter/buffersink.h | 36 ----- libavfilter/buffersrc.c | 11 -- libavfilter/version.h | 2 +- libavfilter/version_major.h | 6 +- libavformat/avformat.c | 33 +++-- libavformat/avformat.h | 5 - libavformat/avio.h | 10 -- libavformat/aviobuf.c | 10 -- libavformat/demux.c | 41 +++--- libavformat/hlsenc.c | 3 - libavformat/options.c | 3 - libavformat/version.h | 2 +- libavformat/version_major.h | 12 +- libavutil/avstring.c | 10 -- libavutil/avstring.h | 9 -- libavutil/frame.c | 17 --- libavutil/frame.h | 9 -- libavutil/mem.c | 10 -- libavutil/mem.h | 88 ----------- libavutil/mem_internal.h | 2 - libavutil/tests/avstring.c | 16 -- libavutil/version.h | 20 +-- libpostproc/version.h | 2 +- libpostproc/version_major.h | 2 +- libswscale/version.h | 4 +- libswscale/version_major.h | 2 +- 73 files changed, 103 insertions(+), 1297 deletions(-) delete mode 100644 libavcodec/h263_parser.h delete mode 100644 libavcodec/mpeg4video_parser.h -- 2.39.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next reply other threads:[~2023-01-16 13:39 UTC|newest] Thread overview: 102+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-01-16 13:38 James Almer [this message] 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 01/26] avcodec: remove FF_API_OPENH264_SLICE_MODE James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 02/26] avcodec: remove FF_API_OPENH264_CABAC James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 03/26] avcodec: remove FF_API_UNUSED_CODEC_CAPS James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 04/26] avcodec: remove FF_API_THREAD_SAFE_CALLBACKS James Almer 2023-01-20 22:44 ` Michael Niedermayer 2023-01-23 22:05 ` James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 05/26] avcodec: remove FF_API_DEBUG_MV James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 06/26] avcodec: remove FF_API_GET_FRAME_CLASS James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 07/26] avcodec: remove FF_API_AUTO_THREADS James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 08/26] avcodec: remove FF_API_AVCTX_TIMEBASE James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 09/26] avcodec: remove FF_API_FLAG_TRUNCATED James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 10/26] avcodec: remove FF_API_SUB_TEXT_FORMAT James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 11/26] avformat: remove FF_API_LAVF_PRIV_OPT James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 12/26] avformat: remove FF_API_AVIOCONTEXT_WRITTEN James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 13/26] avformat: remove FF_HLS_TS_OPTIONS James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 14/26] avformat: remove FF_API_AVSTREAM_CLASS James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 15/26] avfilter: remove FF_API_SWS_PARAM_OPTION James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 16/26] avfilter: remove FF_API_BUFFERSINK_ALLOC James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 17/26] avfilter: remove FF_API_PAD_COUNT James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 18/26] avdevice: remove FF_API_DEVICE_CAPABILITIES James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 19/26] avutil: remove FF_API_D2STR James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 20/26] avutil: remove FF_API_DECLARE_ALIGNED James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 21/26] avutil: remove FF_API_COLORSPACE_NAME James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 22/26] avutil: remove FF_API_AV_MALLOCZ_ARRAY James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 23/26] avutil/version: postpone the remaining API deprecations James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 24/26] avcodec/version: " James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 25/26] avformat/version: " James Almer 2023-01-16 13:38 ` [FFmpeg-devel] [PATCH 26/26] Bump major versions of all libraries James Almer 2023-01-18 19:28 ` [FFmpeg-devel] [PATCH 00/26] Major library version bump Anton Khirnov 2023-01-18 21:23 ` James Almer 2023-01-19 7:26 ` Anton Khirnov 2023-01-19 12:18 ` James Almer 2023-01-19 15:23 ` Anton Khirnov 2023-01-20 2:05 ` Michael Niedermayer 2023-01-21 16:51 ` Anton Khirnov 2023-01-21 19:33 ` Marvin Scholz 2023-01-21 20:17 ` Hendrik Leppkes 2023-01-21 21:30 ` Marvin Scholz 2023-01-21 22:47 ` Hendrik Leppkes 2023-01-21 21:36 ` Michael Niedermayer 2023-01-21 22:00 ` Marton Balint 2023-01-22 22:54 ` Michael Niedermayer 2023-01-23 17:03 ` Anton Khirnov 2023-01-23 22:41 ` Marton Balint 2023-01-23 22:50 ` Anton Khirnov 2023-01-23 23:22 ` Marton Balint 2023-01-24 0:01 ` Michael Niedermayer 2023-01-24 0:06 ` Marton Balint 2023-01-24 7:59 ` Anton Khirnov 2023-01-24 19:48 ` Marton Balint 2023-01-21 22:01 ` Marvin Scholz 2023-01-20 15:07 ` Tomas Härdin 2023-01-20 21:23 ` Leo Izen 2023-01-21 16:54 ` Anton Khirnov 2023-01-24 15:45 ` Anton Khirnov 2023-01-25 15:44 ` James Almer 2023-01-25 20:08 ` Marton Balint 2023-01-25 20:44 ` Jean-Baptiste Kempf 2023-01-25 21:03 ` Marton Balint 2023-01-25 21:15 ` Jean-Baptiste Kempf 2023-01-25 21:20 ` Paul B Mahol 2023-01-25 21:26 ` Jean-Baptiste Kempf 2023-01-25 21:29 ` Paul B Mahol 2023-01-25 21:31 ` Jean-Baptiste Kempf 2023-01-25 21:34 ` Paul B Mahol 2023-01-25 22:28 ` Marton Balint 2023-01-25 22:48 ` Jean-Baptiste Kempf 2023-01-25 23:25 ` Marton Balint 2023-01-26 22:16 ` Michael Niedermayer 2023-01-26 22:49 ` Jean-Baptiste Kempf 2023-01-26 23:19 ` Michael Niedermayer 2023-01-26 23:21 ` Jean-Baptiste Kempf 2023-01-27 18:42 ` James Almer 2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 26/31] avcodec/avcodec: Remove AV_CODEC_FLAG2_DROP_FRAME_TIMECODE Andreas Rheinhardt [not found] ` <20230127140600.2831578-1-andreas.rheinhardt@outlook.com> 2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 27/31] avformat/avformat: Remove AVOutputFormat.data_codec Andreas Rheinhardt 2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 28/31] avformat/avformat: Move codecpar up in AVStream Andreas Rheinhardt 2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 29/31] avcodec: Make avcodec_decode_subtitle2 accept a const AVPacket* Andreas Rheinhardt 2023-01-27 14:05 ` [FFmpeg-devel] [PATCH 30/31] avformat/demux: Avoid stack packet when decoding frame Andreas Rheinhardt 2023-01-27 14:06 ` [FFmpeg-devel] [PATCH 31/31] avformat/avformat: Move AVOutputFormat internals out of public header Andreas Rheinhardt 2023-01-28 13:58 ` [FFmpeg-devel] [PATCH 32/32] avutil/{color_utils, csp}: merge color_utils into csp and expose API Leo Izen 2023-01-29 11:08 ` Anton Khirnov 2023-01-30 16:50 ` [FFmpeg-devel] [PATCH v2] " Leo Izen 2023-01-30 17:08 ` Zhao Zhili 2023-01-30 17:12 ` Paul B Mahol 2023-01-30 18:22 ` Leo Izen 2023-01-31 2:20 ` "zhilizhao(赵志立)" 2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 0/6] Fix HDR vivid support Zhao Zhili 2023-02-02 8:00 ` Lance Wang [not found] ` <20230202070208.1962086-1-quinkblack@foxmail.com> 2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 1/6] libavutil/hdr_dynamic_vivid_metadata: fix AVHDRVividColorToneMappingParams Zhao Zhili 2023-02-02 8:16 ` Anton Khirnov 2023-02-02 8:52 ` "zhilizhao(赵志立)" 2023-02-03 14:28 ` Anton Khirnov 2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 2/6] libavcodec/dynamic_hdr_vivid: fix start code check Zhao Zhili 2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 3/6] avcodec/dynamic_hdr_vivid: fix base_param_Delta Zhao Zhili 2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 4/6] avcodec/dynamic_hdr_vivid: fix base_enable_flag control Zhao Zhili 2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 5/6] avcodec/dynamic_hdr_vivid: reindent after the previous commit Zhao Zhili 2023-02-02 7:02 ` [FFmpeg-devel] [PATCH major bump 6/6] fftools/ffprobe: fix print_dynamic_hdr_vivid Zhao Zhili 2023-01-29 10:17 ` [FFmpeg-devel] [PATCH 1/3] lavu/fifo: remove FF_API_FIFO_PEEK2 Anton Khirnov 2023-01-29 10:17 ` [FFmpeg-devel] [PATCH 2/3] lavu/fifo: uninline deprecated av_fifo_peek2() Anton Khirnov 2023-01-29 16:11 ` Andreas Rheinhardt 2023-01-29 10:17 ` [FFmpeg-devel] [PATCH 3/3] lavu/fifo: mark all AVFifoBuffer members as deprecated Anton Khirnov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20230116133840.512-1-jamrial@gmail.com \ --to=jamrial@gmail.com \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git