KT25-1014_AC695x_BTE_SDK310/cpu/br23/audio_dec/audio_dec.h

126 lines
3.4 KiB
C
Raw Normal View History

2025-10-14 08:57:01 +00:00
#ifndef _AUDIO_DEC_H_
#define _AUDIO_DEC_H_
#include "asm/includes.h"
#include "media/includes.h"
#include "system/includes.h"
#include "asm/audio_src.h"
#include "audio_digital_vol.h"
#include "media/audio_eq_drc_apply.h"
#include "application/audio_vocal_tract_synthesis.h"
#include "application/audio_dig_vol.h"
#include "audio_effect/audio_eq_drc_demo.h"
#include "audio_effect/audio_gain_process_demo.h"
#include "audio_effect/audio_sound_track_2_p_x.h"
#include "media/effects_adj.h"
#include "media/convert_data.h"
#include "stream/stream_entry.h"
#include "audio_effect/audio_vbass_demo.h"
#include "audio_effect/audio_surround_demo.h"
#include "audio_effect/audio_eff_default_parm.h"
#ifndef RB16
#define RB16(b) (u16)(((u8 *)b)[0] << 8 | (((u8 *)b))[1])
#endif
extern struct audio_decoder_task decode_task;
extern struct audio_mixer mixer;
extern struct audio_mixer recorder_mixer;
u32 audio_output_rate(int input_rate);
u32 audio_output_channel_num(void);
u32 audio_output_channel_type(void);
int audio_output_set_start_volume(u8 state);
int audio_output_start(u32 sample_rate, u8 reset_rate);
void audio_output_stop(void);
struct audio_src_handle *audio_hw_resample_open(void *priv, int (*output_handler)(void *, void *, int),
u8 channel, u16 input_sample_rate, u16 output_sample_rate);
void audio_hw_resample_close(struct audio_src_handle *hdl);
void audio_resume_all_decoder(void);
u32 audio_output_nor_rate(void);
enum {
AUDIO_MODE_MAIN_STATE_DEC_A2DP = 1,
AUDIO_MODE_MAIN_STATE_DEC_ESCO,
AUDIO_MODE_MAIN_STATE_DEC_FILE,
AUDIO_MODE_MAIN_STATE_DEC_FM,
AUDIO_MODE_MAIN_STATE_DEC_LINEIN,
AUDIO_MODE_MAIN_STATE_DEC_PC,
AUDIO_MODE_MAIN_STATE_DEC_SPDIF,
AUDIO_MODE_MAIN_STATE_DEC_LOCALTWS,
AUDIO_MODE_MAIN_STATE_DEC_MASK = 0xff,
};
enum {
KARAOKE_SPK_OST,//原声
KARAOKE_SPK_DBB,//重低音
KARAOKE_SPK_SURROUND,//全景环绕
KARAOKE_SPK_3D,//3d环绕
KARAOKE_SPK_FLOW_VOICE,//流动人声
KARAOKE_SPK_KING,//王者荣耀
KARAOKE_SPK_WAR,//刺激战场
KARAOKE_SPK_MAX,
};
void audio_mode_main_dec_open(u32 state);
//////////////////////////////////////////////////////////////////////////////
// 音频解码初始化
int audio_dec_init();
void mix_out_high_bass(u32 cmd, struct high_bass *hb);
// mix out后 是否做高低音处理
// 切换频响计算
void spectrum_switch_demo(u8 en);
//////////////////////////////////////////////////////////////////////////////
static inline void audio_pcm_mono_to_dual(s16 *dual_pcm, s16 *mono_pcm, int points)
{
s16 *mono = mono_pcm;
int i = 0;
u8 j = 0;
for (i = 0; i < points; i++, mono++) {
*dual_pcm++ = *mono;
*dual_pcm++ = *mono;
}
}
//////////////////////////////////////////////////////////////////////////////
extern void *sys_digvol_group;
// 数字通道初始化
extern int sys_digvol_group_open(void);
// 数字通道关闭
extern int sys_digvol_group_close(void);
// 打开一个数字通道
extern void *sys_digvol_group_ch_open(char *logo, int vol_start, audio_dig_vol_param *parm);
// 关闭一个数字通道
extern int sys_digvol_group_ch_close(char *logo);
#include "audio_dec_bt.h"
#include "audio_dec_file.h"
#ifndef CONFIG_LITE_AUDIO
#include "audio_dec_fm.h"
#endif/*CONFIG_LITE_AUDIO*/
#include "audio_dec_linein.h"
#include "audio_dec_pc.h"
#include "audio_dec_spdif.h"
#include "audio_dec_record.h"
#include "audio_dec_tone.h"
#include "localtws/localtws.h"
#endif