📄 dvd_define.h
字号:
unsigned short linksins_operand;
unsigned short c2;
__packed struct
{
unsigned char cp2;
unsigned char cp1;
} cp1cp2;
} op1; /* bit0 - bit15 for operand 1*/
__packed union
{
unsigned jump_operand;
unsigned setsystem_operand;
__packed struct{
unsigned short c2;
unsigned char cp1;
unsigned char reserved;
} cp1c2;
struct{
unsigned ss : 16;
unsigned sdg: 4;
unsigned res: 12;
} sdgss;
struct{
unsigned ss : 16;
unsigned sdg: 4;
unsigned res: 4;
unsigned cp1: 8;
} cp1sdgss;
__packed struct{
unsigned short c2;
unsigned short ss;
} ssc2;
__packed struct{
unsigned short c2;
unsigned char cp1;
unsigned char ssp;
} sspcp1c2;
__packed struct{
unsigned char cp2;
unsigned char cp1;
unsigned short ssv;
} ssvcp1cp2;
} op2; /* bit16 - bit47 for operand 2*/
__packed union
{
struct
{
unsigned branch_field: 4;
unsigned compare_field: 3;
unsigned i_flag_for_compare: 1;
unsigned reserved: 4;
unsigned cmd_id_2: 1;
unsigned cmd_id_1: 3;
unsigned reserved1: 16;
} opcode1;
struct
{
unsigned branch_field: 4;
unsigned compare_field: 3;
unsigned i_flag_for_compare: 1;
unsigned set_setsystem_field: 4;
unsigned i_flag_for_set_setsystem: 1;
unsigned cmd_id_1: 3;
unsigned reserved: 16;
} opcode2;
struct
{
unsigned scg_sdg: 4;
unsigned compare_field: 3;
unsigned i_flag_for_compare: 1;
unsigned set_field: 4;
unsigned i_flag_for_set: 1;
unsigned cmd_id_1: 3;
unsigned reserved: 16;
} opcode3;
} opcode;
} insn;
#pragma Pack()
#pragma Pack(4)
//For Sub-picture
typedef struct
{
unsigned short spu_size;
unsigned short dcsq;
unsigned spu_start;
unsigned PTS;
} SPU_STACK;
typedef struct
{
unsigned short ChangeStartPixelNum;
unsigned NewColor;
unsigned NewContrast;
} SPU_PX_CTLI;
typedef struct
{
unsigned short ChangeStartLineNum;
unsigned short ChangeEndLineNum;
unsigned char NumOfChanges;
unsigned ln_ctli;
SPU_PX_CTLI px_ctli[8];
} SPU_PXCD;
typedef struct
{
SPU_STACK cur_spu;
SPU_STACK bak_spu;
unsigned char stack_read;
unsigned char stack_write;
unsigned char spu_out_valid;
unsigned char forced_subpicture;
unsigned valid_spu_start;
SPU_STACK stack[SPU_STACK_DEPTH];
unsigned point;
unsigned char point_offset;
unsigned char colcon_addr_valid;
unsigned char spu_enable;
unsigned char display_pending;
unsigned char pgc_sp_pl_ready;
unsigned short hardware_out_VIU_spu_def_plut_c;
unsigned short hardware_out_VIU_spu_def_plut_a;
unsigned short hardware_out_VIU_vmx_subp_hstart;
unsigned short hardware_out_VIU_vmx_subp_hend;
unsigned short hardware_out_VIU_vmx_subp_vstart;
unsigned short hardware_out_VIU_vmx_subp_vend;
unsigned short hardware_out_VIU_spu_start_x;
unsigned short hardware_out_VIU_spu_end_x;
unsigned short hardware_out_VIU_spu_start_y;
unsigned short spu_color;
unsigned short spu_alpha;
unsigned short spu_start_x;
unsigned short spu_end_x;
unsigned short spu_start_y;
unsigned short spu_end_y;
unsigned short top_pxd_addr;
unsigned short bottom_pxd_addr;
unsigned top_out_pxd_addr;
unsigned bottom_out_pxd_addr;
unsigned disp_colcon_addr;
SPU_PXCD pxcd; //T329x using two highlight to implement the PXCD
SPU_STACK cur_stack;
pgc_osd2_info pgc_osd2;
unsigned short hli_sl_color;
unsigned short hli_sl_alpha;
unsigned short hli_ac_color;
unsigned short hli_ac_alpha;
unsigned disable_SCR;
} SPUVAR;
typedef struct
{
unsigned char current_button;
unsigned short BTNN_PENDING;
unsigned high_pending;
} HLIVAR;
//For Resume
typedef struct
{
unsigned char rsm_valid;
unsigned char vtsn;
unsigned char mission;
unsigned char cell_no;
unsigned char pg_no;
unsigned char pgc_no;
unsigned char action;
unsigned short sprm4;
unsigned short sprm5;
unsigned short sprm6;
unsigned short sprm7;
unsigned short sprm8;
unsigned short rsm_time;
unsigned nv_pck_lbn;
} rsm_info;
typedef struct
{
unsigned short value;
unsigned char mode;
} gprm_type;
typedef struct
{
unsigned char buff[8196]; //1+1+2+4*2048
}VTS_TMAP;
typedef struct
{
unsigned short sprm[24]; /* System parameters */
gprm_type gprm[16]; /* General parameters */
rsm_info rsm; /* Resume information */
PGC currentpgc; /* Currently active PGC */
VTS_TMAP currenttmap;
unsigned char current_display_config;
unsigned char next_display_config;
unsigned fwdi[19];
unsigned nv_pck_lbn;
} DVDVAR;
#pragma Pack()
//For UDF/9660
#pragma Pack(1)
/* Descriptor Tag (ECMA 167 3/7.2) */
typedef __packed struct
{
unsigned short tagIdent;
unsigned short descVersion;
unsigned char tagChecksum;
unsigned char reserved;
unsigned short tagSerialNum;
unsigned short descCRC;
unsigned short descCRCLength;
unsigned tagLocation;
} tag;
/* Extent Descriptor (ECMA 167 3/7.1) */
typedef __packed struct
{
unsigned extLength;
unsigned extLocation;
} extent_ad;
/* Anchor Volume Descriptor Pointer (ECMA 167 3/10.2) */
typedef __packed struct
{
tag descTag;
extent_ad mainVolDescSeqExt;
extent_ad reserveVolDescSeqExt;
unsigned char reserved[480];
} AnchorVolDescPtr;
/* Entity Identifier (ECMA 167 1/7.4) */
typedef __packed struct
{
unsigned char flags;
unsigned char ident[23];
unsigned char identSuffix[8];
} regid;
/* Partition Descriptor (ECMA 167 3/10.5) */
typedef __packed struct {
tag descTag;
unsigned volDescSeqNum;
unsigned short partitionFlags;
unsigned short partitionNumber;
regid partitionContents;
unsigned char partitionContentsUse[128];
unsigned accessType;
unsigned partitionStartingLocation;
unsigned partitionLength;
regid impIdent;
unsigned char impUse[128];
unsigned char reserved[156];
} PartitionDesc;
/* CS0 Charspec (ECMA 167 1/7.2.1) */
typedef __packed struct
{
unsigned char charSetType;
unsigned char charSetInfo[63];
} charspec;
typedef unsigned char dstring;
/* Recorded Address (ECMA 167 4/7.1) */
typedef __packed struct
{
unsigned logicalBlockNum;
unsigned short partitionReferenceNum;
} lb_addr;
/* Long Allocation Descriptor (ECMA 167 4/14.14.2) */
typedef __packed struct
{
unsigned extLength;
lb_addr extLocation;
unsigned char impUse[6];
} long_ad;
/* Logical Volume Descriptor (ECMA 167 3/10.6) */
typedef __packed struct
{
tag descTag;
unsigned volDescSeqNum;
charspec descCharSet;
dstring logicalVolIdent[128];
unsigned logicalBlockSize;
regid domainIdent;
long_ad logicalVolContentsUse;
unsigned mapTableLength;
unsigned numPartitionMaps;
regid impIdent;
unsigned char impUse[128];
extent_ad integritySeqExt;
unsigned char partitionMaps[6];
}LogicalVolDesc;
/* Timestamp (ECMA 167 1/7.3) */
typedef __packed struct
{
unsigned short typeAndTimezone;
unsigned short year;
unsigned char month;
unsigned char day;
unsigned char hour;
unsigned char minute;
unsigned char second;
unsigned char centiseconds;
unsigned char hundredsOfMicroseconds;
unsigned char microseconds;
} timestamp;
/* File Set Descriptor (ECMA 167 4/14.1) */
typedef __packed struct
{
tag descTag;
timestamp recordingDateandTime;
unsigned short interchangeLvl;
unsigned short maxInterchangeLvl;
unsigned charSetList;
unsigned maxCharSetList;
unsigned fileSetNum;
unsigned fileSetDescNum;
charspec logicalVolIdentCharSet;
dstring logicalVolIdent[128];
charspec fileSetCharSet;
dstring fileSetIdent[32];
dstring copyrightFileIdent[32];
dstring abstractFileIdent[32];
long_ad rootDirectoryICB;
regid domainIdent;
long_ad nextExt;
unsigned char reserved[48];
} FileSetDesc;
/* ICB Tag (ECMA 167 4/14.6) */
typedef __packed struct
{
unsigned priorRecordedNumDirectEntries;
unsigned short strategyType;
unsigned char strategyParameter[2];
unsigned short numEntries;
unsigned char reserved;
unsigned char fileType;
lb_addr parentICBLocation;
unsigned short flags;
} icbtag;
/* File Entry (ECMA 167 4/14.9) */
typedef __packed struct
{
tag descTag;
icbtag icbTag;
unsigned uid;
unsigned gid;
unsigned permissions;
unsigned short fileLinkCount;
unsigned char recordFormat;
unsigned char recordDisplayAttr;
unsigned int recordLength;
unsigned informationLength[2]; // CHIP_T25
unsigned logicalBlocksRecorded[2]; // CHIP_T25
timestamp accessTime;
timestamp modificationTime;
timestamp attrTime;
unsigned checkpoint;
long_ad extendedAttrICB;
regid impIdent;
unsigned uniqueID[2]; // CHIP_T25
unsigned lengthExtendedAttr;
unsigned lengthAllocDescs;
unsigned char extendedAttr;
unsigned char allocDescs;
}FileEntry ;
typedef __packed struct
{
tag descTag;
unsigned Imp_Attr_Location;
unsigned App_Attr_Location;
}ExtendedAttr ;
typedef __packed struct
{
unsigned Attr_Type;
unsigned char Attr_SubType;
unsigned char reserved[3];
unsigned Attr_Length;
unsigned Imp_Use_Length;
regid EntityID;
unsigned char Use_Field;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -