[FFmpeg-devel] [PATCH 00/12 v2] AVCodecContext and AVCodecParameters side data

James Almer jamrial at gmail.com
Mon Aug 28 15:34:52 EEST 2023


This is an updated version of the set i sent last month.
Changes since the first version:
- Renamed the field in AVCodecContext to not conflict with Jan Ekström's
  patchset introducing a similar struct for frame side data.
- AVCodecContext.coded_side_data is now deprecated for encoding scenarios
  only, leaving it in place for the (as of this set) undocumented decoding
  scenario, which is now documented. This way coded_side_data and
  packet_side_data have distinct and clear usage for decoding.

James Almer (12):
  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
  avcodec/avcodec: deprecate 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                     |  16 +--
 fftools/ffplay.c                              |  10 +-
 fftools/ffprobe.c                             |  30 +++--
 libavcodec/avcodec.c                          |  30 +++++
 libavcodec/avcodec.h                          |  13 ++-
 libavcodec/avpacket.c                         | 103 ++++++++++++++++++
 libavcodec/codec_par.c                        |  43 ++++++++
 libavcodec/codec_par.h                        |   6 +
 libavcodec/decode.c                           |  87 +++++++++++++--
 libavcodec/decode.h                           |   7 +-
 libavcodec/encode.c                           |  25 +++++
 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                        |   2 +-
 libavcodec/mpegvideo_enc.c                    |   2 +-
 libavcodec/nvenc.c                            |   2 +-
 libavcodec/packet.h                           |  64 +++++++++++
 libavcodec/qsvenc.c                           |   2 +-
 libavcodec/utils.c                            |  31 ------
 libavcodec/version_major.h                    |   1 +
 libavdevice/android_camera.c                  |   6 +-
 libavformat/avformat.c                        |  42 ++-----
 libavformat/avformat.h                        |  28 +++++
 libavformat/concatdec.c                       |   1 -
 libavformat/dashdec.c                         |  11 --
 libavformat/demux.c                           |  40 ++++++-
 libavformat/demux_utils.c                     |   4 +
 libavformat/dovi_isom.c                       |   2 +-
 libavformat/dump.c                            |   6 +-
 libavformat/hls.c                             |  11 --
 libavformat/hlsenc.c                          |  11 +-
 libavformat/internal.h                        |   4 +
 libavformat/matroska.c                        |   2 +-
 libavformat/matroskadec.c                     |  20 ++--
 libavformat/matroskaenc.c                     |  48 ++++----
 libavformat/mov.c                             |  41 ++++---
 libavformat/movenc.c                          |  73 ++++++-------
 libavformat/mp3enc.c                          |   8 +-
 libavformat/mpegenc.c                         |  15 ++-
 libavformat/mpegts.c                          |   2 +-
 libavformat/mux.c                             |  19 ++++
 libavformat/mxfdec.c                          |   9 +-
 libavformat/mxfenc.c                          |   8 +-
 libavformat/options.c                         |   2 +
 libavformat/replaygain.c                      |   6 +-
 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, 701 insertions(+), 339 deletions(-)

-- 
2.41.0



More information about the ffmpeg-devel mailing list