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

📄 dvd_define.h

📁 AMLOGIC DPF source code
💻 H
📖 第 1 页 / 共 4 页
字号:
    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 + -