50 #ifndef AVCODEC_AC3DEC_H 51 #define AVCODEC_AC3DEC_H 62 #define AC3_OUTPUT_LFEON 8 64 #define SPX_MAX_BANDS 17 67 #define AC3_FRAME_BUFFER_SIZE 32768 69 typedef struct AC3DecodeContext {
87 int preferred_downmix;
89 int center_mix_level_ltrt;
90 int surround_mix_level;
91 int surround_mix_level_ltrt;
92 int lfe_mix_level_exists;
95 int eac3_frame_dependent_found;
96 int eac3_subsbtreamid_found;
97 int dolby_surround_mode;
98 int dolby_surround_ex_mode;
99 int dolby_headphone_mode;
103 int snr_offset_strategy;
104 int block_switch_syntax;
105 int dither_flag_syntax;
106 int bit_allocation_syntax;
107 int fast_gain_syntax;
116 int phase_flags_in_use;
130 int spx_src_start_freq;
131 int spx_dst_end_freq;
132 int spx_dst_start_freq;
135 uint8_t spx_band_sizes[SPX_MAX_BANDS];
157 float dynamic_range[2];
167 int num_rematrixing_bands;
168 int rematrixing_flags[4];
static const uint8_t frame_size[4]
static const int fixed_coeffs[][3]
#define DECLARE_ALIGNED(n, t, v)
bitstream reader API header.
static const uint16_t mask[17]
#define AC3_MAX_CHANNELS
maximum number of channels, including coupling channel
void ff_eac3_apply_spectral_extension(AC3DecodeContext *s)
int ff_eac3_parse_header(AC3DecodeContext *s)
main external API structure.
#define AC3_CRITICAL_BANDS
Describe the class of an AVClass context structure.
#define AC3_MAX_CPL_BANDS
#define AV_INPUT_BUFFER_PADDING_SIZE
Required number of additionally allocated bytes at the end of the input bitstream for decoding...
void ff_eac3_decode_transform_coeffs_aht_ch(AC3DecodeContext *s, int ch)
Common code between the AC-3 encoder and decoder.