📄 dvd_define.h
字号:
unsigned char reserved1[16];
unsigned char vts_ns_reserved;
unsigned char vts_ns; /* number of video title set */
unsigned char pvr_id[32];
unsigned char pos_cd[8];
unsigned char reserved3[24];
unsigned vmgi_mat_ea; /* end address of vmgi_mat with RBN,big endian */
unsigned fp_pgci_sa; /* FP_PGCI_SA with RBN,big endian */
unsigned char reserved4[56];
unsigned vmgm_vobs_sa;
unsigned tt_srpt_sa;
unsigned vmgm_pgci_ut_sa;
unsigned ptl_mait_sa;
unsigned vts_atrt_sa;
unsigned txtdt_mg_sa;
unsigned vmgm_c_adt_sa;
unsigned vmgm_vobu_admap_sa; /* all above address with RLBN,big endian */
unsigned char reserved5[30];
v_atr vmgm_v_atr;
unsigned char vmgm_ast_ns_reserved;
unsigned char vmgm_ast_ns;
ast_atr vmgm_ast_atr;
unsigned char reserved7[72];
unsigned char vmgm_spst_ns_reserved;
unsigned char vmgm_spst_ns;
spst_atr vmgm_spst_atr;
unsigned char reserved9[676];
pgc_gi fp_pgc_gi; /* FP_PGCI */
pgc_cmdt fp_pgc_cmdt; /* FP_PGCI */
} VMGI_MAT; /* total 2292 bytes */
/* title search pointer */
typedef __packed struct
{
unsigned char tt_pb_ty;
unsigned char agl_ns;
unsigned short ptt_ns;
unsigned short tt_ptl_id_fld;
unsigned char vtsn;
unsigned char vts_ttn;
unsigned int vts_sa;
}tt_srp; /* 12 bytes */
typedef __packed struct
{
__packed struct
{
unsigned short tt_srp_ns;
unsigned short reserved;
unsigned tt_srpt_ea;
} tt_srpti;
tt_srp tt_srp[99]; /* max size 99*12 byte */
} TT_SRPT; /* max size 99*12 + 8 = 1196 bytes */
typedef __packed struct
{
union
{
__packed struct
{
unsigned menu_id: 4;
unsigned reserved: 3;
unsigned entry_type: 1;
unsigned reserved1: 4;
unsigned block_type: 2;
unsigned block_mode: 2;
unsigned ptl_id_fld: 16;
} menu_pgc_cat;
__packed struct
{
unsigned vts_ttn: 7;
unsigned entry_type: 1;
unsigned reserved1: 4;
unsigned block_type: 2;
unsigned block_mode: 2;
unsigned ptl_id_fld: 16;
} vts_pgc_cat;
__packed struct
{
unsigned short reserved;
unsigned short ptl_id_fld;
} ptl_id_fld;
} pgc_cat;
unsigned pgci_sa;
} pgci_srp;
typedef __packed struct
{
unsigned short pgci_srp_ns;
unsigned short reserved;
unsigned ea;
pgci_srp pgci_srp[4095]; /* if pgci_srp_ns large than 4095, the system memeory out */
}pgci_srpt;
typedef __packed struct
{
unsigned short pgci_srp_ns;
unsigned short reserved;
unsigned ea;
pgci_srp pgci_srp[6143]; /* if pgci_srp_ns large than 6143, the system memeory out */
}pgci_srpt_48k;
#pragma Pack()
#pragma Pack(4)
typedef union
{
pgci_srpt pgci_srpt;
unsigned char buff[32768];
} PGCI_UT;
typedef union
{
pgci_srpt_48k pgci_srpt;
unsigned char buff[49152];
} PGCI_UT_48K;
typedef struct
{
VMGI_MAT vmgi_mat;
TT_SRPT tt_srpt;
unsigned short ptl_id_fld[8][100]; /* the ptl_id_fld max space */
PGCI_UT_48K vmgm_lu;
unsigned VmgiStart;
unsigned lu_sa;
} VMGI; /* total 2292 + 1196 + 800 bytes */
#pragma Pack()
//For VTSI
#pragma Pack(1)
typedef __packed struct
{
unsigned char vts_id[12];
unsigned vts_ea;
unsigned char reserved1[12];
unsigned vtsi_ea;
unsigned char vern_reserved;
unsigned char vern;
__packed struct
{
unsigned reserved: 24;
unsigned application_type: 4;
unsigned reserved1: 4;
} vts_cat;
unsigned char reserved2[90];
unsigned vtsi_mat_ea;
unsigned char reserved3[60];
unsigned vtsm_vobs_sa;
unsigned vtstt_vobs_sa;
unsigned vts_ptt_srpt_sa;
unsigned vts_pgcit_sa;
unsigned vtsm_pgci_ut_sa;
unsigned vts_tmapt_sa;
unsigned vtsm_c_adt_sa;
unsigned vtsm_vobu_admap_sa;
unsigned vts_c_adt_sa;
unsigned vts_vobu_admap_sa;
unsigned char reserved4[22];
v_atr vtsm_v_atr;
unsigned char vtsm_ast_ns_reserved;
unsigned char vtsm_ast_ns;
ast_atr vtsm_ast_atr;
unsigned char reserved5[72];
unsigned char vtsm_spst_ns_reserved;
unsigned char vtsm_spst_ns;
spst_atr vtsm_spst_atr;
unsigned char reserved6[162];
v_atr vts_v_atr;
unsigned char vts_ast_ns_reserved;
unsigned char vts_ast_ns;
ast_atr vts_ast_atr[8];
unsigned char reserved7[16];
unsigned char vts_spst_ns_reserved;
unsigned char vts_spst_ns;
spst_atr vts_spst_atr[32];
unsigned char reserved8[234]; /* total 1024 bytes */
} VTSI_MAT;
typedef __packed struct
{
unsigned short pgcn;
unsigned char reserved;
unsigned char pgn;
} vts_ptt;
typedef __packed struct
{
__packed struct
{
unsigned short vts_ttu_ns;
unsigned short reserved;
unsigned vts_ptt_srpt_ea; /* 8 bytes */
}ptt_srpti;
unsigned short ttu_srp[99]; /* max 99*2 bytes */
vts_ptt ptt_srp[999]; /* max 999*4 bytes */
} VTS_PTT_SRPT; /* 4202 bytes*/
typedef union
{
__packed struct
{
__packed struct
{
unsigned short vts_tmap_ns;
unsigned short reserved;
unsigned vts_tmapt_ea; /* 8 bytes */
} vts_tmapti;
unsigned vts_tmap_srp[4095];
} tmap; /* 4095*4 + 4 bytes */
unsigned char buff[32768];
} VTS_TMAPT; /* 32768 bytes */
typedef struct
{
VTSI_MAT vtsi_mat;
VTS_PTT_SRPT vts_ptt_srpt;
PGCI_UT vtsm_lu;
PGCI_UT vts_pgcit; /* there may some tt_domain in same vts space */
VTS_TMAPT vts_tmapt;
unsigned char current_vtsn; /* specify the current vtsi is belong to vts space */
unsigned VtsiStart; /* the current vtsi start physical address */
unsigned vtsm_lu_sa;
} VTSI; /* 103539 bytes */
#pragma Pack()
//For PCI/DSI
#pragma Pack(1)
typedef __packed struct
{
unsigned char sl_coli[4];
unsigned char ac_coli[4];
}btn_coli;
typedef __packed struct
{
unsigned char btn_posi[6];
__packed struct
{
unsigned char up_btnno;
unsigned char down_btnno;
unsigned char left_btnno;
unsigned char right_btnno;
}ajbtn_posi;
unsigned btn_cmd[2];
}btni;
typedef __packed struct
{
__packed struct
{
unsigned char hli_ss_reserved;
unsigned char hli_ss;
unsigned hli_s_ptm;
unsigned hli_e_ptm;
unsigned btn_sl_e_ptm;
__packed struct
{
unsigned btn_md_btngr1_dsp_ty :3;
unsigned btn_md_reserved1 :1;
unsigned btn_md_btngr_ns :2;
unsigned btn_md_reserved2 :2;
unsigned btn_md_btngr3_dsp_ty :3;
unsigned btn_md_reserved3 :1;
unsigned btn_md_btngr2_dsp_ty :3;
unsigned btn_md_reserved4 :1;
unsigned btn_ofn :8;
unsigned btn_ns :8;
unsigned nsl_btn_ns :8;
unsigned reserved :8;
unsigned fosl_btnn :8;
unsigned foac_btnn :8;
}btn;
}hl_gi;
btn_coli btn_coli[3];
btni btni[36];
}HLI_S;
typedef __packed struct
{
__packed struct
{
unsigned nv_pck_lbn;
unsigned short vobu_cat;
unsigned short reserved;
unsigned vobu_uop_ctl;
unsigned vobu_s_ptm;
unsigned vobu_e_ptm;
unsigned vobu_se_e_ptm;
pb_tm c_eltm;
unsigned char reseved1[32];
}pci_gi;
unsigned nsml_agl_cn_dsta[9];
HLI_S hli;
unsigned char reci[189];
}PCI;
typedef __packed struct
{
unsigned destination_address;
unsigned short size_of_destination_ilvu;
} sml_agli;
typedef __packed struct
{
__packed struct
{
unsigned nv_pck_scr;
unsigned nv_pck_lbn;
unsigned vobu_ea;
unsigned vobu_1stref_ea;
unsigned vobu_2ndref_ea;
unsigned vobu_3rdref_ea;
unsigned short vobu_vob_idn;
unsigned char reserved;
unsigned char vobu_c_idn;
pb_tm c_eltm;
}dsi_gi;
__packed struct
{
unsigned short vobu_sml_cat;
unsigned ilvu_ea;
unsigned nxt_ilvu_sa;
unsigned short nxt_ilvu_sz;
unsigned vob_v_s_ptm;
unsigned vob_v_e_ptm;
unsigned vob_a_stp_ptm[16];
unsigned vob_a_gap_len[16];
} sml_pbi;
sml_agli sml_agli[9];
__packed struct
{
unsigned fwdi_video;
unsigned fwdi[19];
unsigned fwdi_next;
unsigned bwdi_prev;
unsigned bwdi[19];
unsigned bwdi_video;
} vobu_sri;
__packed struct
{
unsigned short a_synca[8];
unsigned sp_synca[32];
} synci;
unsigned char reserved[471];
} DSI;
typedef __packed struct
{
unsigned Pack_start_code;
unsigned short SCR[3];
unsigned char programe_mux_rate[3];
unsigned char Data_F8;
}Pack_header_ST;
typedef __packed struct
{
unsigned System_start_code;
unsigned short header_length;
unsigned char rate_bound[3];
unsigned char flags[3];
unsigned char v_stream_id;
unsigned char v_STD[2];
unsigned char a_stream_id;
unsigned char a_STD[2];
unsigned char p1_stream_id;
unsigned char p1_STD[2];
unsigned char p2_stream_id;
unsigned char p2_STD[2];
}System_header_ST;
typedef __packed struct
{
Pack_header_ST Pack_header;
System_header_ST System_header;
unsigned char PCI_packet_start[3];
unsigned char PCI_stream_id;
unsigned short PCI_packet_length;
unsigned char PCI_sub_stream_id;
PCI uPCI;
unsigned char DSI_packet_start[3];
unsigned char DSI_stream_id;
unsigned short DSI_packet_length;
unsigned char DSI_sub_stream_id;
DSI uDSI;
}PCIDSI;
#pragma Pack()
//Navigation commands format,define in big endian
#pragma Pack(1)
typedef __packed struct
{
__packed union
{
unsigned short goto_operand;
unsigned short link_operand;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -