📄 infofilter.h
字号:
/************************************************************************** (C)Copyright Cheertek Inc. 2002-2003, D300, all right reserved. Product : WinAV Firmware Date : 1998.10.10. Author : Cheertek (D300 TCH) Purpose : CD information module The moudle will support the information of any CD Disc Sources : infofilter.h/ cdinfo.c/ cdinfo2.c------------------------------------------------------------ Update Date : 1999.8.18. Name : Cheertek (D300 TCH) Description : ??? Item Source ---------------------------------------- ------------------- . Support to check CVD Encryption . Redefine ALL DiscType . Check DVD title.****************************************************************************/#ifndef __INFOFILTER_H__#define __INFOFILTER_H__//////////////////////////////////////////////////////////////////////////////////////////////////////////////// Definition declare part#define MAX_TRACKNO (99+ 1)#define OFFSET_ENTRIES_VCD 12#define OFFSET_INFO_VCD 56#define ENTRY_MAX_LEN 32// #define DEBUG_FUNCTION#define GAP_INFOVCD 668#define GAP_ENTRIES 40// Added by Chern Chyh-Chain, 08-30-2001, BEGIN// Fix problem: Some special DVD titles have a title set encrypted with not only one title key.// Current what we found is one title set encrypted with two title keys and three titles have this phenomenon.#define MAX_TITLE_KEY_NUM 2 // How many title keys per title set#define MAX_MULTI_KEYS_TITLES 5 //4 //3 // How many titles have multiple keys phenomenon we found#define INVALID_MULTI_KEYS_TITLE 0xFF // When __bMultiKeysTitle equals to this value, it means no multiple keys title inserted.#define _cSectorDVD __cSector3//////////////////////////////////////// Define for navigate type and disc / media mode.#define UNKNOW_NAVIGATE_MODE 0#define DISC_NAVIGATE_MODE 1#define MEDIA_NAVIGATE_MODE 2#define NAVIGATE_NONE 3// wyc.check, temp comment it because need to convert old define./*#define UNKNOW_DISC_MEDIA 0#define BOOK_CDDA 0x0001#define BOOK_CDI 0x0002#define BOOK_VCD 0x0004#define BOOK_DVD 0x0008#define BOOK_CVD 0x0010#define BOOK_SVCD 0x0020#define VCD_1_1 0x0100#define VCD_2_0 0x0200#define VCD_KARAOKE 0x0400#define BOOK_ENCRYPT 0x0800#define CDROM_M1 0x0001#define CDROM_M2 0x0002#define DVDROM 0x0004#define PICTURE_CD 0x0008#define FDISK 0x0010#define NO_DISC_MEDIA_IN_DRIVE 0x8000*/#define BOOK_UNKNOW 0x0000#define BOOK_CDDA 0x0001#define BOOK_CDROM 0x0002 // Mode1 only#define BOOK_CDI 0x0004#define BOOK_VCD 0x0008//#define BOOK_PHOTOCD 0x0010 // ** DVD0.16; remove it#define BOOK_DVD 0x0010#define BOOK_CVD 0x0020#define BOOK_SVCD 0x0040#define BOOK_2X 0x0060 // BOOK_CVD | BOOK_SVCD// attribute of DiscType#define VCD_1_0 BOOK_VCD#define VCD_1_1 0x1000#define VCD_2_0 0x2000#define VCD_KARAOKE 0x4000#define BOOK_ENCRYPT 0x8000 // CVD-Encryption#define CDROM_M1 0x0100#define CDROM_XA 0x0200#define CDROM_PICTURECD 0x0400 #define BOOK_M1 0x0102 // BOOK_CDROM | CDROM_M1#define BOOK_XA 0x0302 // BOOK_CDROM | CDROM_M1 | CDROM_XA#define BOOK_PICTURECD 0x0702 // BOOK_CDROM | CDROM_M1 | CDROM_XA | CDROM_PICTURECD. #define DOOR_OPEN 0x0001#define NO_DISC_IN_DRIVE 0x0800#define DISCINFO_NONE 0x00#define DISCINFO_ENCRYPT 0x01#define DISCINFO_REGION_ERROR 0x02 #define DISCINFO_DAMAGED 0x04 #define DISCINFO_UNRECOGNIZE 0x08 #define DISCINFO_UNPLAYABLE 0x0F // Track Info Byte#define PREEMPHASIS_2_CHANNELS 0x00010000#define PREEMPHASIS_4_CHANNELS 0x10010000// CDINFO_ParseInfo definition#define DISC_VOL_SPACESIZE 1#define DISC_LOC_MPATHTABLE 2// VCD definition#define VCD_BASIC 5 // max larger than DISC_XXX#define VCD_ENTRIES_ADDRESS VCD_BASIC+ 1 //#define VCD_ENTRIES VCD_BASIC+ 2 // total entries#define VCD_ENTRIES_LOCATE VCD_BASIC+ 3#define VCD_SEQUENCES VCD_BASIC+ 4#define VCD_SEQUENCE_ADDRESS VCD_BASIC+ 5#define VCD_SEQUENCE_LOCATE VCD_BASIC+ 6#define VCD_ENTRIES_TRACK VCD_BASIC+ 7// InfoVCD definition#define INFOVCD_PSDSIZE VCD_BASIC+ 20#define INFOVCD_FIRSTSEG_ADDRESS VCD_BASIC+ 21#define INFOVCD_OFFSET_MUL VCD_BASIC+ 22#define INFOVCD_MAXLIST_ID VCD_BASIC+ 23#define INFOVCD_MAXSEG_NO VCD_BASIC+ 24#define INFOVCD_SEGPLAY_ITEM VCD_BASIC+ 25// CD Information String#define VCD_CDTITLE 10#define VCD_CDID 11#define VCD_CDVER 12#define KARAOKE_SEQUENCE_TITLE 20#define KARAOKE_SONG_WRITER KARAOKE_SEQUENCE_TITLE+ 1#define KARAOKE_COMPOSER KARAOKE_SEQUENCE_TITLE+ 2// Play Segment Item#define SEGPLAY_ITEM_BASE 1#define SEGPLAY_ITEM_FIRST SEGPLAY_ITEM_BASE+ 1#define SEGPLAY_ITEM_HASAUDIO SEGPLAY_ITEM_BASE+ 2#define SEGPLAY_ITEM_HASVIDEO SEGPLAY_ITEM_BASE+ 3#define SEGPLAY_ITEM_AUD_SINGLE SEGPLAY_ITEM_BASE+ 4#define SEGPLAY_ITEM_AUD_STEREO SEGPLAY_ITEM_BASE+ 5#define SEGPLAY_ITEM_AUD_DUAL SEGPLAY_ITEM_BASE+ 6#define SEGPLAY_ITEM_VID_NTSC_STILL SEGPLAY_ITEM_BASE+ 7#define SEGPLAY_ITEM_VID_NTSC_STILLH SEGPLAY_ITEM_BASE+ 8#define SEGPLAY_ITEM_VID_NTSC_MOTION SEGPLAY_ITEM_BASE+ 9#define SEGPLAY_ITEM_VID_PAL_STILL SEGPLAY_ITEM_BASE+ 10#define SEGPLAY_ITEM_VID_PAL_STILLH SEGPLAY_ITEM_BASE+ 11#define SEGPLAY_ITEM_VID_PAL_MOTION SEGPLAY_ITEM_BASE+ 12#define SEGPLAY_ITEM_HIGH SEGPLAY_ITEM_BASE+ 20#define SEGPLAY_ITEM_NORMAL SEGPLAY_ITEM_BASE+ 21#define SEGPLAY_ITEM_MOTION SEGPLAY_ITEM_BASE+ 22#define SEGPLAY_ITEM_VALUE SEGPLAY_ITEM_BASE+ 23// Selection/ Play list#define ID_PLAYLIST 0x01#define ID_SELECTIONLIST 0x02#define ID_ENDLIST 0x04#define LIST_FIRST 300#define LIST_CHOOSE LIST_FIRST+ 1#define LIST_NEXT LIST_FIRST+ 2#define LIST_PREVIOUS LIST_FIRST+ 3#define LIST_RETURN LIST_FIRST+ 4#define LIST_DEFAULT LIST_FIRST+ 5#define LIST_TIMEOUT LIST_FIRST+ 6#define LIST_MENUSELECT LIST_FIRST+ 7#define LIST_PLAY LIST_FIRST+ 8#define LIST_WORK LIST_FIRST+ 9#define LIST_SEL_START 1#define LIST_SEL_NOS LIST_SEL_START+ 2#define LIST_SEL_BSN LIST_SEL_START+ 3#define LIST_SEL_LISTID LIST_SEL_START+ 4#define LIST_SEL_WAITTIME LIST_SEL_START+ 5#define LIST_SEL_LOOPCOUNT LIST_SEL_START+ 6#define LIST_SEL_JUMPTIME LIST_SEL_START+ 7#define LIST_SEL_PLAYITEMNO LIST_SEL_START+ 8#define LIST_SEL_SELECTION LIST_SEL_START+ 9#define LIST_SEL_DEFAULT LIST_SEL_START+10#define LIST_SEL_NEXT LIST_SEL_START+11#define LIST_PLAY_START 100#define LIST_PLAY_NOI LIST_PLAY_START+ 1#define LIST_PLAY_LISTID LIST_PLAY_START+ 2#define LIST_PLAY_PLAYTIME LIST_PLAY_START+ 3#define LIST_PLAY_PLAYITEM_WAITTIME LIST_PLAY_START+ 4#define LIST_PLAY_AUTOPAUSE_WAITTIME LIST_PLAY_START+ 5#define LIST_PLAY_PLAYITEMNO LIST_PLAY_START+ 6// The usage of Directory Record#define FILE_FLAG_NONE 0#define FILE_FLAG_FILE 0x0001#define FILE_FLAG_DIR 0x0002#define FILE_FLAG_ERROR_SERVO 0x0000 // ** TCH0.32;#define FILE_FLAG_PARENT 0x0010#define FILE_FLAG_CURRENT 0x0020#define FILE_FLAG_ROOT 0x0040// GetEntryInfo Usage [ISO9660]#define ENTRY_INFO_LOCATION 1#define ENTRY_INFO_DATALENGTH 2#define ENTRY_INFO_NAME 3#define ENTRY_INFO_ATTRIBUTE 4#define ENTRY_INFO_PARENT_ID 5// wyc1.10-909, define for DivX SP.#define ENTRY_INFO_DATALENGTH_IN_BYTE 6// wyc1.07-909, because MAX_EXTENSION_NO will be changed by outside define and structure DIRNAMEINFO will be used in non-protected module and protected module.// So DIRNAMEINFO can't use MAX_EXTENSION_NO as reference and need to use DEFAULT_MAX_EXTENSION_NO and DEFAULT_MAX_EXTENSION_NO can't be changed by outside define.// Otherwise FAT file system will be wrong because MM & FAT will reference to wrong extension number.#define DEFAULT_MAX_EXTENSION_NO 8#ifdef SUPPORT_WMA#define MAX_EXTENSION_NO 8#else#define MAX_EXTENSION_NO 7#endif// For record the file extension name type// Because OSDMM also use these define to draw icon, so these define must be sequence number mode for number increase / decrease.// wyc1.02-909, redefine it.#ifdef DOLBY_CERTIFICATION#define EXTNAME_NONE 0xFF#define EXTNAME_MP3 0#define EXTNAME_MP2 1#define EXTNAME_AC3 2#define EXTNAME_JPG 3#define EXTNAME_DAT 4#define EXTNAME_MPG 5#define EXTNAME_VOB 6#define EXTNAME_AVI 7///// Follow are not supported now.#define EXTNAME_WMA 9#define EXTNAME_DTS 10// wyc2.20-909S, add this define here to fix compile wrong when define DOLBY_CERTIFICATION#define EXTNAME_MP4 11 // LLY1.50// wyc0.80, add new define for ext name in bit resolution.#define EXT_BIT_MP3 0x1#define EXT_BIT_MP2 0x2#define EXT_BIT_AC3 0x4#define EXT_BIT_JPG 0x8#define EXT_BIT_DAT 0x10#define EXT_BIT_MPG 0x20#define EXT_BIT_VOB 0x40#define EXT_BIT_AVI 0x80#define EXT_BIT_WMA 0#define EXT_BIT_DTS 0#define EXT_BIT_ALL 0xFF#else#ifdef SUPPORT_WMA#define EXTNAME_NONE 0xFF#define EXTNAME_MP3 0#define EXTNAME_MP2 1#define EXTNAME_WMA 2#define EXTNAME_JPG 3#define EXTNAME_DAT 4#define EXTNAME_MPG 5#define EXTNAME_VOB 6#define EXTNAME_AVI 7///// Follow are not supported now.#define EXTNAME_AC3 8#define EXTNAME_DTS 9#define EXTNAME_MP4 10#define EXT_BIT_MP3 0x1#define EXT_BIT_MP2 0x2#define EXT_BIT_WMA 0x4#define EXT_BIT_JPG 0x8#define EXT_BIT_DAT 0x10#define EXT_BIT_MPG 0x20#define EXT_BIT_VOB 0x40#define EXT_BIT_AVI 0x80#else#define EXTNAME_NONE 0xFF#define EXTNAME_MP3 0#define EXTNAME_MP2 1#define EXTNAME_JPG 2#define EXTNAME_DAT 3#define EXTNAME_MPG 4#define EXTNAME_VOB 5#define EXTNAME_AVI 6///// Follow are not supported now.#define EXTNAME_AC3 9#define EXTNAME_DTS 10#define EXTNAME_MP4 11 // LLY1.50#define EXT_BIT_MP3 0x1#define EXT_BIT_MP2 0x2#define EXT_BIT_JPG 0x4#define EXT_BIT_DAT 0x8#define EXT_BIT_MPG 0x10#define EXT_BIT_VOB 0x20#define EXT_BIT_AVI 0x40#define EXT_BIT_WMA 0x0#endif //// wyc2.38-909s,#define EXT_BIT_ALL (0xFF)#endif //// wyc1.11a, add MP4 char based SP define here.#define MP4SP_EXT_NONE (0)#define MP4SP_EXT_START (1)#define MP4SP_EXT_SRT (MP4SP_EXT_START)#define MP4SP_EXT_SSA (MP4SP_EXT_START + 1)#define MP4SP_EXT_ASS (MP4SP_EXT_START + 2)#define MP4SP_EXT_SUB (MP4SP_EXT_START + 3)#define MP4SP_EXT_SMI (MP4SP_EXT_START + 4)#define MP4SP_EXT_PSB (MP4SP_EXT_START + 5)// wyc2.16-909S, add sub-title extension type PSB.#define MP4SP_EXT_END (MP4SP_EXT_PSB)// wyc.278. set the reading range of Fmanager function.#define SECTOR_FM_READ_RANGE 15#define FIRST_SESSION 1#define LAST_SESSION 0// wyc2.60-909P, the unicode tag.#define IF_UNICODE_FILE_TAG 0x80// wyc1.01-909, add one define FILE_SYSTEM_NONE#define FILE_SYSTEM_NONE 0#define FILE_SYSTEM_ISO9660 1#define FILE_SYSTEM_ISOJOLIET 2#define FILE_SYSTEM_UDF 3#define FILE_SYSTEM_FAT16 4#define FILE_SYSTEM_FAT32 5#define FILE_SYSTEM_FAT12 6// scping, add define for UDF#define AVDP_LOCATION 256#define AVDP_TAGID 2 // Anchor Volume Descriptor Pointer#define PD_TAGID 5 // Partition Descriptor// File define#define FSD_TAGID 256 // File Set Descriptor#define FID_TAGID 257 // File Identifier Descriptor#define FE_TAGID 261 // File Entry#define ICB_DIR 4 // Dir#define ICB_FILE 5 // File#define M_SESSION 10 // MultiSession for DVD-R DL#define DIRRECORD_DATALEN1 10#define DIRRECORD_DATALEN2 14#define IF_FLAG_TRIGGER_PARSE_INFO 0x00000001#define IF_FLAG_PARSE_INFO_OK 0x00000002#define IF_FLAG_PARSE_INFO_FAILED 0x00000004#define IF_FLAG_PARSE_INFO_PARSING 0x00000008#define IF_FLAG_TRIGGER_DELETE_INFO 0x00000010#define IF_FLAG_DELETE_INFO_COMLETED 0x00000020#define INFOFILTER_PARSING 0x1#define INFOFILTER_PARSE_OK 0x2#define INFOFILTER_PARSE_FAILED 0x3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -