📄 s5h_types.h
字号:
/******************************************************************************
* 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 + -