📄 sh_aud_capability.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 + -