Go to the documentation of this file.
   36         xll_delay_nbits = 
get_bits(&
s->gb, 5) + 1;
 
   74     if (
s->static_fields_present) {
 
  109             int spkr_mask_nbits = 0;
 
  110             int spkr_remap_nsets;
 
  122                 spkr_mask_nbits = (
get_bits(&
s->gb, 2) + 1) << 2;
 
  129             if ((spkr_remap_nsets = 
get_bits(&
s->gb, 3)) && !spkr_mask_nbits) {
 
  136             for (
i = 0; 
i < spkr_remap_nsets; 
i++)
 
  139             for (
i = 0; 
i < spkr_remap_nsets; 
i++) {
 
  141                 int nch_for_remaps = 
get_bits(&
s->gb, 5) + 1;
 
  143                 for (j = 0; j < nspeakers[
i]; j++) {
 
  183     if (
s->mix_metadata_enabled && 
get_bits1(&
s->gb)) {
 
  203             for (
i = 0; 
i < 
s->nmixoutconfigs; 
i++)
 
  214         for (
i = 0; 
i < 
s->nmixoutconfigs; 
i++) {
 
  215             if (!
s->nmixoutchs[
i]) {
 
  220             for (j = 0; j < nchannels_dmix; j++) {
 
  222                 int mix_map_mask = 
get_bits(&
s->gb, 
s->nmixoutchs[
i]);
 
  398     header_size = 
get_bits(&
s->gb, 8 + 4 * wide_hdr) + 1;
 
  406     s->exss_size_nbits = 16 + 4 * wide_hdr;
 
  409     s->exss_size = 
get_bits(&
s->gb, 
s->exss_size_nbits) + 1;
 
  410     if (
s->exss_size > 
size) {
 
  417     if (
s->static_fields_present = 
get_bits1(&
s->gb)) {
 
  418         int active_exss_mask[8];
 
  433         if (
s->npresents > 1) {
 
  441         if (
s->nassets > 1) {
 
  448         for (
i = 0; 
i < 
s->npresents; 
i++)
 
  449             active_exss_mask[
i] = 
get_bits(&
s->gb, 
s->exss_index + 1);
 
  452         for (
i = 0; 
i < 
s->npresents; 
i++)
 
  463             spkr_mask_nbits = (
get_bits(&
s->gb, 2) + 1) << 2;
 
  469             for (
i = 0; 
i < 
s->nmixoutconfigs; 
i++)
 
  479     for (
i = 0; 
i < 
s->nassets; 
i++) {
 
  481         s->assets[
i].asset_size = 
get_bits(&
s->gb, 
s->exss_size_nbits) + 1;
 
  491     for (
i = 0; 
i < 
s->nassets; 
i++) {
 
  
int embedded_6ch
Embedded 6 channels flag.
static void skip_bits_long(GetBitContext *s, int n)
Skips the specified number of bits.
static int get_bits_left(GetBitContext *gb)
static void parse_lbr_parameters(DCAExssParser *s, DCAExssAsset *asset)
int asset_size
Size of encoded asset data.
static unsigned int get_bits_long(GetBitContext *s, int n)
Read 0-32 bits.
static int get_bits_count(const GetBitContext *s)
int spkr_mask_enabled
Speaker mask enabled flag.
int x96_size
Size of X96 extension in extension substream.
static int ff_dca_seek_bits(GetBitContext *s, int p)
int xll_size
Size of XLL data in extension substream.
static int ff_dca_check_crc(AVCodecContext *avctx, GetBitContext *s, int p1, int p2)
int one_to_one_map_ch_to_spkr
One to one channel to speaker mapping flag.
int xbr_size
Size of XBR extension in extension substream.
static void skip_bits(GetBitContext *s, int n)
int lbr_offset
Offset to LBR component from start of substream.
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits.
static int parse_descriptor(DCAExssParser *s, DCAExssAsset *asset)
int embedded_stereo
Embedded stereo flag.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
static int init_get_bits8(GetBitContext *s, const uint8_t *buffer, int byte_size)
Initialize GetBitContext.
int spkr_mask
Loudspeaker activity mask.
static void parse_xll_parameters(DCAExssParser *s, DCAExssAsset *asset)
#define AVERROR_PATCHWELCOME
Not yet implemented in FFmpeg, patches welcome.
int lbr_size
Size of LBR component in extension substream.
static unsigned int get_bits1(GetBitContext *s)
static int set_exss_offsets(DCAExssAsset *asset)
int core_offset
Offset to core component from start of substream.
int xll_offset
Offset to XLL data from start of substream.
int xll_delay_nframes
Initial XLL decoding delay in frames.
int asset_index
Audio asset identifier.
int max_sample_rate
Maximum sample rate.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf offset
static void skip_bits1(GetBitContext *s)
int core_size
Size of core component in extension substream.
int ff_dca_exss_parse(DCAExssParser *s, const uint8_t *data, int size)
int xll_sync_offset
Number of bytes offset to XLL sync.
int nchannels_total
Total number of channels.
int asset_offset
Offset to asset data from start of substream.
int pcm_bit_res
PCM bit resolution.
int xll_sync_present
XLL sync word present flag.
const uint32_t ff_dca_sampling_freqs[16]
int x96_offset
Offset to X96 extension from start of substream.
#define avpriv_request_sample(...)
int xbr_offset
Offset to XBR extension from start of substream.
int extension_mask
Coding components used in asset.
int xxch_size
Size of XXCH extension in extension substream.
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
int xxch_offset
Offset to XXCH extension from start of substream.
int coding_mode
Coding mode for the asset.
int representation_type
Representation type.
int hd_stream_id
DTS-HD stream ID.
static int ff_dca_count_chs_for_mask(unsigned int mask)
Return number of individual channels in DCASpeakerPair mask.