Go to the documentation of this file.
50 #ifndef AVCODEC_AC3DEC_H
51 #define AVCODEC_AC3DEC_H
66 #define AC3_OUTPUT_LFEON 8
68 #define SPX_MAX_BANDS 17
71 #define AC3_FRAME_BUFFER_SIZE 32768
73 typedef struct AC3DecodeContext {
91 int dialog_normalization[2];
92 int compression_exists[2];
94 int preferred_downmix;
96 int center_mix_level_ltrt;
97 int surround_mix_level;
98 int surround_mix_level_ltrt;
99 int lfe_mix_level_exists;
102 int eac3_subsbtreamid_found;
103 int eac3_extension_type_a;
104 int dolby_surround_mode;
105 int dolby_surround_ex_mode;
106 int dolby_headphone_mode;
109 int preferred_stereo_downmix;
110 float ltrt_center_mix_level;
111 float ltrt_surround_mix_level;
112 float loro_center_mix_level;
113 float loro_surround_mix_level;
118 int snr_offset_strategy;
119 int block_switch_syntax;
120 int dither_flag_syntax;
121 int bit_allocation_syntax;
122 int fast_gain_syntax;
131 int phase_flags_in_use;
146 int spx_src_start_freq;
147 int spx_dst_end_freq;
148 int spx_dst_start_freq;
151 uint8_t spx_band_struct[SPX_MAX_BANDS];
152 uint8_t spx_band_sizes[SPX_MAX_BANDS];
170 int prev_output_mode;
178 int heavy_compression;
188 int consistent_noise_generation;
192 int num_rematrixing_bands;
193 int rematrixing_flags[4];
static int ff_eac3_parse_header(AC3DecodeContext *s)
filter_frame For filters that do not use the this method is called when a frame is pushed to the filter s input It can be called at any time except in a reentrant way If the input frame is enough to produce output
#define AC3_CRITICAL_BANDS
#define AC3_MAX_CPL_BANDS
static void ff_eac3_decode_transform_coeffs_aht_ch(AC3DecodeContext *s, int ch)
static SDL_Window * window
static const int fixed_coeffs[][3]
void(* av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
Function pointer to a function to perform the transform.
static const uint16_t mask[17]
static const uint8_t channel_map[8][8]
float ff_ac3_heavy_dynamic_range_tab[256]
Describe the class of an AVClass context structure.
#define AC3_MAX_CHANNELS
maximum number of channels, including coupling channel
Context structure for the Lagged Fibonacci PRNG.
An AVChannelLayout holds information about the channel layout of audio data.
#define DECLARE_ALIGNED(n, t, v)
static void ff_eac3_apply_spectral_extension(AC3DecodeContext *s)
#define AV_INPUT_BUFFER_PADDING_SIZE
main external API structure.
#define EAC3_MAX_CHANNELS
maximum number of channels in EAC3