⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adm01_codec.h

📁 SAMSUNG 5009的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
	Classic,
	Jazz,
	Pop
}EQ_Mode;

typedef struct{
	UCHAR EQ_Mode;				
}EQ_Param_t;

typedef struct {
	UCHAR Reverb_Mode;				// 1B
} Reverb_Param_t;

#if	AUD_SUPPORT_DUAL 
typedef struct{
	UCHAR Dual_Mode;				
}DualMode_Param_t;
#endif

/******************************************************************************
 *   FOR BASSMANAGEMENT
 ******************************************************************************/
typedef	enum{
	BM_NONE,
	BM_SMALL,
	BM_LARGE	
}BM_Size;

typedef	struct{
	UCHAR	FrontSize;			// 1B
	UCHAR	CenterSize;			// 1B
	UCHAR	RearSize;			// 1B
	UCHAR	WooferSize;			// 1B
}BM_Param_t;
/******************************************************************************
 *   FOR PSCON
 ******************************************************************************/

typedef enum{
	PSCON_MONO,
	PSCON_STEREO
}PSCON_Chidx;

typedef enum{
	PSCON_Fs_48 = 3,
	PSCON_Fs_44,
	PSCON_Fs_32,
	PSCON_Fs_24,
	PSCON_Fs_22,
	PSCON_Fs_16,
	PSCON_Fs_12,
	PSCON_Fs_11,
	PSCON_Fs_08
}PSCON_Fsidx;

typedef enum{
	PSCON_FN_256,
	PSCON_FN_288,
	PSCON_FN_384,
	PSCON_FN_512,
	PSCON_FN_576,
	PSCON_FN_768,
	PSCON_FN_1024,
	PSCON_FN_1152,
	PSCON_FN_1536
}PSC_FrameNo;

typedef enum { 
	PSC_SIDX_0_F = 0,  //recommend not to use this
	PSC_SIDX_5_F = 5,
	PSC_SIDX_6_F = 6,
	PSC_SIDX_7_F = 7,
	PSC_SIDX_8_F = 8,
	PSC_SIDX_9_F = 9,
	PSC_SIDX_NORMAL = 10,
	PSC_SIDX_11_S = 11,
	PSC_SIDX_12_S = 12,
	PSC_SIDX_13_S = 13,
	PSC_SIDX_14_S = 14,
	PSC_SIDX_15_S = 15,
	PSC_SIDX_20_S = 20	//recommend not to use this
} PSC_Sidx_t;

typedef struct {
	/* Pitch and Speed Control module */
	UCHAR  	PSC_Pidx;
	UCHAR  	PSC_Sidx;
	UCHAR  	PSC_Chidx;
	UCHAR  	PSC_Fsidx;
	USHORT  	PSC_FrameNo;
	USHORT  	PSC_Samples;
} Pscon_Param_t;

/******************************************************************************
 *   FOR Speaker Voluem Control
 ******************************************************************************/
typedef	struct{
	UCHAR	FL_Vol;				
	UCHAR	FR_Vol;			
	UCHAR	SL_Vol;				
	UCHAR	SR_Vol;				
	UCHAR	C_Vol;				
	UCHAR	SUB_Vol;				
}SpkVol_Param_t;

/******************************************************************************
 *   FOR Karaoke Host Control
 ******************************************************************************/

typedef enum {
	PSC_PIDX_6_F = 18,
	PSC_PIDX_5_F = 19,
	PSC_PIDX_4_F = 20,
	PSC_PIDX_3_F = 21,
	PSC_PIDX_2_F = 22,
	PSC_PIDX_1_F = 23,
	PSC_PIDX_NORMAL = 24,
	PSC_PIDX_1_S = 25,
	PSC_PIDX_2_S = 26,
	PSC_PIDX_3_S = 27,
	PSC_PIDX_4_S = 28,
	PSC_PIDX_5_S = 29,
	PSC_PIDX_6_S = 30
} PSC_Pidx_t;


#if 1//2005.06.04
typedef enum {
	ME_Delay1,			
	ME_Delay2,
	ME_Delay3,
	ME_Delay4,
	ME_Delay5,
	ME_Delay6,
	ME_Delay7,
	ME_Delay8
} ME_Delay_t;

typedef enum {
	ME_Decay1,
	ME_Decay2,
	ME_Decay3,
	ME_Decay4,
	ME_Decay5,
	ME_Decay6,
	ME_Decay7,
	ME_Decay8,
	ME_Decay9,
	ME_Decay10,
	ME_Decay11,
	ME_Decay12,
	ME_Decay13,
	ME_Decay14,
	ME_Decay15,
	ME_Decay16,
	ME_Decay17,
	ME_Decay18
} ME_Decay_t;

typedef enum {
	ME_EchoGain1,
	ME_EchoGain2,
	ME_EchoGain3,
	ME_EchoGain4,
	ME_EchoGain5,
	ME_EchoGain6,
	ME_EchoGain7,
	ME_EchoGain8
} ME_Gain_t;
#else
typedef enum {
	ME_Delay_20ms,
	ME_Delay_40ms,
	ME_Delay_60ms,
	ME_Delay_80ms,
	ME_Delay_100ms,
	ME_Delay_120ms,
	ME_Delay_140ms,
	ME_Delay_160ms,
	ME_Delay_180ms,
	ME_Delay_200ms
} ME_Delay_t;

typedef enum {
	ME_Decay0_5s,
	ME_Decay1_0s,
	ME_Decay1_5s,
	ME_Decay2_0s
} ME_Decay_t;
#endif

typedef struct {
	/* Mic Echo module */
	UCHAR	ME_Onoff;
	UCHAR  	ME_delay;
	UCHAR  	ME_decay;
	UCHAR	ME_gain;
//#if (AUD_SUPPORT_EXT_ADC_FOR_KARAOKE )
#if (AUD_SUPPORT_EXT_ADC_FOR_KARAOKE || AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA) //jy kara
	SHORT	Mic_Center;	
	UCHAR	dummy_byte;	
	/* 
		This stucture needs to be 2-byte aligned !!
		So, i added dummy one byte here
			-- hspark 051014
	*/
#else
	UCHAR	Mic_Center;	
#endif
	UCHAR	ME_volume;
	USHORT	Mic_Variation;	
	USHORT	MicNoiseThres;
	UCHAR	Mic_SKIP; /* added to reduce POP noise : hspark 050913 */
#if AUD_SUPPORT_HARMONIZER
	/* Voice Harmonizer module */
	UCHAR	VHC_ChordIndex;			// 1B
	UCHAR	VHC_Pidx;				// normal=12 (6~18) : valid for ChordIndex=1 or 2
#endif
} Kara_comm_Param_t;

/* This structure used only communication with arm */
typedef struct {
	UCHAR	ME_Onoff;
	UCHAR  	ME_delay;
	UCHAR  	ME_decay;
	UCHAR	ME_gain;
//#if (AUD_SUPPORT_EXT_ADC_FOR_KARAOKE )
#if (AUD_SUPPORT_EXT_ADC_FOR_KARAOKE || AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA) //jy kara
	SHORT	Mic_Center;	
	UCHAR	dummy_byte;	
	/* 
		This stucture needs to be 2-byte aligned !!
		So, i added dummy one byte here
			-- hspark 051014
	*/

#else
	UCHAR	Mic_Center;	
#endif
	UCHAR	ME_volume;
	USHORT	Mic_Variation;	
	USHORT	MicNoiseThres;
	
#if AUD_SUPPORT_HARMONIZER
	UCHAR	Mic_SKIP; /* added to reduce POP noise : hspark 050913 */
	/* Voice Harmonizer module */
	UCHAR	VHC_ChordIndex;			// 1B
	UCHAR	VHC_Pidx;				// normal=12 (6~18) : valid for ChordIndex=1 or 2
#endif

	UCHAR	Kara_On;	/* 1: on, 0 : off all Karaoke Post Codec */

	UINT	MicInBufStartPtr;		/* 4B input buffer start pointer of Mic Echo */
	UINT	MicInBufEndPtr;			/* 4B input buffer end pointer of Mic Echo */
	UINT	MicInBufRDPtr;			/* 4B input buffer read pointer of Mic Echo */

} Kara_Hcomm_Param_t;

/*
	PSC_Pidx -- Pitch(Key Shift) Index肺 24老锭 澜沥捞 函拳登瘤 臼篮 惑怕 溜 normal捞绊
	                  乔酒畴俊辑 茄 苛鸥宏(12俺狼 扒馆:闰祸7 八篮祸5)客 措览等促绊 积阿窍矫搁 邓聪促.
	                  2窜拌付促 阿 扒馆 窍唱究阑 狼固 茄促绊 焊矫搁 邓聪促.
	                  12老 版快 馆 苛鸥宏 郴覆(1/2 b)阑, 36老 版快 馆 苛鸥宏 棵覆(1/2 #)狼
	                  澜阑 父甸绢 忱聪促.
	PSC_Sidx -- Speed Index肺 10老锭绰 犁积 加档狼 函拳啊 绝绰 版快捞绊
	                  0老锭 2硅 狐福霸(length * 0.5) 犁积登哥 蔼阑 窍唱究 棵副锭 付促 10鳖瘤绰
	                  0.05究 刘啊(0.50, 0.55, 0.60...,0.95)登绊, 20老锭 2硅 蠢府霸(length*2) 犁积登哥
	                  蔼阑 窍唱究 棵副锭 付促 11何磐 0.1究 刘啊(1.1, 1.2,...,2.0)邓聪促.
	                  泅犁 力傍等 扼捞宏矾府俊辑绰 沥犬窍霸 困俊 攫鞭茄 蔼栏肺 函券 登瘤绰 臼嚼聪促.
	PSC_Chidx -- Channel Index肺 MONO客 STEREO甫 瘤盔钦聪促.
	PSC_Fsidx -- Sampling Frequency Index肺 48KHz(=3)何磐 8KHz(=11)鳖瘤 瘤盔钦聪促.
	PSC_FrameNo -- PScon俊辑 贸府窍绰 涝仿 橇饭烙 荤捞令甫 沥狼茄巴栏肺
	                      涝仿 基敲 荐啊 256老版快 FN_256(=0)栏肺 瘤沥窍搁 邓聪促.
	                      力傍等 扼捞宏矾府绰 FN_768(=5)鳖瘤 瘤盔钦聪促.
	PSC_Samples -- Speed control捞唱 Pitch control阑 荐青茄 第 积己登绰 基敲 荐涝聪促.

	- unsigned int MX_MicBufSize; 
	189 samples x 2 ch x 8 bits x 10 chunk = 3,780 bytes (0xEC4)
	10俺肺 窍扁肺 沁栏聪 捞 箭磊啊 嘎阑 巴涝聪促

	- unsigned int MX_PSConBufSize; 
	(EX MP3) 576 x 2 x 2 x 2 = 4,608 bytes (0x1200)
	PSC buffer size. main codec output buffer客 悼老茄 size.

	ME_delay : 俊内客狼 矫埃埃拜
	ME_decay : 俊内己盒捞 临绢靛绰 厚啦
*/

/******************************************************************************
 *   FOR TimeDelay
 ******************************************************************************/
typedef	enum{
	TD_S_0msec,
	TD_S_5msec,
	TD_S_10msec,
	TD_S_15msec
}TD_Sur;

typedef	enum{
	TD_C_0msec,
	TD_C_1msec,
	TD_C_2msec,
	TD_C_3msec,
	TD_C_4msec,
	TD_C_5msec
}TD_Cen;

typedef	struct{
	UCHAR	TD_Sur;				// 1B
	UCHAR	TD_Cen;				// 1B
}TD_Param_t;

typedef	struct{
	USHORT  VolumeLevel;		// 2B	/* 0:MAX, 1~74:-1db~-74db, 75:MUTE */
}SWVol_Param_t;


/******************************************************************************
 *   FOR ProLogic II
 ******************************************************************************/

typedef	enum{
	DECMODE_PROLOGIC	= 0,
	DECMODE_VIRTUAL	= 1,
	DECMODE_MUSIC		= 2,
	DECMODE_MOVIE		= 3,
	DECMODE_MATRIX	= 4
} PL2_DECMODE;

typedef struct{
	UCHAR	DecMode;
} ProLogic_t;


/******************************************************************************
 *   FUNCTIONS
 ******************************************************************************/
CodecErrCode_t ADM_SetAc3Decoder( VOID );
CodecErrCode_t ADM_SetMpaDecoder( VOID );
CodecErrCode_t ADM_SetLpcmDecoder( VOID );
CodecErrCode_t ADM_SetDtsDecoder( VOID );
CodecErrCode_t ADM_SetSddsDecoder( VOID );
CodecErrCode_t ADM_SetMlpDecoder( VOID );
CodecErrCode_t ADM_SetHdcdDecoder( VOID );
CodecErrCode_t ADM_SetMp3Decoder( VOID );
CodecErrCode_t ADM_SetWmaDecoder( VOID );
CodecErrCode_t ADM_SetCalnoiseDecoder( BOOL wait_message );

CodecErrCode_t ADM_SetCddaDecoder( BOOL wait_message );

CodecErrCode_t ADM_SetTimeDelay( BOOL init );
CodecErrCode_t ADM_SetBassManagement( BOOL init );
CodecErrCode_t ADM_SetSpdifPcmChannel( BOOL init );

/******************************************************************************
 *   EXTERN VARIABLES
 ******************************************************************************/
extern AC3_Parameter_t	gADM_Ac3Para;
extern LPCM_Param_t		gADM_LpcmPara;
extern DTS_Param_t		gADM_DtsDoPara;
extern DTS_Param_t		gADM_DtsDecPara;
extern CDDA_Param_t		gADM_CddaPara;
extern MP3_Param_t		gADM_MP3Para;
extern WMA_Param_t		gADM_WMAPara;

#ifdef __cplusplus
}
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -