CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 宏定义 | 类型定义 | 枚举
romlib_runtime.h 文件参考
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <stdio.h>

浏览源代码.

结构体

struct  _MP3FrameInfo
 
struct  riscv_cfft_instance_f32
 
struct  riscv_rfft_fast_instance_f32
 
struct  romruntime_func_s
 
struct  romruntime_func_s::mp3func_s
 
struct  romruntime_func_s::fftfunc_s
 
struct  romruntime_func_s::newlibcfunc_s
 

宏定义

#define MASK_ROM_BOOT_CODE_ADDR   (0x1F000000)
 
#define MASK_ROM_CORE_MAGIC_NUM_ADDR   (0x1F000000+0x1C)
 
#define MASK_ROM_WINDOW_ADDR   (0x1F000000+79*1024)
 
#define MASK_ROM_FFT_BIT_ADDR   (0x1F000000+8*1024)
 
#define MASK_ROM_FFT_COEF_R_ADDR   (MASK_ROM_FFT_BIT_ADDR + sizeof(short)*440)
 
#define MASK_ROM_FFT_COEF_ADDR   (MASK_ROM_FFT_COEF_R_ADDR + sizeof(float)*512)
 
#define MASK_ROM_MEL_SCALE_ADDR   (MASK_ROM_FFT_COEF_ADDR + sizeof(float)*512)
 
#define MASK_ROM_MEL_OFFSET_ADDR   (MASK_ROM_MEL_SCALE_ADDR + sizeof(float)*512)
 
#define MASK_ROM_ASR_WINDOW_ADDR   (MASK_ROM_MEL_OFFSET_ADDR + sizeof(short)*(60))
 
#define MASK_ROM_PCM_TABLE_ADDR   (MASK_ROM_ASR_WINDOW_ADDR + sizeof(short)*(400))
 
#define MASK_ROM_LIB_RUNTIME_ADDR   (0x1F000000+16*1024)
 
#define MASK_ROM_LIB_FUNC   ((romruntime_func_tab_t* )MASK_ROM_LIB_RUNTIME_ADDR)
 

类型定义

typedef void * HMP3Decoder
 
typedef void * MP3SaveLastInfo
 
typedef struct _MP3FrameInfo MP3FrameInfo
 
typedef struct romruntime_func_s romruntime_func_tab_t
 

枚举

enum  MPEGVersion {
  MPEG1 = 0,
  MPEG2 = 1,
  MPEG25 = 2
}
 
enum  {
  ERR_MP3_NONE = 0,
  ERR_MP3_INDATA_UNDERFLOW = -1,
  ERR_MP3_MAINDATA_UNDERFLOW = -2,
  ERR_MP3_FREE_BITRATE_SYNC = -3,
  ERR_MP3_OUT_OF_MEMORY = -4,
  ERR_MP3_NULL_POINTER = -5,
  ERR_MP3_INVALID_FRAMEHEADER = -6,
  ERR_MP3_INVALID_SIDEINFO = -7,
  ERR_MP3_INVALID_SCALEFACT = -8,
  ERR_MP3_INVALID_HUFFCODES = -9,
  ERR_MP3_INVALID_DEQUANTIZE = -10,
  ERR_MP3_INVALID_IMDCT = -11,
  ERR_MP3_INVALID_SUBBAND = -12,
  ERR_UNKNOWN = -9999
}
 

结构体说明

◆ _MP3FrameInfo

struct _MP3FrameInfo
成员变量
int bitrate
int bitsPerSample
int layer
int nChans
int outputSamps
int samprate
int version

◆ riscv_cfft_instance_f32

struct riscv_cfft_instance_f32
成员变量
uint16_t bitRevLength

bit reversal table length.

uint16_t fftLen

length of the FFT.

const uint16_t * pBitRevTable

points to the bit reversal table.

const float * pTwiddle

points to the Twiddle factor table.

const float * pTwiddle2

◆ riscv_rfft_fast_instance_f32

struct riscv_rfft_fast_instance_f32
成员变量
uint16_t fftLenRFFT

length of the real sequence

const float * pTwiddleRFFT

Twiddle factors real stage

const float * pTwiddleRFFT2
riscv_cfft_instance_f32 Sint

Internal CFFT structure.

宏定义说明

◆ MASK_ROM_ASR_WINDOW_ADDR

#define MASK_ROM_ASR_WINDOW_ADDR   (MASK_ROM_MEL_OFFSET_ADDR + sizeof(short)*(60))

◆ MASK_ROM_BOOT_CODE_ADDR

#define MASK_ROM_BOOT_CODE_ADDR   (0x1F000000)

◆ MASK_ROM_CORE_MAGIC_NUM_ADDR

#define MASK_ROM_CORE_MAGIC_NUM_ADDR   (0x1F000000+0x1C)

◆ MASK_ROM_FFT_BIT_ADDR

#define MASK_ROM_FFT_BIT_ADDR   (0x1F000000+8*1024)

◆ MASK_ROM_FFT_COEF_ADDR

#define MASK_ROM_FFT_COEF_ADDR   (MASK_ROM_FFT_COEF_R_ADDR + sizeof(float)*512)

◆ MASK_ROM_FFT_COEF_R_ADDR

#define MASK_ROM_FFT_COEF_R_ADDR   (MASK_ROM_FFT_BIT_ADDR + sizeof(short)*440)

◆ MASK_ROM_LIB_FUNC

#define MASK_ROM_LIB_FUNC   ((romruntime_func_tab_t* )MASK_ROM_LIB_RUNTIME_ADDR)

◆ MASK_ROM_LIB_RUNTIME_ADDR

#define MASK_ROM_LIB_RUNTIME_ADDR   (0x1F000000+16*1024)

◆ MASK_ROM_MEL_OFFSET_ADDR

#define MASK_ROM_MEL_OFFSET_ADDR   (MASK_ROM_MEL_SCALE_ADDR + sizeof(float)*512)

◆ MASK_ROM_MEL_SCALE_ADDR

#define MASK_ROM_MEL_SCALE_ADDR   (MASK_ROM_FFT_COEF_ADDR + sizeof(float)*512)

◆ MASK_ROM_PCM_TABLE_ADDR

#define MASK_ROM_PCM_TABLE_ADDR   (MASK_ROM_ASR_WINDOW_ADDR + sizeof(short)*(400))

◆ MASK_ROM_WINDOW_ADDR

#define MASK_ROM_WINDOW_ADDR   (0x1F000000+79*1024)

类型定义说明

◆ HMP3Decoder

typedef void* HMP3Decoder

◆ MP3FrameInfo

typedef struct _MP3FrameInfo MP3FrameInfo

◆ MP3SaveLastInfo

typedef void* MP3SaveLastInfo

◆ romruntime_func_tab_t

枚举类型说明

◆ anonymous enum

anonymous enum
枚举值
ERR_MP3_NONE 
ERR_MP3_INDATA_UNDERFLOW 
ERR_MP3_MAINDATA_UNDERFLOW 
ERR_MP3_FREE_BITRATE_SYNC 
ERR_MP3_OUT_OF_MEMORY 
ERR_MP3_NULL_POINTER 
ERR_MP3_INVALID_FRAMEHEADER 
ERR_MP3_INVALID_SIDEINFO 
ERR_MP3_INVALID_SCALEFACT 
ERR_MP3_INVALID_HUFFCODES 
ERR_MP3_INVALID_DEQUANTIZE 
ERR_MP3_INVALID_IMDCT 
ERR_MP3_INVALID_SUBBAND 
ERR_UNKNOWN 

◆ MPEGVersion

枚举值
MPEG1 
MPEG2 
MPEG25