From bddadace8dfa5f560bd2fe9bd504f88329012715 Mon Sep 17 00:00:00 2001 From: Justin Ruggles Date: Sun, 8 Jun 2008 21:08:53 +0000 Subject: [PATCH] add fields needed for E-AC-3 decoding to decode context Originally committed as revision 13714 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/ac3dec.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libavcodec/ac3dec.h b/libavcodec/ac3dec.h index 086ebb5fe1..91462d9f4f 100644 --- a/libavcodec/ac3dec.h +++ b/libavcodec/ac3dec.h @@ -59,21 +59,41 @@ typedef struct { int num_blocks; ///< number of audio blocks int channel_mode; ///< channel mode (acmod) int lfe_on; ///< lfe channel in use + int channel_map; ///< custom channel map int center_mix_level; ///< Center mix level index int surround_mix_level; ///< Surround mix level index + int eac3; ///< indicates if current frame is E-AC-3 ///@} +///@defgroup audfrm frame syntax parameters + int snr_offset_strategy; ///< SNR offset strategy (snroffststr) + int block_switch_syntax; ///< block switch syntax enabled (blkswe) + int dither_flag_syntax; ///< dither flag syntax enabled (dithflage) + int bit_allocation_syntax; ///< bit allocation model syntax enabled (bamode) + int fast_gain_syntax; ///< fast gain codes enabled (frmfgaincode) + int dba_syntax; ///< delta bit allocation syntax enabled (dbaflde) + int skip_syntax; ///< skip field syntax enabled (skipflde) + ///@} + ///@defgroup cpl standard coupling int cpl_in_use[MAX_BLOCKS]; ///< coupling in use (cplinu) + int cpl_strategy_exists[MAX_BLOCKS]; ///< coupling strategy exists (cplstre) int channel_in_cpl[AC3_MAX_CHANNELS]; ///< channel in coupling (chincpl) int phase_flags_in_use; ///< phase flags in use (phsflginu) int phase_flags[18]; ///< phase flags (phsflg) int num_cpl_subbands; ///< number of coupling sub bands (ncplsubnd) int num_cpl_bands; ///< number of coupling bands (ncplbnd) int cpl_band_struct[18]; ///< coupling band structure (cplbndstrc) + int firstchincpl; ///< first channel in coupling + int first_cpl_coords[AC3_MAX_CHANNELS]; ///< first coupling coordinates states (firstcplcos) int cpl_coords[AC3_MAX_CHANNELS][18]; ///< coupling coordinates (cplco) ///@} +///@defgroup aht adaptive hybrid transform + int channel_uses_aht[AC3_MAX_CHANNELS]; ///< channel AHT in use (chahtinu) + int pre_mantissa[6][AC3_MAX_CHANNELS][AC3_MAX_COEFS]; ///< pre-IDCT mantissas +///@} + ///@defgroup channel channel int fbw_channels; ///< number of full-bandwidth channels int channels; ///< number of total channels @@ -107,6 +127,7 @@ typedef struct { ///@defgroup bitalloc bit allocation AC3BitAllocParameters bit_alloc_params; ///< bit allocation parameters + int first_cpl_leak; ///< first coupling leak state (firstcplleak) int snr_offset[AC3_MAX_CHANNELS]; ///< signal-to-noise ratio offsets (snroffst) int fast_gain[AC3_MAX_CHANNELS]; ///< fast gain values/SMR's (fgain) uint8_t bap[AC3_MAX_CHANNELS][AC3_MAX_COEFS]; ///< bit allocation pointers