dca.c File Reference


Detailed Description

Definition in file dca.c.

Go to the source code of this file.

Classes

struct  BitAlloc
 Bit allocation. More...
struct  DCAContext

Enumerations

enum  DCAMode {
  DCA_MONO = 0, DCA_CHANNEL, DCA_STEREO, DCA_STEREO_SUMDIFF,
  DCA_STEREO_TOTAL, DCA_3F, DCA_2F1R, DCA_3F1R,
  DCA_2F2R, DCA_3F2R, DCA_4F2R
}

Functions

static av_always_inline int get_bitalloc (GetBitContext *gb, BitAlloc *ba, int idx)
static void dca_init_vlcs (void)
static void get_array (GetBitContext *gb, int *dst, int len, int bits)
static int dca_parse_frame_header (DCAContext *s)
static int get_scale (GetBitContext *gb, int level, int value)
static int dca_subframe_header (DCAContext *s)
static void qmf_32_subbands (DCAContext *s, int chans, float samples_in[32][8], float *samples_out, float scale, float bias)
static void lfe_interpolation_fir (int decimation_select, int num_deci_sample, float *samples_in, float *samples_out, float scale, float bias)
static void dca_downmix (float *samples, int srcfmt, int downmix_coef[DCA_PRIM_CHANNELS_MAX][2])
static int decode_blockcode (int code, int levels, int *values)
static int dca_subsubframe (DCAContext *s)
static int dca_subframe_footer (DCAContext *s)
static int dca_decode_block (DCAContext *s)
 Decode a dca frame block.
static int dca_convert_bitstream (uint8_t *src, int src_size, uint8_t *dst, int max_size)
 Convert bitstream to one representation based on sync marker.
static int dca_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
 Main frame decoding function FIXME add arguments.
static void pre_calc_cosmod (DCAContext *s)
 Build the cosine modulation tables for the QMF.
static int dca_decode_init (AVCodecContext *avctx)
 DCA initialization.

Variables

static BitAlloc dca_bitalloc_index
 indexes for samples VLC select
static BitAlloc dca_tmode
 transition mode VLCs
static BitAlloc dca_scalefactor
 scalefactor VLCs
static BitAlloc dca_smpl_bitalloc [11]
 samples VLCs
static float cos_mod [544]
 Pre-calculated cosine modulation coefs for the QMF.
static const uint8_t abits_sizes [7] = { 7, 10, 12, 13, 15, 17, 19 }
static const uint8_t abits_levels [7] = { 3, 5, 7, 9, 13, 17, 25 }
AVCodec dca_decoder


Enumeration Type Documentation

enum DCAMode

Enumerator:
DCA_MONO 
DCA_CHANNEL 
DCA_STEREO 
DCA_STEREO_SUMDIFF 
DCA_STEREO_TOTAL 
DCA_3F 
DCA_2F1R 
DCA_3F1R 
DCA_2F2R 
DCA_3F2R 
DCA_4F2R 

Definition at line 48 of file dca.c.


Function Documentation

static av_always_inline int get_bitalloc ( GetBitContext gb,
BitAlloc ba,
int  idx 
) [static]

Definition at line 90 of file dca.c.

Referenced by dca_subframe_header(), dca_subsubframe(), and get_scale().

static void dca_init_vlcs ( void   )  [static]

Definition at line 180 of file dca.c.

Referenced by dca_decode_init().

static void get_array ( GetBitContext gb,
int *  dst,
int  len,
int  bits 
) [inline, static]

Definition at line 220 of file dca.c.

Referenced by dca_parse_frame_header().

static int dca_parse_frame_header ( DCAContext s  )  [static]

Definition at line 226 of file dca.c.

Referenced by dca_decode_frame().

static int get_scale ( GetBitContext gb,
int  level,
int  value 
) [inline, static]

Definition at line 391 of file dca.c.

Referenced by dca_subframe_header().

static int dca_subframe_header ( DCAContext s  )  [static]

Definition at line 401 of file dca.c.

Referenced by dca_decode_block().

static void qmf_32_subbands ( DCAContext s,
int  chans,
float  samples_in[32][8],
float *  samples_out,
float  scale,
float  bias 
) [static]

Definition at line 645 of file dca.c.

Referenced by dca_subsubframe().

static void lfe_interpolation_fir ( int  decimation_select,
int  num_deci_sample,
float *  samples_in,
float *  samples_out,
float  scale,
float  bias 
) [static]

Definition at line 714 of file dca.c.

Referenced by dca_subsubframe().

static void dca_downmix ( float *  samples,
int  srcfmt,
int  downmix_coef[DCA_PRIM_CHANNELS_MAX][2] 
) [static]

Definition at line 774 of file dca.c.

Referenced by dca_subsubframe().

static int decode_blockcode ( int  code,
int  levels,
int *  values 
) [static]

Definition at line 819 of file dca.c.

Referenced by dca_subsubframe().

static int dca_subsubframe ( DCAContext s  )  [static]

Definition at line 840 of file dca.c.

Referenced by dca_decode_block().

static int dca_subframe_footer ( DCAContext s  )  [static]

Definition at line 1012 of file dca.c.

Referenced by dca_decode_block().

static int dca_decode_block ( DCAContext s  )  [static]

Decode a dca frame block.

Parameters:
s pointer to the DCAContext

Definition at line 1047 of file dca.c.

Referenced by dca_decode_frame().

static int dca_convert_bitstream ( uint8_t *  src,
int  src_size,
uint8_t *  dst,
int  max_size 
) [static]

Convert bitstream to one representation based on sync marker.

Definition at line 1094 of file dca.c.

Referenced by dca_decode_frame().

static int dca_decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
uint8_t *  buf,
int  buf_size 
) [static]

Main frame decoding function FIXME add arguments.

Definition at line 1134 of file dca.c.

static void pre_calc_cosmod ( DCAContext s  )  [static]

Build the cosine modulation tables for the QMF.

Parameters:
s pointer to the DCAContext

Definition at line 1211 of file dca.c.

Referenced by dca_decode_init().

static int dca_decode_init ( AVCodecContext avctx  )  [static]

DCA initialization.

Parameters:
avctx pointer to the AVCodecContext

Definition at line 1241 of file dca.c.


Variable Documentation

indexes for samples VLC select

Definition at line 82 of file dca.c.

BitAlloc dca_tmode [static]

transition mode VLCs

Definition at line 83 of file dca.c.

scalefactor VLCs

Definition at line 84 of file dca.c.

samples VLCs

Definition at line 85 of file dca.c.

float cos_mod[544] [static]

Pre-calculated cosine modulation coefs for the QMF.

Definition at line 88 of file dca.c.

Referenced by pre_calc_cosmod(), and qmf_32_subbands().

const uint8_t abits_sizes[7] = { 7, 10, 12, 13, 15, 17, 19 } [static]

Definition at line 837 of file dca.c.

Referenced by dca_subsubframe().

const uint8_t abits_levels[7] = { 3, 5, 7, 9, 13, 17, 25 } [static]

Definition at line 838 of file dca.c.

Referenced by dca_subsubframe().

Initial value:

 {
    .name = "dca",
    .type = CODEC_TYPE_AUDIO,
    .id = CODEC_ID_DTS,
    .priv_data_size = sizeof(DCAContext),
    .init = dca_decode_init,
    .decode = dca_decode_frame,
}

Definition at line 1254 of file dca.c.


Generated on Sat Dec 18 05:15:51 2010 for MythTV by  doxygen 1.5.5