[FFmpeg-devel] [PATCH 0/6 v2] avformat/movenc: normalize on AC-3 parser usage
Jan Ekström
jeebjp at gmail.com
Fri Jun 17 16:04:37 EEST 2022
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 v1:
* Instead of expanding the avpriv parser interface, make the bit rate table
available to libavformat as well as libavcodec. This also theoretically
allows the calculation based on data rate, thus allowing the correct
bit rate to be signaled with bsids 9 and 10, which have their effective
bit rate and sample rate values divided by 2 and 4 respectively.
Jan
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
AC-3
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 | 8 ++-
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, 148 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
--
2.36.1
More information about the ffmpeg-devel
mailing list