This commit is contained in:
lmx
2025-10-29 13:10:02 +08:00
commit 49a07fa419
2284 changed files with 642060 additions and 0 deletions

View File

@ -0,0 +1,96 @@
#ifndef _SPATIAL_EFFECT_H_
#define _SPATIAL_EFFECT_H_
#include "system/includes.h"
#include "generic/typedef.h"
#include "app_config.h"
#include "tech_lib/effect_surTheta_api.h"
#define SPATIAL_AUDIO_EXPORT_DATA 0
#define SPATIAL_AUDIO_EXPORT_MODE 0
/*音效使能*/
#define SPATIAL_AUDIO_EFFECT_ENABLE 1
/*头部跟踪灵敏度:范围 0.001 ~ 11表示即时跟踪数值越小跟踪越慢*/
#define TRACK_SENSITIVITY (1.0f)
/*静止角度复位灵敏度:范围 0.001 ~ 11表示立刻复位回正数值越小回正越慢*/
#define ANGLE_RESET_SENSITIVITY (0.01f)
/*头部跟踪角度复位时间,单位:秒*/
#define ANGLE_RESET_TIME (8)
#if SPATIAL_AUDIO_EXPORT_DATA
struct data_export_header {
u8 magic;
u8 ch;
u16 seqn;
u16 crc;
u16 len;
u32 timestamp;
u32 total_len;
u8 data[0];
};
void audio_export_task(void *arg);
#endif
struct spatial_audio_context {
void *sensor;
void *effect;
void *calculator;
#if TCFG_USER_TWS_ENABLE
void *tws_conn;
int tws_angle;
#endif
u8 mapping_channel;
u32 head_tracked;
#if SPATIAL_AUDIO_EXPORT_DATA
cbuffer_t audio_cbuf;
cbuffer_t space_cbuf;
u8 *audio_buf;
u8 *space_buf;
void *space_fifo_buf;
u16 audio_seqn;
u16 audio_out_seqn;
u16 space_seqn;
u32 audio_data_len;
u32 space_data_len;
u32 timestamp;
int space_data_single_len;
u8 export;
#if SPATIAL_AUDIO_EXPORT_MODE == 0
void *audio_file;
void *space_file;
#endif
#endif
u8 data[0];
};
/*设置并更新混响参数*/
void spatial_effect_online_updata(RP_PARM_CONIFG *params);
/*获取当前混响的参数*/
void get_spatial_effect_reverb_params(RP_PARM_CONIFG *params);
/*打开空间音效*/
void *spatial_audio_open(void);
/*关闭空间音效*/
void spatial_audio_close(void *sa);
/*音效处理*/
int spatial_audio_filter(void *sa, void *data, int len);
/*设置空间音频的输出声道映射*/
int spatial_audio_set_mapping_channel(void *sa, u8 channel);
/*读取传感器的数据*/
int spatial_audio_space_data_read(void *data);
/*头部跟踪使能*/
void spatial_audio_head_tracked_en(struct spatial_audio_context *ctx, u8 en);
/*获取头部跟踪使能状态*/
u8 get_spatial_audio_head_tracked(struct spatial_audio_context *ctx);
#endif