Files
soc-codegen-template/include_lib/media/tech_lib/effect_surTheta_api.h
T
2026-08-19 16:05:36 +08:00

81 lines
2.2 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#ifndef effect_surTheta_h__
#define effect_surTheta_h__
typedef struct _PointSound360TD_PARM_SET {
int theta;
int volume;
} PointSound360TD_PARM_SET;
//混响参数
typedef struct _RP_PARM_CONIFG {
int trackKIND; //角度合成算法用哪一种 :0或者1
int ReverbKIND; //2或者3
int reverbance; //湿声比例 : 0~100
int dampingval; //高频decay 0~80
} RP_PARM_CONIFG;
typedef struct _PointSound360Reverb_PARM_SET {
unsigned char reverbance; //0-100: //reverb parm
unsigned char dampingval; //0-100% //reverb parm
unsigned char voltrack; // 0-1 // vol track
char doangle; // 0 or 1
char diangle; // 0-360 : 2 channel angle
unsigned char wet; //0-100://backgroud
unsigned char dry; //0-100 ://voice part
char reverb_kind; //reverb kind
unsigned short k1_w; //0-2000: output wetgain
unsigned short k1_d; //0-2000: output drygain
char reverb_part; // 0-128 // mix wet and wet_dry reverb
char reserved0;
short dest_vol; // dest vol;
} PointSound360Reverb_PARM_SET;
//角度合成算法定义
enum {
P360_T0 = 0,
P360_T1 = 1
};
//混响算法定义
enum {
P360_R0 = 2,
P360_R1 = 3
};
enum {
PSOUND_BOTH = 0,
PSOUND_L = 1,
PSOUND_R = 2
};
enum {
P360TD_NO_REV = 0,
P360TD_REV_K0 = 1,
P360TD_REV_K1 = 2,
P360TD_REV_K3 = 3,
P360TD_REV_K4 = 4
};
typedef struct __PointSound360TD_FUNC_API_ {
unsigned int (*need_buf)(int flag);
unsigned int (*open)(unsigned int *ptr, PointSound360TD_PARM_SET *sound360_parm, PointSound360Reverb_PARM_SET *reverb_parm, int ch_mode);
unsigned int (*init)(unsigned int *ptr, PointSound360TD_PARM_SET *sound360_parm);
unsigned int (*run)(unsigned int *ptr, short *inbuf, short *out, int len); // len是sizePerChannel
unsigned int (*open_config)(unsigned int *ptr, PointSound360TD_PARM_SET *sound360_parm, RP_PARM_CONIFG *sound360_configparm);
} PointSound360TD_FUNC_API;
extern PointSound360TD_FUNC_API *get_PointSound360TD_func_api();
#endif // reverb_api_h__