[FFmpeg-devel] [PATCH 00/17 v3] AVCodecContext and AVCodecParameters side data

James Almer jamrial at gmail.com
Mon Sep 4 18:03:53 EEST 2023


Changes since the previous version:
- Reverted the undocumented usage of coded_side_data in decoding scenarios.
- Changed the signature of some of the helpers to make them extensible.

James Almer (17):
  avcodec/avcodec: add side data to AVCodecContext
  avcodec/codec_par: add side data to AVCodecParameters
  avformat/avformat: use the side data from AVStream.codecpar
  fftools/ffmpeg: stop using AVStream.side_data
  fftools/ffplay: stop using AVStream.side_data
  fftools/ffprobe: stop using AVStream.side_data
  avcodec/hevcdec: check for DOVI configuration record in AVCodecContext
    side data
  avcodec/decode: check for global side data in AVCodecContext side data
  fftools/ffmpeg: stop injecting stream side data in packets
  fftools/ffplay: stop injecting stream side data in packets
  Revert "avcodec/mpeg12dec: Do not alter avctx->rc_buffer_size"
  avformat/demux: propagate the internal decoder's bitrate properties
  avcodec/mpeg12dec: stop propagating AVCPBProperties side data
  avcodec/avcodec: deprecate coded_side_data
  avcodec/utils: move ff_add_cpb_side_data() to encoder code
  avformat/demux: stop copying the internal AVCodecContext
    coded_side_data
  fftools: stop propagating the encoder's coded_side_data

 fftools/ffmpeg_demux.c                        | 29 +-----
 fftools/ffmpeg_enc.c                          | 31 ++----
 fftools/ffmpeg_filter.c                       |  5 +-
 fftools/ffmpeg_mux_init.c                     | 19 ++--
 fftools/ffplay.c                              | 10 +-
 fftools/ffprobe.c                             | 30 +++---
 libavcodec/avcodec.c                          | 36 +++++++
 libavcodec/avcodec.h                          | 13 +++
 libavcodec/avpacket.c                         | 99 +++++++++++++++++++
 libavcodec/codec_par.c                        | 43 ++++++++
 libavcodec/codec_par.h                        |  6 ++
 libavcodec/decode.c                           | 55 +++++++++--
 libavcodec/decode.h                           |  2 +-
 libavcodec/encode.c                           | 23 +++++
 libavcodec/encode.h                           |  5 +
 libavcodec/hevcdec.c                          | 15 ++-
 libavcodec/internal.h                         |  5 -
 libavcodec/libaomenc.c                        |  2 +-
 libavcodec/libopenh264enc.c                   |  2 +-
 libavcodec/libsvtav1.c                        |  2 +-
 libavcodec/libvpxenc.c                        |  2 +-
 libavcodec/libx264.c                          |  2 +-
 libavcodec/libx265.c                          |  2 +-
 libavcodec/mpeg12dec.c                        | 19 ++--
 libavcodec/mpegvideo_enc.c                    |  2 +-
 libavcodec/mpegvideo_parser.c                 |  2 +-
 libavcodec/nvenc.c                            |  2 +-
 libavcodec/packet.h                           | 68 +++++++++++++
 libavcodec/qsvenc.c                           |  2 +-
 libavcodec/utils.c                            | 31 ------
 libavcodec/version_major.h                    |  1 +
 libavdevice/android_camera.c                  |  9 +-
 libavformat/avformat.c                        | 42 ++------
 libavformat/avformat.h                        | 28 ++++++
 libavformat/concatdec.c                       |  1 -
 libavformat/dashdec.c                         | 11 ---
 libavformat/demux.c                           | 66 +++++++++----
 libavformat/demux_utils.c                     |  4 +
 libavformat/dovi_isom.c                       |  8 +-
 libavformat/dump.c                            |  6 +-
 libavformat/hls.c                             | 11 ---
 libavformat/hlsenc.c                          | 11 ++-
 libavformat/internal.h                        |  4 +
 libavformat/matroskadec.c                     | 45 ++++-----
 libavformat/matroskaenc.c                     | 48 +++++----
 libavformat/mov.c                             | 81 ++++++++-------
 libavformat/movenc.c                          | 73 +++++++-------
 libavformat/mp3enc.c                          |  8 +-
 libavformat/mpegenc.c                         | 18 ++--
 libavformat/mpegts.c                          |  8 +-
 libavformat/mux.c                             | 19 ++++
 libavformat/mxfdec.c                          | 22 +++--
 libavformat/mxfenc.c                          |  8 +-
 libavformat/options.c                         |  2 +
 libavformat/replaygain.c                      |  9 +-
 libavformat/seek.c                            |  2 +
 libavformat/version_major.h                   |  1 +
 tests/ref/fate/autorotate                     |  4 +-
 tests/ref/fate/copy-trac3074                  |  2 +-
 tests/ref/fate/matroska-avoid-negative-ts     |  2 +-
 tests/ref/fate/matroska-dovi-write-config7    |  2 +-
 tests/ref/fate/matroska-dovi-write-config8    |  2 +-
 tests/ref/fate/matroska-encoding-delay        |  2 +-
 .../fate/matroska-mastering-display-metadata  |  4 +-
 tests/ref/fate/matroska-spherical-mono-remux  |  4 +-
 tests/ref/fate/matroska-stereo_mode           |  8 +-
 tests/ref/fate/matroska-vp8-alpha-remux       |  2 +-
 .../ref/fate/mov-mp4-disposition-mpegts-remux |  4 +-
 tests/ref/fate/mxf-d10-user-comments          |  2 +-
 tests/ref/fate/mxf-remux-applehdr10           |  2 +-
 tests/ref/fate/vp9-superframe-bsf             |  2 +-
 71 files changed, 737 insertions(+), 415 deletions(-)

-- 
2.42.0



More information about the ffmpeg-devel mailing list