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

📄 dvdsetup_op.c

📁 ct952 source code use for Digital Frame Photo
💻 C
📖 第 1 页 / 共 5 页
字号:

#define MAIN_SETUP_DECLARE
#include    <string.h>#include    "winav.h"
#include    "chips.h"#include    "disp.h"#include    "input.h"#include    "cc.h"#include    "navigate.h"#include    "utl.h"#include    "hal.h"#include    "gdi.h"#include    "osddlg.h"
#include    "menu.h"
#include    "setup.h"
#include    "dvdsetup_op.h"
#include    "dvdsetup.h"#include    "osd.h"#include    "char_subpict.h"#include "romld.h"#include    "dvdsetup.h"
#include    "storage.h"
#include "VD\\ViporFunc.h"
#ifdef SUPPORT_STB
#include "STB\usrif\\sysmenu.h"
#endif //SUPPORT_STB

#include "poweronmenu.h"

#ifdef IMAGE_FRAME_SETUP
#include "tft.h"
#endif //IMAGE_FRAME_SETUP


#define SETUP_WIDTH             616
#define SETUP_HEIGHT            410 

// SETUP_FRAME_Y0 should be lower than the upper osd region, otherwise
// When input disc, it shows "Loading...".
// The strings will cover partial of Setup UI
#define SETUP_FRAME_X0          0
#define SETUP_FRAME_Y0          0
#define SETUP_FRAME_X1          (SETUP_WIDTH + SETUP_FRAME_X0)
#define SETUP_FRAME_Y1          (SETUP_HEIGHT + SETUP_FRAME_Y0) 
#define WRITE_EEPROM_ENABLE#define IDENTIFY_STRING         "C"#define FRAME_THICKNESS         2extern BYTE    __bSetupMode;
extern BYTE	 __bTVSystemChange;// save to EEPROM info.extern  BYTE    __bPassword[SETUP_PASSWORD_NO+1];extern  BYTE    __bInputPassword; //=FALSE;extern  BYTE    __bInputPasswordIndex; // = 0;extern  BYTE    _bVideoSettingChange; // = FALSE;
//#ifdef PRESTOP_BEFORE_SETUP_AND_PROGRAM
BYTE __bPreCountStop; //Xuli1.26, Save the previous stop mode before entering SETUP to decide if need resume after exit.
//#endif
BYTE    __bSETUPUIStyleChanged;

#ifdef SUPPORT_STB
SYSTEMINFO* __pSystemInfo;
#endif //SUPPORT_STBBYTE    _bAudioTypeChange; // = FALSE;BYTE    _bParentalControlChange; // = FALSE;

IMAGE_FRAME_SETUPINFO __ImageFrameSetupInfo;#ifdef _DEBUG_INFOBYTE    _bEEPROMError = 0;#endifextern  void _InitRect(PURECT pRect, WORD wLeft, WORD wTop, WORD wRight, WORD wBottom);extern  WORD __wSPRMs [];extern  BYTE             _bSetupTemp;extern  WORD             _wSetupTemp;extern  WORD             _wSetupString[8];extern  PARM_DRAW_STRING _DVDSETUP_StrAttr;extern  PARM_RECT        _DVDSETUP_RectAttr;extern  WORD             __wSPRMs [];
extern  DWORD __dwVolAudio;
#ifdef SUPPORT_JPEG_AUDIO_PLAYING
extern BYTE __bMMJPEGAudioMode;
#endif //SUPPORT_JPEG_AUDIO_PLAYING// Internal functionsvoid _ReadSetupData(void);void _WriteSetupData(BYTE bSetup, BYTE bDefaultPassword);void _SetVideoOutputToIC(void);void _SetBrightnessToIC(void);void _SetContrastToIC(void);void _SetDNRToIC(void);void _SetDownMix(void);void _TransferLanguageToSPRM(void);void _TransferOthersAudioLanguageCode(WORD wLanguageCode);void _TransferOthersMenuLanguageCode(WORD wLanguageCode);void _TransferOthersSPSTLanguageCode(WORD wLanguageCode);void _SetAngleMarkTime(void);extern  void _SetAudType(BYTE bType);  // in CHIPS module
extern void MM_AudioTrigger(void);
extern BYTE TFT_BRIGHTNESS_VALUE_LIST[];
extern BYTE TFT_CONTRAST_VALUE_LIST[];
extern BYTE TFT_SATURATION_VALUE_LIST[];void DVDSETUP_InitStatus(void){    _bAudioTypeChange = FALSE;}//  ***************************************************************************//  Function    : SETUP_Initial//  Description : This API will export to other modules use while SETUP data should be//              : initialized and prepare for further usage.//  Arguments   ://  Return      : TRUE//  Side Effect ://  ***************************************************************************BIT SETUP_Initial(){    BYTE             *pbSetupPtr;    
#ifndef IMAGE_FRAME_SETUP    __bInputPassword=FALSE;    __bInputPasswordIndex=0;
#endif //IMAGE_FRAME_SETUP

#ifdef SUPPORT_STB
    __pSystemInfo = (SYSTEMINFO*) &(__SetupInfo.bSTBMagiceCountHead);
#endif
    __bSETUPUIStyleChanged = FALSE;   
#ifndef WRITE_EEPROM_ENABLE    _WriteSetupData(SETUP_DATA_DEFAULT, READ_TOTAL_DEFAULT);    // Module should add their Init function here to set EPROM to default value#else    pbSetupPtr=(BYTE *)&__SetupInfo;    HAL_ReadStorage(SETUP_ADDR_IDENTIFY, pbSetupPtr, EPROM_IDENTIFY_BYTE +         EPROM_VERSION_BYTE + EPROM_INTERVERSION_BYTE);    __SetupInfo.cSetupIdentify[EPROM_IDENTIFY_BYTE-1] = 0;        // Brian2.81    // Setup module will call other modules' Init function only    // when EPROM data is incorrect. Setup will not call other modules'    // Init fuction when EPROM data is correct    if (!strcmp(__SetupInfo.cSetupIdentify, IDENTIFY_STRING) &&        SETUP_VERSION == __SetupInfo.bSetupVersion &&        INTER_VERSION == __SetupInfo.bInterVersion)     {        // setup data is correct        _ReadSetupData();        // Setup should not read data from EPROM for other modules.        // The power-on flow should do this.         // Kevin1.25, move below. Otherwise, 4 wait no ACK for 8M,        // 'cause IRAM hasn't been loaded     }    else    {        // setup data is incorrect        _WriteSetupData(SETUP_DATA_DEFAULT, READ_TOTAL_DEFAULT); // Brian1.24        // Module should add their Init function here to set EPROM to default value    }#endif        // update Setup info to SPRM    // reference VI4-, 4.6.1.2    // *SPRM[0], Menu Description Language Code    // SPRM[2], Sup-picture stream on/off flag    // SPRM[3], Angle number??    // SPRM[11], Player Audio Mixing Mode for Karaoke    // SPRM[12], Contry Code for Parental Management    // SPRM[13], Parental Level    // SPRM[14], Player Configuration for Video(Aspect ratio)    // SPRM[15], P_CFG for audio    // *SPRM[16], Initial Language Code for AST    // SPRM[17], Initial Language Code extension for AST    // *SPRM[18], Initial Language Code for SPST    // SPRM[19], Initial Language extension Code for SPST    // SPRM[20], Player Region Code    // bit 15-8, upper byte    // bit 7-0, lower byte
#ifndef IMAGE_FRAME_SETUP        _SetVideoOutputToIC();
#endif

#ifndef NO_DISC_MODE    //Brian1.05, just call NV_Setting, it will set __wSPRMs[20] always    NV_Setting(SET_REGION_CODE, 0); 
#endif //#ifndef NO_DISC_MODE
    //Kevin1.25, move here    // Brian1.25, set brightness and contrast when initialization    _SetBrightnessToIC();    _SetContrastToIC();    //Damon1.05, set display type when setup initialization    //Or it will always set to default value (16:9) in TFT_Init()
    _SetDisplayToIC();
    _SetDownMix();     _TransferLanguageToSPRM();    _SetDNRToIC();//#ifdef SUPPORT_CHAR_ENCODING_SWITCH    OSD_ReplaceFont();//#endif
#ifdef IMAGE_FRAME_SETUP
	DVDSETUP_SetRepeatMode();
#endif //IMAGE_FRAME_SETUP
  
#ifndef IMAGE_FRAME_SETUP        _bVideoSettingChange = FALSE;
#endif //IMAGE_FRAME_SETUP    #ifdef  SUPPORT_KARAOKE_SET    if ((__SetupInfo.bAudioKaraoke - SETUP_AUDIO_KARAOKE_BASE) == 0) //on        CHIPS_MICControl(CHIPS_ON);    else if ((__SetupInfo.bAudioKaraoke - SETUP_AUDIO_KARAOKE_BASE) == 1) //off        CHIPS_MICControl(CHIPS_OFF);#endif    
#ifndef NO_DISC_MODE    //initial the System parameter only in Setup module not in NV_InitialParameters    // reference Anex J    __wSPRMs [10]=0;     // TT_PGCN fot NV_TMR, 1 to 7fffh(bits 0-14)    __wSPRMs [11]=0;     // Player Audio ixing Mode(P_AMXMD) for karaoke.        // must use upper case    strncpy((char *)&__wSPRMs[12], "US", 2);        NV_Setting(SET_PARENTAL_CONTROL, NULL_0);        /* Alan1.05    // Paraental level(PTL_LVL), 1-8(bits 0-3)    __wSPRMs[13]= __SetupInfo.bParentalCtl - SETUP_CUSTOM_PC_LEVEL_BASE + 1;         // don't do parental control, set as highest level     if (!__SetupInfo.bParentalControl )     __wSPRMs[13]=8;    */        // RD_ONLY    // default ???    __wSPRMs [14]=0;     // Player configuration(P_CFG) for Video    __wSPRMs [15]=0;     // P_CFG for Audio    __wSPRMs [17]=0;     // Initial Language Code extension(INI_LCD_EXT)    __wSPRMs [19]=0;     // Initial Language Code extension for SPST
#endif //#ifndef NO_DISC_MODE    #ifndef REMOVE_SETUP_SPEAKER_TEST    // brian.277a Test Tone    __SetupInfo.bAudioTestTone = SETUP_AUDIO_SPEAKER_TEST_AUTO;#endif        SETUP_LoadLanguage();        return TRUE;}//  ***************************************************************************//  Function    :   SETUP_AdjustSetting//  Description :   This function will be called the setting is changed.//  Arguments   :   bID, the ID of the setting to be changed//  Return      :   None.//  Side Effect ://  ***************************************************************************void    SETUP_AdjustSetting(BYTE bID){#ifndef NO_SETUP
    switch (bID)    {    case SETUP_SCREEN_TV_SYSTEM:        HAL_AdjustTVMode(DISP_NEXTVSYNC);        break;
#ifndef IMAGE_FRAME_SETUP    case SETUP_SCREEN_VIDEO_OUTPUT:        HAL_AdjustTVMode(DISP_NEXTVSYNC);        _SetVideoOutputToIC();        break;        case SETUP_AUDIO_OUTPUT:// DVD_275b+, SUPPORT_VIRTUAL_DTS#ifdef  SUPPORT_VIRTUAL_DTS        // 1) when user select stream is DTS stream, and output is SPDIF_RAW        //    must choose real DTS stream to play.        // 2) Current play DTS stream, and output change to non-SPDIF/RAW        //    must choose a non-DTS stream to play.        if ( __SetupInfo.bAudioAnalogOut == SETUP_AUDIO_DIGITAL_OUT_SPDIF_RAW ) // Brian1.23, use bAudioAnalogOut        {            // user select is DTS stream, but play stream may not be DTS stream.            if (__bSelectAudioType == HAL_AUDIO_DTS)            {                // for choose back a DTS stream.                 NV_Setting(SET_AST, (BYTE)NULL);            }        }        else        {            // non-SPDIF_RAW mode, don't allow DTS stream.            if ( __bAudioType == HAL_AUDIO_DTS )            {                // for choose a non-DTS stream.                NV_Setting(SET_AST, (BYTE)NULL);            }        }#endif   //#ifdef  SUPPORT_VIRTUAL_DTS            {            // TCC275, direct call CHIPS module, will re-set ACFGR and SPDIF.            _SetAudType (__bAudioType) ;        }        break;    case SETUP_AUDIO_KARAOKE:        break;
#else
#ifdef SUPPORT_DSPLAY_16_9_AND_AUTO
    case SETUP_DISPLAY_DISPLAY_TYPE:
        _SetDisplayToIC();
        break;
#endif
#endif //#ifndef IMAGE_FRAME_SETUP    default:        break;    }#endif}//  ***************************************************************************//  Function    :   SETUP_ChangeValue//  Description :   This function will be called when user the value of the items//              :   in SETUP UI. It can save the changed data to EEPROM.//  Arguments   :   bID, the ID that want to be saved in EEPROM.//  Return      :   None.//  Side Effect ://  ***************************************************************************void    SETUP_ChangeValue(BYTE bID){#ifndef NO_SETUP
#ifndef IMAGE_FRAME_SETUP //CoCo2.38
#ifdef WRITE_EEPROM_ENABLE //SYSTEM_8051    switch (bID)    {    case SETUP_SCREEN_TV_SYSTEM:        HAL_WriteStorage(SETUP_ADDR_TV_SYTEM, (BYTE*)&(__SetupInfo.bTVSystem), 1);        break;    //Brian0.90    case SETUP_SCREEN_PROGRESSIVE_SCAN:        // Brian1.06, P-SCAN is integrated into Video Output        if (__SetupInfo.bVideoOutput == SETUP_SCREEN_VIDEO_OUTPUT_YUV_PSCAN ||            __SetupInfo.bVideoOutput == SETUP_SCREEN_VIDEO_OUTPUT_RGB_PSCAN ||            __SetupInfo.bVideoOutput == SETUP_SCREEN_VIDEO_OUTPUT_VGA)        {            __SetupInfo.bProgressiveScan = SETUP_PROGRESSIVE_SCAN_ON;        }        else        {            __SetupInfo.bProgressiveScan = SETUP_PROGRESSIVE_SCAN_OFF;

⌨️ 快捷键说明

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