CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
宏定义 | 函数 | 变量
flacdecoder.c 文件参考
#include <inttypes.h>
#include <stdbool.h>
#include "golomb.h"
#include "flacdecoder.h"

宏定义

#define FFMAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define FFMIN(a, b)   ((a) > (b) ? (b) : (a))
 

函数

static int64_t get_utf8 (GetBitContext *gb)
 
static int get_crc8 (const uint8_t *buf, int count)
 
static int decode_residuals (FLACContext *s, int32_t *decoded, int pred_order)
 
static int decode_subframe_fixed (FLACContext *s, int32_t *decoded, int pred_order)
 
int decode_subframe_lpc (FLACContext *s, int32_t *decoded, int pred_order)
 
static int decode_subframe (FLACContext *s, int channel, int32_t *decoded)
 
static int decode_frame (FLACContext *s)
 
int flac_seek_frame (uint8_t *buf, uint32_t size, FLACContext *fc)
 
int flac_decode_frame24 (FLACContext *fc, uint8_t *buf, int buf_size, int32_t *wavbuf)
 
int flac_decode_frame16 (FLACContext *fc, uint8_t *buf, int buf_size, int16_t *wavbuf)
 

变量

static const int sample_rate_table []
 
static const int sample_size_table []
 
static const int blocksize_table []
 
static const uint8_t table_crc8 [256]
 

宏定义说明

◆ FFMAX

#define FFMAX (   a,
 
)    ((a) > (b) ? (a) : (b))

◆ FFMIN

#define FFMIN (   a,
 
)    ((a) > (b) ? (b) : (a))

函数说明

◆ decode_frame()

static int decode_frame ( FLACContext s)
static

◆ decode_residuals()

static int decode_residuals ( FLACContext s,
int32_t *  decoded,
int  pred_order 
)
static

◆ decode_subframe()

static int decode_subframe ( FLACContext s,
int  channel,
int32_t *  decoded 
)
inlinestatic

◆ decode_subframe_fixed()

static int decode_subframe_fixed ( FLACContext s,
int32_t *  decoded,
int  pred_order 
)
static

◆ decode_subframe_lpc()

int decode_subframe_lpc ( FLACContext s,
int32_t *  decoded,
int  pred_order 
)

◆ flac_decode_frame16()

int flac_decode_frame16 ( FLACContext fc,
uint8_t *  buf,
int  buf_size,
int16_t *  wavbuf 
)

◆ flac_decode_frame24()

int flac_decode_frame24 ( FLACContext fc,
uint8_t *  buf,
int  buf_size,
int32_t *  wavbuf 
)

◆ flac_seek_frame()

int flac_seek_frame ( uint8_t *  buf,
uint32_t  size,
FLACContext fc 
)

◆ get_crc8()

static int get_crc8 ( const uint8_t *  buf,
int  count 
)
static

◆ get_utf8()

static int64_t get_utf8 ( GetBitContext gb)
static

变量说明

◆ blocksize_table

const int blocksize_table[]
static
初始值:
= {
0, 192, 576<<0, 576<<1, 576<<2, 576<<3, 0, 0,
256<<0, 256<<1, 256<<2, 256<<3, 256<<4, 256<<5, 256<<6, 256<<7
}

◆ sample_rate_table

const int sample_rate_table[]
static
初始值:
=
{ 0, 88200, 176400, 192000,
8000, 16000, 22050, 24000, 32000, 44100, 48000, 96000,
0, 0, 0, 0 }

◆ sample_size_table

const int sample_size_table[]
static
初始值:
=
{ 0, 8, 12, 0, 16, 20, 24, 0 }

◆ table_crc8

const uint8_t table_crc8[256]
static