mbox series

[FFmpeg-devel,v5,0/9] avformat: introduce AVStreamGroup

Message ID 20231126012858.40388-1-jamrial@gmail.com
Headers show
Series avformat: introduce AVStreamGroup | expand

Message

James Almer Nov. 26, 2023, 1:28 a.m. UTC
Addressed Marton's comments regarding documentation for the stream specifier
changes, moved the IAMF API to libavutil as packet side data can't depend on
structs and API defined in libavformat (And future bsfs may make use of it
too), and moved the leb reading and writing functions to get_bits and avio so
they may be used by other modules.

James Almer (9):
  avutil/mem: add av_dynarray2_add_nofree
  avcodec/get_bits: add get_leb()
  avformat/aviobuf: add ffio_read_leb() and ffio_write_leb()
  avutil: introduce an Immersive Audio Model and Formats API
  avformat: introduce AVStreamGroup
  ffmpeg: add support for muxing AVStreamGroups
  avcodec/packet: add IAMF Parameters side data types
  avformat: Immersive Audio Model and Formats demuxer
  avformat: Immersive Audio Model and Formats muxer

 doc/fftools-common-opts.texi    |   17 +-
 fftools/ffmpeg.h                |    2 +
 fftools/ffmpeg_mux_init.c       |  327 +++++++++
 fftools/ffmpeg_opt.c            |    2 +
 libavcodec/avpacket.c           |    3 +
 libavcodec/bitstream.h          |    2 +
 libavcodec/bitstream_template.h |   22 +
 libavcodec/get_bits.h           |   23 +
 libavcodec/packet.h             |   24 +
 libavformat/Makefile            |    2 +
 libavformat/allformats.c        |    2 +
 libavformat/avformat.c          |  185 ++++-
 libavformat/avformat.h          |  169 +++++
 libavformat/avio_internal.h     |    4 +
 libavformat/aviobuf.c           |   37 +
 libavformat/dump.c              |  147 +++-
 libavformat/iamf.c              | 1149 +++++++++++++++++++++++++++++++
 libavformat/iamf.h              |  167 +++++
 libavformat/iamfdec.c           |  495 +++++++++++++
 libavformat/iamfenc.c           | 1091 +++++++++++++++++++++++++++++
 libavformat/internal.h          |   33 +
 libavformat/options.c           |  139 ++++
 libavutil/Makefile              |    2 +
 libavutil/iamf.c                |  582 ++++++++++++++++
 libavutil/iamf.h                |  377 ++++++++++
 libavutil/mem.c                 |   17 +
 libavutil/mem.h                 |   32 +-
 27 files changed, 5015 insertions(+), 37 deletions(-)
 create mode 100644 libavformat/iamf.c
 create mode 100644 libavformat/iamf.h
 create mode 100644 libavformat/iamfdec.c
 create mode 100644 libavformat/iamfenc.c
 create mode 100644 libavutil/iamf.c
 create mode 100644 libavutil/iamf.h