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

📄 dvd_define.h

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