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

📄 navigate.h

📁 ct952 source code use for Digital Frame Photo
💻 H
📖 第 1 页 / 共 2 页
字号:
#define STATE_RESERVED          0  // Central control will by pass this state#define STATE_INITIAL           1  // Initialized#define STATE_STOP              2  // Stop#define STATE_PRECMD            3  //#define STATE_POSTCMD           4  //#define STATE_MARK_CMD          STATE_POSTCMD#define STATE_PG                5  //#define STATE_STILL             6  //#define STATE_CELL              7  //#define STATE_NEXTLINK          8  //#define STATE_NEXTPG_NONV      9   // ** TCH2.37; It's for NEXTPG// State status defineition :#define STATUS_UNDEF            0#define STATUS_READY            1  // Wait to execute#define STATUS_DONE             2  // Already be executed and ended#define STATUS_RUNNING          3  // within execute#define STATUS_SUSPEND          4  // Suspended; after this mode will transfer to STATUS_WAITING#define STATUS_WAITING          5  // Wainging some trigger signal#define STATUS_REDO             6  // re-do the state back from some sleep mode#define STATUS_NVCMD            7  // Doing NVCMD Now ( STATE_CELL only )#define STATUS_NVCMD_EXECUTE    8  // Execute NVCMD Now (<ex> Jump/ Link issue )#define STATUS_ERROR            20 // Error occurred#define STATUS_SAVE             30 // SAVE status#define STATUS_RESTORE          31 // Restore status#define STATUS_DISCARD          32 // Discard some items#define STATUS_EXIST_RSM        33 // Exist RSM//////////////////////////////////////////////////////////  _PGC_BitsDiscontinue definition#define     DISCONTINUE_AV              0#define     DISCONTINUE_AV_CDROM        1       // ** TCH1.03; ?? Remove it later#define     DISCONTINUE_AV_ONLY         5       // ** TCH1.61a;    #define     DISCONTINUE_AUDIO_SP        10////////////////////////////////////////////////////////////////      dvd.cpp [OS issue]#include "nvcmd.h"////////////////////////////////////////////////////////////////////// DVD part// DVD Information Part// Navigator PartBYTE    NV_TitlePlay ( BYTE bTitle, WORD wPTT );BYTE    NV_TimePlay ( BYTE bTitle, DWORD dwTime );      // ** TCH0.36;BYTE    NV_TitleTimePlay ( WORD wTime );              // ** TCH1.23; Add it for TimePlay within one Title.BYTE    NV_MenuCall ( BYTE bTypeMenu );BYTE    NV_Action ( BYTE bAction, WORD wParam );BYTE    NV_Setting ( BYTE bSetItem, BYTE bParam );      // ** TCH0.371;BYTE    NV_QueryUOP ( DWORD dwUOP );    // ** TCH0.37;BYTE    NV_RSMControl ( BYTE bStatus );void    NV_Trigger (void);	// ** TCH1.72q; void    NV_UpdateVersion(void); //Aron1.02-909, Update NV module versionvoid    NV_SetErrorConParm(BYTE bMaxLoadVTSFailCnt, DWORD dwServoReadyTimeOut); //Aron2.31-909R, add to init error concealment mechanism parmater//////////////////////////////////////////////////////// PGC Part [PGC] ModuleBYTE    PGC_Playback ( BYTE bPGN, BYTE bOperation );BYTE    PGC_Trigger (void);	// ** TCH1.72q; //////////////////////////////////////////////////////// State Controlvoid    SMAN_GetStateInfo ( void );void    SMAN_SaveStateInfo ( void );BYTE    SMAN_GetState ( void );BYTE    SMAN_GetStatus ( void );BYTE    SMAN_PushStateInfo ( BYTE bState, BYTE bStatus );BYTE    SMAN_ChangeStatus ( BYTE bStatus );/////////////////////////////////////////// Protected function// Navigator UsageBOOL    _NV_Convert_TTCC2PGC ( BYTE bDirection );       // ** TCH0.31;BOOL    _NV_Convert_STN2STNO ( BYTE bSetItem, BYTE bDirection );       // ** TCH0.451;BOOL    _NV_BuildPGCInfor ( void );BOOL    _NV_SetAudioParameters ( DWORD dwAudio, BYTE bParam ); // ** TCH0.371;BYTE    _NV_SearchLanguage ( BYTE bSetItem );   // ** TCH0.38;BYTE    _NV_ExecuteHighLight (void);                   // ** TCH0.362;BYTE    _NV_CheckNVCMD (void);                      // ** TCH0.29;BYTE    _NV_ExecuteNVCMD (void);                    // ** TCH0.31;BYTE    _NV_LinearNextPrev ( BYTE bNext );      // ** TCH0.31;BYTE    _NV_ProcessPTL_MA (void);                   // ** TCH0.431;DWORD   _NV_GetUOP ( BYTE bMenuType );          // ** TCH0.47;// Micky0.66-909, add a parameter for PGNBYTE    _NV_LinkPGCN_PG ( BYTE bDomain, BYTE bPGN );      // ** TCH1.61-1; BYTE    _NV_CheckSP_ForcedlyDisplay (void); // ** TCH1.61-1; #ifdef  SIMP_DVDBYTE    _NV_SIMPTrigger (void);      // ** TCH0.361; SIMP_DVD only#endif    // SIMP_DVD#ifdef    NO_PGCBYTE    _NV_NOPGCTrigger (void);      // ** TCH0.361; NO_PGC onlyBYTE    _NV_GetCELLRange (void);      // ** TCH0.361; NO_PGC only#endif    // NO_PGC/////////// PGC relative APIsBYTE    _PGC_ProcessCell (void);            // ** TCH0.31;BYTE    _PGC_WaitCELLStatus ( BYTE bCELLStatus );        // ** TCH0.39;BYTE    _PGC_UpdateCELLInformation (void);   // ** TCH1.60a-2; BYTE    _PGC_BuildPGInfor ( BYTE bPGN );BYTE    _PGC_IsAcceptCellTime ( BYTE bCEN );BYTE    _PGC_LookAngleCEN ( BYTE bCEN );        // ** TCH1.60a-1; BYTE    _PGC_SkipAngleBlock ( BYTE bModeCmd );  // ** TCH1.60a-1; BYTE    _PGC_ChooseOneAvaiablePG ( BYTE bPGN ); // ** TCH0.41;BYTE    _PGC_ProcessCMDT ( BYTE bTypeCMDT, BYTE bIdx ); // ** TCH1.03;void    _PGC_BitsDiscontinue ( BYTE bMode );     // ** TCH1.03;void    _PGC_Force2PlayMode ( BYTE bCheckType );    //TCH1.60// Micky1.23 support resume info from EEPROM#define USE_NEW_RESUME_INFOtypedef struct NV_tagRSMInfo{BYTE                __bRSM_Title;    // SPRM[4]WORD                __wRSM_Chapter;  // SPRM[7]WORD                __wRSM_PGCN;     // SPRM[6]WORD                __wRSM_SPRM5;BYTE                __bRSMValid ;BYTE                __bRSM_CEN ;BYTE                __bRSM_byTime ;    // TRUE mean RSM by Time, else RSM by VOBUSABYTE                __bRSM_PGN ; // ** TCH1.03;BYTE                __bRSM_VTSN ;BYTE                __bRSM_Domain ;  // ** TCH1.03;DWORD               __dwRSM_NV_PCK ;WORD                __wRSM_Time ;        // unit: secondBYTE                __bPTL;             // Parental Level.BYTE                __bStillRSM;    //Aron2.38, still resuming flag//Ming0.80, add __attribute__((packed)) for NV_RSMINFO to reduce the size.//          Becuase Resume info. would be saved to EEPROM.} PACK_FORMAT NV_RSMINFO, * PNV_RSMINFO;extern  NV_RSMINFO  NV_Resume[2];// Ming0.80, support multi-disc resume.//           Must check PTL level in RESUME process.#define RESUME_MARK_SIZE            4#define RESUME_ID_ENTRY_SIZE        4#define RESUME_INFO_ENTRY_SIZE      (sizeof(NV_RSMINFO))// LLY1.00, resume data = resume ID + resume information#define RESUME_DATA_ENTRY_SIZE      (RESUME_ID_ENTRY_SIZE+RESUME_INFO_ENTRY_SIZE)#if (RESUME_DISC_NUM > 15)#error "RESUME_DISC_NUM cannot exceed 15!"#endif#if (RESUME_ID_ENTRY_SIZE != 4)#error "RESUME_ID_ENTRY_SIZE must be euqal to 4!"#endif// LLY2.05, define a struct for other title resume information// Notice: the size must be same as NV_RSMINFO (20 bytes)typedef struct tagGNL_RSMINFO{    // For all non-DVD title    DWORD   dwRSMTime;      // Keep resume time    // For CDROM/ DVDROM title    WORD    wRSMDir;        // Keep resume directory    WORD    wRSMItem;       // Keep resume item    // For CDROM/ DVDROM audio only file    DWORD   dwRSMFrameCnt;  // Keep resume frame count     DWORD   dwReserved[2];  // Reserved space } GNL_RSMINFO, *PGNL_RSMINFO;// LLY2.05, define a union for DVD and general title resume informationtypedef union tagRSMINFO_UNION{    NV_RSMINFO      NV_Resume;    GNL_RSMINFO     GNL_Resume;}RSMINFO_UNION, *PRSMINFO_UNION;typedef struct _Multi_Resume_Entry{    BYTE bRU_MType;    BYTE bDiscUID[3];// LLY2.05, using resume info union to split DVD and other title//    NV_RSMINFO NV_Resume;    RSMINFO_UNION RSM_Info;} Multi_Resume_Entry, *PMulti_Resume_Entry;typedef struct _Multi_Resume_Info{    BYTE bRSM_Mark[RESUME_MARK_SIZE];    Multi_Resume_Entry Resume[RESUME_DISC_NUM];} Multi_Resume_Info, *PMulti_Resume_Info;//Aron1.05-909, Record user SPST & AST settingtypedef struct NV_tagUserSetting{BYTE                __bUS_Vaild;BYTE                __bUS_TTNO;BYTE                __bUS_ASTNO;BYTE                __bUS_SPSTNO;WORD             __wUS_SRPM2;// Need to keep other setting else!?} PACK_FORMAT NV_USERSETTING, * PNV_USERSETTING;extern NV_USERSETTING NV_Usersetting;//Aron2.31-909R, add for error concealment mechanism parmater//#define USER_KEY_ABORT (__bISRKey == KEY_TITLE ||__bISRKey == KEY_MENU||__bISRKey == KEY_PREV||__bISRKey == KEY_NEXT||__bISRKey == KEY_PBC||__bISRKey == KEY_DIGEST||__bISRKey == KEY_OPEN_CLOSE||__bISRKey == KEY_POWER)#define MAXLOADVTSFAILTCNT 25#define SERVOREADYTIMEOUT COUNT_5_SECtypedef struct NV_tagErrorConParm{BYTE                __bMaxLoadVTSFailCnt;BYTE                __bLoadVTSFailCnt;DWORD            __dwServoReadyTimeOut;} NV_ERRORCONPARM, *PNV_ERRORCONPARM;extern NV_ERRORCONPARM NV_Errorconparm;#ifdef __cplusplus   }#endif#endif      // __NAVIGATE_H__

⌨️ 快捷键说明

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