Go to the documentation of this file.
21 #ifndef AVCODEC_DCA_LBR_H
22 #define AVCODEC_DCA_LBR_H
34 #define DCA_LBR_CHANNELS 6
35 #define DCA_LBR_CHANNELS_TOTAL 32
36 #define DCA_LBR_SUBBANDS 32
37 #define DCA_LBR_TONES 512
39 #define DCA_LBR_TIME_SAMPLES 128
40 #define DCA_LBR_TIME_HISTORY 8
int bit_rate_orig
Original bit rate.
float * ts_buffer
Time sample buffer base.
int min_mono_subband
Subband index where mono encoding starts.
int ch_mask
LBR speaker mask.
float lfe_history[5][2]
LFE IIR filter history.
av_cold void ff_dca_lbr_init_tables(void)
This structure describes decoded (raw) audio or video data.
DCALbrTone tones[DCA_LBR_TONES]
Circular buffer of tones.
uint8_t phs[DCA_LBR_CHANNELS]
Per-channel phase.
uint8_t x_freq
Spectral line offset.
uint8_t grid_2_scf[DCA_LBR_CHANNELS][3][64]
Grid 2 scale factors.
int max_mono_subband
Subband index where mono encoding ends.
uint8_t amp[DCA_LBR_CHANNELS]
Per-channel amplitude.
uint8_t part_stereo[DCA_LBR_CHANNELS][DCA_LBR_SUBBANDS/4][5]
Partial stereo coefficients.
int nchannels_total
Total number of fullband channels.
void(* av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
Function pointer to a function to perform the transform.
int g3_avg_only_start_sb
Subband index where grid 3 scale factors end.
int res_profile
Resolution profile.
uint8_t tonal_scf[6]
Tonal scale factors.
float window[DCA_LBR_SUBBANDS *4]
Long window for IMDCT.
int8_t grid_3_scf[DCA_LBR_CHANNELS][DCA_LBR_SUBBANDS - 4][8]
Grid 3 scale factors.
int freq_range
Frequency range of LBR audio.
int nchannels
Number of fullband channels to decode.
int limited_range
Band limited frequency range.
uint8_t sec_ch_sbms[DCA_LBR_CHANNELS/2][DCA_LBR_SUBBANDS]
Right channel inversion or mid/side decoding flags.
uint16_t tonal_bounds[5][32][2]
Per-group per-subframe start/end positions of tones.
float lfe_scale
Scale factor of LFE samples before IIR filter.
uint8_t part_stereo_pres
Partial stereo coefficients presence flags.
int warned
Flags for warning suppression.
av_cold void ff_dca_lbr_close(DCALbrDecoder *s)
@ DCA_LBR_HEADER_SYNC_ONLY
uint8_t ph_rot
Phase rotation.
float lfe_data[64]
Decimated LFE samples.
#define DECLARE_ALIGNED(n, t, v)
int sample_rate
Sample rate of LBR audio.
int lbr_rand
Seed for subband randomization.
uint8_t sb_indices[DCA_LBR_SUBBANDS]
Subband reordering indices.
@ DCA_LBR_HEADER_DECODER_INIT
uint8_t f_delt
Difference between original and center frequency.
int ff_dca_lbr_filter_frame(DCALbrDecoder *s, AVFrame *frame)
uint8_t sec_ch_lrms[DCA_LBR_CHANNELS/2][DCA_LBR_SUBBANDS]
Flags indicating if left/right channel are swapped.
uint32_t grid_3_pres[DCA_LBR_CHANNELS]
Grid 3 scale factors presence flags.
uint32_t ch_pres[DCA_LBR_CHANNELS]
Subband allocation flags.
int band_limit
Band limit factor.
int nsubbands
Number of encoded subbands.
uint8_t quant_levels[DCA_LBR_CHANNELS/2][DCA_LBR_SUBBANDS]
Quantization levels.
int bit_rate_scaled
Scaled bit rate.
main external API structure.
av_cold void ff_dca_lbr_flush(DCALbrDecoder *s)
int8_t grid_3_avg[DCA_LBR_CHANNELS][DCA_LBR_SUBBANDS - 4]
Grid 3 average values.
unsigned int ts_size
Time sample buffer size.
int flags
Flags for LBR decoder initialization.
int limited_rate
Band limited sample rate.
float lpc_coeff[2][DCA_LBR_CHANNELS][3][2][8]
Predictor coefficients.
int framenum
Lower 5 bits of current frame number.
uint8_t high_res_scf[DCA_LBR_CHANNELS][DCA_LBR_SUBBANDS][8]
High-frequency resolution scale factors.
uint8_t grid_1_scf[DCA_LBR_CHANNELS][12][8]
Grid 1 scale factors.
int ntones
Circular buffer head position.
av_cold int ff_dca_lbr_init(DCALbrDecoder *s)
uint8_t pad
Padding field.
float * time_samples[DCA_LBR_CHANNELS][DCA_LBR_SUBBANDS]
Time samples.
int ff_dca_lbr_parse(DCALbrDecoder *s, const uint8_t *data, DCAExssAsset *asset)
float history[DCA_LBR_CHANNELS][DCA_LBR_SUBBANDS *4]
IMDCT history.
float sb_scf[DCA_LBR_SUBBANDS]
Subband randomization scale factors.