38 #define DCA_PRIM_CHANNELS_MAX (7)
39 #define DCA_ABITS_MAX (32)
40 #define DCA_SUBSUBFRAMES_MAX (4)
41 #define DCA_SUBFRAMES_MAX (16)
42 #define DCA_BLOCKS_MAX (16)
43 #define DCA_LFE_MAX (3)
44 #define DCA_CHSETS_MAX (4)
45 #define DCA_CHSET_CHANS_MAX (8)
47 #define DCA_PRIM_CHANNELS_MAX (7)
48 #define DCA_ABITS_MAX (32)
49 #define DCA_SUBSUBFRAMES_MAX (4)
50 #define DCA_SUBFRAMES_MAX (16)
51 #define DCA_BLOCKS_MAX (16)
52 #define DCA_LFE_MAX (3)
53 #define DCA_XLL_FBANDS_MAX (4)
54 #define DCA_XLL_SEGMENTS_MAX (16)
55 #define DCA_XLL_CHSETS_MAX (16)
56 #define DCA_XLL_CHANNELS_MAX (16)
57 #define DCA_XLL_AORDER_MAX (15)
60 #define DCA_XLL_DMIX_NCOEFFS_MAX (18)
62 #define DCA_MAX_FRAME_SIZE 16384
63 #define DCA_MAX_EXSS_HEADER_SIZE 4096
65 #define DCA_BUFFER_PADDING_SIZE 1024
int ext_descr
extension audio descriptor flag
int quant_index_huffman[DCA_PRIM_CHANNELS_MAX][DCA_ABITS_MAX]
quantization index codebook select
int bitalloc_huffman[DCA_PRIM_CHANNELS_MAX]
bit allocation quantizer select
int ff_dca_xll_decode_header(DCAContext *s)
int crc_present
crc is present in the bitstream
This structure describes decoded (raw) audio or video data.
int timestamp
embedded time stamp flag
int amode
audio channels arrangement
lossless extension in ExSS
int transient_huffman[DCA_PRIM_CHANNELS_MAX]
transient mode code book
int mix_config_num_ch[4]
number of channels in each mix out configuration
FmtConvertContext fmt_conv
int vq_start_subband[DCA_PRIM_CHANNELS_MAX]
high frequency vq start subband
int hist_index[DCA_PRIM_CHANNELS_MAX]
int samples_deficit
deficit sample count
#define DECLARE_ALIGNED(n, t, v)
uint8_t core_downmix
embedded downmix coefficients available
#define DCA_MAX_FRAME_SIZE
int dynrange
embedded dynamic range flag
int joint_scale_factor[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS]
joint subband scale factors
int version
encoder software revision
int xll_bits4ch_mask
channel position mask
#define DCA_XLL_DMIX_NCOEFFS_MAX
float xxch_dmix_coeff[DCA_PRIM_CHANNELS_MAX][32]
float * extra_channels[DCA_PRIM_CHANNELS_MAX+1]
int xll_channels
total number of channels (in all channel sets)
#define DCA_MAX_EXSS_HEADER_SIZE
int scalefactor_huffman[DCA_PRIM_CHANNELS_MAX]
scale factor code book
int xll_nch_sets
number of channel sets per frame
uint32_t xxch_core_spkmask
int xch_base_channel
index of first (only) channel containing XCH data
float subband_samples_hist[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS][4]
int xll_residual_channels
number of residual channels
unsigned int xll_sample_buf_size
int dca_buffer_size
how much data is in the dca_buffer
96/24 extension in core substream
int8_t xxch_order_tab[32]
int header_crc
header crc check bytes
int transition_mode[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS]
transition mode (transients)
XllChSetSubHeader xll_chsets[DCA_XLL_CHSETS_MAX]
int sample_rate
audio sampling rate
bitstream reader API header.
uint32_t xxch_spk_masks[4]
int avpriv_dca_convert_bitstream(const uint8_t *src, int src_size, uint8_t *dst, int max_size)
Convert bitstream to one representation based on sync marker.
int lfe
low frequency effects flag
int predictor_history
predictor history flag
unsigned band_size[DCA_XLL_FBANDS_MAX]
int dynrange_coef
dynamic range coefficient
int joint_huff[DCA_PRIM_CHANNELS_MAX]
joint subband scale factors codebook
#define DCA_XLL_CHANNELS_MAX
uint16_t core_downmix_codes[DCA_PRIM_CHANNELS_MAX+1][4]
embedded downmix coefficients (9-bit codes)
float subband_samples[DCA_BLOCKS_MAX][DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS][8]
int hdcd
source material is mastered in HDCD
int xll_log_smpl_in_seg
supposedly this is "nBits4SamplLoci"
#define DCA_XLL_FBANDS_MAX
int mix_metadata
mixing metadata present
#define DCA_XLL_CHSETS_MAX
core in ExSS (extension substream)
int bitalloc[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS]
bit allocation index
int debug_flag
used for suppressing repeated error messages output
Libavcodec external API header.
#define DCA_BUFFER_PADDING_SIZE
#define DCA_XLL_SEGMENTS_MAX
int ff_dca_xbr_parse_frame(DCAContext *s)
const int8_t * channel_order_tab
channel reordering table, lfe and non lfe
float lfe_data[2 *DCA_LFE_MAX *(DCA_BLOCKS_MAX+4)]
Low frequency effect data.
common internal API header
int front_sum
front sum/difference flag
int xch_disable
whether the XCh extension should be decoded or not
int source_pcm_res
source pcm resolution
low bitrate component in ExSS
XXCh channels extension in ExSS.
av_export const uint32_t avpriv_dca_sample_rates[16]
int surround_sum
surround sum/difference flag
uint8_t dca_buffer[DCA_MAX_FRAME_SIZE+DCA_MAX_EXSS_HEADER_SIZE+DCA_BUFFER_PADDING_SIZE]
int joint_intensity[DCA_PRIM_CHANNELS_MAX]
joint intensity coding index
int multirate_inter
multirate interpolator switch
unsigned chset_size[DCA_XLL_FBANDS_MAX][DCA_XLL_SEGMENTS_MAX][DCA_XLL_CHSETS_MAX]
uint8_t core_downmix_amode
audio channel arrangement of embedded downmix
int ff_dca_xll_decode_navi(DCAContext *s, int asset_end)
int bit_rate
transmission bit rate
int xch_present
XCh extension present and valid.
int core_ext_mask
present extensions in the core substream
int ff_dca_xll_decode_audio(DCAContext *s, AVFrame *frame)
int aux_data
auxiliary data flag
int ext_coding
extended coding flag
int32_t scale_factor[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS][2]
scale factors (2 if transient)
int subband_activity[DCA_PRIM_CHANNELS_MAX]
subband activity count
main external API structure.
float scalefactor_adj[DCA_PRIM_CHANNELS_MAX][DCA_ABITS_MAX]
scale factor adjustment
int copy_history
copy history
int xll_bits4seg_size
number of bits used to read segment size
Describe the class of an AVClass context structure.
int exss_ext_mask
Non-core extensions.
extended bitrate extension in ExSS
int32_t high_freq_vq[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS]
VQ encoded high frequency subbands.
int sample_blocks
number of PCM sample blocks
#define DCA_SUBFRAMES_MAX
int xll_segments
number of segments per frame
int ff_dca_xxch_decode_frame(DCAContext *s)
float subband_fir_noidea[DCA_PRIM_CHANNELS_MAX][64]
int prediction_mode[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS]
prediction mode (ADPCM used or not)
int num_mix_configs
number of mix out configurations
int xll_banddata_crc
presence of CRC16 within each frequency band
uint8_t * extra_channels_buffer
int total_channels
number of channels including extensions
int prediction_vq[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS]
prediction VQ coefs
int dialog_norm
dialog normalisation parameter
int xll_smpl_in_seg
samples in segment per one frequency band for the first channel set
float subband_fir_hist[DCA_PRIM_CHANNELS_MAX][1024]
int bit_rate_index
transmission bit rate index
void ff_dca_exss_parse_header(DCAContext *s)
Parse extension substream header (HD)
unsigned segment_size[DCA_XLL_FBANDS_MAX][DCA_XLL_SEGMENTS_MAX]
float * samples_chanptr[DCA_PRIM_CHANNELS_MAX+1]
int subsubframes[DCA_SUBFRAMES_MAX]
number of subsubframes
QMF64_table * qmf64_table
XCh channel extension in core substream.
int frame_size
primary frame byte size
float xxch_dmix_sf[DCA_CHSETS_MAX]
int aspf
audio sync word insertion flag
int prim_channels
number of primary audio channels
float downmix_coef[DCA_PRIM_CHANNELS_MAX+1][2]
stereo downmix coefficients
#define DCA_XLL_AORDER_MAX
int partial_samples[DCA_SUBFRAMES_MAX]
partial subsubframe samples count
uint32_t xxch_dmix_embedded
int subframes
number of subframes
unsigned int extra_channels_buffer_size
#define DCA_PRIM_CHANNELS_MAX
int static_fields
static fields present
int frame_type
type of the current frame
XXCh channels extension in core substream.