📄 dvd_define.h
字号:
}ImpUseExtAttr ;
/* File Identifier Descriptor (ECMA 167 4/14.4) */
typedef __packed struct
{
tag descTag;
unsigned short fileVersionNum;
unsigned char fileCharacteristics;
unsigned char lengthFileIdent;
long_ad icb;
unsigned short lengthOfImpUse;
unsigned char impUse;
char fileIdent;
unsigned char padding;
}FileIdentDesc ;
/* Short Allocation Descriptor (ECMA 167 4/14.14.1) */
typedef __packed struct
{
unsigned extLength;
unsigned extPosition;
} short_ad;
/*16-bit both-byte order*/
typedef __packed struct
{
unsigned short extLocation;
unsigned short extLocationCRC;
} BB16;
/*32-bit both-byte order*/
typedef __packed struct
{
unsigned extLocation;
unsigned extLocationCRC;
} BB32;
/*Data and Time*/
typedef __packed struct
{
unsigned char year; // since 1900
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned char Offset; //offset from Greenwich Mean Time
} DataTime;
/*Path Table Record*/
typedef __packed struct
{
unsigned char LengthDirIdent;
unsigned char ExtAttrRecLength;
unsigned ExtendLocation;
unsigned short ParentDirNum;
dstring DirIdent[31];
unsigned char padding;
}PathTableRecord ;
/*Directory Record*/
typedef __packed struct
{
unsigned char LengthDirRec;
unsigned char ExtAttrRecLength;
BB32 ExtendLocation;
BB32 DataLength;
DataTime RecDataTime;
unsigned char FileFlags;
unsigned char FileUnitSize;
unsigned char InterleaveGapSize;
BB16 VolSeqNum;
unsigned char LengthFileIdent;
dstring FileIdent[31];
unsigned char padding;
unsigned char SyeUse;
}DirectoryRecord ;
/*Primary Volume Descriptor(ISO 9660)*/
typedef __packed struct
{
unsigned char VolDescType;
dstring StdIdent[5];
unsigned char VolDescVer;
unsigned char UnusedField1;
dstring SysIdent[32];
dstring VolIdent[32];
unsigned char UnusedField2[8];
BB32 VolSpaceSize;
unsigned char UnusedField3[32];
BB16 VolSetSize;
BB16 VolSeqNum;
BB16 LogicalBlockSize;
BB32 PathTableSize;
unsigned LocOccuTypeLPathTable;
unsigned LocOpTypeLPathTable;
unsigned LocOccuTypeMPathTable;
unsigned LocOpTypeMPathTable;
unsigned char DirRecRootDir[34];
dstring VolSetIdent[128];
dstring PublisherIdent[128];
dstring DataPreparerIdent[128];
dstring ApplicationIdent[128];
dstring CopyrightFileIdent[37];
dstring AbstractFileIdent[37];
dstring BibliographicFileIdent[37];
unsigned char VolCrtDataTime[17];
unsigned char VolModDataTime[17];
unsigned char VolExpDataTime[17];
unsigned char VolEffDataTime[17];
unsigned char FileStrVer;
unsigned char Reserved;
}PrimaryVolDesc9660;
#pragma Pack()
// Primary volume Descriptor (UDF)
typedef struct
{
tag des_tag; //16
unsigned vol_des_seq_no; //4
unsigned vol_des_no; //4
unsigned char volume_id[32]; //32
unsigned short vol_seq_no; //2
unsigned short max_vol_seq_num; //2
unsigned short interchange_level; //2
unsigned short max_interchange_level; //2
unsigned char_set_list; //4
unsigned max_char_set_list; //4
unsigned char vol_set_id[128]; //128
} Pri_Des;
//DVD external Data Structure
typedef struct
{
unsigned char Error;
unsigned char FatalError;
unsigned char Forbidden;
unsigned char Exit;
unsigned char SkipPreCmd;
unsigned char DoCellCmd;
unsigned char SetVobuSA;
unsigned char InitPresentation;
unsigned char SeamlessAngleChange;
unsigned char DataInsert;
unsigned char Iframedone;
unsigned char AutoAction;
unsigned char ProcessEvent;
}DVDFLAG;
typedef struct
{
unsigned char TitleNo;
unsigned char TotalTitleNo;
unsigned short ChapterNo;
unsigned short TotalChapterNo;
unsigned TitleElapseTime;
unsigned ChapterElapseTime;
unsigned TotalTitleTime;
unsigned TotalChapterTime;
unsigned char AudioNo;
unsigned char TotalAudioNo;
unsigned char SubtitleNo;
unsigned char SubtitleFlag; //0: off, 1: on
unsigned char TotalSubtitleNo;
unsigned char AngleNo;
unsigned char TotalAngleNo;
unsigned short AstSpecificCode;
unsigned char AudioChannelNo;
unsigned char AuidoCodingMode;
unsigned char AudioQuantization;;
unsigned char AudioFS;
unsigned short SpstSpecificCode;
unsigned char Domain;
unsigned PlaySeq;
unsigned PlayStatus;
unsigned char PlaySpeed;
unsigned char PlayDirection; //0: forward, 1:backward
}DVDINFO;
typedef struct
{
unsigned char Domain;
unsigned PlaySeq;
unsigned PlayStatus;
unsigned char PlaySpeed;
unsigned char PlayDirection; //0: forward, 1:backward
unsigned SearchTime; //unit: second
unsigned TotalTime; //unit: frame
unsigned PreviousTime; //unit: frame
unsigned CellTime; //unit: frame
unsigned char FramesPerSec;
unsigned char PgcAstNo;
unsigned char PgcSubNo;
unsigned char StillType;
unsigned char StillTimeOut;
unsigned char NavTimeOut;
unsigned char VolSetId[16];
unsigned char VolumeID[32];
}DVDSTATE;
typedef struct
{
unsigned char PlaybackState;
unsigned char VobuState;
unsigned Address;
unsigned Count;
unsigned DestMem;
unsigned FirstVobuSA;
unsigned VobuSA;
unsigned VobuEA;
unsigned CellEA;
unsigned FileSA;
unsigned FileEA;
signed FileSABegin;
unsigned char CurVOB;
unsigned VOBFileLen[99];
char FileName[16];
char *CurFile;
DataSrc_t DataSrc;
}DATAMSG;
typedef struct
{
unsigned char Flag; //1: Play, 2:Store, 3:Clear
unsigned char Vtsn;
unsigned char PgcNo;
unsigned char PgNo;
unsigned char CellNo;
unsigned char Action;
unsigned short Sprm4;
unsigned short Sprm5;
unsigned short Sprm6;
unsigned short Sprm7;
unsigned short Sprm8;
unsigned Address;
}POINT_INFO;
typedef struct
{
POINT_INFO APoint;
POINT_INFO BPoint;
unsigned char Type;
unsigned char AngleCell[9]; //For Angle change during AB repeat.
unsigned AngleAddress[9];
}AB_INFO;
typedef struct
{
int fd;
int fd_video;
int fd_decoder;
int fd_target;
OS_EVENT *audio_if;
unsigned logo;
unsigned logosize;
INT32S StillTimer;
INT32S NavTimer;
}DVD_PLAY;
/********************* Temporary Code ******************************/
/*
Temporary_Code()
*/
#define HEAPBUFSIZE (2048*20)
typedef union
{
unsigned char buf[HEAPBUFSIZE];
unsigned char psd[HEAPBUFSIZE];
unsigned short wdbuf[HEAPBUFSIZE/2];
unsigned long dwbuf[HEAPBUFSIZE/4];
} HEAPBUF;
typedef struct
{
unsigned char half_display;
unsigned char DVD_letterbox_panscan; // 3 - panscan 2 - letterbox
unsigned char Disc_letterbox_panscan; // 0-4:3 1 - wide 2 - letterbox 3 - panscan
unsigned char Disp_letterbox_panscan; // 0-4:3 1 - wide 2 - letterbox 3 - panscan
unsigned char Decode_tran_type; // 0-no_tran 1 - N_2_P 2 - P_2_N
unsigned char new_time;
unsigned char time_display_en;
unsigned char time_display_req;
unsigned cell_time;
unsigned vobu_se_e_ptm;
unsigned previous_pci_nv_pck_lbn;
unsigned vobu_e_ptm;
unsigned char DSI_wait_vobu_s_ptm;
} DISPVAR;
#define VB_WR_PTR 0x714 /* Video Buffer Write Pointer */
#define AIU_958_chstat0 0x508
/* Tag Identifiers (ECMA 167 3/7.2.1) */
#define UNUSED_DESC 0x0000
#define PRIMARY_VOL_DESC 0x0001
#define ANCHOR_VOL_DESC_PTR 0x0002
#define VOL_DESC_PTR 0x0003
#define IMP_USE_VOL_DESC 0x0004
#define PARTITION_DESC 0x0005
#define LOGICAL_VOL_DESC 0x0006
#define UNALLOC_SPACE_DESC 0x0007
#define TERMINATING_DESC 0x0008
#define LOGICAL_VOL_INTEGRITY_DESC 0x0009
/* Tag Identifiers (ECMA 167 4/7.2.1) */
#define FILE_SET_DESC 0x0100
#define FILE_IDENT_DESC 0x0101
#define ALLOC_EXTENT_DESC 0x0102
#define INDIRECT_ENTRY 0x0103
#define TERMINAL_ENTRY 0x0104
#define FILE_ENTRY 0x0105
#define EXTENDED_ATTRE_HEADER_DESC 0x0106
#define UNALLOCATED_SPACE_ENTRY 0x0107
#define SPACE_BITMAP_DESC 0x0108
#define PARTITION_INTEGRITY_ENTRY 0x0109
#define ARM_AUDIO_PARSER 0xf47
#define ANGLE_CHANGED 0x785 /* shared with PIP_LUMA_RPT_2 */
#define AUDIO_TYPE_AC3 0
#define AUDIO_TYPE_AC3_SPDIF 1
#define AUDIO_TYPE_MPEG1 2
#define AUDIO_TYPE_MPEG2 3
#define AUDIO_TYPE_LPCM 4
#define AUDIO_TYPE_LPCM_SPDIF 5
#define AUDIO_TYPE_DTS 6
#define AUDIO_TYPE_DTS16 7
#define AUDIO_TYPE_DTS14 8
#define AUDIO_TYPE_DTS_SPDIF 9
#define AUDIO_TYPE_MP3 10
#define AUDIO_TYPE_DIVXAC3 11
#define AUDIO_TYPE_DIVXPCM 12
/* for tv_type */
#define TV_AUTO 0
#define TV_NTSC 1
#define TV_PAL 2
#define TV_PAL_M 3
#define TV_480P 3
#define TV_576P 4
#define TV_720P 5
#define TV_1080I 6
#define TV_VGA 7
#define TV_SVGA 8
#define TV_XGA 9
#define TV_SXGA 10
#define TV_1080P 11
#define DISPLAY_NORMAL_PRO 0x10
#define DISPLAY_N_2_P_NORMAL_PRO 0x11
#define DISPLAY_P_2_N_NORMAL_PRO 0x12
#define DISPLAY_VCD_PRO 0x13
#define DISPLAY_N_2_P_VCD_PRO 0x14
#define DISPLAY_P_2_N_VCD_PRO 0x15
#define DISPLAY_LETTERBOX_PRO 0x16
#define DISPLAY_N_2_P_LETTERBOX_PRO 0x17
#define DISPLAY_P_2_N_LETTERBOX_PRO 0x18
//#define VIU_osd2ff_hold 0xa93
#define DIGEST 0x01
#define DUMPDATA_DVD 0x02
#define DUMPDATA_VCD 0x03
#define TRAN_TYPE 0x04
#define MPEG_PLAY 0x05
#define END_PAUSE 0x07
#define FAST_FORWARD 0x09
#define READ_DECODE_STATUS 0x0a
#define SINGLE_STEP 0x0b
#define SLOW_MOTION 0x0c
#define PCI_DONE 0x0f
#define DSI_DONE 0x10
#define GET_DECODE_FRAMES 0x11
#define FORCE_DISPLAY 0x12
#define SWITCH_OSD 0x13
#define SPU_READY 0x14
#define NEW_AUDIO_BEGIN 0x15
#define RE_SYNC 0x16
#define VCD_SEEK_BEGIN 0x17
#define DECODE_I_ONLY 0x18
#define DISPLAY_READY_INT 0x1a
#define IP_ERROR_INT 0x1b
#define ONE_FRAME_PAUSE 0x1c
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -