diff options
author | Jan Ekström <jan.ekstrom@24i.com> | 2022-05-27 09:20:24 +0300 |
---|---|---|
committer | Jan Ekström <jeebjp@gmail.com> | 2022-06-30 16:14:05 +0300 |
commit | b6897e9c082687634c78e4c133f21c3baea16415 (patch) | |
tree | 10f3ce09ea76e149ef23f3473a447530c7bf6f2d /libavformat/movenc.c | |
parent | ad1672529faf6579bd8f28167582587511c4f795 (diff) | |
download | ffmpeg-b6897e9c082687634c78e4c133f21c3baea16415.tar.gz |
avformat/movenc: move eac3_info definition so that it can be used for AC-3
Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
Diffstat (limited to 'libavformat/movenc.c')
-rw-r--r-- | libavformat/movenc.c | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 8316fd9a45..b9e3f1a63e 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -328,6 +328,39 @@ static int mov_write_amr_tag(AVIOContext *pb, MOVTrack *track) return 0x11; } +struct eac3_info { + AVPacket *pkt; + uint8_t ec3_done; + uint8_t num_blocks; + + /* Layout of the EC3SpecificBox */ + /* maximum bitrate */ + uint16_t data_rate; + int8_t ac3_bit_rate_code; + /* number of independent substreams */ + uint8_t num_ind_sub; + struct { + /* sample rate code (see ff_ac3_sample_rate_tab) 2 bits */ + uint8_t fscod; + /* bit stream identification 5 bits */ + uint8_t bsid; + /* one bit reserved */ + /* audio service mixing (not supported yet) 1 bit */ + /* bit stream mode 3 bits */ + uint8_t bsmod; + /* audio coding mode 3 bits */ + uint8_t acmod; + /* sub woofer on 1 bit */ + uint8_t lfeon; + /* 3 bits reserved */ + /* number of dependent substreams associated with this substream 4 bits */ + uint8_t num_dep_sub; + /* channel locations of the dependent substream(s), if any, 9 bits */ + uint16_t chan_loc; + /* if there is no dependent substream, then one bit reserved instead */ + } substream[1]; /* TODO: support 8 independent substreams */ +}; + static int mov_write_ac3_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *track) { GetBitContext gbc; @@ -376,39 +409,6 @@ static int mov_write_ac3_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *trac return 11; } -struct eac3_info { - AVPacket *pkt; - uint8_t ec3_done; - uint8_t num_blocks; - - /* Layout of the EC3SpecificBox */ - /* maximum bitrate */ - uint16_t data_rate; - int8_t ac3_bit_rate_code; - /* number of independent substreams */ - uint8_t num_ind_sub; - struct { - /* sample rate code (see ff_ac3_sample_rate_tab) 2 bits */ - uint8_t fscod; - /* bit stream identification 5 bits */ - uint8_t bsid; - /* one bit reserved */ - /* audio service mixing (not supported yet) 1 bit */ - /* bit stream mode 3 bits */ - uint8_t bsmod; - /* audio coding mode 3 bits */ - uint8_t acmod; - /* sub woofer on 1 bit */ - uint8_t lfeon; - /* 3 bits reserved */ - /* number of dependent substreams associated with this substream 4 bits */ - uint8_t num_dep_sub; - /* channel locations of the dependent substream(s), if any, 9 bits */ - uint16_t chan_loc; - /* if there is no dependent substream, then one bit reserved instead */ - } substream[1]; /* TODO: support 8 independent substreams */ -}; - static int handle_eac3(MOVMuxContext *mov, AVPacket *pkt, MOVTrack *track) { AC3HeaderInfo *hdr = NULL; |