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

📄 s5h_types.h

📁 三星ic 9980的源代码. 718版.
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************
 * File name  : S5h_types.h
 * Start date : 2002.10.28
 * By         : Chongkun Lee
 * Contact    : bach1004@samsung.com
 * Description: High level API data types
 * $Log: S5h_types.h,v $
 * Revision 1.2  2005/07/04 08:13:26  wanghu
 * no message
 *
 * Revision 1.1.1.1  2005/03/29 08:09:23  wanghu
 * no message
 *
 ******************************************************************************
 */

#ifndef _S5H_TYPES_H
#define _S5H_TYPES_H

/******************************************************************************
 *   INCLUDES
 *****************************************************************************/
#ifdef	__cplusplus
extern	"C" {
#endif

typedef enum {
	PIPELINE_STATE_IDLE,
	PIPELINE_STATE_TRANS,
	PIPELINE_STATE_WAIT,
	PIPELINE_STATE_LAST_DATA,
	PIPELINE_STATE_UNKNOW
} S5H_PipelineState_t;

typedef enum {
	PIPELINE_CMD_STOP,
	PIPELINE_CMD_START,
	PIPELINE_CMD_ABORT,
	PIPELINE_CMD_CONTINUE
} S5H_PipelineCmd_t;

/******************************************************************************
 *  DEFINES FOR GA HIGH LEVEL API
 *****************************************************************************/
typedef enum {      
	/* Bitblt assortments */
	BLT_NORMAL_OP = 0,	
	BLT_FILL_RECT_OP,	
	BLT_EXCLUDE_OP,
	BLT_REPLACE_OP,
	BLT_FIRST,
	BLT_DONE,
	BLT_OTHER_OP
} S5H_Blt_Op_t;

typedef struct  {
	USHORT	x_pos; // must be minus with start-x (root's x)
	USHORT	y_pos; // must be minus with start-y (root's y)	
	USHORT	width;
	USHORT	height;
	ULONG 	destination;
	USHORT 	dest_width;		

	USHORT	crop_x_pos;
	USHORT	crop_y_pos;	
	USHORT	swidth;
#if 1
	ULONG 	source;
#else
	ULONG 	*source;
#endif

	UCHAR	colorformat;
	UCHAR	blt_op;
	UCHAR	key_index_color;		
	UCHAR	set_index_color;
} S5H_GfxBitblt_t;

typedef struct {
	ULONG	gfx_plane_address; // osd buffer's base address
	USHORT 	gfx_plane_x;
	USHORT	gfx_plane_y;
	USHORT 	gfx_plane_width;
	USHORT	gfx_plane_height;
} S5H_GfxPlane_t;

/*********************************************
 *   Return Type
 *********************************************/
typedef enum {
	OK = 0,
	NOT_SUPPORT,
	TIMEOUT,
	SYS_LEVEL_FAIL,
	SYS_MALLOC_FAIL
	/* Add */
} S5H_ErrType_t;


/*********************************************
 *   Common Type
 *********************************************/
typedef enum {
	S5H_RESET_NONE = 0,
	S5H_RESET_WD,		/* Watch dog timer reset */
	S5H_RESET_SW,		/* Software reset */
	S5H_RESET_HW		/* Hardware reset */
} S5H_ResetType_t;	/* RSTSR register state */

typedef enum {
	SPEED_NO_CHANGE = 0,
	SPEED_NORMAL,
	SPEED_STEP,
	SPEED_PAUSE,
	SPEED_RESUME,
	SPEED_VCDPLAYSTILL,
	SPEED_FAST,
	SPEED_SLOW
} S5H_PlaySpeed_t;

typedef enum {
	DIRECTION_NO_CHANGE = 0,
	DIRECTION_FORWARD,
	DIRECTION_REVERSE
} S5H_PlayDirection_t;

typedef enum {
	FRAME_ALL = 0,
	FRAME_I_FRAMES,
	FRAME_IP_FRAMES,
	FRAME_IPS_FRAMES
} S5H_FrameMode_t;

#if 1// _SUPPORT_SLOW_STEP_
typedef enum {
	SPEED_1  = 0,
	SPEED_1_2 = 2,
	SPEED_1_4 = 4,
	SPEED_1_8 = 8,
	SPEED_1_16 =16
}S5H_SlowSpeed_t;
#endif

typedef enum {
	DVD_1STREF = 0,
	DVD_2NDREF,
	DVD_3RDREF,
	DVD_VOBU,
	DVD_ALL
} S5H_ScanType_t;

typedef enum {
	BUTTON_SELECT = 1,
	BUTTON_UNSELECT,
	BUTTON_ACTIVATE,
	BUTTON_ACTCURRENT,
	BUTTON_FORCEACT
} S5H_HighlightAction_t;

typedef enum {
	FULL_SUPPORT = 0,
	SMALL_MEMORY,
	MEDIUM_MEMORY,
	COMPACT_SUPPORT
	/* may be changed later */
} S5H_SelectCapability_t;

typedef struct {
	UCHAR	min;
	UCHAR	sec;
	UCHAR	frame;
} S5H_MSF_t;

typedef enum {
	CDDA_SPEED_NORMAL,
	CDDA_SPEED_FF_2X,
	CDDA_SPEED_FF_4X,
	CDDA_SPEED_FF_8X,
	CDDA_SPEED_FR_2X,
	CDDA_SPEED_FR_4X,
	CDDA_SPEED_FR_8X
} S5H_CddaSpeed_t;

typedef enum {
	NOTIFICATION_NAVPACK,
	NOTIFICATION_DSI,	/* DSI notitication from FIU */
	NOTIFICATION_HIGHLIGHT,
	NOTIFICATION_STARTLBA ,
	NOTIFICATION_ENDLBA,
	NOTIFICATION_DECODINGEND,
	NOTIFICATION_SEQUENCEEND,
	NOTIFICATION_START_TIME, //Lu min timer
	NOTIFICATION_REPEATB_POINT,
	NOTIFICATION_FRONT_STOP_BEFORE,
	NOTIFICATION_PLAY_AGAIN,
	NOTIFICATION_START_PTS_TIME, //Lu Min new timer
	NOTIFICATION_SUBQ,
	NOTIFICATION_MARKER_STC,
	NOTIFICATION_MARKER_ASV_CHANGE,
	NOTIFICATION_CANNOT_PLAY,
	NOTIFICATION_VIDEO_UNDERFLOW,
	N0TIFICATION_TRYAGAIN, //retry甫 困秦辑 ...
	NOTIFICATION_RESTART_CELL,
	NOTIFICATION_SERVO_CANNOT_READ,
	NOTIFICATION_PLAYPREPARE,
	NOTIFICATION_ASV_CHANGE,
	NOTIFICATION_CDDA_CONSUMED_SECTOR,
	NOTIFICATION_CDDA_CURRENT_SECTOR,
	NOTIFICATION_PSD_INVALID_STREAM,
	NOTIFICATION_CDDA_UNDERFLOW,			/* for cdda emergency check */
	NOTIFICATION_DMA,  		//Lumin9908
	NOTIFICATION_KEY,//Lumin9908
	NOTIFICATION_EMERGENCY,
	NOTIFICATION_VIDDEC_USE_NAV_INFO,
		//#if MAY_POWER_RESUME//maymeng 051011 added
	NOTIFICATION_SAVE_RESUMEINFO,
	NOTIFICATION_HIGH_STILL_PIC_ERR,
	NOTIFICATION_PLAY_2X
		//#endif
	/* added or remove */
} S5H_Notification_t;

typedef void (*S5H_PLAYCALLBACK)(S5H_Notification_t, void *);
typedef void (*S5H_FPCALLBACK)(UINT, void *);

/*********************************************
 *   Front End
 *********************************************/

typedef enum {
	SECTOR_DVD_2048 = 0,
	SECTOR_DVD_2064 ,
	SECTOR_CD_RAW_2352  ,
	SECTOR_CD_RAW_2352_XA ,
	SECTOR_CD_MODE0 ,
	SECTOR_CD_MODE1 ,
	SECTOR_CD_MODE2 ,
	SECTOR_CD_XA_FORM1 ,
	SECTOR_CD_XA_FORM2

} S5H_SectorFormat_t;

typedef enum {
	DISC_TYPE_NODISC  = 0,
	DISC_TYPE_UNKNOWN_DISC ,
	DISC_TYPE_DVD_SINGLE,
	DISC_TYPE_DVD_DUAL,
	DISC_TYPE_CDDA,
	DISC_TYPE_CD_ROM
} S5H_DiscType_t;

typedef struct {
	UCHAR	adr_ctrl;
    SCHAR	point;
	UCHAR	min;
	UCHAR	sec;
	UCHAR	frame;
} S5H_TOCEntry_t;

typedef struct {
	UINT			num_entry;
	S5H_TOCEntry_t	toc_entry[107];
} S5H_TOCInfo_t;

typedef struct {
	UCHAR		adr_ctrl;
	UCHAR		track;
	UCHAR		index;
	UCHAR		reserved;
	USHORT		crc;
	UCHAR		audio_state;
	S5H_MSF_t	abs_msf;         /* absolute MSF */
	S5H_MSF_t	rel_msf;         /* relative MSF */
} S5H_QSubInfo_t;

typedef enum {
	PBSTATE_PLAYING = 0,
	PBSTATE_PAUSED,
	PBSTATE_POWERSAVE,
	PBSTATE_IDLE_SPINNING,
	PBSTATE_IDLE_STOPPED
} S5H_PBState_t;

typedef enum {
	FESTATE_ASLEEP = 0,
	FESTATE_OPEN,
	FESTATE_OPENING,
	FESTATE_OPENED,
	FESTATE_CLOSING,
	FESTATE_CLOSED,
	FESTATE_ANALYZING,
	FESTATE_READY,
	FESTATE_PLAYING,
	FESTATE_STOP,
	FESTATE_STOPPED,
	FESTATE_NOT_CONNECT,
	FESTATE_ERROR,
	FESTATE_CHANGING
} S5H_FEState_t;

typedef enum {
	MEDIA_DVD_2048,
	MEDIA_DVD_2064,
	MEDIA_CDROM,
	MEDIA_CDDA
} S5H_MediaType_t; 

typedef enum {
	SECTOR_TYPE_AUDIO = 0,
	SECTOR_TYPE_DIGITAL,
	SECTOR_TYPE_UNKNOWN = -1
} S5H_SectorType_t;

typedef enum {
	INTERPOLATE_ON = 0,
	INTERPOLATE_OFF
} S5H_InterpolateMode_t;

typedef struct {
	UCHAR	rma;
	UCHAR	cpsty;
	UCHAR	cgms;
} S5H_DvdCopyInfo_t;

/*********************************************
 *   Video
 *********************************************/
typedef enum {
	FB_NULL,
	FB_MEM,
	FB_USER
} S5H_FrameBufferDisplay_t;

typedef enum {
	INPUT_STREAM_NTSC = 0,
	INPUT_STREAM_PAL = 1,
	INPUT_STREAM_FILM = 2
} S5H_VideoInputStreamFormat_t;

typedef enum{
	VIDEO_INTERLACE_REAL,
	VIDEO_INTERLACE_WEAVE,
	VIDEO_INTERLACE_IPC,
	VIDEO_INTERLACE_BOB,	/* This is used only when IPC or Weave can't be used  */
	VIDEO_INTERLACE_AUTO,
	VIDEO_PROGRESSIVE_WEAVE,
	VIDEO_PROGRESSIVE_IPC,
	VIDEO_PROGRESSIVE_BOB,
	VIDEO_PROGRESSIVE_AUTO
}S5H_VideoIntProgMode_t;

#define  S5H_SdoutIntProg_t	S5H_VideoIntProgMode_t


typedef enum {
	VIDEO_STILL_FIELD,		/* IPC or bob */
	VIDEO_STILL_FRAME,		/* Weave or alternating field */
	VIDEO_STILL_AUTO
} S5H_VideoStillMode_t;

typedef enum {
	DISPLAY_NTSC_M, 	/* 525-60Hz (USA) */
	DISPLAY_NTSC_J,		/* 525-60Hz (Japan) */
	DISPLAY_PAL_M,    /* 525-60Hz (Caution!!!) */
	DISPLAY_PAL_B,    /* 625-50Hz */
	DISPLAY_PAL_D,    /* 625-50Hz */
	DISPLAY_PAL_G,    /* 625-50Hz */
	DISPLAY_PAL_H,    /* 625-50Hz */
	DISPLAY_PAL_I,     /* 625-50Hz */
	DISPLAY_PAL_K,
	DISPLAY_PAL_L,

	DISPLAY_PAL_N,    /* Paraguay & Uruguay */
	DISPLAY_PAL_NC,   /* Combination standard */
	DISPLAY_PAL_60,	/* Quasi-PAL (525-60, 4.43Mhz) */
	DISPLAY_MAX_STANDARDS
} S5L_DisplayStdType_t;


typedef enum {
	OUTPUT_525_60,
	OUTPUT_625_50,
	OUTPUT_AUTO
} S5L_OutputTvMode_t;

/* NTSC/PAL field rate conversion */
typedef enum {
	FIELD_RATE_60_TO_60 = 1,		/* NTSC -> NTSC */
	FIELD_RATE_50_TO_50,			/* PAL -> PAL */
	FIELD_RATE_60_TO_50,			/* NTSC -> PAL */
	FIELD_RATE_50_TO_60,			/* PAL -> NTSC */
	FIELD_RATE_48_TO_60,			/* Film -> NTSC */
	FIELD_RATE_48_TO_50			/* Film -> PAL */
} FieldRateConv_t;

typedef enum {
	/*****************************************
	 * Common
	 *****************************************/	
	VIDEO_OFF = 0,
	NO_SCALE,
	/* Remove the top, bottom hard matte 
		of 1.85:1 hard matted 16:9 source */
	REMOVE_MAT185,
	/* Remove the top, bottom hard matte 
		of 2.35:1 hard matted 16:9 source */
	REMOVE_MAT235,
	
	/*****************************************
	 * Valid types for 4:3 TV 
	 *****************************************/
	/* For 16:9 source */
	/* Add the top and bottom black bar to the 16:9 source 
		to display on the 4:3 screen without distortion */
	LETTERBOX, 
	/* Remove the left and right side of 16:9 source to fit 4:3 screen */
	PAN_AND_SCAN_178,
	/* Remove the top, bottom hard matte and left, right side
		of 1.85:1 source with hard matte in 16:9 source 
		to display on the 4:3 screen without distortion */
	PAN_AND_SCAN_185,  
	/* Remove the top, bottom,left and right side 
		of 2.35:1 source with hard matte in 16:9 source 
		to display on the 4:3 screen without distortion */
	PAN_AND_SCAN_235,  
	
	/* For 4:3 source */
	/* Remove the left and right side after REMOVE_MAT235 
		to display on the 4:3 screen without distortion */
	ZOOM_FIT,
	
	/*****************************************
	 * Valid types for 16:9 TV 
	 *****************************************/
	/* Remove the top, bottom hard matte and left, right side
		of 1.85:1 hard matted 16:9 source 
		to display on the 16:9 screen without distortion */
	WIDESCREEN_185,     
	/* Remove the top, bottom hard matte and left, right side
		of 2.35:1 hard matted 16:9 source 
		to display on the 16:9 screen without distortion */
	WIDESCREEN_235,
	/* Add the side black bar to the 4:3 source
		to display on the 16:9 screen without distortion */
	WIDESCREEN_SHRINK_4_3
	
} S5H_DisplayScale_t;

typedef enum {
	PS_OFFSET_DISABLE = 0,	/* center */
	PS_OFFSET_STREAM,		/* from MPEG stream header */
	PS_OFFSET_USER			/* from user-set value */
} S5H_PanScanOffset_t;

/* Color Saturation Factor */
typedef UCHAR	S5H_SatFactor_t;
#define PP_SAT_NONE		0x0
#define PP_SAT_NORMAL	0x80
#define PP_SAT_FULL		0xFF

typedef enum {
	PP_ENHANCE_NONE = 0,
	PP_ENHANCE_LITTE,
	PP_ENHANCE_MODERATE,
	PP_ENHANCE_STRONG
} S5H_Sharpness_t;

typedef struct {
	UINT	histogram[8];
} S5H_HistInfo_t;

typedef enum {
	PP_LUM_INTERVAL0 = 0,

⌨️ 快捷键说明

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