📄 svcd_types.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 + -