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

📄 svcd_types.h

📁 SAMSUNG 5009的源代码
💻 H
字号:
/******************************************************************************
 *   Filename    : Dvda_types.h                                               *
 *   Start date  : 2003. 2. 28.                                               *
 *   By          : Taejin Kwon                                                *
 *   Contact     : eric.kwon@samsung.com                                      *
 *   Description : Typedefs for interface DVDA navigator and manager          *
 ******************************************************************************
 */
#ifndef	_SVCD_TYPES_H_
#define	_SVCD_TYPES_H_

#ifdef __cplusplus
extern "C" {
#endif


#define TIMER_ID_OF_SVCD   0x10
#define TIMER_ID_OF_CDDA   0x100



typedef enum{
	CDDA_TRACK,
	VCD_TRACK,
	INFO_TRACK
}VcdTrackType;

typedef enum{
	CDDA_416 ,
	xVCD_416    
}VcdDisc_TYPE;

typedef enum{
	VCD_NTSC=0,
	VCD_PAL,
	VCD_SINGLE_MPG_AUDIO,
	VCD_STEREO_MPG_AUTIO,
	VCD_DUAL_MPG_AUDIO,
	VCD_NTSC_STILL,
	VCD_NTSC_HIGH_STILL,
	VCD_PAL_STILL,
	VCD_PAL_HIGH_STILL,
	VCD_NO_VIDEO,	/*add by jsb for cdda track*/
	//newly added by phk
	SVCD_NTSC,
	SVCD_PAL,
	SVCD_NTSC_STILL,
	SVCD_PAL_STILL  
}VcdAVMode;



typedef struct {
	BYTE1		Total_track_cnt;
	BYTE1		CurrTrack_no;
	VcdTrackType	Type;		/*VCD / CDDA track*/
	VcdAVMode	VideoMode; 	/*PAL/NTSC still or motion picure*/
	BYTE4		FE_Mode;  	/*CD-ROM /CDG /CDDA*/
}VCD_TRACK_INFO;

typedef struct{
	BOOL			BigOsd_Flag;
	SetMainState_t	        Svcd_Main_State;	
	BYTE1       		Current_Track;
	BYTE4			StartLba;
}SVCD_BIG_OSD_INFO; /* infor saved for big osd show*/

typedef struct{
	UINT gCurrent_track_Eeprom;
	UINT psd_buffer_offset_Eeprom;
	UINT current_lba_Eeprom;
	SH_SeqInfo_t seq_info;
	S5H_SvcdItemType_t gCurrent_Play_Item_Eeprom;
	UCHAR gPsd_state_Eeprom;
	UCHAR gDiscType;
} XvcdResumeInfo_t;

typedef struct {
	BOOL		valid;
	UCHAR       track;
	UINT   bookmarkpoint;
} SvcdBookmarkInfo_t;

typedef struct {
	UCHAR		header;
	UCHAR		selection_list_flag;
	UCHAR		nos;
	UCHAR		bsn;
	USHORT		list_id;
	USHORT		previous_list_offset;
	USHORT		next_list_offset;
	USHORT		return_list_offset;
	USHORT		default_list_offset;
	USHORT		timeout_list_offset;
	UCHAR		wait_time_timeout;
	UCHAR		jump_timing;	//jump_timing	: 1;	// bit 7;
	UCHAR		loop_count;	    //loop_count	: 7;	//bit 0~6;
	USHORT		play_item_number;
} SELECTION_LIST_STRUCT;

typedef struct {
	UCHAR	header;
	UCHAR	noi;
	USHORT	list_id;
	USHORT	previout_list_offset;
	USHORT	next_list_offset;
	USHORT	return_list_offset;
	USHORT	playing_time;
	UCHAR	play_item_wait_time;	
	UCHAR	auto_pause_wait_time;
} PLAY_LIST_STRUCT;

typedef struct {
	UINT list_header;
	PLAY_LIST_STRUCT play_list;
	SELECTION_LIST_STRUCT selection_list;
	USHORT item_list[100];
}FIRST_LIST_STRUCT;

typedef struct {
			UCHAR file_id[8];		//ENTRYVCD
			UCHAR	version_number; 		//100, 200
			UCHAR   reserved;
			USHORT	entries_used;	        //Entries Used
			struct
			{
				UCHAR	track_no;
				SH_Msf_st	entry_msf;
			} entry_table[500];
			UCHAR	reserved_1[36];
} ENTRY_SVCD_STRUCT ; 

typedef struct{
	UCHAR	system_id[8];            //  1~8   SUPERVCD
	UCHAR	version_no;     //9     $01
	UCHAR	system_pro_tag;  //10	$00
	UCHAR	album_id[16];     //11~26   ISO 646 CODE 
	USHORT	volume_no_album;  //27~28		 
	USHORT	album_set_seq_no;   //29~30
	UCHAR	video_type_map_mpeg_track[13]; //31~43
	UCHAR	status_flag;                    //44
	UINT	psd_size;			  //45~48 4byte PSD.VCD size in bytes
	SH_Msf_st		first_segment_addr;   //49~51 First Sector addr of SPI(BCD)
	UCHAR	offset_multiplier;    //52           // 8
	USHORT	max_list_id;          //53~54                
	USHORT	max_segment_no;       //55~56           // Max. Num. of SPI
	UCHAR	spi_contents_table[1980];   //57~2036    SPI Contents Table
	UCHAR	volume_start_time_table[10];  //2037~2046
} INFO_SVCD_STRUCT;

#if _APP_CAP_FUNC_SVCD_PROGRAM_MODE
#define SVCD_PROGRAM_MAXNUM 	(_APP_VALUE_MAX_PROGRAM_NUM)
typedef struct{
#if _APP_CAP_OSD_PROG_SELECT_3_DIGIT // Qian liping 050813
BYTE2 	SvcdPgm[SVCD_PROGRAM_MAXNUM];
#else
UCHAR	SvcdPgm[SVCD_PROGRAM_MAXNUM];
#endif
UCHAR 	SvcdCurPtr;
UCHAR	SvcdPgmNum;
UCHAR    SvcdFlag;
}SVCD_PROGRAM_STRUCT;
typedef struct{
UCHAR 	Flag;
UCHAR	track_left_cnt;
UCHAR	track_left_list[99];
}SVCD_RANDOM_STRUCT;
#endif

typedef enum{
	VCD_1X = 0,
	VCD_FF_2X,
	VCD_FF_4X,
	VCD_FF_8X,
	VCD_FF_16X,
	VCD_FF_32X,
	VCD_FR_2X,
	VCD_FR_4X,
	VCD_FR_8X,
	VCD_FR_16X,
	VCD_FR_32X
} VCDFFFR;

typedef struct {
	UINT	Track_No;
	UINT	LBA_Want;
} SvcdMarker_t;


typedef enum {
	CDDA_TYPE_COMMON = 0,
	CDDA_TYPE_DTSCD,
	CDDA_TYPE_CDG,	
	CDDA_TYPE_HDCD
} CDDA_Type_et;


 typedef enum {
 	CDG_WAIT=0,
	CDG_FILLEDBUFFER,
	CDG_DECODE,
	CDG_FINISH,
	CDG_DUMMY
} CDG_CtrlCmd_et;


typedef struct {
	CDG_CtrlCmd_et	 msg_id;
	UINT     param;
} CDG_Msg_st;


typedef enum {
	CDG_STATE_INPUT_WAIT = 0,
	CDG_STATE_DECODE,
	CDG_STATE_WAIT_INBUF,	
	CDG_STATE_ABORT
} CDG_State_et;

#if _APP_CAP_FUNC_VCD_DIGEST_PREVIEW
#define PREVIEW_NUM 	6	/*6 frame*/
typedef enum{
       DISC_INTERVAL = VCD_DISC_INTERVAL,
	TRACK_INTERVAL,
	TRACK_PREVIEW
}DigestMode_et;

typedef struct{
	BOOL 	bDigestFlag;
	BOOL 	bRepeatFlag;
	BOOL      bIsGraphicPlaneCreated;//clina 060812
	DigestMode_et	Digest_mode;
 	UCHAR 	ucDigestIndex;
 	UCHAR    ucTotalPage;
 	UCHAR    ucCurrentPage;
 	UINT 	VcdDigestPos[PREVIEW_NUM];	
	VcdAVMode Frame_mode;
	UCHAR * frame_addr;
}VCD_Digest_st;
#endif

#define VCD_STEP_2X	100
#define VCD_STEP_4X 	150
#define VCD_STEP_8X 	300
#define VCD_STEP_16X 	600
#define VCD_STEP_32X	1200

#ifdef __cplusplus
}
#endif

#endif /* _SVCD_TYPES_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -