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_MAX_FRAME_SIZE 16384
48 #define DCA_MAX_EXSS_HEADER_SIZE 4096
50 #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 crc_present
crc is present in the bitstream
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
float subband_fir_noidea[DCA_PRIM_CHANNELS_MAX][32]
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
float subband_fir_hist[DCA_PRIM_CHANNELS_MAX][512]
float xxch_dmix_coeff[DCA_PRIM_CHANNELS_MAX][32]
float * extra_channels[DCA_PRIM_CHANNELS_MAX+1]
#define DCA_MAX_EXSS_HEADER_SIZE
int scalefactor_huffman[DCA_PRIM_CHANNELS_MAX]
scale factor code book
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 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)
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
int dynrange_coef
dynamic range coefficient
int joint_huff[DCA_PRIM_CHANNELS_MAX]
joint subband scale factors codebook
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 mix_metadata
mixing metadata present
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
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
uint8_t core_downmix_amode
audio channel arrangement of embedded downmix
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 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
Describe the class of an AVClass context structure.
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 ff_dca_xxch_decode_frame(DCAContext *s)
int prediction_mode[DCA_PRIM_CHANNELS_MAX][DCA_SUBBANDS]
prediction mode (ADPCM used or not)
int num_mix_configs
number of mix out configurations
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 bit_rate_index
transmission bit rate index
void ff_dca_exss_parse_header(DCAContext *s)
Parse extension substream header (HD)
float * samples_chanptr[DCA_PRIM_CHANNELS_MAX+1]
int subsubframes[DCA_SUBFRAMES_MAX]
number of subsubframes
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
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.