📄 audio_api.c
字号:
// SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAC0); // lsz 060610 SSSOutput_DAC0); // SIF to DAC0
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAC1); // lsz 060612
if(g_Data.ucWinStatus) //PIP ,POP, MULTIWIN
{
if(g_Data.ucWinStatus >= _TV_WIN_PIP_SS_ || g_Data.ucWinStatus <= _TV_WIN_POP_FULL_) //PIP OR POP
{
switch(ucPPSource)
{
// case ALL_BOARDS_RF2:
case SRC_PIP_SVIDEO:
case SRC_PIP_AV1:
case SRC_PIP_AV2:
case SRC_PIP_HDTV1: // YPbPr 1
case SRC_PIP_HDTV2: // YPbPr 2
case SRC_PIP_RGB: // VGA & DVI1/2
// case ALL_BOARDS_COMP3: // DVB_T, Tenny at 2k60912 zenghw remove fot temp
if(ucPPSource == SRC_PIP_SVIDEO ||ucPPSource == SRC_PIP_AV1)
eAnalogInputPP = INPUT_PIP_AV1;
else if(ucPPSource == SRC_PIP_AV2)
eAnalogInputPP = INPUT_PIP_AV2;
else if(ucPPSource == SRC_PIP_HDTV1)
eAnalogInputPP = INPUT_PIP_YPBPR1;
else if(ucPPSource == SRC_PIP_HDTV2)
eAnalogInputPP = INPUT_PIP_YPBPR2;
else if(ucPPSource == SRC_PIP_RGB)
eAnalogInputPP = INPUT_PIP_VGA;
// else if(ucPPSource == ALL_BOARDS_COMP3) //zenghw remove fot temp
// eAnalogInputPP = Input_Analog8;
else //if(ucPPSource== ALL_BOARDS_RF2)
eAnalogInputPP = Input_Analog9;
SGTV58xx_AISxSelectInput(eAnalogInputPP, AIS_ADC); // Ain_PP to AIS_ADC
if(bSwitch)
{
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
else // #else
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
} //2#endif
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAC0);
}
else
{
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
//if(UserPrefPipMode != NO_PIP && UserPrefPipMode != MULTI_PIP && IsSourceHDMIPort(ucPPSource) && gm_HdmiCheckStatus())
if(bI2SSignalChecked)
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
else
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
}
else //2#else
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
} //2#endif
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAC0); // AIS_ADC to DAC0
}
break;
case SRC_PIP_HDMI1:
case SRC_PIP_HDMI2:
case SRC_PIP_HDMI3:
if(bSwitch)
{
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // I2SA to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAC0); // lsz 060615
SGTV58xx_SSSIOConfig(SSSInput_Null, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
}
else
{
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
SGTV58xx_SSSIOConfig(SSSInput_Null, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
} //2#endif
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAC0); // I2SA to DAC0
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAP_SGTLDP);
}
break;
}
#ifdef ZHW_DEBUG_SGTV_MSG
PRINTF("PIP is On,so Headphone output audio from input %d \n", ucPPSource);
#endif
}
else
{
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
//if(UserPrefPipMode != NO_PIP && UserPrefPipMode != MULTI_PIP && IsSourceHDMIPort(ucPPSource) && gm_HdmiCheckStatus())
if(bI2SSignalChecked)
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
else
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
}
else //2#else
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
} //2#endif
SGTV58xx_SSSIOConfig(SSSInput_Null, SSSOutput_DAC0); // Mute DAC0 output
#ifdef ZHW_DEBUG_SGTV_MSG
PRINTF("Mute Headphone output when Multi-Window active\n");
#endif
}
}
else
{
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
//if(UserPrefPipMode != NO_PIP && UserPrefPipMode != MULTI_PIP && IsSourceHDMIPort(ucPPSource) && gm_HdmiCheckStatus())
if(bI2SSignalChecked)
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
else
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
}
else //2#else
{
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
} //2#endif
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAC0);
#ifdef ZHW_DEBUG_SGTV_MSG
PRINTF("PIP is Off,Headphone output audio same as Main\n");
#endif
}
SGTV58xx_ScartxOutputConfig(SCARTInput_DAC0, SCARTOutput_AOUT0); // DAC0 to Headphone
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAC1); // SIF to DAC1
SGTV58xx_ScartxOutputConfig(SCARTInput_DAC1, SCARTOutput_AOUT1); // DAC1 to AV Out
SGTV58xx_ScartxOutputConfig(SCARTInput_DAC1, SCARTOutput_AOUT2); // DAC1 to SC Out
break;
case SRC_MP_AV1: // Video 1
case SRC_MP_AV2: // Video 1
case SRC_MP_SVIDEO: // SVideo lsz 060524
// case ALL_BOARDS_CVBS2: // Video 2 zenghw remove for temp 20061108
case SRC_MP_HDTV1: // YPbPr 1
case SRC_MP_HDTV2: // YPbPr 2
case SRC_MP_RGB: // VGA
case SRC_MP_USB: // USB
// case SRC_MP_DTV: // VGA
// case ALL_BOARDS_COMP3: // DVB_T, Tenny at 2k60912 zenghw remove for temp 20061108
if((ucMPSource == SRC_MP_AV1)||(ucMPSource == SRC_MP_SVIDEO)) // lsz 060524
eAnalogInputMP = INPUT_MP_AV1;
else if(ucMPSource == SRC_MP_AV2) //zenghw remove for temp 20061108
eAnalogInputMP = INPUT_MP_AV2;
else if(ucMPSource == SRC_MP_HDTV1)
eAnalogInputMP = INPUT_MP_YPBPR1;
else if(ucMPSource == SRC_MP_HDTV2)
eAnalogInputMP = INPUT_MP_YPBPR2;
else if(ucMPSource == SRC_MP_RGB)
eAnalogInputMP = INPUT_MP_VGA;
else if(ucMPSource == SRC_MP_USB)//if(ucMPSource == ALL_BOARDS_COMP3)
eAnalogInputMP = INPUT_MP_USB;
else
eAnalogInputMP = INPUT_MP_DTV;
#ifdef ZHW_DEBUG_SGTV_MSG
PRINTF1("eAnalogInputMP=%d \n",eAnalogInputMP);
#endif
#if 0
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ADC); // Ain_MP to AIS_ADC
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
//gm_Printf("Used extern sync delay!");
//if(UserPrefPipMode != NO_PIP && UserPrefPipMode != MULTI_PIP && IsSourceHDMIPort(ucPPSource) && gm_HdmiCheckStatus())
if(bI2SSignalChecked)
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
}
else
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
}
else //2 #else
{
//gm_Printf("Unused extern sync delay!");
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
} //2#endif
#endif
// SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ANA0); // Ain_MP to AIS_ANA0
// SGTV58xx_ScartxOutputConfig(SCARTInput_AISANA, SCARTOutput_AOUT0); // AIS_ANA0 to Headphone
#if 0
if(UserPrefPipMode != NO_PIP)
{
if(IsSinglePipMode(UserPrefPipMode) || IsSideBySidePipMode(UserPrefPipMode))
{
#else
if(g_Data.ucWinStatus) //PIP ,POP, MULTIWIN
{
if(g_Data.ucWinStatus >= _TV_WIN_PIP_SS_ || g_Data.ucWinStatus <= _TV_WIN_POP_FULL_) //PIP OR POP
{
#endif
switch(ucPPSource)
{
case SRC_PIP_TV: // TV
case SRC_PIP_SVIDEO: // Video1 & SVideo
case SRC_PIP_AV1: // Video 1
case SRC_PIP_AV2: // Video 1
// case ALL_BOARDS_CVBS3: // Video 2 zenghw remove for temp P001
case SRC_PIP_HDTV1: // YPbPr 1
case SRC_PIP_HDTV2: // YPbPr 2
case SRC_PIP_RGB: // VGA & DVI1/2
// case ALL_BOARDS_COMP3: // DVB_T, Tenny at 2k60912
if(ucPPSource == SRC_PIP_SVIDEO ||ucPPSource == SRC_PIP_AV1)
eAnalogInputPP = INPUT_PIP_AV1;
else if(ucPPSource == SRC_PIP_AV2) //zenghw remove for temp P001
eAnalogInputPP = INPUT_PIP_AV2;
else if(ucPPSource == SRC_PIP_HDTV1)
eAnalogInputPP = INPUT_PIP_YPBPR1;
else if(ucPPSource == SRC_PIP_HDTV2)
eAnalogInputPP = INPUT_PIP_YPBPR2;
else if(ucPPSource == SRC_PIP_RGB)
eAnalogInputPP = INPUT_PIP_VGA;
// else if(ucPPSource == ALL_BOARDS_COMP3)
// eAnalogInputPP = Input_Analog8;
else //if(ucPPSource== ALL_BOARDS_RF2)
eAnalogInputPP = Input_Analog9;
if(bSwitch)
{
SGTV58xx_AISxSelectInput(eAnalogInputPP, AIS_ADC); // Ain_PP to AIS_ADC
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ANA0); // Ain_MP to AIS_ANA0
// SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
}
else
{
if(ucPPSource == SRC_PIP_TV) //zenghw add
SGTV58xx_SSSIOConfig(SSSInput_Demod, SSSOutput_DAC0);
else
SGTV58xx_AISxSelectInput(eAnalogInputPP, AIS_ANA0); // Ain_PP to AIS_ANA0
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ADC); // Ain_MP to AIS_ADC
// SGTV58xx_ScartxOutputConfig(SCARTInput_AISANA, SCARTOutput_AOUT0); // AIS_ANA0 to Headphone
}
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
//gm_Printf("Used extern sync delay!");
//if(UserPrefPipMode != NO_PIP && UserPrefPipMode != MULTI_PIP && IsSourceHDMIPort(ucPPSource) && gm_HdmiCheckStatus())
if(bI2SSignalChecked)
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
}
else
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
}
else // #else
{
//gm_Printf("Unused extern sync delay!");
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
} //2#endif
if(ucPPSource == SRC_PIP_TV) //zenghw add
SGTV58xx_ScartxOutputConfig(SCARTInput_DAC0, SCARTOutput_AOUT0); // DAC0 to Headphone
else
SGTV58xx_ScartxOutputConfig(SCARTInput_AISANA, SCARTOutput_AOUT0); // AIS_ANA0 to Headphone
break;
case SRC_PIP_HDMI1:
case SRC_PIP_HDMI2:
case SRC_PIP_HDMI3:
if(bSwitch)
{
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // I2SA to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_Null, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ANA0); // Ain_MP to AIS_ANA0
SGTV58xx_ScartxOutputConfig(SCARTInput_AISANA, SCARTOutput_AOUT0); // AIS_ANA0 to Headphone
}
else
{
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
SGTV58xx_SSSIOConfig(SSSInput_Null, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
} //2#endif
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ADC); // Ain_MP to AIS_ADC
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAC0); // I2SA to DAC0
SGTV58xx_ScartxOutputConfig(SCARTInput_DAC0, SCARTOutput_AOUT0); // DAC0 to Headphone
}
break;
}
#ifdef ZHW_DEBUG_SGTV_MSG
PRINTF1("PIP is On,so Headphone output audio from input %d \n", ucPPSource);
#endif
}
else
{
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ADC); // Ain_MP to AIS_ADC
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
//gm_Printf("Used extern sync delay!");
//if(UserPrefPipMode != NO_PIP && UserPrefPipMode != MULTI_PIP && IsSourceHDMIPort(ucPPSource) && gm_HdmiCheckStatus())
if(bI2SSignalChecked)
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
}
else
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
}
else // #else
{
//gm_Printf("Unused extern sync delay!");
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
} //2#endif
SGTV58xx_SSSIOConfig(SSSInput_Null, SSSOutput_DAC0); // Mute DAC0 output
SGTV58xx_ScartxOutputConfig(SCARTInput_DAC0, SCARTOutput_AOUT0); // DAC0 to Headphone
#ifdef ZHW_DEBUG_SGTV_MSG
PRINTF("Mute Headphone output when Multi-Window active\n");
#endif
}
}
else
{
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ADC); // Ain_MP to AIS_ADC
if(UserPrefFactory_ExternSyncDelay) //2#ifdef USE_EXTERN_DELAY
{
//gm_Printf("Used extern sync delay!");
//if(UserPrefPipMode != NO_PIP && UserPrefPipMode != MULTI_PIP && IsSourceHDMIPort(ucPPSource) && gm_HdmiCheckStatus())
if(bI2SSignalChecked)
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
}
else
{
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_I2SA_DOut); // SIF to SGTL_DP
SGTV58xx_SSSIOConfig(SSSInput_I2SAin_DIn, SSSOutput_DAP_SGTLDP); // SIF to SGTL_DP
}
}
else // #else
{
//gm_Printf("Unused extern sync delay!");
SGTV58xx_SSSIOConfig(SSSInput_ADC, SSSOutput_DAP_SGTLDP); // AIS_ADC to SGTL_DP
} //2#endif
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ANA0); // Ain_MP to AIS_ANA0
SGTV58xx_ScartxOutputConfig(SCARTInput_AISANA, SCARTOutput_AOUT0); // AIS_ANA0 to Headphone
SGTV58xx_SSSIOConfig(SSSInput_Null, SSSOutput_DAC0); // Mute DAC0 output zenghw add 20070508 P023
SGTV58xx_SSSIOConfig(SSSInput_Null, SSSOutput_DAC1); // Mute DAC1 output
#ifdef ZHW_DEBUG_SGTV_MSG
PRINTF("PIP is Off,Headphone output audio same as Main\n");
#endif
}
/** // Tenny at 2k61024: The config for main is same
#ifdef SGTV_SUPPORT_SRS
if(UserPrefAudioEffect==AUDIO_SURROUND_OFF)
{
// SGTV58xx_SSSIOConfig(SSSInput_DAP_SGTLDP_In, SSSOutput_DAP_SRSBBE); // SGTL_DP to SRS
SGTV58xx_SSSIOConfig(SSSInput_DAP_SGTLDP_In, SSSOutput_DAC_Main); // SRS to BM
}
else
{
SGTV58xx_SSSIOConfig(SSSInput_DAP_SGTLDP_In, SSSOutput_DAP_SRSBBE); // SGTL_DP to SRS
SGTV58xx_SSSIOConfig(SSSInput_DAP_SRS_BBE_In, SSSOutput_DAC_Main); // SRS to BM
}
// SGTV58xx_SSSIOConfig(SSSInput_DAP_BM_Main_In, SSSOutput_DAC_Main); // BM to Speaker
#else
SGTV58xx_SSSIOConfig(SSSInput_DAP_SGTLDP_In, SSSOutput_DAC_Main); // SGTL_DP to Speaker
#endif
*/
SGTV58xx_AISxSelectInput(eAnalogInputMP, AIS_ANA1); // Ain_MP to AIS_ANA1
if(ucMPSource == SRC_MP_AV1 ||ucMPSource == SRC_MP_AV2)// || ucMPSource == SRC_MP_SVIDEO)//zenghw add P010
SGTV58xx_ScartxOutputConfig(SCARTInput_AISANA, SCARTOutput_AOUT1); // AIS_ANA1 to AV Out
else
SGTV58xx_ScartxOutputConfig(SCARTInput_MaxNum, SCARTOutput_AOUT1); // AIS_ANA1 to AV Out
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -