libavcodec/dca.c File Reference

#include <math.h>
#include <stddef.h>
#include <stdio.h>
#include "libavutil/common.h"
#include "libavutil/intmath.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/audioconvert.h"
#include "avcodec.h"
#include "dsputil.h"
#include "fft.h"
#include "get_bits.h"
#include "put_bits.h"
#include "dcadata.h"
#include "dcahuff.h"
#include "dca.h"
#include "synth_filter.h"
#include "dcadsp.h"
#include "fmtconvert.h"

Go to the source code of this file.

Data Structures

struct  BitAlloc
 Bit allocation. More...
struct  DCAContext

Defines

#define DCA_PRIM_CHANNELS_MAX   (7)
#define DCA_SUBBANDS   (32)
#define DCA_ABITS_MAX   (32)
#define DCA_SUBSUBFRAMES_MAX   (4)
#define DCA_SUBFRAMES_MAX   (16)
#define DCA_BLOCKS_MAX   (16)
#define DCA_LFE_MAX   (3)
#define DCA_CORE_EXTS   (DCA_EXT_XCH | DCA_EXT_XXCH | DCA_EXT_X96)
#define DCA_DOLBY   101
#define DCA_CHANNEL_BITS   6
#define DCA_CHANNEL_MASK   0x3F
#define DCA_LFE   0x80
#define HEADER_SIZE   14
#define DCA_MAX_FRAME_SIZE   16384
#define DCA_MAX_EXSS_HEADER_SIZE   4096
#define DCA_BUFFER_PADDING_SIZE   1024
#define MIX_REAR1(samples, si1, rs, coef)
#define MIX_REAR2(samples, si1, si2, rs, coef)
#define MIX_FRONT3(samples, coef)
#define DOWNMIX_TO_STEREO(op1, op2)

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
}
enum  DCAExSSSpeakerMask {
  DCA_EXSS_FRONT_CENTER = 0x0001, DCA_EXSS_FRONT_LEFT_RIGHT = 0x0002, DCA_EXSS_SIDE_REAR_LEFT_RIGHT = 0x0004, DCA_EXSS_LFE = 0x0008,
  DCA_EXSS_REAR_CENTER = 0x0010, DCA_EXSS_FRONT_HIGH_LEFT_RIGHT = 0x0020, DCA_EXSS_REAR_LEFT_RIGHT = 0x0040, DCA_EXSS_FRONT_HIGH_CENTER = 0x0080,
  DCA_EXSS_OVERHEAD = 0x0100, DCA_EXSS_CENTER_LEFT_RIGHT = 0x0200, DCA_EXSS_WIDE_LEFT_RIGHT = 0x0400, DCA_EXSS_SIDE_LEFT_RIGHT = 0x0800,
  DCA_EXSS_LFE2 = 0x1000, DCA_EXSS_SIDE_HIGH_LEFT_RIGHT = 0x2000, DCA_EXSS_REAR_HIGH_CENTER = 0x4000, DCA_EXSS_REAR_HIGH_LEFT_RIGHT = 0x8000
}
enum  DCAExtensionMask {
  DCA_EXT_CORE = 0x001, DCA_EXT_XXCH = 0x002, DCA_EXT_X96 = 0x004, DCA_EXT_XCH = 0x008,
  DCA_EXT_EXSS_CORE = 0x010, DCA_EXT_EXSS_XBR = 0x020, DCA_EXT_EXSS_XXCH = 0x040, DCA_EXT_EXSS_X96 = 0x080,
  DCA_EXT_EXSS_LBR = 0x100, DCA_EXT_EXSS_XLL = 0x200
}

Functions

static av_always_inline int get_bitalloc (GetBitContext *gb, BitAlloc *ba, int idx)
static av_cold void dca_init_vlcs (void)
static void get_array (GetBitContext *gb, int *dst, int len, int bits)
static int dca_parse_audio_coding_header (DCAContext *s, int base_channel)
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, int base_channel, int block_index)
static void qmf_32_subbands (DCAContext *s, int chans, float samples_in[32][8], float *samples_out, float scale)
static void lfe_interpolation_fir (DCAContext *s, int decimation_select, int num_deci_sample, float *samples_in, float *samples_out, float scale)
static void dca_downmix (float *samples, int srcfmt, int downmix_coef[DCA_PRIM_CHANNELS_MAX][2], const int8_t *channel_mapping)
static int decode_blockcode (int code, int levels, int *values)
static int decode_blockcodes (int code1, int code2, int levels, int *values)
static void int8x8_fmul_int32 (float *dst, const int8_t *src, int scale)
static int dca_subsubframe (DCAContext *s, int base_channel, int block_index)
static int dca_filter_channels (DCAContext *s, int block_index)
static int dca_subframe_footer (DCAContext *s, int base_channel)
static int dca_decode_block (DCAContext *s, int base_channel, int block_index)
 Decode a dca frame block.
static int 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.
static int dca_exss_mask2count (int mask)
 Return the number of channels in an ExSS speaker mask (HD).
static void dca_exss_skip_mix_coeffs (GetBitContext *gb, int channels, int out_ch)
 Skip mixing coefficients of a single mix out configuration (HD).
static int dca_exss_parse_asset_header (DCAContext *s)
 Parse extension substream asset header (HD).
static void dca_exss_parse_header (DCAContext *s)
 Parse extension substream header (HD).
static int dca_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt)
 Main frame decoding function FIXME add arguments.
static av_cold int dca_decode_init (AVCodecContext *avctx)
 DCA initialization.
static av_cold int dca_decode_end (AVCodecContext *avctx)

Variables

static const int dca_ext_audio_descr_mask []
static const uint64_t dca_core_channel_layout []
static const int8_t dca_lfe_index []
static const int8_t dca_channel_reorder_lfe [][9]
static const int8_t dca_channel_reorder_lfe_xch [][9]
static const int8_t dca_channel_reorder_nolfe [][9]
static const int8_t dca_channel_reorder_nolfe_xch [][9]
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 const uint16_t dca_vlc_offs []
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 }
static const AVProfile profiles []
AVCodec ff_dca_decoder


Define Documentation

#define DCA_ABITS_MAX   (32)

Definition at line 53 of file dca.c.

#define DCA_BLOCKS_MAX   (16)

Definition at line 56 of file dca.c.

#define DCA_BUFFER_PADDING_SIZE   1024

Definition at line 242 of file dca.c.

#define DCA_CHANNEL_BITS   6

Definition at line 232 of file dca.c.

#define DCA_CHANNEL_MASK   0x3F

Definition at line 233 of file dca.c.

Referenced by dca_subframe_header().

#define DCA_CORE_EXTS   (DCA_EXT_XCH | DCA_EXT_XXCH | DCA_EXT_X96)

Definition at line 119 of file dca.c.

Referenced by dca_exss_parse_asset_header().

#define DCA_DOLBY   101

Definition at line 230 of file dca.c.

#define DCA_LFE   0x80

Definition at line 235 of file dca.c.

Referenced by dca_filter_channels(), and dca_parse_frame_header().

#define DCA_LFE_MAX   (3)

Definition at line 57 of file dca.c.

#define DCA_MAX_EXSS_HEADER_SIZE   4096

Definition at line 240 of file dca.c.

Referenced by dca_decode_frame().

#define DCA_MAX_FRAME_SIZE   16384

Definition at line 239 of file dca.c.

Referenced by dca_decode_frame(), and put_frame().

#define DCA_PRIM_CHANNELS_MAX   (7)

Definition at line 51 of file dca.c.

Referenced by dca_decode_init(), and dca_parse_audio_coding_header().

#define DCA_SUBBANDS   (32)

#define DCA_SUBFRAMES_MAX   (16)

Definition at line 55 of file dca.c.

#define DCA_SUBSUBFRAMES_MAX   (4)

Definition at line 54 of file dca.c.

#define DOWNMIX_TO_STEREO ( op1,
op2   ) 

Value:

for (i = 0; i < 256; i++){ \
        op1 \
        op2 \
    }

Definition at line 975 of file dca.c.

Referenced by dca_downmix().

#define HEADER_SIZE   14

#define MIX_FRONT3 ( samples,
coef   ) 

Value:

t = samples[i+c]; \
    u = samples[i+l]; \
    v = samples[i+r]; \
    samples[i]     = t * coef[0][0] + u * coef[1][0] + v * coef[2][0]; \
    samples[i+256] = t * coef[0][1] + u * coef[1][1] + v * coef[2][1];

Definition at line 968 of file dca.c.

Referenced by dca_downmix().

#define MIX_REAR1 ( samples,
si1,
rs,
coef   ) 

Value:

samples[i]     += samples[si1] * coef[rs][0];  \
     samples[i+256] += samples[si1] * coef[rs][1];

Definition at line 960 of file dca.c.

Referenced by dca_downmix().

#define MIX_REAR2 ( samples,
si1,
si2,
rs,
coef   ) 

Value:

samples[i]     += samples[si1] * coef[rs][0] + samples[si2] * coef[rs+1][0]; \
     samples[i+256] += samples[si1] * coef[rs][1] + samples[si2] * coef[rs+1][1];

Definition at line 964 of file dca.c.

Referenced by dca_downmix().


Enumeration Type Documentation

Enumerator:
DCA_EXSS_FRONT_CENTER 
DCA_EXSS_FRONT_LEFT_RIGHT 
DCA_EXSS_SIDE_REAR_LEFT_RIGHT 
DCA_EXSS_LFE 
DCA_EXSS_REAR_CENTER 
DCA_EXSS_FRONT_HIGH_LEFT_RIGHT 
DCA_EXSS_REAR_LEFT_RIGHT 
DCA_EXSS_FRONT_HIGH_CENTER 
DCA_EXSS_OVERHEAD 
DCA_EXSS_CENTER_LEFT_RIGHT 
DCA_EXSS_WIDE_LEFT_RIGHT 
DCA_EXSS_SIDE_LEFT_RIGHT 
DCA_EXSS_LFE2 
DCA_EXSS_SIDE_HIGH_LEFT_RIGHT 
DCA_EXSS_REAR_HIGH_CENTER 
DCA_EXSS_REAR_HIGH_LEFT_RIGHT 

Definition at line 74 of file dca.c.

Enumerator:
DCA_EXT_CORE  core in core substream
DCA_EXT_XXCH  XXCh channels extension in core substream.
DCA_EXT_X96  96/24 extension in core substream
DCA_EXT_XCH  XCh channel extension in core substream.
DCA_EXT_EXSS_CORE  core in ExSS (extension substream)
DCA_EXT_EXSS_XBR  extended bitrate extension in ExSS
DCA_EXT_EXSS_XXCH  XXCh channels extension in ExSS.
DCA_EXT_EXSS_X96  96/24 extension in ExSS
DCA_EXT_EXSS_LBR  low bitrate component in ExSS
DCA_EXT_EXSS_XLL  lossless extension in ExSS

Definition at line 93 of file dca.c.

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 59 of file dca.c.


Function Documentation

static int dca_convert_bitstream ( const 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 1330 of file dca.c.

Referenced by dca_decode_frame().

static int dca_decode_block ( DCAContext s,
int  base_channel,
int  block_index 
) [static]

Decode a dca frame block.

Parameters:
s pointer to the DCAContext

Definition at line 1282 of file dca.c.

Referenced by dca_decode_frame().

static av_cold int dca_decode_end ( AVCodecContext avctx  )  [static]

Definition at line 1926 of file dca.c.

static int dca_decode_frame ( AVCodecContext avctx,
void *  data,
int *  got_frame_ptr,
AVPacket avpkt 
) [static]

Main frame decoding function FIXME add arguments.

Definition at line 1638 of file dca.c.

static av_cold int dca_decode_init ( AVCodecContext avctx  )  [static]

DCA initialization.

Parameters:
avctx pointer to the AVCodecContext

Definition at line 1889 of file dca.c.

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

Definition at line 981 of file dca.c.

Referenced by dca_filter_channels().

static int dca_exss_mask2count ( int  mask  )  [static]

Return the number of channels in an ExSS speaker mask (HD).

Definition at line 1371 of file dca.c.

Referenced by dca_exss_parse_asset_header(), and dca_exss_parse_header().

static int dca_exss_parse_asset_header ( DCAContext s  )  [static]

Parse extension substream asset header (HD).

Definition at line 1405 of file dca.c.

Referenced by dca_exss_parse_header().

static void dca_exss_parse_header ( DCAContext s  )  [static]

Parse extension substream header (HD).

Definition at line 1555 of file dca.c.

Referenced by dca_decode_frame().

static void dca_exss_skip_mix_coeffs ( GetBitContext gb,
int  channels,
int  out_ch 
) [static]

Skip mixing coefficients of a single mix out configuration (HD).

Definition at line 1391 of file dca.c.

Referenced by dca_exss_parse_asset_header().

static int dca_filter_channels ( DCAContext s,
int  block_index 
) [static]

Definition at line 1219 of file dca.c.

Referenced by dca_decode_frame().

static av_cold void dca_init_vlcs ( void   )  [static]

Definition at line 380 of file dca.c.

Referenced by dca_decode_init().

static int dca_parse_audio_coding_header ( DCAContext s,
int  base_channel 
) [static]

Definition at line 439 of file dca.c.

Referenced by dca_decode_frame(), and dca_parse_frame_header().

static int dca_parse_frame_header ( DCAContext s  )  [static]

Definition at line 518 of file dca.c.

Referenced by dca_decode_frame().

static int dca_subframe_footer ( DCAContext s,
int  base_channel 
) [static]

Definition at line 1250 of file dca.c.

Referenced by dca_decode_block().

static int dca_subframe_header ( DCAContext s,
int  base_channel,
int  block_index 
) [static]

Definition at line 624 of file dca.c.

Referenced by dca_decode_block().

static int dca_subsubframe ( DCAContext s,
int  base_channel,
int  block_index 
) [static]

Definition at line 1078 of file dca.c.

Referenced by dca_decode_block().

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

Definition at line 1044 of file dca.c.

Referenced by decode_blockcodes().

static int decode_blockcodes ( int  code1,
int  code2,
int  levels,
int *  values 
) [static]

Definition at line 1058 of file dca.c.

Referenced by dca_subsubframe().

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

Definition at line 433 of file dca.c.

Referenced by dca_parse_audio_coding_header().

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

Definition at line 257 of file dca.c.

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

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

Definition at line 614 of file dca.c.

Referenced by dca_subframe_header().

static void int8x8_fmul_int32 ( float *  dst,
const int8_t *  src,
int  scale 
) [inline, static]

Definition at line 1069 of file dca.c.

Referenced by dca_subsubframe().

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

Definition at line 926 of file dca.c.

Referenced by dca_filter_channels().

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

Definition at line 887 of file dca.c.

Referenced by dca_filter_channels().


Variable Documentation

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

Definition at line 1066 of file dca.c.

Referenced by dca_subsubframe().

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

Definition at line 1065 of file dca.c.

Referenced by dca_subsubframe().

indexes for samples VLC select

Definition at line 252 of file dca.c.

const int8_t dca_channel_reorder_lfe[][9] [static]

Initial value:

 {
    { 0, -1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 2,  0,  1, -1, -1, -1, -1, -1, -1},
    { 0,  1,  3, -1, -1, -1, -1, -1, -1},
    { 2,  0,  1,  4, -1, -1, -1, -1, -1},
    { 0,  1,  3,  4, -1, -1, -1, -1, -1},
    { 2,  0,  1,  4,  5, -1, -1, -1, -1},
    { 3,  4,  0,  1,  5,  6, -1, -1, -1},
    { 2,  0,  1,  4,  5,  6, -1, -1, -1},
    { 0,  6,  4,  5,  2,  3, -1, -1, -1},
    { 4,  2,  5,  0,  1,  6,  7, -1, -1},
    { 5,  6,  0,  1,  7,  3,  8,  4, -1},
    { 4,  2,  5,  0,  1,  6,  8,  7, -1},
}

Definition at line 154 of file dca.c.

Referenced by dca_decode_frame(), and encode_init().

const int8_t dca_channel_reorder_lfe_xch[][9] [static]

Initial value:

 {
    { 0,  2, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1,  3, -1, -1, -1, -1, -1, -1},
    { 0,  1,  3, -1, -1, -1, -1, -1, -1},
    { 0,  1,  3, -1, -1, -1, -1, -1, -1},
    { 0,  1,  3, -1, -1, -1, -1, -1, -1},
    { 2,  0,  1,  4, -1, -1, -1, -1, -1},
    { 0,  1,  3,  4, -1, -1, -1, -1, -1},
    { 2,  0,  1,  4,  5, -1, -1, -1, -1},
    { 0,  1,  4,  5,  3, -1, -1, -1, -1},
    { 2,  0,  1,  5,  6,  4, -1, -1, -1},
    { 3,  4,  0,  1,  6,  7,  5, -1, -1},
    { 2,  0,  1,  4,  5,  6,  7, -1, -1},
    { 0,  6,  4,  5,  2,  3,  7, -1, -1},
    { 4,  2,  5,  0,  1,  7,  8,  6, -1},
    { 5,  6,  0,  1,  8,  3,  9,  4,  7},
    { 4,  2,  5,  0,  1,  6,  9,  8,  7},
}

Definition at line 173 of file dca.c.

Referenced by dca_decode_frame().

const int8_t dca_channel_reorder_nolfe[][9] [static]

Initial value:

 {
    { 0, -1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 2,  0,  1, -1, -1, -1, -1, -1, -1},
    { 0,  1,  2, -1, -1, -1, -1, -1, -1},
    { 2,  0,  1,  3, -1, -1, -1, -1, -1},
    { 0,  1,  2,  3, -1, -1, -1, -1, -1},
    { 2,  0,  1,  3,  4, -1, -1, -1, -1},
    { 2,  3,  0,  1,  4,  5, -1, -1, -1},
    { 2,  0,  1,  3,  4,  5, -1, -1, -1},
    { 0,  5,  3,  4,  1,  2, -1, -1, -1},
    { 3,  2,  4,  0,  1,  5,  6, -1, -1},
    { 4,  5,  0,  1,  6,  2,  7,  3, -1},
    { 3,  2,  4,  0,  1,  5,  7,  6, -1},
}

Definition at line 192 of file dca.c.

Referenced by dca_decode_frame(), and encode_init().

const int8_t dca_channel_reorder_nolfe_xch[][9] [static]

Initial value:

 {
    { 0,  1, -1, -1, -1, -1, -1, -1, -1},
    { 0,  1,  2, -1, -1, -1, -1, -1, -1},
    { 0,  1,  2, -1, -1, -1, -1, -1, -1},
    { 0,  1,  2, -1, -1, -1, -1, -1, -1},
    { 0,  1,  2, -1, -1, -1, -1, -1, -1},
    { 2,  0,  1,  3, -1, -1, -1, -1, -1},
    { 0,  1,  2,  3, -1, -1, -1, -1, -1},
    { 2,  0,  1,  3,  4, -1, -1, -1, -1},
    { 0,  1,  3,  4,  2, -1, -1, -1, -1},
    { 2,  0,  1,  4,  5,  3, -1, -1, -1},
    { 2,  3,  0,  1,  5,  6,  4, -1, -1},
    { 2,  0,  1,  3,  4,  5,  6, -1, -1},
    { 0,  5,  3,  4,  1,  2,  6, -1, -1},
    { 3,  2,  4,  0,  1,  6,  7,  5, -1},
    { 4,  5,  0,  1,  7,  2,  8,  3,  6},
    { 3,  2,  4,  0,  1,  5,  8,  7,  6},
}

Definition at line 211 of file dca.c.

Referenced by dca_decode_frame().

const uint64_t dca_core_channel_layout[] [static]

const int dca_ext_audio_descr_mask[] [static]

Initial value:

 {
    DCA_EXT_XCH,
    -1,
    DCA_EXT_X96,
    DCA_EXT_XCH | DCA_EXT_X96,
    -1,
    -1,
    DCA_EXT_XXCH,
    -1,
}

Definition at line 107 of file dca.c.

Referenced by dca_decode_frame().

const int8_t dca_lfe_index[] [static]

Initial value:

 {
    1,2,2,2,2,3,2,3,2,3,2,3,1,3,2,3
}

Definition at line 150 of file dca.c.

Referenced by dca_filter_channels(), and encode_init().

scalefactor VLCs

Definition at line 254 of file dca.c.

samples VLCs

Definition at line 255 of file dca.c.

BitAlloc dca_tmode [static]

transition mode VLCs

Definition at line 253 of file dca.c.

const uint16_t dca_vlc_offs[] [static]

Initial value:

 {
        0,   512,   640,   768,  1282,  1794,  2436,  3080,  3770,  4454,  5364,
     5372,  5380,  5388,  5392,  5396,  5412,  5420,  5428,  5460,  5492,  5508,
     5572,  5604,  5668,  5796,  5860,  5892,  6412,  6668,  6796,  7308,  7564,
     7820,  8076,  8620,  9132,  9388,  9910, 10166, 10680, 11196, 11726, 12240,
    12752, 13298, 13810, 14326, 14840, 15500, 16022, 16540, 17158, 17678, 18264,
    18796, 19352, 19926, 20468, 21472, 22398, 23014, 23622,
}

Definition at line 371 of file dca.c.

Referenced by dca_init_vlcs().

Initial value:

 {
    .name = "dca",
    .type = AVMEDIA_TYPE_AUDIO,
    .id = CODEC_ID_DTS,
    .priv_data_size = sizeof(DCAContext),
    .init = dca_decode_init,
    .decode = dca_decode_frame,
    .close = dca_decode_end,
    .long_name = NULL_IF_CONFIG_SMALL("DCA (DTS Coherent Acoustics)"),
    .capabilities = CODEC_CAP_CHANNEL_CONF | CODEC_CAP_DR1,
    .sample_fmts = (const enum AVSampleFormat[]) {
        AV_SAMPLE_FMT_FLT, AV_SAMPLE_FMT_S16, AV_SAMPLE_FMT_NONE
    },
    .profiles = NULL_IF_CONFIG_SMALL(profiles),
}

Definition at line 1942 of file dca.c.

const AVProfile profiles[] [static]

Initial value:

 {
    { FF_PROFILE_DTS,        "DTS"        },
    { FF_PROFILE_DTS_ES,     "DTS-ES"     },
    { FF_PROFILE_DTS_96_24,  "DTS 96/24"  },
    { FF_PROFILE_DTS_HD_HRA, "DTS-HD HRA" },
    { FF_PROFILE_DTS_HD_MA,  "DTS-HD MA"  },
    { FF_PROFILE_UNKNOWN },
}

Definition at line 1933 of file dca.c.


Generated on Fri Oct 26 02:43:47 2012 for FFmpeg by  doxygen 1.5.8