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

📄 sh_aud_capability.h

📁 SAMSUNG 5009的源代码
💻 H
字号:
/** 
 @file 		SH_AUD_capability.h
 @brief     To set options for AUDIO low and high level API.

 @author	Hongsik Park hongsik7.park@samsung.com
 @version	0.1
 @date		2006/03/06

 - _SH_SET_~ : Set macro option
 - _SH_SUPPORT_~ : Module support selection
 - _SH_DEF_~ : ID or value definition

 <b>revision history : </b>
 - 2006/03/06 First creation
 - This includes 6 sections
	 	Section 1. for Definitions related with print messages
	 	Section 2. for Definitions related with audio library features
	 	Section 3. for Definitions related with Main Codecs
		Section 4. for Definitions related with Post Codecs
		Section 5. for Definitions related with HW settings
		Section 6. for Definitions related with other libraries & Applications ( Navigators )
 */
#ifndef _SH_AUD_capability_H_
#define _SH_AUD_capability_H_

#ifdef	__cplusplus
extern	"C" {
#endif


 /******************************************************************************* 
*    Section 1. for Definitions related with print messages                                                         *
*                                                                                                                                         *
* ******************************************************************************/
/**
 \def AUD_SET_PRINT_ERROR
 To selectable debugging information print out.

 - AUD_SET_PRINT_ERROR : Error log
 - AUD_SET_PRINT_NORM_INFO : Normal operation log
 - AUD_SET_PRINT_DBG_INFO : Debugging information log

*/
#define	AUD_SET_PRINT_ERROR							1
#define	AUD_SET_PRINT_NORM_INFO						0
#define	AUD_SET_PRINT_DBG_INFO						0


/******************************************************************************* 
*    Section 2. for Definitions related with audio library features                                                *
*                                                                                                                                         *
*******************************************************************************/

#if	_API_CAP_GLB_MPVD_FRAME_MODE 
#define	AUD_SUPPORT_DIVX_FEATURE			1
#define	AUD_SUPPORT_AD_32BIT_BUFOFFSET		1
#else
#define	AUD_SUPPORT_DIVX_FEATURE			0
#define	AUD_SUPPORT_AD_32BIT_BUFOFFSET		0
#endif

/* 
	In order to monitor the audio pcm output buffer and auto mute when no valid audio data.
	-- wjin 051130
*/
#define AUD_SUPPORT_AUDIO_OUTPUT_MONITOR				0

#if	_API_CAP_GLB_MPEG_AUD_SPDIF_IN_STREAM
#define	AUD_SUPPORT_MPEGSTREAM_SPDIFOUT			1
#else
#define	AUD_SUPPORT_MPEGSTREAM_SPDIFOUT			0
#endif

/* 
	To use original MPA (Mpeg audio 7.1CH Decoder) instread of MP3 Decoder at DVD-MPEG stream
		set below
*/
#define AUD_SUPPORT_ORG_MPADECODER				0

/* 	if set, then it will use 768 sample count to reduce X memory & PCM buffer */
#define	AUD_SUPPORT_HALF_SIZE_LPCM					0

#ifdef _APP_CAP_AUDIO_SEPERATE_SPDIF
#define	AUD_SUPPORT_SEPERATE_SPDIF						1
#else
#define	AUD_SUPPORT_SEPERATE_SPDIF						0
#endif

#define	AUD_SUPPORT_MUTE_IN_TRICKPLAY					_COP_AUD_MUTE_IN_TRICKPLAY
// yyd 061020 for mic mute from ROCO
#define	AUD_SUPPORT_MUTE_IN_MIC					_COP_AUD_MUTE_IN_MIC

#define	AUD_SUPPORT_SCORING_FUNCTION_API			_COP_AUD_KARAOKE_SCORING

#ifdef _APP_CAP_AUDIO_8LEVEL_DRC
#define	AUD_SUPPORT_8LEVEL_DRC						1
#else
#define	AUD_SUPPORT_8LEVEL_DRC						0
#endif

#define	AUD_SUPPORT_LPCM_24BIT_OUTPUT				0				/* not yet finished -- hspark 060322*/

/* Control the speakers's volume seperately. wjin 060421*/
#define	AUD_SUPPORT_SEPARATE_SPEAKER_VOLUME_CONTROL		_APP_CAP_AUD_CONTROL_VOLUME

/******************************************************************************* 
*    Section 3. for Definitions related with Main Codecs                                                             *
*                                                                                                                                         *
*******************************************************************************/

/*
	in case of PCM stream muxed in AVI. Sampling rate & Bitrate are variable should be prepared.
	because PCM stream in AVi is passed to CDDA decoder, AVI parser should pass these parameter to decoder.
	CDDA decoder also fixed due to support this.
	050811 - jaeyoul kim -
*/	
#if SUPPORT_AVI_PCM
#define AUD_SUPPORT_AVI_PCM		1
#else
#define AUD_SUPPORT_AVI_PCM		0
#endif

// yyd 061018 for wma decoder
#if _API_CAP_SUPPORT_WMA
#define	AUD_SUPPORT_WMA_DECODER					1
#else
#define	AUD_SUPPORT_WMA_DECODER					0
#endif

/*
	WMA file format has it's own ASF header format. 
	in case of WMA stream muxed in AVI and ASF, these headers are parsed already, and only raw stream is passed to WMA decoder.
	WMA decoder also fixed due to support not only file stream but also raw stream.
	050915 - jaeyoul kim -
*/	

#if SUPPORT_AVI_WMA
#define AUD_SUPPORT_AVI_WMA	AUD_SUPPORT_WMA_DECODER
#else
#define AUD_SUPPORT_AVI_WMA	0
#endif

/*
	MSADPCM is among the format of SONY QA avi stream. so it should be supported.
	MSADPCM also use it's own RIFF header format so it will be Rawstream in AVI and ASF stream.
	050926 - jaeyoul kim -
*/	
#if	SUPPORT_AVI_ADPCM
#define AUD_SUPPORT_AVI_ADPCM	1
#else
#define AUD_SUPPORT_AVI_ADPCM	0
#endif

#if	SUPPORT_AVI_OGG
#define AUD_SUPPORT_AVI_OGG		1
#else
#define AUD_SUPPORT_AVI_OGG		0
#endif

#if	_APP_CAP_AUD_INTEGRATED_DTS
#define	AUD_SUPPORT_DTS_DECODER						1
#if _USE_5009
#define	AUD_SUPPORT_ADMSYSTEM_FOR_DTS				0	// yyd 060407 for DTS of 5009	/* if set to 0, then use common admsystemin case of DTS */
#else
#define	AUD_SUPPORT_ADMSYSTEM_FOR_DTS				1
#endif
#else
#define	AUD_SUPPORT_DTS_DECODER						0
#define	AUD_SUPPORT_ADMSYSTEM_FOR_DTS				0
#endif

#define	AUD_SUPPORT_MPA_DECODER						0
#if	_APP_CAP_AUD_CALNOISE
#define	AUD_SUPPORT_CALIBRATION_NOISE				1
#else
#define	AUD_SUPPORT_CALIBRATION_NOISE				0
#endif


/******************************************************************************* 
*    Section 4. for Definitions related with Post Codecs                                                             *
*                                                                                                                                         *
*******************************************************************************/

#if _APP_CAP_AUD_PSCON
/*
	we can choose only one between KEY & SPEED 
*/
#if _APP_CAP_AUD_PSCON_MODE_SPEED
#define	AUD_SUPPORT_PSCON_KEY						0
#define	AUD_SUPPORT_PSCON_SPEED						1
#else
#define	AUD_SUPPORT_PSCON_KEY						1
#define	AUD_SUPPORT_PSCON_SPEED						0
#endif

#else
#define	AUD_SUPPORT_PSCON_KEY						0
#define	AUD_SUPPORT_PSCON_SPEED						0
#endif

#if _APP_CAP_AUD_3D
/*
	we can choose only one between VBX & PORTABLE,
		if set to PORTABLE, then AD will activate VH,SVS instead of VBX
*/
#define	AUD_SUPPORT_3D_VBX							1
#define	AUD_SUPPORT_3D_PORTABLE						0
#else
#define	AUD_SUPPORT_3D_VBX							0
#define	AUD_SUPPORT_3D_PORTABLE						0
#endif

#if	_APP_CAP_AUD_BASE_MANAGE
#define	AUD_SUPPORT_BASS_MANAGEMENT				1
#else
#define	AUD_SUPPORT_BASS_MANAGEMENT				0
#endif

#if	_APP_CAP_AUD_TIME_DELAY
#define	AUD_SUPPORT_TIME_DELAY						1
#else
#define	AUD_SUPPORT_TIME_DELAY						0
#endif

#if	_APP_CAP_AUD_EQ
#define	AUD_SUPPORT_GRAPHIC_EQUALIZER				1
#else
#define	AUD_SUPPORT_GRAPHIC_EQUALIZER				0
#endif


#if	_APP_CAP_AUD_REVERBERATION
#define	AUD_SUPPORT_REVERBERATION					1
#else
#define	AUD_SUPPORT_REVERBERATION					0
#endif

#define	AUD_SUPPORT_DUAL								1

#if	_APP_CAP_AUD_PROLOGIC
#define	AUD_SUPPORT_PL2								1
#else
#define	AUD_SUPPORT_PL2								0
#endif
/* Always enable upsampler */
#if	_APP_CAP_AUD_UPSAMPLER
#define	AUD_SUPPORT_UPSAMPLER						1
#else
#define	AUD_SUPPORT_UPSAMPLER						1
#endif

/* Always enable master mute */
#if	_APP_CAP_FUNC_MASTER_MUTE
#define	AUD_SUPPORT_MASTER_MUTE						1
#else
#define	AUD_SUPPORT_MASTER_MUTE						1
#endif

#if	_APP_CAP_AUD_KARAOKE
#define AUD_SUPPORT_KARAOKE		1
#define AUD_SUPPORT_KARAOKE_MIC_DETECT	1
#define AUD_SKIP_KARAOKE_AT_START	1
#else
#define AUD_SUPPORT_KARAOKE		0
#define AUD_SUPPORT_KARAOKE_MIC_DETECT	0
#define AUD_SKIP_KARAOKE_AT_START	0
#endif


#if	_APP_CAP_AUD_SPDIF_PCM_DOWNMIX //wjin 060801
#define AUD_SUPPORT_SPDIF_PCM_DOWNMIX			1
#else
#define AUD_SUPPORT_SPDIF_PCM_DOWNMIX			0
#endif

/******************************************************************************* 
*    Section 5. for Definitions related with HW settings                                                              *
*                                                                                                                                         *
*******************************************************************************/
#define	AUD_SUPPORT_5005_ADM						_USE_5005
#define	AUD_SUPPORT_CODE_REGION_FEATURE			0		/* not yet finished -- hspark 060322*/	/* This should be enabled only at 5015 */

#define	AUD_SUPPORT_BAT_FEATURE						0		/* not yet finished -- hspark 060322*/	/* This should be enabled only at 5015 */
#define	AUD_SUPPORT_BAT_INTEGRATE_FEATURE			0		/* not yet finished -- hspark 060322*/	/* 1: use system-common buffer for AUDIO-BAT */

#if	_APP_CAP_AUD_ONLY_2CH_OUT
#define AUD_SUPPORT_2CH_OUTPUT_ONLY		1
#else
#define AUD_SUPPORT_2CH_OUTPUT_ONLY		0	/* if set to 0, then support 6CH Analog output */
#endif

#if	_APP_CAP_AUD_USE_PWM
#define	AUD_SUPPORT_PWM_INSTEAD_OF_ADAC			1
#else
#define	AUD_SUPPORT_PWM_INSTEAD_OF_ADAC			0
#endif

#define	AUD_SUPPORT_EXT_ADC_FOR_KARAOKE			_APP_CAP_PERI_EXT_ADC	/*	1: use another Karaoke Codec for External ADC */

/*
	add AUD_SUPPORT_HARMONIZER define to support Harmonizer feature at Karaoke
	Now, this can be enable only "Kara + Rev + 6CH + 14bit_ADC & 5009 environment "
		-- hspark 060602
*/
#define	AUD_SUPPORT_HARMONIZER						0

#if	(!AUD_SUPPORT_EXT_ADC_FOR_KARAOKE &&AUD_SUPPORT_KARAOKE)	// tmp yyd 061026(!AUD_SUPPORT_EXT_ADC_FOR_KARAOKE &&_APP_CAP_AUD_KARAOKE)
#if _USE_5009
#define	AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA			1	/* 1: try to use 14bit internal adc for karaoke. 0: use 8bit adc.*/
#else
#define	AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA			0	/* No other choice. */
#endif
#else
#define	AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA			0	/* No other choice. */
#endif

#if	AUD_SUPPORT_EXT_ADC_FOR_KARAOKE
/*
	Current External ADC don't support 384FS.
	So, forcely set to 1 here
		-- hspark 051007
*/
#define	AUD_SUPPORT_256FS_INSTEAD_OF_384FS			1	// 256FS: EXT ADC  /*	1: try to use 256FS (previous was 384fs),  0: use original 384FS */
#else
#define	AUD_SUPPORT_256FS_INSTEAD_OF_384FS			0
#endif

//#if (AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA) && (!AUD_SUPPORT_PWM_INSTEAD_OF_ADAC)
#if (!AUD_SUPPORT_PWM_INSTEAD_OF_ADAC)
#if (!AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA&&_APP_CAP_AUD_KARAOKE)
/* 8bit-dac karaoke with adac */
#define	AUD_SUPPORT_512FS_INSTEAD_OF_384FS			0 // 384FS: 8bit-dac karaoke case(adac)
#else
#define	AUD_SUPPORT_512FS_INSTEAD_OF_384FS			1  //512FS: other cases (adac)
#endif
#else
#define	AUD_SUPPORT_512FS_INSTEAD_OF_384FS			0 //384FS:common case (pwm)
#endif

/******************************************************************************* 
*    Section 6. for Definitions related with other libraries & Applications ( Navigators )                 *
*                                                                                                                                         *
*******************************************************************************/
/* 
	Check 1, then AD will call iDISP_extAudioBufferUnderrun() at BufferUnder run case
	This is for adjust  AV_SYNC value dynamically at runtime depending on A/V bufferring level
	& this is dependant on _USE_DYNAMIC_AV_SYNC
*/
#define	AUD_SUPPORT_BUFFERUNDER_CALLBACK			_USE_DYNAMIC_AV_SYNC
/******************************************************************************* 
*    Section X. temporal defines by Jaeyoul kim *
*                                                                                                                                         *
*******************************************************************************/
#if	_USE_AUDIO_IMMEDIATE_RESPONSE
#define	AUD_SUPPORT_IMMEDIATE_RESPONSE_FOR_DIVX	1
#else
#define	AUD_SUPPORT_IMMEDIATE_RESPONSE_FOR_DIVX	0
#endif
#define	AUD_SUPPORT_NO_ANALOGOUT_FOR_DTS			0	/* Set 1 for DVS-SPEC */

/* 
	This value should be calculated previously at _DEBUG by every the solution type
		( below definition should be moved to SH_AUD_capability_TYPEXXX.h later. )
*/
#if !AUD_SUPPORT_SPDIF_PCM_DOWNMIX
#if AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA
#if _APP_CAP_AUD_INTEGRATED_DTS
#define	AUD_SIZE_TOTAL_REQUIRED_MEMORY				0x74400	//0x74000	// 0x60000	tmp yyd 060419
#else
#if !AUD_SUPPORT_REVERBERATION
#define 	AUD_SIZE_TOTAL_REQUIRED_MEMORY				0x57400	// yyd 061011 without reve, reduce BC00
#else
#define 	AUD_SIZE_TOTAL_REQUIRED_MEMORY				0x62C00	// zb 060922 for special DVD disc
#endif
#endif
#else
#define 	AUD_SIZE_TOTAL_REQUIRED_MEMORY				0x72400	/*0x72000*/// yyd 060906
#endif
#else
//SPDIF DOWNMIX 
#if AUD_SUPPORT_IN_14BIT_ADC_FOR_KARA
#if _APP_CAP_AUD_INTEGRATED_DTS
#define	AUD_SIZE_TOTAL_REQUIRED_MEMORY				0x7a400 //wjin 060804
#else
#define 	AUD_SIZE_TOTAL_REQUIRED_MEMORY				0x62C00	//zb 060922 for special DVD disc
#endif
#else
#define 	AUD_SIZE_TOTAL_REQUIRED_MEMORY				0x78000 //temp. Not calculated. wjin 060804
#endif

#endif

#ifdef	__cplusplus
}
#endif

#endif  /* _SH_AUD_capability_H_ */

⌨️ 快捷键说明

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