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

📄 chips.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:
#include "winav.h"#include "digest.h"#include "cc.h"#include "utl.h"#include "ctkav.h"#include "input.h"#include "chips.h"#include "utl.h"#include "osd.h"#include "hal.h"#include "setup.h"#include "infofilter.h"#include "SrcFilter.h"#include "navigate.h"#include "initial.h"#include "media.h"#ifdef CT950_STYLE#include "dvdsetup_op.h"#endif //CT950_STYLE#undef printf#ifndef WIN32#define printf(x, y...)     DBG_Printf(DBG_THREAD_CHEERDVD, DBG_INFO_PRINTF, x, ## y)#endif // WIN32char    __bEchoLevel;BYTE    __bSurround;     // Record Surround kindBYTE    __bVocal;DWORD   __dwVolAudio;DWORD   __dwPreVolAudio; //Kevin1.00, add#ifndef NO_MIC_INPUT    DWORD   __wMICVol;#endif // NO_MIC_INPUTchar __cKeyShift;            // Key adjustment; Up/Downchar _bDualMode;char _bAudType;BYTE _bSpDifMode; // 1:output compressed bitstream, 0:output stereo lpcm  (Kevin0.84a add)2:disable spdif outputBYTE _bChannelMode;char _bLFE;// TCC051, for reduce sramWORD _wCHIPSTmp;#ifdef SUPPORT_JPEG_AUDIO_PLAYINGextern BYTE __bMMJPEGAudioMode;#endif //SUPPORT_JPEG_AUDIO_PLAYING// wyc2.17-909S, for language study.#if (SLOW_MODE_CONFIG != NORMAL_SLOW_MODE)    extern BYTE __bLangStudyFlag;#endif // (SLOW_MODE_CONFIG != NORMAL_SLOW_MODE)// Brian.170, SW MIC Detect#ifdef ENABLE_AUTOVOCAL    #define MIC_INPUT_THRESHOLD_HIGH 1450L    #define MIC_INPUT_THRESHOLD_LOW 1280L    #ifdef SW_MIC_DETECT        extern bit __sbMICDetect;    #endif // SW_MIC_DETECT#endif // ENABLE_AUTOVOCAL//  *********************************************************************//  Function    :   _SetAudio//  Description :   It will set audio variable _bAudType according to __bAudioType//  Arguments   :   bType:      The type of command (Reference HAL_SetAudioType)//  Return      :   None//  Change      ://  Side Effect ://  *********************************************************************void _SetAudio(BYTE bAudio){#ifdef SUPPORT_STB    if(__bChooseMedia == MEDIA_SELECT_STB)    {        switch(bAudio)        {        case HAL_AUDIO_MP2:        case HAL_AUDIO_MPG:        case HAL_AUDIO_MP3:            _bSpDifMode = 0; //pcm            break;        case HAL_AUDIO_AC3:            _bSpDifMode = 1;  //always set raw as default when DVB AC3            break;        default:            break;        }    }    else#endif    switch(bAudio)    {    // TCC025, use same definition as HAL    case HAL_AUDIO_PCM:    case HAL_AUDIO_LPCM:        _bAudType = AUDIO_PCM;        // TCC043, must force spdif off for pcm data so that it also send through SPDIF        if(__SetupInfo.bAudioDigitalOut == SETUP_AUDIO_DIGITAL_OUT_OFF)        {            _bSpDifMode = 2; //off        }        else        {            _bSpDifMode = 0;  //pcm        }        break; // PCM    case HAL_AUDIO_MP2:  //Alex1.10, System will support MP2 format audio    case HAL_AUDIO_MPG:    case HAL_AUDIO_MP3:        // TCC043, must force spdif off for pcm data so that it also send through SPDIF        _bAudType = AUDIO_MPG;        if(__SetupInfo.bAudioDigitalOut == SETUP_AUDIO_DIGITAL_OUT_OFF)        {            _bSpDifMode = 2; //off        }        else        {            _bSpDifMode = 0; //pcm        }        break; // MPEG#ifdef SUPPORT_WMA    case HAL_AUDIO_WMA:  //Kevin1.08        // TCC043, must force spdif off for pcm data so that it also send through SPDIF        _bAudType = AUDIO_WMA;        if(__SetupInfo.bAudioDigitalOut == SETUP_AUDIO_DIGITAL_OUT_OFF)        {            _bSpDifMode = 2; //off        }        else        {            _bSpDifMode = 0; //pcm        }        break; // HAL_AUDIO_WMA#endif //#ifdef SUPPORT_WMA    case HAL_AUDIO_AC3:        _bAudType = AUDIO_AC3;        // TCC274, set spdif mode according to setupinfo.        if(__SetupInfo.bAudioDigitalOut == SETUP_AUDIO_DIGITAL_OUT_SPDIF_PCM)        {            _bSpDifMode = 0;  //pcm        }        else if(__SetupInfo.bAudioDigitalOut == SETUP_AUDIO_DIGITAL_OUT_SPDIF_RAW)        {            _bSpDifMode = 1;  //raw        }        else        {            _bSpDifMode = 2;  //off        }        break; // HAL_AUDIO_AC3    // TCC039, add setting DTS and SDDS type to force spdif mode    case HAL_AUDIO_DTS:        _bAudType = AUDIO_DTS;     // ** TCH0.412; DTS should be 11b, Don't know SDDS.        if(__SetupInfo.bAudioDigitalOut == SETUP_AUDIO_DIGITAL_OUT_SPDIF_PCM)        {            //Kevin1.05-3, modify            //_bSpDifMode = 0;  //pcm            if(__dwSupportFeature & SUPPORT_FEATURE_DTS)            {                _bSpDifMode = 0;  //pcm            }            else            {                //Kevin1.10, still show SPDIF pcm in SETUP Digital Output menu                //__SetupInfo.bAudioDigitalOut = SETUP_AUDIO_DIGITAL_OUT_SPDIF_RAW;                _bSpDifMode = 1;  //raw            }        }        else if(__SetupInfo.bAudioDigitalOut == SETUP_AUDIO_DIGITAL_OUT_SPDIF_RAW)        {            _bSpDifMode = 1;  //raw        }        else        {            _bSpDifMode = 2;  //off        }        break; // HAL_AUDIO_DTS    default:        break;    }}//  *********************************************************************//  Function    :   _SetDualMode//  Description :   It will set variable _bDualMode according to __bModeChannel//  Arguments   :   None//  Return      :   None//  Change      ://  Side Effect ://  *********************************************************************//#pragma NOAREGS //Kevin1.23, may be called by ISRvoid _SetDualMode(void){    // TCC275, check if MP3 is mono, must not set it to RR or no audio output. Force set it to LR (same as LL)    if((__bAttrPlay == ATTR_MP3) || (__bAttrPlay == ATTR_MP2)) //Alex1.10, support MP2 format audio    {        HAL_ReadAM(HAL_AM_MP3MP2_CH_NO, &__dwTemp);        if(__dwTemp == 1)      // Mono        {            _bDualMode = DUAL_STEREO;            return;        }    }    // TCC022, Dual mode is LR/LL/RR/Mixed    if((__bModeChannel == AUDIO_LR) || (__bModeChannel == AUDIO_RL))    {        _bDualMode = DUAL_STEREO;    }    else if(__bModeChannel == AUDIO_LL)    {        _bDualMode = DUAL_LEFTMONO;    }    else if(__bModeChannel == AUDIO_RR)    {        _bDualMode = DUAL_RIGHTMONO;    }#ifdef DOLBY_CERTIFICATION //Kevin0.76a    else if(__bModeChannel == AUDIO_MIXED)    {        _bDualMode = DUAL_MIXEDMONO;    }#endif}// Kevin2.81, create//  *******************************************************************************//  Function    :   _CHIPS_FilterFunSupport//  Description :   Filter if the desired function is supported or not//  Arguments   :   bType, the desired function//  Return      :   TRUE: supported//                  FALSE: not supported//  Side Effect :   none//  *******************************************************************************//#pragma NOAREGS // called in ISR  //Kevin1.24BYTE _CHIPS_FilterFunSupport(BYTE bType){    //Kevin0.87, modify to fixed "It displays "invalid" in File Manager when KEY_VOL_UP/KEY_VOL_DOWN even the cursor is at the MP3 file.    //if (__bAttrPlay == ATTR_JPG)#ifdef SUPPORT_JPEG_AUDIO_PLAYING    if (!__bMMJPEGAudioMode)#endif //SUPPORT_JPEG_AUDIO_PLAYING    {        if((__bAttrPlay == ATTR_JPG) && (__btPlaying || __btPause) )            return FALSE;    }    switch(bType)    {    case CHIPS_VOLUMECONTROL:    case CHIPS_SOUNDEFFECT:    //Kevin1.23, comment    case CHIPS_OPENAUDIO:    //Kevin0.87, add        return TRUE;        break;    //Kevin0.90, modify    case CHIPS_ECHO:         //except DTS        if(_bAudType != AUDIO_DTS)            return TRUE;        break;    //Kevin1.24, let Prologic & Surround mutual exclusive, otherwise there may be noise    case CHIPS_SURROUND:        //kevin0.69, support surround for all audio types        //if ( _bAudType!=AUDIO_DTS &&        if((__SetupInfo.bAudioPrologic == SETUP_AUDIO_PROLOGIC_OFF) || (__SetupInfo.bAudioAnalogOut == SETUP_AUDIO_ANALOG_OUT_2CH))            return TRUE;        break;    case CHIPS_KEYCONTROL:        //kevin0.69, support keyshift for all audio types        /*        if ((_bAudType==AUDIO_AC3) ||    //dvd/vcd karaoke        //((_bAudType==AUDIO_MPG) && (__bAttrPlay != ATTR_MP3)) )        //Alex1.10, support MP2 format audio        ((_bAudType==AUDIO_MPG) && (__bAttrPlay != ATTR_MP3) && (__bAttrPlay != ATTR_MP2) && (__bAttrPlay != ATTR_JPG)))        */        //kevin1.10, not allow keyshift when doing language study        // wyc2.17-909S, for language study.#if (SLOW_MODE_CONFIG != NORMAL_SLOW_MODE)        if(__bLangStudyFlag == TRUE)            return FALSE;#endif        return  TRUE;        break;    default:        break;    }	return FALSE;}//  *********************************************************************//  Function    :   CHIPS_Initial//  Description :   It will initial the global variables set to w9922qf//              :   to it's default value.//              :   Will write the variables to chip only when issue CHIPS_OpenAudio//  Arguments   :   wInit:      The type to initial (Can use || to combine settings)//                      CHIPS_INIT_KEY : key control//                      CHIPS_INIT_SURROUND : surround type//                      CHIPS_INIT_ECHO : echo level//                      CHIPS_INIT_3DLEVEL : 3d level//                      CHIPS_INIT_VOL : volume level//                      CHIPS_INIT_CHANNELMODE : channel mode//                      CHIPS_INIT_AC3KOKMODE : ac3 karaoke mode//                      CHIPS_INIT_DUALMODE : ac3 dual mode//                      CHIPS_INIT_AUDTYPE : audio type//                      CHIPS_INIT_ALL : all above settings//                      CHIPS_INIT_BYPASS : bypass all setting//  Return      :   None//  Change      ://  Side Effect ://  *********************************************************************void CHIPS_Initial(WORD wInit){    if(wInit != CHIPS_INIT_BYPASS)    {        if(wInit & CHIPS_INIT_KEY)     // Initial KEY value        {            __cKeyShift = CHIPS_DEFAULT_KEY;            HAL_WriteAM(HAL_AM_KEYSHIFT_EN, 0); //kevin1.07        }        if(wInit & CHIPS_INIT_SURROUND)        // Initial Surround Type        {            __bSurround = CHIPS_DEFAULT_SURROUND;#ifdef SUPPORT_USER_DEFINED_EQ            for(__bBandSelect=BAND_SELECT_BEGIN; __bBandSelect<=BAND_SELECT_END; __bBandSelect++)            {                __bPerAmp[__bBandSelect] = DEFAULT_PER_BAND_AMP;            }            __bBandSelect=BAND_SELECT_BEGIN;#endif        }        if(wInit & CHIPS_INIT_ECHO)    // Initial Echo level        {            __bEchoLevel = CHIPS_DEFAULT_ECHO;        }         if(wInit & CHIPS_INIT_VOL)     // Initial Voice Level        {#ifdef CT950_STYLE            __dwVolAudio = (DWORD)DVDSETUP_GetVolume();#else            __dwVolAudio = CHIPS_DEFAULT_VOL;#endif //CT950_STYLE			__dwPreVolAudio = 0;#ifndef NO_MIC_INPUT            __wMICVol = MIC_VOL_DEFAULT; //kevin1.01#endif        }        if(wInit & CHIPS_INIT_CHANNELMODE)     // Initial Channel Mode        {            switch(__SetupInfo.bAudioAnalogOut)            {            case SETUP_AUDIO_ANALOG_OUT_2CH:                _bLFE = 0;                // J500KWShih_220, set down mix mode for SD0                if(__SetupInfo.bAudioDownMix == SETUP_AUDIO_DOWNMIX_LORO)                {                    _bChannelMode = CHIPS_LR;                }                else                {                    _bChannelMode = CHIPS_LRD;                }                break;            case SETUP_AUDIO_ANALOG_OUT_51CH:                if(__SetupInfo.bAudioCenter == SETUP_AUDIO_CENTER_ON)                {                    if(__SetupInfo.bAudioRear == SETUP_AUDIO_REAR_ON)                    {                        _bChannelMode = CHIPS_LCRLSRS;                    }                    else                    {                        _bChannelMode = CHIPS_LCR;                    }                }                else                {                    if(__SetupInfo.bAudioRear == SETUP_AUDIO_REAR_ON)                    {                        _bChannelMode = CHIPS_LRLSRS;                    }                    else                    {                        _bChannelMode = CHIPS_LRD;                    }                }                if(__SetupInfo.bAudioSubwoofer == SETUP_AUDIO_SUBWOOFER_ON)                {                    _bLFE = 1;                }                else                {

⌨️ 快捷键说明

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