mbox series

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

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


Jan Ekström June 21, 2022, 6:46 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 v2:
* libavcodec/Makefile received `STLIBOBJS-$(CONFIG_MOV_MUXER) += ac3_bitrate_tab.o`


Jan Ekström (6):
  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

 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          | 121 ++++++++++++++++++----------------
 8 files changed, 149 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