AC3DecodeContext Struct Reference

#include <ac3dec.h>


Data Fields

AVCodecContextavctx
 parent context
GetBitContext gbc
 bitstream reader
Bit stream information
int frame_type
 frame type (strmtyp)
int substreamid
 substream identification
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_mode
 bitstream mode (bsmod)
int channel_mode
 channel mode (acmod)
int channel_layout
 channel layout
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
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_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_sizes [SPX_MAX_BANDS]
 number of bins in each spx band
uint8_t first_spx_coords [AC3_MAX_CHANNELS]
 first spx coordinates states (firstspxcos)
float spx_noise_blend [AC3_MAX_CHANNELS][SPX_MAX_BANDS]
 spx noise blending factor (nblendfact)
float 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
float downmix_coeffs [AC3_MAX_CHANNELS][2]
 stereo downmix coefficients
int downmixed
 indicates if coeffs are currently downmixed
int output_mode
 output channel configuration
int out_channels
 number of output channels
Dynamic range
float dynamic_range [2]
 dynamic range
Bandwidth
int start_freq [AC3_MAX_CHANNELS]
 start frequency bin (strtmant)
int end_freq [AC3_MAX_CHANNELS]
 end frequency bin (endmant)
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)
FFTContext imdct_512
 for 512 sample IMDCT
FFTContext imdct_256
 for 256 sample IMDCT
Optimization
DSPContext dsp
 for optimization
AC3DSPContext ac3dsp
FmtConvertContext fmt_conv
 optimized conversion functions
float mul_bias
 scaling for float_to_int16 conversion
Aligned arrays
int fixed_coeffs [AC3_MAX_CHANNELS][AC3_MAX_COEFS]
 fixed-point transform coefficients
float transform_coeffs [AC3_MAX_CHANNELS][AC3_MAX_COEFS]
 transform coefficients
float delay [AC3_MAX_CHANNELS][AC3_BLOCK_SIZE]
 delay - added to the next block
float window [AC3_BLOCK_SIZE]
 window coefficients
float tmp_output [AC3_BLOCK_SIZE]
 temporary storage for output before windowing
float output [AC3_MAX_CHANNELS][AC3_BLOCK_SIZE]
 output after imdct transform and windowing
uint8_t input_buffer [AC3_FRAME_BUFFER_SIZE+FF_INPUT_BUFFER_PADDING_SIZE]
 temp buffer to prevent overread


Detailed Description

Definition at line 68 of file ac3dec.h.


Field Documentation

Definition at line 193 of file ac3dec.h.

Referenced by ac3_decode_init(), and decode_audio_block().

int16_t AC3DecodeContext::band_psd[AC3_MAX_CHANNELS][AC3_CRITICAL_BANDS]

interpolated exponents

Definition at line 171 of file ac3dec.h.

Referenced by decode_audio_block().

uint8_t AC3DecodeContext::bap[AC3_MAX_CHANNELS][AC3_MAX_COEFS]

bit allocation pointers

Definition at line 169 of file ac3dec.h.

Referenced by ac3_decode_transform_coeffs_ch(), decode_audio_block(), ff_eac3_decode_transform_coeffs_aht_ch(), and remove_dithering().

bit allocation parameters

Definition at line 165 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

bit allocation model syntax enabled (bamode)

Definition at line 94 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

stream bit rate, in bits-per-second

Definition at line 77 of file ac3dec.h.

Referenced by ac3_decode_frame(), and parse_frame_header().

bitstream mode (bsmod)

Definition at line 80 of file ac3dec.h.

Referenced by ac3_decode_frame(), ff_eac3_parse_header(), and parse_frame_header().

int AC3DecodeContext::block_switch[AC3_MAX_CHANNELS]

block switch flags (blksw)

Definition at line 186 of file ac3dec.h.

Referenced by decode_audio_block(), do_imdct(), and ff_eac3_parse_header().

block switch syntax enabled (blkswe)

Definition at line 92 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

Center mix level index.

Definition at line 85 of file ac3dec.h.

Referenced by ff_eac3_parse_header(), parse_frame_header(), and set_downmix_coeffs().

int AC3DecodeContext::channel_in_cpl[AC3_MAX_CHANNELS]

channel in coupling (chincpl)

Definition at line 103 of file ac3dec.h.

Referenced by calc_transform_coeffs_cpl(), decode_audio_block(), decode_transform_coeffs(), parse_frame_header(), and remove_dithering().

channel layout

Definition at line 82 of file ac3dec.h.

Referenced by ac3_decode_frame(), and parse_frame_header().

custom channel map

Definition at line 84 of file ac3dec.h.

int AC3DecodeContext::channel_uses_aht[AC3_MAX_CHANNELS]

channel AHT in use (chahtinu)

Definition at line 130 of file ac3dec.h.

Referenced by decode_audio_block(), decode_transform_coeffs_ch(), ff_eac3_parse_header(), and parse_frame_header().

uint8_t AC3DecodeContext::channel_uses_spx[AC3_MAX_CHANNELS]

channel uses spectral extension (chinspx)

Definition at line 116 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_apply_spectral_extension().

number of total channels

Definition at line 136 of file ac3dec.h.

Referenced by ac3_decode_frame(), decode_audio_block(), decode_transform_coeffs(), ff_eac3_parse_header(), and parse_frame_header().

uint8_t AC3DecodeContext::cpl_band_sizes[AC3_MAX_CPL_BANDS]

number of coeffs in each coupling band

Definition at line 107 of file ac3dec.h.

Referenced by calc_transform_coeffs_cpl(), and decode_audio_block().

int AC3DecodeContext::cpl_coords[AC3_MAX_CHANNELS][AC3_MAX_CPL_BANDS]

coupling coordinates (cplco)

Definition at line 110 of file ac3dec.h.

Referenced by calc_transform_coeffs_cpl(), and decode_audio_block().

int AC3DecodeContext::cpl_in_use[AC3_MAX_BLOCKS]

coupling in use (cplinu)

Definition at line 101 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_parse_header().

coupling strategy exists (cplstre)

Definition at line 102 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_parse_header().

uint8_t AC3DecodeContext::dba_lengths[AC3_MAX_CHANNELS][8]

delta segment lengths

Definition at line 176 of file ac3dec.h.

Referenced by decode_audio_block().

int AC3DecodeContext::dba_mode[AC3_MAX_CHANNELS]

delta bit allocation mode

Definition at line 173 of file ac3dec.h.

Referenced by decode_audio_block().

int AC3DecodeContext::dba_nsegs[AC3_MAX_CHANNELS]

number of delta segments

Definition at line 174 of file ac3dec.h.

Referenced by decode_audio_block().

uint8_t AC3DecodeContext::dba_offsets[AC3_MAX_CHANNELS][8]

delta segment offsets

Definition at line 175 of file ac3dec.h.

Referenced by decode_audio_block().

delta bit allocation syntax enabled (dbaflde)

Definition at line 96 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

uint8_t AC3DecodeContext::dba_values[AC3_MAX_CHANNELS][8]

delta values for each segment

Definition at line 177 of file ac3dec.h.

Referenced by decode_audio_block().

float AC3DecodeContext::delay[AC3_MAX_CHANNELS][AC3_BLOCK_SIZE]

delay - added to the next block

Definition at line 201 of file ac3dec.h.

Referenced by ac3_upmix_delay(), decode_audio_block(), and do_imdct().

int8_t AC3DecodeContext::dexps[AC3_MAX_CHANNELS][AC3_MAX_COEFS]

decoded exponents

Definition at line 160 of file ac3dec.h.

Referenced by ac3_decode_transform_coeffs_ch(), decode_audio_block(), and decode_transform_coeffs_ch().

int AC3DecodeContext::dither_flag[AC3_MAX_CHANNELS]

dither flags (dithflg)

Definition at line 181 of file ac3dec.h.

Referenced by ac3_decode_transform_coeffs_ch(), decode_audio_block(), ff_eac3_parse_header(), and remove_dithering().

dither flag syntax enabled (dithflage)

Definition at line 93 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

float AC3DecodeContext::downmix_coeffs[AC3_MAX_CHANNELS][2]

stereo downmix coefficients

Definition at line 138 of file ac3dec.h.

Referenced by decode_audio_block(), and set_downmix_coeffs().

indicates if coeffs are currently downmixed

Definition at line 139 of file ac3dec.h.

Referenced by ac3_decode_init(), and decode_audio_block().

for optimization

Definition at line 192 of file ac3dec.h.

Referenced by ac3_decode_frame(), ac3_decode_init(), decode_audio_block(), and do_imdct().

dynamic range

Definition at line 145 of file ac3dec.h.

Referenced by decode_audio_block().

indicates if current frame is E-AC-3

Definition at line 87 of file ac3dec.h.

Referenced by decode_audio_block(), and parse_frame_header().

int AC3DecodeContext::end_freq[AC3_MAX_CHANNELS]

end frequency bin (endmant)

Definition at line 150 of file ac3dec.h.

Referenced by ac3_decode_transform_coeffs_ch(), decode_audio_block(), decode_transform_coeffs(), do_rematrixing(), and parse_frame_header().

int AC3DecodeContext::exp_strategy[AC3_MAX_BLOCKS][AC3_MAX_CHANNELS]

exponent strategies (expstr)

Definition at line 161 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_parse_header().

int AC3DecodeContext::fast_gain[AC3_MAX_CHANNELS]

fast gain values/SMR's (fgain)

Definition at line 168 of file ac3dec.h.

Referenced by decode_audio_block().

fast gain codes enabled (frmfgaincode)

Definition at line 95 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

int AC3DecodeContext::first_cpl_coords[AC3_MAX_CHANNELS]

first coupling coordinates states (firstcplcos)

Definition at line 109 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_parse_header().

first coupling leak state (firstcplleak)

Definition at line 166 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

uint8_t AC3DecodeContext::first_spx_coords[AC3_MAX_CHANNELS]

first spx coordinates states (firstspxcos)

Definition at line 124 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_parse_header().

first channel in coupling

Definition at line 108 of file ac3dec.h.

int AC3DecodeContext::fixed_coeffs[AC3_MAX_CHANNELS][AC3_MAX_COEFS]

optimized conversion functions

Definition at line 194 of file ac3dec.h.

Referenced by ac3_decode_frame(), ac3_decode_init(), and decode_audio_block().

current frame size, in bytes

Definition at line 76 of file ac3dec.h.

Referenced by ac3_decode_frame(), ff_eac3_parse_header(), and parse_frame_header().

frame type (strmtyp)

Definition at line 74 of file ac3dec.h.

Referenced by ac3_decode_frame(), decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

for 256 sample IMDCT

Definition at line 188 of file ac3dec.h.

Referenced by ac3_decode_end(), ac3_decode_init(), and do_imdct().

for 512 sample IMDCT

Definition at line 187 of file ac3dec.h.

Referenced by ac3_decode_end(), ac3_decode_init(), and do_imdct().

uint8_t AC3DecodeContext::input_buffer[AC3_FRAME_BUFFER_SIZE+FF_INPUT_BUFFER_PADDING_SIZE]

temp buffer to prevent overread

Definition at line 205 of file ac3dec.h.

Referenced by ac3_decode_frame().

index of LFE channel

Definition at line 137 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

lfe channel in use

Definition at line 83 of file ac3dec.h.

Referenced by ac3_decode_frame(), ff_eac3_parse_header(), and parse_frame_header().

int16_t AC3DecodeContext::mask[AC3_MAX_CHANNELS][AC3_CRITICAL_BANDS]

masking curve values

Definition at line 172 of file ac3dec.h.

Referenced by decode_audio_block().

scaling for float_to_int16 conversion

Definition at line 195 of file ac3dec.h.

Referenced by ac3_decode_init(), and decode_audio_block().

number of audio blocks

Definition at line 79 of file ac3dec.h.

Referenced by ac3_decode_frame(), ff_eac3_parse_header(), and parse_frame_header().

number of coupling bands (ncplbnd)

Definition at line 106 of file ac3dec.h.

Referenced by calc_transform_coeffs_cpl(), and decode_audio_block().

int AC3DecodeContext::num_exp_groups[AC3_MAX_CHANNELS]

Number of exponent groups (nexpgrp).

Definition at line 159 of file ac3dec.h.

Referenced by decode_audio_block(), and parse_frame_header().

number of rematrixing bands (nrematbnd)

Definition at line 154 of file ac3dec.h.

Referenced by decode_audio_block(), and do_rematrixing().

number of spx bands (nspxbnds)

Definition at line 122 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_apply_spectral_extension().

number of output channels

Definition at line 141 of file ac3dec.h.

Referenced by ac3_decode_frame(), and decode_audio_block().

float AC3DecodeContext::output[AC3_MAX_CHANNELS][AC3_BLOCK_SIZE]

output after imdct transform and windowing

Definition at line 204 of file ac3dec.h.

Referenced by ac3_decode_frame(), decode_audio_block(), and do_imdct().

output channel configuration

Definition at line 140 of file ac3dec.h.

Referenced by ac3_decode_frame(), decode_audio_block(), and set_downmix_coeffs().

int AC3DecodeContext::phase_flags[AC3_MAX_CPL_BANDS]

phase flags (phsflg)

Definition at line 105 of file ac3dec.h.

Referenced by calc_transform_coeffs_cpl(), and decode_audio_block().

phase flags in use (phsflginu)

Definition at line 104 of file ac3dec.h.

Referenced by decode_audio_block().

int AC3DecodeContext::pre_mantissa[AC3_MAX_CHANNELS][AC3_MAX_COEFS][AC3_MAX_BLOCKS]

pre-IDCT mantissas

Definition at line 131 of file ac3dec.h.

Referenced by decode_transform_coeffs_ch(), and ff_eac3_decode_transform_coeffs_aht_ch().

int16_t AC3DecodeContext::psd[AC3_MAX_CHANNELS][AC3_MAX_COEFS]

scaled exponents

Definition at line 170 of file ac3dec.h.

Referenced by decode_audio_block().

rematrixing flags (rematflg)

Definition at line 155 of file ac3dec.h.

Referenced by decode_audio_block(), and do_rematrixing().

sample frequency, in Hz

Definition at line 78 of file ac3dec.h.

Referenced by ac3_decode_frame(), and parse_frame_header().

skip field syntax enabled (skipflde)

Definition at line 97 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

int AC3DecodeContext::snr_offset[AC3_MAX_CHANNELS]

signal-to-noise ratio offsets (snroffst)

Definition at line 167 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_parse_header().

SNR offset strategy (snroffststr).

Definition at line 91 of file ac3dec.h.

Referenced by decode_audio_block(), ff_eac3_parse_header(), and parse_frame_header().

int8_t AC3DecodeContext::spx_atten_code[AC3_MAX_CHANNELS]

spx attenuation code (spxattencod)

Definition at line 117 of file ac3dec.h.

Referenced by ff_eac3_apply_spectral_extension(), and ff_eac3_parse_header().

uint8_t AC3DecodeContext::spx_band_sizes[SPX_MAX_BANDS]

number of bins in each spx band

Definition at line 123 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_apply_spectral_extension().

spx end frequency bin

Definition at line 119 of file ac3dec.h.

Referenced by decode_audio_block().

spx starting frequency bin for copying (copystartmant) the copy region ends at the start of the spx region.

Definition at line 120 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_apply_spectral_extension().

spectral extension in use (spxinu)

Definition at line 115 of file ac3dec.h.

Referenced by decode_audio_block().

float AC3DecodeContext::spx_noise_blend[AC3_MAX_CHANNELS][SPX_MAX_BANDS]

spx noise blending factor (nblendfact)

Definition at line 125 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_apply_spectral_extension().

float AC3DecodeContext::spx_signal_blend[AC3_MAX_CHANNELS][SPX_MAX_BANDS]

spx signal blending factor (sblendfact)

Definition at line 126 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_apply_spectral_extension().

spx start frequency bin

Definition at line 118 of file ac3dec.h.

Referenced by decode_audio_block(), and ff_eac3_apply_spectral_extension().

int AC3DecodeContext::start_freq[AC3_MAX_CHANNELS]

substream identification

Definition at line 75 of file ac3dec.h.

Referenced by ac3_decode_frame(), ff_eac3_parse_header(), and parse_frame_header().

Surround mix level index.

Definition at line 86 of file ac3dec.h.

Referenced by ff_eac3_parse_header(), parse_frame_header(), and set_downmix_coeffs().

float AC3DecodeContext::tmp_output[AC3_BLOCK_SIZE]

temporary storage for output before windowing

Definition at line 203 of file ac3dec.h.

Referenced by do_imdct().

float AC3DecodeContext::transform_coeffs[AC3_MAX_CHANNELS][AC3_MAX_COEFS]

transform coefficients

Definition at line 200 of file ac3dec.h.

Referenced by decode_audio_block(), do_imdct(), and ff_eac3_apply_spectral_extension().

float AC3DecodeContext::window[AC3_BLOCK_SIZE]

window coefficients

Definition at line 202 of file ac3dec.h.

Referenced by ac3_decode_init(), and do_imdct().


The documentation for this struct was generated from the following file:

Generated on Fri Oct 26 02:39:50 2012 for FFmpeg by  doxygen 1.5.8