mbox series

[FFmpeg-devel,v6,0/8] avformat: introduce AVStreamGroup

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

Message

James Almer Dec. 5, 2023, 10:43 p.m. UTC
Addressed Anton's comments and added some documentation. Also split the
common code some more in order to facilitate using it from different
modules.
I'm withdrawing the MP4 code for now as i've noticed a bug in the spec
and reported it. Depending on what happens to that, i'll resubmit it.

James Almer (8):
  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
  avcodec/get_bits: add get_leb()
  avformat/aviobuf: add ffio_read_leb() and ffio_write_leb()
  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       |  335 ++++++++++
 fftools/ffmpeg_opt.c            |    2 +
 libavcodec/avpacket.c           |    3 +
 libavcodec/bitstream.h          |    2 +
 libavcodec/bitstream_template.h |   23 +
 libavcodec/get_bits.h           |   24 +
 libavcodec/packet.h             |   24 +
 libavformat/Makefile            |    2 +
 libavformat/allformats.c        |    2 +
 libavformat/avformat.c          |  185 +++++-
 libavformat/avformat.h          |  169 +++++
 libavformat/avio_internal.h     |   10 +
 libavformat/aviobuf.c           |   33 +
 libavformat/dump.c              |  147 +++-
 libavformat/iamf.c              |  125 ++++
 libavformat/iamf.h              |  162 +++++
 libavformat/iamf_parse.c        | 1106 +++++++++++++++++++++++++++++++
 libavformat/iamf_parse.h        |   38 ++
 libavformat/iamf_writer.c       |  823 +++++++++++++++++++++++
 libavformat/iamf_writer.h       |   51 ++
 libavformat/iamfdec.c           |  495 ++++++++++++++
 libavformat/iamfenc.c           |  388 +++++++++++
 libavformat/internal.h          |   33 +
 libavformat/options.c           |  139 ++++
 libavutil/Makefile              |    2 +
 libavutil/iamf.c                |  564 ++++++++++++++++
 libavutil/iamf.h                |  573 ++++++++++++++++
 29 files changed, 5445 insertions(+), 34 deletions(-)
 create mode 100644 libavformat/iamf.c
 create mode 100644 libavformat/iamf.h
 create mode 100644 libavformat/iamf_parse.c
 create mode 100644 libavformat/iamf_parse.h
 create mode 100644 libavformat/iamf_writer.c
 create mode 100644 libavformat/iamf_writer.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

Comments

James Almer Dec. 10, 2023, 9:52 p.m. UTC | #1
On 12/5/2023 7:43 PM, James Almer wrote:
> Addressed Anton's comments and added some documentation. Also split the
> common code some more in order to facilitate using it from different
> modules.
> I'm withdrawing the MP4 code for now as i've noticed a bug in the spec
> and reported it. Depending on what happens to that, i'll resubmit it.
> 
> James Almer (8):
>    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
>    avcodec/get_bits: add get_leb()
>    avformat/aviobuf: add ffio_read_leb() and ffio_write_leb()
>    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       |  335 ++++++++++
>   fftools/ffmpeg_opt.c            |    2 +
>   libavcodec/avpacket.c           |    3 +
>   libavcodec/bitstream.h          |    2 +
>   libavcodec/bitstream_template.h |   23 +
>   libavcodec/get_bits.h           |   24 +
>   libavcodec/packet.h             |   24 +
>   libavformat/Makefile            |    2 +
>   libavformat/allformats.c        |    2 +
>   libavformat/avformat.c          |  185 +++++-
>   libavformat/avformat.h          |  169 +++++
>   libavformat/avio_internal.h     |   10 +
>   libavformat/aviobuf.c           |   33 +
>   libavformat/dump.c              |  147 +++-
>   libavformat/iamf.c              |  125 ++++
>   libavformat/iamf.h              |  162 +++++
>   libavformat/iamf_parse.c        | 1106 +++++++++++++++++++++++++++++++
>   libavformat/iamf_parse.h        |   38 ++
>   libavformat/iamf_writer.c       |  823 +++++++++++++++++++++++
>   libavformat/iamf_writer.h       |   51 ++
>   libavformat/iamfdec.c           |  495 ++++++++++++++
>   libavformat/iamfenc.c           |  388 +++++++++++
>   libavformat/internal.h          |   33 +
>   libavformat/options.c           |  139 ++++
>   libavutil/Makefile              |    2 +
>   libavutil/iamf.c                |  564 ++++++++++++++++
>   libavutil/iamf.h                |  573 ++++++++++++++++
>   29 files changed, 5445 insertions(+), 34 deletions(-)
>   create mode 100644 libavformat/iamf.c
>   create mode 100644 libavformat/iamf.h
>   create mode 100644 libavformat/iamf_parse.c
>   create mode 100644 libavformat/iamf_parse.h
>   create mode 100644 libavformat/iamf_writer.c
>   create mode 100644 libavformat/iamf_writer.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

Will apply the set (with version bumps and APIChanges/Changelog entries) 
soon unless there are objections.