mbox series

[FFmpeg-devel,v4,0/7] avformat/movenc: normalize on AC-3 parser usage

Message ID 20220623072408.38977-1-jeebjp@gmail.com
Headers show
Series avformat/movenc: normalize on AC-3 parser usage | expand


Jan Ekström June 23, 2022, 7:24 a.m. UTC
The simplified parsing currently in `mov_write_ac3_tag` trusts the content
of the packets a bit too much (the AC-3 parser returns all data fed to it,
including any possible data before the start code), while the existing E-AC-3
logic does proper header validation by utilizing the (E-)AC-3 parser.

Thus, normalize on AC-3 parser usage for both AC-3 and E-AC-3.

Difference to v3:
* Limited bsids higher than 8 (RealAudio AC-3/DolbyNet) from getting muxed,
  as it is unclear which bit_rate_code value should be utilized for them.


Jan Ekström (7):
  avcodec: make AC-3 bit rate table available in a separate header
  {configure,avformat/movenc}: enable AC-3 parser for movenc
  avformat/movenc: enable handle_eac3 to handle AC-3 tracks
  avformat/movenc: move eac3_info definition so that it can be used for
  avformat/movenc: utilize existing AC-3 parsing workflow for AC-3
  avformat/movenc: handle OOM situations when parsing AC-3 headers
  avformat/movenc: limit ISOBMFF AC-3 mapping to bsids <=8

 configure                     |   2 +-
 libavcodec/Makefile           |   9 ++-
 libavcodec/ac3_bitrate_tab.c  |  22 ++++++
 libavcodec/ac3_bitrate_tab.h  |  33 +++++++++
 libavcodec/ac3tab.c           |   6 --
 libavformat/Makefile          |   1 +
 libavformat/ac3_bitrate_tab.c |  22 ++++++
 libavformat/movenc.c          | 129 +++++++++++++++++++---------------
 8 files changed, 157 insertions(+), 67 deletions(-)
 create mode 100644 libavcodec/ac3_bitrate_tab.c
 create mode 100644 libavcodec/ac3_bitrate_tab.h
 create mode 100644 libavformat/ac3_bitrate_tab.c