📄 utl.h
字号:
/************************************************************************** (C)Copyright Cheertek Inc. 2002-2003, L300, all right reserved. Product : VCD25 Firmware Date : 1997.1.9 Author : Cheertek (D300 TCH) Purpose : Utility module The moudle will support some utility function Sources : utl.h/ utl.c****************************************************************************/#ifndef __UTL_H__#define __UTL_H__// Micky1.07_909extern BYTE _bJumpTime;/////////////////////////////////////////////////////////////////// **** Extern global variable Area ****extern BYTE __bModePlay; // in utl.c// wyc1.25, extern this value.//LLY0.72, extern BYTE __bLastModePlay;extern BYTE __bAttrPlay; // playing mode attribute -- LLY.274pextern BYTE __bAttrPlayNew; // new desired playing mode attribute --LLY.274pextern BIT __btNTSCBitStream; // current playing bitstream mode//DVD_051Micky// it records the stable time value// to prevent the time value is undated by interrupt//extern DWORD __dwSysTime;// Micky2.80, review global variables init.extern BYTE __bCheckAudioType;extern BIT __btCheckVideoType;extern BYTE __bModePlayPreCDROM;extern DWORD _dwTriggerShowTime;extern DWORD _dwGap_TriggerShowTime;// LJY2.81, for scratched VCD time control//#define SCRATCHED_VCD_ENHANCEextern DWORD __dwUTLPrevTime ;// Keep previous scan time for next scan time-out controlextern DWORD __dwScanTime;// LLY0.75, keep total time of current playback file.extern DWORD __dwFileTime;// LLY0.76-1, keep sector number of one second for CDROM motion fileextern DWORD __dwSectorPerSec;// LLY0.80, keep desired Subpicture/ OGT type for decoder to set run length tableextern BYTE __dwSPType;// LLY0.85, keep desired video IDextern BYTE __bVideoID;// LLY0.95, keep DRM play state informationextern BYTE __bDRMPlayState;// LLY0.95, keep DivX DRM remain view countextern BYTE __bDRMRemainView;// LLY0.96, keep if the DivX index table existextern BYTE __bNoDivXIndexTbl;// LLY1.02, keep previous play item indexextern WORD __wPrevPlayItem;// LLY1.02, keep previous play item directoryextern WORD __wPrevPlayDir;// LLY1.02, the flag used check if the previous and new play item are sameextern BYTE __bSameItem;// wyc2.14-909s, extern variable.extern BYTE _bUTLSrcBuffMod;// LLY2.15, add a variable to keep desired debug mode// Notice: must set the default value during _INITIAL_Variables_PowerON()// SYuan2.77, Because add _dwDBGMode, Be deleted.//extern BYTE __bDebugMode;// LLY2.55, add a variable to keep video content format of current AVI containerextern DWORD __dwAVIVideoFMT;// Grievous2.60, add a variable to keep bits for each sampleextern BYTE __bBitsPerSample;#ifdef NO_DVD //CoCo2.37pextern WORD __wChapter;extern WORD __wChapter_Ns_Title;extern BYTE __bACHN;extern WORD __wSP_LCD;extern WORD __wA_LCD;extern DWORD __dw1stSCR;#endif //#ifdef NO_DVD //CoCo2.37p////////////////////////////////////////////////////////////////// **** Global Define Area ****#define TRACK_GAP 150L#define CDROM_RETEST_COUNT 2#define MODE1 0x10#define MODE2 0x20#define MODE2FORM1 0x21#define MODE2FORM2 0x22// LLY1.01, define find next sequence header counter for pre-decode command#define FNSQ_CNT_FOR_PREDECODE 1// LLY.101, define the audio checking type for __bCheckAudioType usage// only allow 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80#define CHECK_NONE 0x00#define CHECK_AUDIO_FREQ 0x01// LLY.161-2, it's unnecessary by 20010928 DSP code// because detecting CDDA method has modified//#define CHECK_CDDA_FORMAT 0x02// wyc.170-2#define CHECK_LPCM_DEEMPHASIS 0x04// LLY.161-2, define the stage for getting CDDA format#define UTL_GETCDDAFORMAT_INITIAL 0#define UTL_GETCDDAFORMAT_RUNTIME 1// definitions// Disc relative#define VTOC_SECTOR 16 //00:02:16#define BIH_SECTOR 75 //00:03:00#define INFO_VCD_SECTOR 150 //00:04:00#define ENTRIES_VCD_SECTOR 151 //00:04:01#define LOT_VCD_SECTOR 152 //00:04:02#define VCD_PSD_SECTOR 184 //00:04:34//////////////////////////////////////#define CD_DATASECTOR 2352L#define DVD_DATASECTOR 2048L#define M2F1_DATASECTOR 2048L#define M2F1_SECTOR 2060L#define M2F2_DATASECTOR 2324L#define M2F2_SECTOR 2336L#define CDXA_HEADER (12)#define SYNC (12)#define CDXA_START (24)//DVD017#define CDDA_DATASECTOR 2352L#define CDROM_START (16)// LLY.274p, re-define the playing mode relative info.// [1] PlayMode definition; __bModePlay#define MODE_PLAYUNKNOW 0x00#define MODE_PLAYMOTION 0x01 // A/V mode#define MODE_PLAYVIDEO 0x02 // video only, ex JPG#define MODE_PLAYAUDIO 0x04 // audio only, ex CDDA/ MP3#define MODE_PLAYCDROM 0x08#define MODE_PLAYSTILLPAL 0x10#define MODE_PLAYSTILLNTSC 0x20#define MODE_PLAYSTILL 0x30#define MODE_PLAYSTILLHPAL 0x40#define MODE_PLAYSTILLHNTSC 0x80#define MODE_PLAYSTILLH 0xC0#define MODE_STILL 0xF0// wyc1.21, redefine the ATTR of each mode and remind that each mode can't across 0xF, for example CDROM audio mode only can use from// 0x10 ~ 0x1F because of 0x1F+1 = 0x20 and it will use ATTR_CDROM_VIDEO attribute. So totally can use 16 attribute types.#define ATTR_NONE 0x00// the types#define TYPE_CDROM_AUDIO 0x10#define TYPE_CDROM_VIDEO 0x20#define TYPE_CDROM_AV 0x40#define TYPE_CDDA_DISC 0x80// CDROM Audio relative attribute#define ATTR_AUDIO_BEGIN TYPE_CDROM_AUDIO#define ATTR_MP3 (ATTR_AUDIO_BEGIN+0)#define ATTR_MP2 (ATTR_AUDIO_BEGIN+1)#define ATTR_WMA (ATTR_AUDIO_BEGIN+2)#define ATTR_AC3 (ATTR_AUDIO_BEGIN+3)#define ATTR_DTS (ATTR_AUDIO_BEGIN+4)#define ATTR_AUDIO_END (ATTR_DTS)// Video relative attribute#define ATTR_VIDEO_BEGIN (TYPE_CDROM_VIDEO)#define ATTR_JPG (ATTR_VIDEO_BEGIN+0)#define ATTR_MPEG (ATTR_VIDEO_BEGIN+1) // LLY0.64-1#define ATTR_VIDEO_END (ATTR_JPG)// A/V both relative attribute#define ATTR_AV_BEGIN (TYPE_CDROM_AV)#define ATTR_DAT (ATTR_AV_BEGIN + 0)#define ATTR_MPG (ATTR_AV_BEGIN + 1)#define ATTR_VOB (ATTR_AV_BEGIN + 2)#define ATTR_AVI (ATTR_AV_BEGIN + 3)#define ATTR_AV_END (ATTR_AVI)#define ATTR_CDDA (TYPE_CDDA_DISC)// Micky1.21, CodeReview --- remove still mode relative attribute.// F/W Mode definition; UTL_ModeInitial()//#define MODE_NONE 0x00#define MODE_LINEAR 0x01#define MODE_PBC 0x02#define MODE_PROGRAM 0x04#define MODE_RANDOM 0x08#define MODE_OPENCLOSE 0x10// LLY2.60, re-adjust the ID value for UTL_QueryCapability()// ie. the ID can be continue since bit-address is no used.#define QUERY_STRICTUOP 0x0001 // Strict UOP#define QUERY_VIRTUAL_DTS 0x0002 // Virtual DTS#define QUERY_SUPPORT_PASSWORD_QUERY 0x0003 // Parental control password query -- Micky0.96// LLY1.10, add new query for checking valid AVI file, ie. A/V all valid// Otherwise, only playback Audio or Video only; or skip the file if A/V all non-valid#define QUERY_VALID_MOTION 0x0004 // valid motion file#define QUERY_KEYSET_STOP 0x0005#define QUERY_SUPPORT_ANTISHOCK 0x0006 // support anti-shock// DVD_172Micky, add two more querys for checking abort.// for the consistency between main flow and other functions.#define QUERY_ABORT_SERVO 0x0007#define QUERY_ABORT_MAINFLOW 0x0008//Aron2.31-909R, add for abort nav control#define QUERY_ABORT_NAVCTRL 0x0009//Aron2.38-909R,support still resuming#define QUERY_SUPPORT_STILLRSM 0x000A// Let ID from 0xXX00 for query current solution setting case#define QUERY_ASPECT_RATIO_SETTING 0x0100 // Aspect Ratio#define QUERY_DIGITAL_AUDIO_OUTPUT_SETTING 0x0200 // Digital audio output#define QUERY_PARENTAL_CONTROL_LEVEL_SETTING 0x0300 // Parental Control Level#define QUERY_PSCAN_SETTING 0x0400 // Progressive scan// LLY0.62, define the ID for __bLOGO, only use bit[3:0]#define LOGO_NONE 0#define LOGO_DEFAULT 1#define LOGO_CAPTURE 2#define LOGO_JPEG 3#define LOGO_CDG 4// define the LOGO attribute, only use bit[7:4]#define LOGO_CHANGE_TV_TYPE 0x80// LLY0.80, define two macro to get LOGO type and LOGO attribute#define LOGO_TYPE() (__bLOGO&0x0F)#define LOGO_ATTR() (__bLOGO&0xF0)// LLY0.95, Define the DRM playback state for __bDRMPlayState usage#define DRM_PLAY_STATE_CONTINUE 0 // continue the playback.#define DRM_PLAY_STATE_WAIT 1 // wait user operation.#define DRM_PLAY_STATE_ABORT 2 // about the playback, and return to menu#define DRM_PLAY_STATE_SKIP 3 // skip the item, and play next item// LLY1.01, define the ID for UTL_PreScanAction() 1st parameter usage// bit[7:4] means prescan mode; bit[3:0] means prescan sub-mode#define PRESCAN_MOTION_INFO 0x10#define PRESCAN_SCR_VALUE 0x20 #define PRESCAN_1ST_SCR 0x21
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -