📄 dvdv_nv_data.h
字号:
BYTE4 Vtsm_C_Adt_Sa;//start address of VTSM_C_ADT with RLBN from 1st LB of this VTSI.
BYTE4 Vtsm_Vobu_Admap_Sa;//start address of VTSM_VOBU_ADMAP with RLBN from 1st LB of this VTSI.
BYTE4 Vts_C_Adt_Sa;//start address of VTS_C_ADT with RLBN from 1st LB of this VTSI.
BYTE4 Vts_Vobu_Admap_Sa;//start address of VTS_VOBU_ADMAP with RLBN from 1st LB of this VTSI.
/* aligned data */
V_Atr_t Vtsm_V_Atr;//Video attribute of VTSM_VOBS in this VTS.
BYTE1 reserved4;
BYTE1 Vtsm_Ast_Ns;//number of audio streams for VTSM.
Ast_Atr_t Vtsm_Ast_Atr;//audio stream attribute for VTSM_VOBS.
/* aligned data */
BYTE1 reserved5;
BYTE1 Vtsm_Spst_Ns;//number of Sub-picture streams of VTSM_VOBS in the VTS.
BYTE1 Vtsm_Spst_Atr[6];//Sub-picture stream attribute for VTSM_VOBS in this VTS.
/* aligned data */
V_Atr_t Vts_V_Atr;//video attribute of VTSTT_VOBS in this VTS.
BYTE1 reserved6;
BYTE1 Vts_Ast_Ns;//number of Audio streams of VTSTT_VOBS in this VTS.
Ast_Atr_t Vts_Ast_Atr[8];//each Audio stream attributes of VTSTT_VOBS in this VTS.
/* aligned data */
BYTE1 reserved7;
BYTE1 Vts_Spst_Ns;//number of Sub-picture streams for VTSTT_VOBS in the VTS.
BYTE1 Vts_Spst_Atr[192];//each Sub-picture stream attribute for VTSTT_VOBS in this VTS.
BYTE1 Reserved8[2];
Vts_Mu_Ast_Atr_t Vts_Mu_Ast_Atr[8];//each Audio attribute for multichannel use.
} Vtsi_Mat_t;
#else
typedef struct {
BYTE1 Vts_Id[12];//describes "DVDVIDEO-VTS" to identify VTSI's File with character set code of ISO646.
BYTE4 Vts_Ea;//end address of VTS with RLBN from the 1st LB of this VTS.
// BYTE1 Reserved1[12];
BYTE4 Vtsi_Ea;//end address of VTSI with RLBN from the 1st LB of this VTSI.
// BYTE1 Vern[2];//0001 0000b : ver 1.0
// BYTE1 Reserve[2];
// BYTE1 Reserv;
BYTE1 Vts_Cat;
// BYTE1 Reserved2[90];
BYTE4 Vtsi_Mat_Ea;//end address of Vtsi_Mat_t with RBN from 1st byte of this Vtsi_Mat_t.
// BYTE1 Reserved3[60];
BYTE4 Vtsm_Vobs_Sa;//start address of VTSM_VOBS with RLBN from 1st byte of this VTS.
BYTE4 Vtstt_Vobs_Sa;//start address of VTSTT_VOBS with RLBN from 1st byte of this VTS.
BYTE4 Vts_Ptt_Srpt_Sa;//start address of Vts_Ptt_Srpt_t with RLBN from 1st LB of this VTSI.
BYTE4 Vts_Pgcit_Sa;//start address of VTS_PGCIT with RLBN from 1st LB of this VTSI.
BYTE4 Vtsm_Pgci_Ut_Sa;//start address of VTS_PGCI_UT with RLBN from 1st LB of this VTSI.
BYTE4 Vts_Tmapt_Sa;//start address of Vts_Tmapt_t with RLBN from 1st LB of this VTSI.
BYTE4 Vtsm_C_Adt_Sa;//start address of VTSM_C_ADT with RLBN from 1st LB of this VTSI.
BYTE4 Vtsm_Vobu_Admap_Sa;//start address of VTSM_VOBU_ADMAP with RLBN from 1st LB of this VTSI.
BYTE4 Vts_C_Adt_Sa;//start address of VTS_C_ADT with RLBN from 1st LB of this VTSI.
BYTE4 Vts_Vobu_Admap_Sa;//start address of VTS_VOBU_ADMAP with RLBN from 1st LB of this VTSI.
// BYTE1 Reserved4[24];
V_Atr_t Vtsm_V_Atr;//Video attribute of VTSM_VOBS in this VTS.
BYTE1 Vtsm_Ast_Ns;//number of audio streams for VTSM.
Ast_Atr_t Vtsm_Ast_Atr;//audio stream attribute for VTSM_VOBS.
// BYTE1 Reserved5[72];
BYTE1 Vtsm_Spst_Ns;//number of Sub-picture streams of VTSM_VOBS in the VTS.
Spst_Atr_t Vtsm_Spst_Atr;//Sub-picture stream attribute for VTSM_VOBS in this VTS.
// BYTE1 Reserved6[164];
V_Atr_t Vts_V_Atr;//video attribute of VTSTT_VOBS in this VTS.
BYTE1 Vts_Ast_Ns;//number of Audio streams of VTSTT_VOBS in this VTS.
Ast_Atr_t Vts_Ast_Atr[8];//each Audio stream attributes of VTSTT_VOBS in this VTS.
// BYTE1 Reserved7[16];
BYTE1 Vts_Spst_Ns;//number of Sub-picture streams for VTSTT_VOBS in the VTS.
Spst_Atr_t Vts_Spst_Atr[32];//each Sub-picture stream attribute for VTSTT_VOBS in this VTS.
// BYTE1 Reserved8[2];
Vts_Mu_Ast_Atr_t Vts_Mu_Ast_Atr[8];//each Audio attribute for multichannel use.
} Vtsi_Mat_t;
#endif
/*******************************************
* Part_Of_Title Search Pointer.
********************************************
*/
typedef struct {
BYTE2 Pgcn;
// BYTE1 Reserved;
BYTE1 Pgn;
} Ptt_Srp_t;
/*******************************************
* Title Unit Search Pointer.
********************************************
*/
typedef struct {
BYTE4 Ttu_Sa;
BYTE2 Ptt_Ns;
// Ptt_Srp_t *Ptt_Srp;
} Ttu_Srp_t;
/*******************************************
* VTS PTT Srpt
********************************************
*/
typedef struct {
BYTE2 Vts_Ttu_Ns;
// BYTE2 Reserved;
BYTE4 Vts_Ptt_Srpt_Ea;
// Ttu_Srp_t *Ttu_Srp;
} Vts_Ptt_Srpt_t;
/*******************************************
* Vts_Tmap_t
********************************************
*/
typedef struct {
BYTE1 Tmu;
// BYTE1 Reserved;
BYTE2 Map_En_Ns;
// BYTE4 *Map_Ent;
} Vts_Tmap_t;
/*******************************************
* Vts_Tmap_Srp_t
********************************************
*/
typedef struct {
BYTE4 Vts_Tmap_Sa;
// Vts_Tmap_t *Vts_Tmap;
} Vts_Tmap_Srp_t;
/*******************************************
* Vts_Tmap_t
********************************************
*/
typedef struct {
BYTE2 Vts_Tmap_Ns;
// BYTE2 Reserved;
BYTE4 Vts_Tmapt_Ea;
// Vts_Tmap_Srp_t *Vts_Tmap_Srp;
} Vts_Tmapt_t;
/* Pci_t */
/* Pci_t General Information (Pci_Gi_t) */
typedef struct
{
BYTE4 Nv_Pck_Lbn;
BYTE2 Vobu_Cat;
#ifdef _DVD_DIRECT_COPY
BYTE2 reserved;
#endif
BYTE4 Uop_Ctl;
BYTE4 Vobu_S_Ptm;
BYTE4 Vobu_E_Ptm;
BYTE4 Vobu_Se_E_Ptm;
Pb_Tm_t C_Eltm;
#ifdef _DVD_DIRECT_COPY
BYTE1 Reserved2[32];
#endif
} Pci_Gi_t;
typedef struct
{
BYTE4 Nsml_Agl_Dsta[9];
} Nsml_Agli_t;
typedef struct
{
BYTE2 Hli_Ss;
BYTE4 Hli_S_Ptm;
BYTE4 Hli_E_Ptm;
BYTE4 Btn_Sl_E_Ptm;
//BYTE4 Reserved2 : 2;
BYTE4 Btn_Gr_Ns : 2;
//BYTE4 Reserved3 : 1;
BYTE4 Btn_Gr1_Dsp_Ty : 3;
//BYTE4 Reserved4 : 1;
BYTE4 Btn_Gr2_Dsp_Ty : 3;
//BYTE4 Reserved5 : 1;
BYTE4 Btn_Gr3_Dsp_Ty : 3;
BYTE1 Btn_Ofn;
BYTE1 Btn_Ns;
BYTE1 Nsl_Btn_Ns;
BYTE1 Fosl_Btnn;
BYTE1 Foac_Btnn;
} Hl_Gi_t;
typedef struct
{
BYTE4 Sl_Coli;
BYTE4 Ac_Coli;
} Btn_Coli_t;
typedef struct
{
Btn_Coli_t Btn_Coli[3];
} Btn_Colit_t;
typedef struct //nv pack read矫 3 byte swap 鞘夸.
{
BYTE1 Btn_Coln;
BYTE2 X_Start;
BYTE2 X_End;
BYTE1 Auto_Action_Mode;
BYTE2 Y_Start;
BYTE2 Y_End;
BYTE1 Up_Btnn;
BYTE1 Low_Btnn;
BYTE1 Left_Btnn;
BYTE1 Right_Btnn;
DvdNavCmd_t Btn_Cmd;
} Btnit_t;
typedef struct
{
/* seriously unaligned data */
Hl_Gi_t Hl_Gi;
/* Button Color information is not used in Navigator */
/* Btn_Colit_t Btn_Colit; */
#ifdef _DVD_DIRECT_COPY
BYTE1 Btnit[648]; // 18 * 36
#else
Btnit_t Btnit[36];
#endif
} Hli_t;
typedef struct
{
BYTE1 byte[10];
} Isrc_t;
typedef struct
{
Isrc_t Isrc[17];
BYTE1 Sel;
/* BYTE1 Reserved[18]; */
} Reci_t;
#ifdef _DVD_FAST_RESUME
typedef struct {
BYTE2 vob_id;
BYTE4 vobu_1stref_ea;
BYTE2 vobu_sml_cat;
BYTE4 ilvu_ea;
BYTE4 prev_video_vobu_offset;
BYTE4 sp_synca[32];
} DsiInPci_t;
#endif
typedef struct
{
/* aligned data */
Pci_Gi_t Pci_Gi;
Nsml_Agli_t Nsml_Agli;
/* Seriously not aligned data */
Hli_t Hli;
/* Added for our own purpose, not in DVD Spec */
#ifdef _DVD_FAST_RESUME
DsiInPci_t dsi;
#else
BOOL video_exist; /* Flag which indicates this VOBU contains video data.
This flag is obtained from DSI in the VOBU of this PCI */
#endif
BOOL is_pg_end; /* TRUE if PCI is the last one in PG (This is used for RepeatPG) */
/* Reci_t Reci; */
} Pci_t;
/* DSI */
typedef struct
{
BYTE4 Nv_Pck_Scr;
BYTE4 Nv_Pck_Lbn;
BYTE4 Vobu_Ea;
BYTE4 Ref_Ea_1;
BYTE4 Ref_Ea_2;
BYTE4 Ref_Ea_3;
BYTE2 Vobu_Vob_Idn;
BYTE1 reserved;
BYTE1 Vobu_C_Idn;
Pb_Tm_t C_Eltm;
} Dsi_Gi_t;
typedef struct
{
/* Not aligned */
BYTE2 Vobu_Sml_Cat;
BYTE4 ilvu_Ea;
BYTE4 Nxt_ilvu_Sa;
BYTE2 Nxt_Ilvu_Sz;
/* aligned */
BYTE4 Vob_V_S_Ptm;
BYTE4 Vob_V_E_Ptm;
BYTE4 Vob_A_Stp_Ptm[8][2];
BYTE4 Vob_A_Gap_Len[8][2];
} Sml_Pbi_t;
#ifdef _DVD_DIRECT_COPY
/* No need to define structure because use one-byte array */
#else
typedef struct
{
BYTE4 Agl_C_Ad;
BYTE2 Agl_C_Sz;
} Sml_Agl_Dsta_t;
typedef struct
{
Sml_Agl_Dsta_t Sml_Agl_Dsta[9];
} Sml_Agli_t;
#endif
typedef struct
{
BYTE4 Next_Video;
BYTE4 Fwda[19];
BYTE4 Next_Vobu;
BYTE4 Prev_Vobu;
BYTE4 Bwda[19];
BYTE4 Prev_Video;
} Vobu_Sri_t;
typedef struct
{
BYTE2 A_Synca[8];
BYTE4 Sp_Synca[32];
} Synci_t;
typedef struct
{
Dsi_Gi_t Dsi_Gi;
/* Not aligned */
Sml_Pbi_t Sml_Pbi;
/* Not aligned */
#ifdef _DVD_DIRECT_COPY
BYTE1 Sml_Agli[54];
#else
Sml_Agli_t Sml_Agli;
#endif
/* Not aligned */
Vobu_Sri_t Vobu_Sri;
Synci_t Synci;
// BYTE1 Reserved[471];
} Dsi_t;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -