|
FFmpeg
|
#include <libavcodec/ac3dec.h>
Data Fields | |
| AVClass * | class |
| class for AVOptions | |
| AVCodecContext * | avctx |
| parent context | |
| GetBitContext | gbc |
| bitstream reader | |
| AVTXContext * | tx_128 |
| AVTXContext * | tx_256 |
| av_tx_fn | tx_fn_128 |
| av_tx_fn | tx_fn_256 |
| INTFLOAT * | xcfptr [AC3_MAX_CHANNELS] |
| INTFLOAT * | dlyptr [AC3_MAX_CHANNELS] |
| AVChannelLayout | downmix_layout |
| SHORTFLOAT * | downmix_coeffs [2] |
| stereo downmix coefficients | |
| int | preferred_stereo_downmix |
| float | ltrt_center_mix_level |
| float | ltrt_surround_mix_level |
| float | loro_center_mix_level |
| float | loro_surround_mix_level |
| int | target_level |
| target level in dBFS | |
| float | level_gain [2] |
| SHORTFLOAT * | outptr [AC3_MAX_CHANNELS] |
Optimization | |
| BswapDSPContext | bdsp |
| AVFixedDSPContext * | fdsp |
| AVFloatDSPContext * | fdsp |
| AC3DSPContext | ac3dsp |
Bit stream information | |
| int | frame_type |
| frame type (strmtyp) | |
| int | substreamid |
| substream identification | |
| int | superframe_size |
| current superframe size, in bytes | |
| int | frame_size |
| current frame size, in bytes | |
| int | bit_rate |
| stream bit rate, in bits-per-second | |
| int | sample_rate |
| sample frequency, in Hz | |
| int | num_blocks |
| number of audio blocks | |
| int | bitstream_id |
| bitstream id (bsid) | |
| int | bitstream_mode |
| bitstream mode (bsmod) | |
| int | channel_mode |
| channel mode (acmod) | |
| int | lfe_on |
| lfe channel in use | |
| int | dialog_normalization [2] |
| dialog level in dBFS (dialnorm) | |
| int | compression_exists [2] |
| compression field is valid for frame (compre) | |
| int | channel_map |
| custom channel map (chanmap) | |
| int | preferred_downmix |
| Preferred 2-channel downmix mode (dmixmod). | |
| int | center_mix_level |
| Center mix level index. | |
| int | center_mix_level_ltrt |
| Center mix level index for Lt/Rt (ltrtcmixlev). | |
| int | surround_mix_level |
| Surround mix level index. | |
| int | surround_mix_level_ltrt |
| Surround mix level index for Lt/Rt (ltrtsurmixlev). | |
| int | lfe_mix_level_exists |
| indicates if lfemixlevcod is specified (lfemixlevcode) | |
| int | lfe_mix_level |
| LFE mix level index (lfemixlevcod). | |
| int | eac3 |
| indicates if current frame is E-AC-3 | |
| int | eac3_subsbtreamid_found |
| bitstream has E-AC-3 additional substream(s) | |
| int | eac3_extension_type_a |
| bitstream has E-AC-3 extension type A enabled frame(s) | |
| int | dolby_surround_mode |
| dolby surround mode (dsurmod) | |
| int | dolby_surround_ex_mode |
| dolby surround ex mode (dsurexmod) | |
| int | dolby_headphone_mode |
| dolby headphone mode (dheadphonmod) | |
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) | |
Standard coupling | |
| int | cpl_in_use [AC3_MAX_BLOCKS] |
| coupling in use (cplinu) | |
| int | cpl_strategy_exists [AC3_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 [AC3_MAX_CPL_BANDS] |
| phase flags (phsflg) | |
| int | num_cpl_bands |
| number of coupling bands (ncplbnd) | |
| uint8_t | cpl_band_struct [AC3_MAX_CPL_BANDS] |
| uint8_t | cpl_band_sizes [AC3_MAX_CPL_BANDS] |
| number of coeffs in each coupling band | |
| int | firstchincpl |
| first channel in coupling | |
| int | first_cpl_coords [AC3_MAX_CHANNELS] |
| first coupling coordinates states (firstcplcos) | |
| int | cpl_coords [AC3_MAX_CHANNELS][AC3_MAX_CPL_BANDS] |
| coupling coordinates (cplco) | |
Spectral extension | |
| int | spx_in_use |
| spectral extension in use (spxinu) | |
| uint8_t | channel_uses_spx [AC3_MAX_CHANNELS] |
| channel uses spectral extension (chinspx) | |
| int8_t | spx_atten_code [AC3_MAX_CHANNELS] |
| spx attenuation code (spxattencod) | |
| int | spx_src_start_freq |
| spx start frequency bin | |
| int | spx_dst_end_freq |
| spx end frequency bin | |
| int | spx_dst_start_freq |
| spx starting frequency bin for copying (copystartmant) the copy region ends at the start of the spx region. | |
| int | num_spx_bands |
| number of spx bands (nspxbnds) | |
| uint8_t | spx_band_struct [SPX_MAX_BANDS] |
| uint8_t | spx_band_sizes [SPX_MAX_BANDS] |
| number of bins in each spx band | |
| uint8_t | first_spx_coords [AC3_MAX_CHANNELS] |
| first spx coordinates states (firstspxcos) | |
| INTFLOAT | spx_noise_blend [AC3_MAX_CHANNELS][SPX_MAX_BANDS] |
| spx noise blending factor (nblendfact) | |
| INTFLOAT | spx_signal_blend [AC3_MAX_CHANNELS][SPX_MAX_BANDS] |
| spx signal blending factor (sblendfact) | |
Adaptive hybrid transform | |
| int | channel_uses_aht [AC3_MAX_CHANNELS] |
| channel AHT in use (chahtinu) | |
| int | pre_mantissa [AC3_MAX_CHANNELS][AC3_MAX_COEFS][AC3_MAX_BLOCKS] |
| pre-IDCT mantissas | |
Channel | |
| int | fbw_channels |
| number of full-bandwidth channels | |
| int | channels |
| number of total channels | |
| int | lfe_ch |
| index of LFE channel | |
| int | downmixed |
| indicates if coeffs are currently downmixed | |
| int | output_mode |
| output channel configuration | |
| int | prev_output_mode |
| output channel configuration for previous frame | |
| int | out_channels |
| number of output channels | |
| int | prev_bit_rate |
| stream bit rate, in bits-per-second for previous frame | |
Dynamic range | |
| INTFLOAT | dynamic_range [2] |
| dynamic range | |
| INTFLOAT | drc_scale |
| percentage of dynamic range compression to be applied | |
| int | heavy_compression |
| apply heavy compression | |
| INTFLOAT | heavy_dynamic_range [2] |
| heavy dynamic range compression | |
Bandwidth | |
| int | start_freq [AC3_MAX_CHANNELS] |
| start frequency bin (strtmant) | |
| int | end_freq [AC3_MAX_CHANNELS] |
| end frequency bin (endmant) | |
Consistent noise generation | |
| int | consistent_noise_generation |
| seed noise generation with AC-3 frame on decode | |
Rematrixing | |
| int | num_rematrixing_bands |
| number of rematrixing bands (nrematbnd) | |
| int | rematrixing_flags [4] |
| rematrixing flags (rematflg) | |
Exponents | |
| int | num_exp_groups [AC3_MAX_CHANNELS] |
| Number of exponent groups (nexpgrp). | |
| int8_t | dexps [AC3_MAX_CHANNELS][AC3_MAX_COEFS] |
| decoded exponents | |
| int | exp_strategy [AC3_MAX_BLOCKS][AC3_MAX_CHANNELS] |
| exponent strategies (expstr) | |
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 | |
| int16_t | psd [AC3_MAX_CHANNELS][AC3_MAX_COEFS] |
| scaled exponents | |
| int16_t | band_psd [AC3_MAX_CHANNELS][AC3_CRITICAL_BANDS] |
| interpolated exponents | |
| int16_t | mask [AC3_MAX_CHANNELS][AC3_CRITICAL_BANDS] |
| masking curve values | |
| int | dba_mode [AC3_MAX_CHANNELS] |
| delta bit allocation mode | |
| int | dba_nsegs [AC3_MAX_CHANNELS] |
| number of delta segments | |
| uint8_t | dba_offsets [AC3_MAX_CHANNELS][8] |
| delta segment offsets | |
| uint8_t | dba_lengths [AC3_MAX_CHANNELS][8] |
| delta segment lengths | |
| uint8_t | dba_values [AC3_MAX_CHANNELS][8] |
| delta values for each segment | |
Zero-mantissa dithering | |
| int | dither_flag [AC3_MAX_CHANNELS] |
| dither flags (dithflg) | |
| AVLFG | dith_state |
| for dither generation | |
IMDCT | |
| int | block_switch [AC3_MAX_CHANNELS] |
| block switch flags (blksw) | |
Aligned arrays | |
| int | delay_coeff_bits [2] |
| coefficient format of delay[], per substream | |
| DECLARE_ALIGNED (32, INTFLOAT, coeffs)[AC3_MAX_CHANNELS][AC3_MAX_COEFS] | |
| decoded transform coefficients | |
| DECLARE_ALIGNED (32, INTFLOAT, transform_coeffs)[AC3_MAX_CHANNELS][AC3_MAX_COEFS] | |
| transform coefficients | |
| DECLARE_ALIGNED (32, INTFLOAT, delay)[EAC3_MAX_CHANNELS][AC3_BLOCK_SIZE] | |
| delay - added to the next block | |
| DECLARE_ALIGNED (32, INTFLOAT, window)[AC3_BLOCK_SIZE] | |
| window coefficients | |
| DECLARE_ALIGNED (32, INTFLOAT, tmp_output)[AC3_BLOCK_SIZE] | |
| temporary storage for output before windowing | |
| DECLARE_ALIGNED (32, SHORTFLOAT, output)[EAC3_MAX_CHANNELS][AC3_BLOCK_SIZE] | |
| output after imdct transform and windowing | |
| DECLARE_ALIGNED (32, uint8_t, input_buffer)[AC3_FRAME_BUFFER_SIZE+AV_INPUT_BUFFER_PADDING_SIZE] | |
| temp buffer to prevent overread | |
| DECLARE_ALIGNED (32, SHORTFLOAT, output_buffer)[EAC3_MAX_CHANNELS][AC3_BLOCK_SIZE *6] | |
| final output buffer | |
| AC3DecodeContext::DECLARE_ALIGNED | ( | 32 | , |
| INTFLOAT | , | ||
| coeffs | ) |
decoded transform coefficients
| AC3DecodeContext::DECLARE_ALIGNED | ( | 32 | , |
| INTFLOAT | , | ||
| transform_coeffs | ) |
transform coefficients
| AC3DecodeContext::DECLARE_ALIGNED | ( | 32 | , |
| INTFLOAT | , | ||
| delay | ) |
delay - added to the next block
| AC3DecodeContext::DECLARE_ALIGNED | ( | 32 | , |
| INTFLOAT | , | ||
| tmp_output | ) |
temporary storage for output before windowing
| AC3DecodeContext::DECLARE_ALIGNED | ( | 32 | , |
| SHORTFLOAT | , | ||
| output | ) |
output after imdct transform and windowing
| AC3DecodeContext::DECLARE_ALIGNED | ( | 32 | , |
| uint8_t | , | ||
| input_buffer | ) |
temp buffer to prevent overread
| AC3DecodeContext::DECLARE_ALIGNED | ( | 32 | , |
| SHORTFLOAT | , | ||
| output_buffer | ) |
final output buffer
| AVCodecContext* AC3DecodeContext::avctx |
| GetBitContext AC3DecodeContext::gbc |
| BswapDSPContext AC3DecodeContext::bdsp |
| AVFixedDSPContext* AC3DecodeContext::fdsp |
| AVFloatDSPContext* AC3DecodeContext::fdsp |
| AC3DSPContext AC3DecodeContext::ac3dsp |
| AVTXContext* AC3DecodeContext::tx_128 |
| AVTXContext * AC3DecodeContext::tx_256 |
| INTFLOAT* AC3DecodeContext::xcfptr[AC3_MAX_CHANNELS] |
| INTFLOAT* AC3DecodeContext::dlyptr[AC3_MAX_CHANNELS] |
| AVChannelLayout AC3DecodeContext::downmix_layout |
| SHORTFLOAT* AC3DecodeContext::downmix_coeffs[2] |
| int AC3DecodeContext::superframe_size |
| int AC3DecodeContext::frame_size |
| int AC3DecodeContext::bit_rate |
| int AC3DecodeContext::bitstream_mode |
| int AC3DecodeContext::dialog_normalization[2] |
| int AC3DecodeContext::compression_exists[2] |
| int AC3DecodeContext::channel_map |
| int AC3DecodeContext::preferred_downmix |
| int AC3DecodeContext::center_mix_level |
| int AC3DecodeContext::center_mix_level_ltrt |
| int AC3DecodeContext::surround_mix_level |
| int AC3DecodeContext::surround_mix_level_ltrt |
| int AC3DecodeContext::lfe_mix_level_exists |
| int AC3DecodeContext::lfe_mix_level |
| int AC3DecodeContext::eac3 |
| int AC3DecodeContext::eac3_subsbtreamid_found |
| int AC3DecodeContext::eac3_extension_type_a |
| int AC3DecodeContext::dolby_surround_mode |
| int AC3DecodeContext::dolby_surround_ex_mode |
| int AC3DecodeContext::dolby_headphone_mode |
| int AC3DecodeContext::snr_offset_strategy |
| int AC3DecodeContext::block_switch_syntax |
| int AC3DecodeContext::dither_flag_syntax |
| int AC3DecodeContext::bit_allocation_syntax |
| int AC3DecodeContext::fast_gain_syntax |
| int AC3DecodeContext::dba_syntax |
| int AC3DecodeContext::skip_syntax |
| int AC3DecodeContext::cpl_in_use[AC3_MAX_BLOCKS] |
| int AC3DecodeContext::cpl_strategy_exists[AC3_MAX_BLOCKS] |
| int AC3DecodeContext::channel_in_cpl[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::phase_flags_in_use |
| int AC3DecodeContext::phase_flags[AC3_MAX_CPL_BANDS] |
| int AC3DecodeContext::num_cpl_bands |
| uint8_t AC3DecodeContext::cpl_band_struct[AC3_MAX_CPL_BANDS] |
| uint8_t AC3DecodeContext::cpl_band_sizes[AC3_MAX_CPL_BANDS] |
| int AC3DecodeContext::firstchincpl |
| int AC3DecodeContext::first_cpl_coords[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::cpl_coords[AC3_MAX_CHANNELS][AC3_MAX_CPL_BANDS] |
| int AC3DecodeContext::spx_in_use |
| uint8_t AC3DecodeContext::channel_uses_spx[AC3_MAX_CHANNELS] |
| int8_t AC3DecodeContext::spx_atten_code[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::spx_src_start_freq |
| int AC3DecodeContext::spx_dst_end_freq |
| int AC3DecodeContext::spx_dst_start_freq |
| int AC3DecodeContext::num_spx_bands |
| uint8_t AC3DecodeContext::spx_band_sizes[SPX_MAX_BANDS] |
| uint8_t AC3DecodeContext::first_spx_coords[AC3_MAX_CHANNELS] |
| INTFLOAT AC3DecodeContext::spx_noise_blend[AC3_MAX_CHANNELS][SPX_MAX_BANDS] |
| INTFLOAT AC3DecodeContext::spx_signal_blend[AC3_MAX_CHANNELS][SPX_MAX_BANDS] |
| int AC3DecodeContext::channel_uses_aht[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::pre_mantissa[AC3_MAX_CHANNELS][AC3_MAX_COEFS][AC3_MAX_BLOCKS] |
| int AC3DecodeContext::fbw_channels |
| int AC3DecodeContext::downmixed |
| int AC3DecodeContext::output_mode |
| int AC3DecodeContext::prev_output_mode |
| int AC3DecodeContext::out_channels |
| int AC3DecodeContext::prev_bit_rate |
| INTFLOAT AC3DecodeContext::drc_scale |
| int AC3DecodeContext::heavy_compression |
| INTFLOAT AC3DecodeContext::heavy_dynamic_range[2] |
| int AC3DecodeContext::start_freq[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::end_freq[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::consistent_noise_generation |
| int AC3DecodeContext::num_rematrixing_bands |
| int AC3DecodeContext::rematrixing_flags[4] |
| int AC3DecodeContext::num_exp_groups[AC3_MAX_CHANNELS] |
| int8_t AC3DecodeContext::dexps[AC3_MAX_CHANNELS][AC3_MAX_COEFS] |
| int AC3DecodeContext::exp_strategy[AC3_MAX_BLOCKS][AC3_MAX_CHANNELS] |
| AC3BitAllocParameters AC3DecodeContext::bit_alloc_params |
| int AC3DecodeContext::first_cpl_leak |
| int AC3DecodeContext::snr_offset[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::fast_gain[AC3_MAX_CHANNELS] |
| uint8_t AC3DecodeContext::bap[AC3_MAX_CHANNELS][AC3_MAX_COEFS] |
| int16_t AC3DecodeContext::psd[AC3_MAX_CHANNELS][AC3_MAX_COEFS] |
| int16_t AC3DecodeContext::band_psd[AC3_MAX_CHANNELS][AC3_CRITICAL_BANDS] |
| int16_t AC3DecodeContext::mask[AC3_MAX_CHANNELS][AC3_CRITICAL_BANDS] |
| int AC3DecodeContext::dba_mode[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::dba_nsegs[AC3_MAX_CHANNELS] |
| uint8_t AC3DecodeContext::dba_offsets[AC3_MAX_CHANNELS][8] |
| uint8_t AC3DecodeContext::dba_lengths[AC3_MAX_CHANNELS][8] |
| uint8_t AC3DecodeContext::dba_values[AC3_MAX_CHANNELS][8] |
| int AC3DecodeContext::dither_flag[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::block_switch[AC3_MAX_CHANNELS] |
| SHORTFLOAT* AC3DecodeContext::outptr[AC3_MAX_CHANNELS] |
| int AC3DecodeContext::delay_coeff_bits[2] |