[FFmpeg-devel] [PATCH 00/10 v4][RFC] AVCodecContext and AVCodecParameters side data

James Almer jamrial at gmail.com
Wed Sep 6 20:44:20 EEST 2023


Changes since the previous version:
- Removed the AVPacketSideDataSet from AVCodecContext, using instead the
  existing coded_side_data field, at Anton's request.

I still prefer using a new field of type AVPacketSideDataSet, given that the
user can currently only fill coded_side_data manually (See the implementation
in the codecpar copy functions, which non lavf users would need to replicate),
and more so considering coded_side_data is a field pretty much nothing but lavf
uses.

Opinions are very welcome and needed.

James Almer (10):
  avcodec/packet: add side data set struct and helpers
  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

 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.h                          |  2 +-
 libavcodec/avpacket.c                         | 99 +++++++++++++++++++
 libavcodec/codec_par.c                        | 81 +++++++++++++++
 libavcodec/codec_par.h                        |  6 ++
 libavcodec/decode.c                           | 55 +++++++++--
 libavcodec/decode.h                           |  2 +-
 libavcodec/hevcdec.c                          | 15 ++-
 libavcodec/internal.h                         |  3 +
 libavcodec/packet.h                           | 74 ++++++++++++++
 libavcodec/utils.c                            | 10 ++
 libavdevice/android_camera.c                  |  9 +-
 libavformat/avformat.c                        | 42 ++------
 libavformat/avformat.h                        | 40 +++++++-
 libavformat/concatdec.c                       |  1 -
 libavformat/dashdec.c                         | 11 ---
 libavformat/demux.c                           | 54 ++++++----
 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 +-
 56 files changed, 698 insertions(+), 360 deletions(-)

-- 
2.42.0



More information about the ffmpeg-devel mailing list