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

📄 infofilter.h

📁 ct952 source code use for Digital Frame Photo
💻 H
📖 第 1 页 / 共 3 页
字号:
{    FILENAMEINFO        FileName;       // 14 bytes    WORD        wNextFileRecord;        // 2 bytes    ENTRY_RANGE        FileRange;       // 8 bytes    BYTE        bFileAttr;      // 1 bytes    WORD        wPrevFileRecord;        // 2 bytes    DWORD       dwFileTime;     // 4 bytes}FILE_RECORD, *PFILE_RECORD;// wyc1.10-909, add structure for DivX SRC file parsing.// wyc1.11a, rename define and re-design the config og structure.typedef struct  tagMP4SP_RECORD{    FILENAMEINFO    MP4SPName;       // 14 bytes    DWORD   dwBeginTime;    DWORD   dwLen;    //DWORD   dwMemOffset;}MP4SP_RECORD, *PMP4SP_RECORD;// elmer,typedef struct	tagMP4SP_INDEX{    WORD    wMMSPRecordEntry;    WORD    wMMSPRecordEnd;}MP4SP_INDEX, *PMP4SP_INDEX;typedef struct  tagFILE_LOG{    BYTE            bMaxStringLen;      // include end of strng "\0"    BYTE            bGapbyString;    WORD            wMaxNO;    WORD            wActualNO;    WORD            wTotalNO;    WORD            wStartNO;           // "0" is start, new from WinDVD 0.50    WORD            wAttrFilter;        // ** TCH1.01b; only support which FILE_FLAG_XXXX    BYTE            bDirIndex;    // wyc1.00, record the ending sector position of current parsing dir.    DWORD           bDirSectorNum;    // wyc1.25, use pFileRecord to replace these two pointer.    FILE_RECORD     *pFileRecord;    void            * ptrVoid;    char            * pName;    WORD            * pAttr;            // FILE_FLAG_XXXX    // wyc2.81, need to add TREE record into FILE_LOG for FManager to get the TREE record from CDINFO.    BYTE           * pTree;    // wyc1.10-909, pointer for DivX SP.    MP4SP_RECORD      *pMP4SPRecord;    BYTE            bSrcNum;}   FILE_LOG, * PFILE_LOG;//////////////////////////////////////////////////// structure definitiontypedef struct tagPATHTABLE{    BYTE  LEN_DI;    BYTE  ExtendedAttribRecordLen;    BYTE  LocationOfExtent0;    BYTE  LocationOfExtent1;    BYTE  LocationOfExtent2;    BYTE  LocationOfExtent3;///    WORD  ParentDirNum;    BYTE  ParentDirNum[2];    char  DirectoryID[128];} PACK_FORMAT PATHTABLE;typedef struct tagDIRRECORD{    BYTE  LEN_DR;    BYTE  ExtendAttribute;    BYTE    LocationExtent1 [4];        // ** TCH0.452;    BYTE  LocationExtent2_0;    BYTE  LocationExtent2_1;    BYTE  LocationExtent2_2;    BYTE  LocationExtent2_3;    BYTE    DataLen1[4];    // ** TCH0.452;    BYTE    DataLen2[4];    // ** TCH0.452;    char Time[7];         // Recording Date adn Time    BYTE flags;    BYTE FileUnitSize;    BYTE InterleaveGap;    BYTE VolumeSequence [4];    // ** TCH0.452;    BYTE FileIDLen;} PACK_FORMAT DIRRECORD;typedef struct tagNAVIGATE_MODE{    BYTE        bNavigateMode;    WORD        wDiscMediaType;} NAVIGATE_MODE, *PNAVIGATE_MODE;typedef struct tagVTOC{    BYTE  DescriptorType;    char  StandardID[5];    BYTE  DescriptorVer;    char  Unused1;    char SystemID[32];    char VolumeID[32];    char  Unused2[8];    // ** TCH0.50; 80 bytes///    DWORD VolumeSpace1;    BYTE    cVolumeSpace1[4];    BYTE  VolumeSpace2_0;    BYTE  VolumeSpace2_1;    BYTE  VolumeSpace2_2;    BYTE  VolumeSpace2_3;    char Unused3[32];    // ** TCH0.50; 120 bytes    DWORD VolumeSet;    DWORD VolumeSequence;    DWORD LogicBlockSize;    DWORD PathSize1;    DWORD PathSize2;    DWORD LPath;    DWORD LOPath;    // ** TCH0.50; 148 bytes    BYTE  MPath0;    BYTE  MPath1;    BYTE  MPath2;    BYTE  MPath3;    DWORD MOPath;    // ** TCH0.50; 156 bytes    char Root[34];    char VolumeSetID[128];    char IDs[256];    char AppID[128];} VTOC;typedef struct  tagINFOVCD{    char             SystemID[8];    unsigned char    VerID0;    unsigned char    VerID1;    char             DiscID[16];    unsigned char    AlbumVolumes0;    unsigned char    AlbumVolumes1;    unsigned char    VolumesNo0;    unsigned char    VolumesNo1;//   below will used   by VIDEO_CD 2.00    unsigned char    SizeMapTrackMotionPicture[13];    unsigned char    StatusFlag;    char             cPSDSize[4];    unsigned char    cSegmentAddress_BCD[3];    unsigned char    cMultiplier;    char             cMaxListID[2];    char             cMaxSegmentNO[2];    unsigned char    cSegmentPlayItem_Table [1980];    unsigned char    cReserved[12];} INFOVCD;typedef struct tagENTRY{    char            FileID[8];    int             SpecID;    unsigned char   EntryUsed0;    unsigned char   EntryUsed1;    unsigned char   Track1;    unsigned char   Track2;    unsigned char   Entry1;} ENTRY;typedef struct tagTRACKINFO{    BYTE        bTrackNO;    BYTE        bTrackInfo;    DWORD       dwSectors;} TRACKINFO;typedef struct  tagPlayList{    unsigned char   cListHeader;    unsigned char   cNOI;    unsigned char   cListID[2];    unsigned char   cPreviousOffset[2];    unsigned char   cNextOffset[2];    unsigned char   cReturnOffset[2];    unsigned char   cPlayTime [2];    unsigned char   cPlayItemWaitTime;    unsigned char   cAutoPauseWaitTime;    unsigned char   cItemNO [1000][2];    // suppose not exceed 1999                                        // need to change to dynamic}   PLAYLIST;typedef struct  tagSelectionList{    unsigned char   cListHeader;    unsigned char   cReserved;    unsigned char   cNOS;    unsigned char   cBSN;    unsigned char   cListID[2];    unsigned char   cPreviousOffset[2];    unsigned char   cNextOffset[2];    unsigned char   cReturnOffset[2];    unsigned char   cDefaultOffset[2];    unsigned char   cTimeOutOffset[2];    unsigned char   cWaitTime;    unsigned char   cLoopCount;    unsigned char   cPlayItemNO[2];    unsigned char   cSelectionNO [100][2];    // range from 0 - 99}   SELECTIONLIST;// elmer,typedef struct tagFAT12ENTRY{	BYTE bEntry[3];} PACK_FORMAT FAT12ENTRY, *PFAT12ENTRY;///////////////////////////////////////////////////////// Extern variables to other to reference partextern  char            * __cSector1, * __cSector2, * __cSector3, * __cSector4;       // ** TCH0.50;extern  WORD                __wCDROMReadingRange;extern  char                _cS [];     // ** TCH0.31;extern  BYTE            __bEXTAttr;extern  DWORD   __dwSectorDir;extern  BYTE    __bDVDROM;extern  BYTE    __bFileSystem;extern      DWORD       __dwSectorLastSession;extern  BYTE    _bCDROMDecodingMode;extern  DWORD       __dwSectorPSD;      //It'll record PSD sector NO. as saving read time// wyc2.60-909P,extern  BYTE    __dwLPath;extern  DWORD   _dwSectorMPath;extern  DWORD               _dwMPathSize;       // record MPath Sizeextern  WORD        __wOffsetPSD;   // share with cdinfo2.cextern  DWORD       __dwSectorLOT;      //It'll record PSD sector NO. as saving read timeextern  DWORD           __dwCD2Sector;extern  WORD            __wStart_INFOVCD, __wStart_ENTRIES;extern  BYTE    __bVTSN_MultiKeys;extern  DWORD   __dwSector_MultiKeys [];// wyc2.55-909P-AP,extern BYTE    __bIFParseMode;// FAT extern variables.#ifdef SUPPORT_FAT_FILE_SYSTEMextern  BYTE __bSecsPerClu;extern WORD __wDataStartSec;extern WORD __wBYTEsPerSec;#endif //// UDF extern variables.#ifndef NO_CDDISC //++CoCo2.37pextern char *__cSectorFE;extern DWORD _dwPDLoc, _dwFSDLoc, _dwFELoc, _dwFIDLoc;extern WORD _wFIDNumber, _wFIDPoint;extern BYTE _bDirNO;extern WORD _wFileNO;#endif //#ifndef NO_CDDISC //++CoCo2.37p// elmer#ifdef SUPPORT_CHAR_SUBPICTUREextern BYTE __bAVIFileCnt, __bMP4SPFileCnt;#endif// wyc2.21-909S, extern variable.extern DWORD _dwIFTempBuffAddr;////////////////////////////////////////////////// export Functions// Export functions that located in INFOFILTER module.BOOL    INFOFILTER_GetFileSystem (void);BOOL    INFOFILTER_GetDiscTypeFromSource (void);WORD    INFOFILTER_RecognizeMedia (void);#ifndef NO_CDDISC //++CoCo2.37pvoid        INFOFILTER_PrepareVCD ( WORD wDiscType );#endif //#ifndef NO_CDDISC //++CoCo2.37pBYTE    INFOFILTER_AbortParsing(void);BYTE    INFOFILTER_TriggerParsingInfo(BYTE	bSourceID);BYTE    INFOFILTER_ParseInformation(BYTE	bSourceID);BYTE    INFOFILTER_GetParsingStatus(BYTE	bSourceID);BYTE    INFOFILTER_TriggerDeletingInfo(BYTE	bSourceID);BYTE    INFOFILTER_DumpSectors (DWORD   dwSecLBA, WORD  wSecNO, BYTE* pDumpBuff, DWORD dwDumpBytes, WORD wByteOffset);void    INFOFILTER_Thread( DWORD index );void    INFOFILTER_ThreadInit(void);void    INFOFILTER_ThreadDelete(void);BYTE INFOFILTER_Detect_HDCD(void);BYTE INFOFILTER_Detect_CDDTS(void);BYTE INFOFILTER_Detect_CDG(void);void HAL_DetectChipVersion(void); //kevin0.80avoid INFOFILTER_ResetDumpSectors(void);// wyc2.55-909P-AP,void INFOFILTER_SetParseMode(BYTE bParseMode);// wyc2.17b-909S,void    INFOFILTER_CFGUserData(DWORD    dwUserDataAddr);// wyc2.21-909S,void    INFOFILTER_SetTempBuff(DWORD    dwBuffAddr);void INFOFILTER_CFGCDGDetectBuff(DWORD dwBuffST, DWORD dwBuffEND, DWORD dwBuffENDNOCDG);// wyc2.36a-909s,BYTE INFOFILTER_FUSSMPEGCD (BYTE bMode, BYTE bParam);//winnie 2.52, this nwe function to check special vcd disc using mpeg sector format 0x000001BA// wyc2.53-909p,BOOL _INFOFILTER_CheckMPEGVCD(void);// wwyc2.01-909S, prototype.// wyc2.14-909s, move function to utl.h.//void INFOFILTER_ChgDumpMode(BYTE bDumpMode);// Export functions that located in CDINFO module.BOOL    CDINFO_GetTrackNO ( BYTE * StartTrack, BYTE * EndTrack, DWORD * LeadOut );BOOL    CDINFO_GetTrackInfo ( BYTE TrackNO, DWORD * Startpoint, BYTE * TrackInfo );BOOL    CDINFO_ParseInfo ( WORD nMode, DWORD * pdwVal, WORD nSubMode );BYTE    CDINFO_CheckSegPlayItem ( WORD nMode, WORD nItem );WORD    CDINFO_GetList ( WORD nMode, WORD nSubMode );WORD    CDINFO_ParseList ( WORD nMode, WORD * pWord );WORD        CDINFO_GetListIDOffset ( WORD nItem );DWORD   CDINFO_SearchStartSector ( DWORD dwStartSector );#ifdef    TESTBOOL        CDINFO_ParseInfoString ( WORD nWord, WORD nTrack, char * pChar, int iLen );#endif    // TEST//  Parse ISO9660#ifndef NO_CDDISC //++CoCo2.37pBOOL    CD_DetectCVDEncryption (void);BOOL    CD_GetEntryInfo ( BYTE bType, DWORD * pVal );BYTE    CD_GetEntryByFileName(char *pFileName, char *pDirName, DWORD *dwFileLoc, DWORD *dwFileLength);WORD    CD_GetFirstEntry ( char * pEntry );WORD    CD_SetDirectoryLocation ( DWORD dwSector );WORD    CD_GetEntrybyIndex ( BYTE bIndex, char * pEntry );WORD    CD_GetTotalEntriesbyDir ( PFILE_LOG pFILELog );       // ** TCH0.38;WORD    CD_GetTotalEntriesbyPath ( PFILE_LOG pFILELog );      // ** TCH0.38;DWORD   CD_ParserDirectory ( char * pDir, char * pExt );#endif //#ifndef NO_CDDISC //++CoCo2.37p// wyc1.01-909, move prototype to header file to let FAT module can use this function.BYTE    CD_CheckExtName(char   *pExtName  );// wyc2.55-909P-AP,BYTE    CD_CheckAPExtName(char   *pExtName  );// wyc1.11a, new function to parse MP4 char SP file.BYTE    CD_CheckMP4SPExtName(char   *pExtName  );#ifndef NO_CDDISC //++CoCo2.37p// Export functions that located in UDF module. add by scpingextern BYTE UDF_CheckFileSystem(void);extern void UDF_BuildFileSystem(PFAT_FS_FAT_DIRLOG pUDFDir_Log, PFILE_LOG pFile_Log);extern DWORD _UDF_ReadAVDP(void);extern DWORD _UDF_GetFSD(DWORD dwPDLoc);extern DWORD _UDF_GetRoot(DWORD dwFSDLoc);extern DWORD _UDF_ReadRootFE(DWORD dwFELoc);extern BYTE _UDF_ReadFID(DWORD dwFIDLoc, PFAT_FS_FAT_DIRLOG pUDFDir_Log, PFILE_LOG pFile_Log);extern BYTE _UDF_ReadFE(DWORD dwFELoc, PFAT_FS_FAT_DIRLOG pUDFDir_Log, PFILE_LOG pFile_Log);extern WORD UDF_SwapWORD(WORD wData);extern DWORD UDF_SwapDWORD(DWORD dwData);extern BYTE UDF_CheckLayerJump(DWORD dwID, DWORD dwLoc, DWORD dwLen);//BYTE    UDF_ReadInfoData(WORD    wLBASector, BYTE* pDumpPointer);//BYTE    UDF_GetFileSetLoc(void);//BYTE    UDF_BuildFileSystem(void);#endif //#ifndef NO_CDDISC //++CoCo2.37p#ifdef SUPPORT_FAT_FILE_SYSTEMextern BYTE FAT_BuildFileSystem(BYTE bSourceID, PFAT_FS_FAT_DIRLOG pFATDir_Log, PFILE_LOG pFile_Log, PMP4SP_INDEX pMP4SPIndex);extern BYTE FAT_CheckUSBSecNum(DWORD *dwTimeNow, DWORD *dwTimeEnd, DWORD dwTimeBegin, DWORD *dwOffset);extern BYTE FAT_GetBPBInfo(BYTE bSourceID);// wyc2.15-909S, extern function.extern DWORD FAT_GetNextClus(BYTE bCallByUSBSRC, DWORD dwClusNum);extern BYTE FAT_AssignFATTableMem(DWORD* pFATTable);extern WORD FAT_GetFATInfo(BYTE bFATInfoType);extern DWORD FAT_ClusToSector(DWORD dwClusNum);extern DWORD FAT_SectorToClus(DWORD dwSecNum);extern BYTE FAT_SetWorkMem(BYTE* pFATBuff, WORD wMemSize);extern void FAT_InitVars(void);// wyc1.06-909, new functionextern BYTE FAT_GetEntryByFileName(char *pFileName, char *pDirName, DWORD *dwFileLoc, DWORD *dwFileLength);#endif //#endif  // __INFOFILTER_H__

⌨️ 快捷键说明

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