FFmpeg
Data Structures | Macros | Enumerations | Functions
dca_core.h File Reference
#include "libavutil/float_dsp.h"
#include "libavutil/fixed_dsp.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "get_bits.h"
#include "dca.h"
#include "dca_exss.h"
#include "dcadsp.h"
#include "dcadct.h"
#include "dcamath.h"
#include "dcahuff.h"
#include "fft.h"
#include "synth_filter.h"

Go to the source code of this file.

Data Structures

struct  DCADSPData
 
struct  DCACoreDecoder
 

Macros

#define DCA_CHANNELS   7
 
#define DCA_SUBBANDS   32
 
#define DCA_SUBBANDS_X96   64
 
#define DCA_SUBFRAMES   16
 
#define DCA_SUBBAND_SAMPLES   8
 
#define DCA_PCMBLOCK_SAMPLES   32
 
#define DCA_LFE_HISTORY   8
 
#define DCA_ABITS_MAX   26
 
#define DCA_CORE_CHANNELS_MAX   6
 
#define DCA_DMIX_CHANNELS_MAX   4
 
#define DCA_XXCH_CHANNELS_MAX   2
 
#define DCA_EXSS_CHANNELS_MAX   8
 
#define DCA_EXSS_CHSETS_MAX   4
 
#define DCA_FILTER_MODE_X96   0x01
 
#define DCA_FILTER_MODE_FIXED   0x02
 

Enumerations

enum  DCACoreAudioMode {
  DCA_AMODE_MONO, DCA_AMODE_MONO_DUAL, DCA_AMODE_STEREO, DCA_AMODE_STEREO_SUMDIFF,
  DCA_AMODE_STEREO_TOTAL, DCA_AMODE_3F, DCA_AMODE_2F1R, DCA_AMODE_3F1R,
  DCA_AMODE_2F2R, DCA_AMODE_3F2R, DCA_AMODE_COUNT
}
 
enum  DCACoreExtAudioType { DCA_EXT_AUDIO_XCH = 0, DCA_EXT_AUDIO_X96 = 2, DCA_EXT_AUDIO_XXCH = 6 }
 
enum  DCACoreLFEFlag { DCA_LFE_FLAG_NONE, DCA_LFE_FLAG_128, DCA_LFE_FLAG_64, DCA_LFE_FLAG_INVALID }
 

Functions

static int ff_dca_core_map_spkr (DCACoreDecoder *core, int spkr)
 
static void ff_dca_core_dequantize (int32_t *output, const int32_t *input, int32_t step_size, int32_t scale, int residual, int len)
 
int ff_dca_core_parse (DCACoreDecoder *s, const uint8_t *data, int size)
 
int ff_dca_core_parse_exss (DCACoreDecoder *s, const uint8_t *data, DCAExssAsset *asset)
 
int ff_dca_core_filter_fixed (DCACoreDecoder *s, int x96_synth)
 
int ff_dca_core_filter_frame (DCACoreDecoder *s, AVFrame *frame)
 
av_cold void ff_dca_core_flush (DCACoreDecoder *s)
 
av_cold int ff_dca_core_init (DCACoreDecoder *s)
 
av_cold void ff_dca_core_close (DCACoreDecoder *s)
 

Macro Definition Documentation

◆ DCA_CHANNELS

#define DCA_CHANNELS   7

Definition at line 39 of file dca_core.h.

◆ DCA_SUBBANDS

#define DCA_SUBBANDS   32

Definition at line 40 of file dca_core.h.

◆ DCA_SUBBANDS_X96

#define DCA_SUBBANDS_X96   64

Definition at line 41 of file dca_core.h.

◆ DCA_SUBFRAMES

#define DCA_SUBFRAMES   16

Definition at line 42 of file dca_core.h.

◆ DCA_SUBBAND_SAMPLES

#define DCA_SUBBAND_SAMPLES   8

Definition at line 43 of file dca_core.h.

◆ DCA_PCMBLOCK_SAMPLES

#define DCA_PCMBLOCK_SAMPLES   32

Definition at line 44 of file dca_core.h.

◆ DCA_LFE_HISTORY

#define DCA_LFE_HISTORY   8

Definition at line 45 of file dca_core.h.

◆ DCA_ABITS_MAX

#define DCA_ABITS_MAX   26

Definition at line 46 of file dca_core.h.

◆ DCA_CORE_CHANNELS_MAX

#define DCA_CORE_CHANNELS_MAX   6

Definition at line 48 of file dca_core.h.

◆ DCA_DMIX_CHANNELS_MAX

#define DCA_DMIX_CHANNELS_MAX   4

Definition at line 49 of file dca_core.h.

◆ DCA_XXCH_CHANNELS_MAX

#define DCA_XXCH_CHANNELS_MAX   2

Definition at line 50 of file dca_core.h.

◆ DCA_EXSS_CHANNELS_MAX

#define DCA_EXSS_CHANNELS_MAX   8

Definition at line 51 of file dca_core.h.

◆ DCA_EXSS_CHSETS_MAX

#define DCA_EXSS_CHSETS_MAX   4

Definition at line 52 of file dca_core.h.

◆ DCA_FILTER_MODE_X96

#define DCA_FILTER_MODE_X96   0x01

Definition at line 54 of file dca_core.h.

◆ DCA_FILTER_MODE_FIXED

#define DCA_FILTER_MODE_FIXED   0x02

Definition at line 55 of file dca_core.h.

Enumeration Type Documentation

◆ DCACoreAudioMode

Enumerator
DCA_AMODE_MONO 
DCA_AMODE_MONO_DUAL 
DCA_AMODE_STEREO 
DCA_AMODE_STEREO_SUMDIFF 
DCA_AMODE_STEREO_TOTAL 
DCA_AMODE_3F 
DCA_AMODE_2F1R 
DCA_AMODE_3F1R 
DCA_AMODE_2F2R 
DCA_AMODE_3F2R 
DCA_AMODE_COUNT 

Definition at line 57 of file dca_core.h.

◆ DCACoreExtAudioType

Enumerator
DCA_EXT_AUDIO_XCH 
DCA_EXT_AUDIO_X96 
DCA_EXT_AUDIO_XXCH 

Definition at line 72 of file dca_core.h.

◆ DCACoreLFEFlag

Enumerator
DCA_LFE_FLAG_NONE 
DCA_LFE_FLAG_128 
DCA_LFE_FLAG_64 
DCA_LFE_FLAG_INVALID 

Definition at line 78 of file dca_core.h.

Function Documentation

◆ ff_dca_core_map_spkr()

static int ff_dca_core_map_spkr ( DCACoreDecoder core,
int  spkr 
)
inlinestatic

Definition at line 214 of file dca_core.h.

Referenced by combine_residual_frame(), and force_lossy_output().

◆ ff_dca_core_dequantize()

static void ff_dca_core_dequantize ( int32_t output,
const int32_t input,
int32_t  step_size,
int32_t  scale,
int  residual,
int  len 
)
inlinestatic

◆ ff_dca_core_parse()

int ff_dca_core_parse ( DCACoreDecoder s,
const uint8_t *  data,
int  size 
)

Definition at line 1800 of file dca_core.c.

Referenced by dcadec_decode_frame().

◆ ff_dca_core_parse_exss()

int ff_dca_core_parse_exss ( DCACoreDecoder s,
const uint8_t *  data,
DCAExssAsset asset 
)

Definition at line 1833 of file dca_core.c.

Referenced by dcadec_decode_frame().

◆ ff_dca_core_filter_fixed()

int ff_dca_core_filter_fixed ( DCACoreDecoder s,
int  x96_synth 
)

Definition at line 1961 of file dca_core.c.

Referenced by dcadec_decode_frame(), and filter_frame_fixed().

◆ ff_dca_core_filter_frame()

int ff_dca_core_filter_frame ( DCACoreDecoder s,
AVFrame frame 
)

Definition at line 2347 of file dca_core.c.

Referenced by dcadec_decode_frame().

◆ ff_dca_core_flush()

av_cold void ff_dca_core_flush ( DCACoreDecoder s)

Definition at line 2401 of file dca_core.c.

Referenced by dcadec_flush().

◆ ff_dca_core_init()

av_cold int ff_dca_core_init ( DCACoreDecoder s)

Definition at line 2414 of file dca_core.c.

Referenced by dcadec_init().

◆ ff_dca_core_close()

av_cold void ff_dca_core_close ( DCACoreDecoder s)

Definition at line 2432 of file dca_core.c.

Referenced by dcadec_close().