mbox series

[FFmpeg-devel,00/24] Major library version bump

Message ID 20240125134425.374-1-jamrial@gmail.com
Headers show
Series Major library version bump | expand

Message

James Almer Jan. 25, 2024, 1:43 p.m. UTC
As the subject states, this set removes deprecated API scheduled for removal
in the past year, since the last major bump.
After this is committed, it will be open ABI season for a few weeks, but no
longer than a month. So if you want to do some cleaning (like removing avpriv_
functions, or moving field offsets from public strucs around), now is the time.

Of particular interest is the removal of the old channel layout API. This means
decoders, demuxers and filters can now output custom and ambisonic layouts
without worrying the caller may not be aware of them because it only looked at
the old fields.

James Almer (24):
  avcodec: remove deprecated FF_API_IDCT_NONE
  avcodec: remove deprecated FF_API_SVTAV1_OPTS
  avcodec: remove deprecated FF_API_AYUV_CODECID
  avcodec: remove deprecated FF_API_VT_OUTPUT_CALLBACK
  avcodec: remove deprecated FF_API_AVCODEC_CHROMA_POS
  avcodec: remove deprecated FF_API_VT_HWACCEL_CONTEXT
  avcodec: remove deprecated FF_API_AVCTX_FRAME_NUMBER
  avcodec: remove deprecated FF_CODEC_CRYSTAL_HD
  avformat: remove deprecated FF_API_GET_END_PTS
  avformat: remove deprecated FF_API_AVIODIRCONTEXT
  avformat: remove deprecated FF_API_AVFORMAT_IO_CLOSE
  avfilter: remove deprecated FF_API_LIBPLACEBO_OPTS
  avutil: remove deprecated FF_API_FIFO_PEEK2
  avutil: remove deprecated FF_API_FIFO_OLD_API
  avutil: remove deprecated FF_API_XVMC
  avutil: remove deprecated FF_API_OLD_CHANNEL_LAYOUT
  avutil: remove deprecated FF_API_AV_FOPEN_UTF8
  avutil: remove deprecated FF_API_PKT_DURATION
  avutil: remove deprecated FF_API_REORDERED_OPAQUE
  avutil: remove deprecated FF_API_FRAME_PICTURE_NUMBER
  avcodec/version_major: postpone some deprecations until the next bump
  avformat/version_major: postpone some deprecations until the next bump
  avutil/version_major: postpone some deprecations until the next bump
  libs: bump major version for all libraries

 configure                                    |  13 -
 doc/APIchanges                               |   2 +-
 doc/ffprobe.xsd                              |   4 -
 fftools/ffmpeg_filter.c                      |   5 -
 fftools/ffmpeg_mux_init.c                    |  21 +-
 fftools/ffprobe.c                            |  12 -
 libavcodec/Makefile                          |   1 -
 libavcodec/aac_ac3_parser.c                  |   6 -
 libavcodec/aacdec.c                          |   2 -
 libavcodec/aacdec_common.c                   |  17 -
 libavcodec/aacdec_fixed.c                    |   1 -
 libavcodec/aacdec_template.c                 |   7 -
 libavcodec/aacdectab.h                       |   4 -
 libavcodec/ac3dec.c                          |   8 -
 libavcodec/ac3enc.c                          |  24 -
 libavcodec/ac3enc.h                          |   3 -
 libavcodec/ac3enc_fixed.c                    |   1 -
 libavcodec/ac3enc_float.c                    |   1 -
 libavcodec/alacenc.c                         |  16 -
 libavcodec/allcodecs.c                       |  10 -
 libavcodec/aptxdec.c                         |   2 -
 libavcodec/aptxenc.c                         |   2 -
 libavcodec/audiotoolboxenc.c                 |  19 -
 libavcodec/avcodec.c                         |  34 -
 libavcodec/avcodec.h                         | 110 ---
 libavcodec/codec.h                           |   7 -
 libavcodec/codec_desc.c                      |   9 -
 libavcodec/codec_id.h                        |   3 -
 libavcodec/codec_internal.h                  |  19 -
 libavcodec/codec_par.c                       |  46 --
 libavcodec/codec_par.h                       |  16 -
 libavcodec/crystalhd.c                       | 826 -------------------
 libavcodec/dcadec.c                          |  12 -
 libavcodec/dcaenc.c                          |   3 -
 libavcodec/decode.c                          |  72 --
 libavcodec/diracdec.c                        |  15 -
 libavcodec/dolby_e.c                         |   7 -
 libavcodec/eac3enc.c                         |   1 -
 libavcodec/encode.c                          |  16 -
 libavcodec/g722enc.c                         |   1 -
 libavcodec/get_buffer.c                      |   6 -
 libavcodec/h264_slice.c                      |   5 -
 libavcodec/libcodec2.c                       |   2 -
 libavcodec/libdav1d.c                        |  22 +-
 libavcodec/libfdk-aacdec.c                   |   8 -
 libavcodec/libfdk-aacenc.c                   |  23 -
 libavcodec/libgsmenc.c                       |   2 -
 libavcodec/libmp3lame.c                      |   1 -
 libavcodec/librav1e.c                        |  13 -
 libavcodec/libshine.c                        |   1 -
 libavcodec/libspeexenc.c                     |   1 -
 libavcodec/libsvtav1.c                       |  48 --
 libavcodec/libtwolame.c                      |   1 -
 libavcodec/libuavs3d.c                       |   6 -
 libavcodec/libvpxenc.c                       |  14 -
 libavcodec/libwebpenc_animencoder.c          |  13 -
 libavcodec/libx264.c                         |  18 -
 libavcodec/libx265.c                         |  20 -
 libavcodec/mlp.c                             |   9 -
 libavcodec/mlp.h                             |   3 -
 libavcodec/mlpdec.c                          |   9 -
 libavcodec/mlpenc.c                          |   2 -
 libavcodec/mpegaudioenc_fixed.c              |   1 -
 libavcodec/mpegaudioenc_float.c              |   1 -
 libavcodec/mpegvideo_dec.c                   |   6 -
 libavcodec/nvenc.c                           |  12 -
 libavcodec/nvenc.h                           |   4 -
 libavcodec/options.c                         |   5 -
 libavcodec/options_table.h                   |  10 -
 libavcodec/opusenc.c                         |   1 -
 libavcodec/packet.h                          |   7 -
 libavcodec/pcm-blurayenc.c                   |  11 -
 libavcodec/pcm-dvdenc.c                      |   2 -
 libavcodec/pthread_frame.c                   |  16 -
 libavcodec/ra144enc.c                        |   1 -
 libavcodec/sbcdec.c                          |   1 -
 libavcodec/sbcenc.c                          |   1 -
 libavcodec/utils.c                           |  25 +-
 libavcodec/v408dec.c                         |  35 +-
 libavcodec/v408enc.c                         |  37 +-
 libavcodec/version.h                         |   2 +-
 libavcodec/version_major.h                   |  21 +-
 libavcodec/videotoolbox.c                    |  31 -
 libavcodec/videotoolbox.h                    |  65 --
 libavcodec/vorbis_data.c                     |  14 -
 libavcodec/vorbis_data.h                     |   3 -
 libavcodec/vorbisdec.c                       |   1 -
 libavdevice/alsa_enc.c                       |   7 -
 libavdevice/pulse_audio_enc.c                |   7 -
 libavdevice/version.h                        |   2 +-
 libavdevice/version_major.h                  |   2 +-
 libavfilter/af_afir.c                        |   5 -
 libavfilter/af_aformat.c                     |  13 -
 libavfilter/af_amerge.c                      |   6 -
 libavfilter/af_aresample.c                   |   6 -
 libavfilter/af_ashowinfo.c                   |  10 -
 libavfilter/af_channelmap.c                  |   6 -
 libavfilter/af_channelsplit.c                |   7 -
 libavfilter/af_join.c                        |   6 -
 libavfilter/af_ladspa.c                      |   5 -
 libavfilter/af_lv2.c                         |   5 -
 libavfilter/af_pan.c                         |   6 -
 libavfilter/audio.c                          |  12 -
 libavfilter/avfilter.c                       |   5 -
 libavfilter/avfilter.h                       |   8 -
 libavfilter/avfiltergraph.c                  |   6 -
 libavfilter/buffersink.c                     |  70 +-
 libavfilter/buffersink.h                     |   4 -
 libavfilter/buffersrc.c                      |  51 +-
 libavfilter/buffersrc.h                      |   9 -
 libavfilter/f_streamselect.c                 |   5 -
 libavfilter/formats.c                        |  20 +-
 libavfilter/framepool.c                      |   5 -
 libavfilter/tests/formats.c                  |   3 -
 libavfilter/version.h                        |   2 +-
 libavfilter/version_major.h                  |   4 +-
 libavfilter/vf_deshake_opencl.c              |   7 -
 libavfilter/vf_drawtext.c                    |  15 -
 libavfilter/vf_libplacebo.c                  |  76 --
 libavfilter/vsrc_testsrc.c                   |   5 -
 libavformat/avformat.c                       |  14 +-
 libavformat/avformat.h                       |  20 -
 libavformat/avio.c                           |   2 -
 libavformat/avio.h                           |   6 -
 libavformat/dashenc.c                        |   5 -
 libavformat/demux.c                          |  19 -
 libavformat/demux_utils.c                    |  20 -
 libavformat/dfpwmdec.c                       |  17 +-
 libavformat/dump.c                           |  25 -
 libavformat/fifo.c                           |   5 -
 libavformat/hlsenc.c                         |   5 -
 libavformat/imfdec.c                         |   5 -
 libavformat/mux.c                            |  23 -
 libavformat/mux_utils.c                      |  10 -
 libavformat/nutdec.c                         |   4 -
 libavformat/nutenc.c                         |  15 -
 libavformat/options.c                        |  12 -
 libavformat/pcmdec.c                         |  20 -
 libavformat/segment.c                        |   5 -
 libavformat/tee.c                            |   5 -
 libavformat/version.h                        |   2 +-
 libavformat/version_major.h                  |  15 +-
 libavutil/avutil.h                           |  13 -
 libavutil/channel_layout.c                   | 184 -----
 libavutil/channel_layout.h                   | 150 ----
 libavutil/fifo.c                             | 219 -----
 libavutil/fifo.h                             | 202 -----
 libavutil/file.c                             |   6 -
 libavutil/file.h                             |  17 -
 libavutil/file_open.c                        |   7 -
 libavutil/frame.c                            | 148 +---
 libavutil/frame.h                            |  61 --
 libavutil/opt.c                              | 112 ---
 libavutil/opt.h                              |  11 -
 libavutil/pixdesc.c                          |   6 -
 libavutil/pixfmt.h                           |   4 -
 libavutil/version.h                          |  26 +-
 libpostproc/version.h                        |   2 +-
 libpostproc/version_major.h                  |   2 +-
 libswresample/options.c                      |  22 -
 libswresample/rematrix.c                     |  48 +-
 libswresample/swresample.c                   | 120 ---
 libswresample/swresample.h                   |  63 --
 libswresample/swresample_frame.c             |  47 +-
 libswresample/swresample_internal.h          |   7 -
 libswresample/version.h                      |   2 +-
 libswresample/version_major.h                |   2 +-
 libswscale/version.h                         |   2 +-
 libswscale/version_major.h                   |   2 +-
 tests/ref/fate/exif-image-embedded           |  46 --
 tests/ref/fate/exif-image-jpg                |   4 -
 tests/ref/fate/exif-image-tiff               |   4 -
 tests/ref/fate/exif-image-webp               |   4 -
 tests/ref/fate/ffprobe_compact               |  28 +-
 tests/ref/fate/ffprobe_csv                   |  28 +-
 tests/ref/fate/ffprobe_default               |  44 -
 tests/ref/fate/ffprobe_flat                  |  44 -
 tests/ref/fate/ffprobe_ini                   |  44 -
 tests/ref/fate/ffprobe_json                  |  44 -
 tests/ref/fate/ffprobe_xml                   |  28 +-
 tests/ref/fate/ffprobe_xsd                   |  28 +-
 tests/ref/fate/filter-formats                |   3 -
 tests/ref/fate/flcl1905                      | 350 ++++----
 tests/ref/fate/gaplessenc-itunes-to-ipod-aac |  32 +-
 tests/ref/fate/gaplessenc-pcm-to-mov-aac     |  32 +-
 tests/ref/fate/gaplessinfo-itunes1           |  32 +-
 tests/ref/fate/gaplessinfo-itunes2           |  32 +-
 tests/ref/fate/h264-dts_5frames              |  20 -
 tests/ref/fate/jpg-icc                       |   4 -
 tests/ref/fate/mov-zombie                    | 130 +--
 tests/ref/fate/png-icc                       |   4 -
 tests/ref/fate/png-side-data                 |   4 -
 192 files changed, 424 insertions(+), 4622 deletions(-)
 delete mode 100644 libavcodec/crystalhd.c

Comments

James Almer Jan. 25, 2024, 4:23 p.m. UTC | #1
On 1/25/2024 10:43 AM, James Almer wrote:
> After this is committed, it will be open ABI season for a few weeks, but no
> longer than a month. So if you want to do some cleaning (like removing avpriv_
> functions, or moving field offsets from public strucs around), now is the time.

I was reminded that we got rid of this period, so if anyone has ABI 
breaking changes they want committed, please send a patch now, so it can 
be applied immediately before the bump.
Anton Khirnov Jan. 28, 2024, 12:31 p.m. UTC | #2
Quoting James Almer (2024-01-25 14:43:23)
> As the subject states, this set removes deprecated API scheduled for removal
> in the past year, since the last major bump.

So what is the actual rule you used for deciding what to remove and what
to postpone?

Everything except
>   avfilter: remove deprecated FF_API_LIBPLACEBO_OPTS
would match the "deprecated in 2 major releases" rule that's been
suggested a few times before.
James Almer Feb. 4, 2024, 1:02 p.m. UTC | #3
On 1/28/2024 9:31 AM, Anton Khirnov wrote:
> Quoting James Almer (2024-01-25 14:43:23)
>> As the subject states, this set removes deprecated API scheduled for removal
>> in the past year, since the last major bump.
> 
> So what is the actual rule you used for deciding what to remove and what
> to postpone?
> 
> Everything except
>>    avfilter: remove deprecated FF_API_LIBPLACEBO_OPTS
> would match the "deprecated in 2 major releases" rule that's been
> suggested a few times before.

Anything at least a year old and already deprecated in 5.1, i think, but 
i may have messed up somewhere.
I can skip the libplacebo one if that's what "deprecated in 2 major 
releases" requires.
James Almer Feb. 7, 2024, 1:11 p.m. UTC | #4
On 1/25/2024 1:23 PM, James Almer wrote:
> On 1/25/2024 10:43 AM, James Almer wrote:
>> After this is committed, it will be open ABI season for a few weeks, 
>> but no
>> longer than a month. So if you want to do some cleaning (like removing 
>> avpriv_
>> functions, or moving field offsets from public strucs around), now is 
>> the time.
> 
> I was reminded that we got rid of this period, so if anyone has ABI 
> breaking changes they want committed, please send a patch now, so it can 
> be applied immediately before the bump.

Reminder to people to submit any ABI breaking changes they want in 
before this set is pushed.