aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Ruggles <justin.ruggles@gmail.com>2008-06-08 21:08:53 +0000
committerJustin Ruggles <justin.ruggles@gmail.com>2008-06-08 21:08:53 +0000
commitbddadace8dfa5f560bd2fe9bd504f88329012715 (patch)
tree113f9508ec3dc1dbb36cb98b97540f0da80308be
parent681f5c1271304d14f1825d32bdf30a3c83029d59 (diff)
downloadffmpeg-bddadace8dfa5f560bd2fe9bd504f88329012715.tar.gz
add fields needed for E-AC-3 decoding to decode context
Originally committed as revision 13714 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavcodec/ac3dec.h21
1 files changed, 21 insertions, 0 deletions
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