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

📄 svcd_common.h

📁 SAMSUNG 5009的源代码
💻 H
字号:
 
#ifndef _SVCD_COMMON_H_
#define _SVCD_COMMON_H_

#ifdef	__cplusplus
extern	"C" {
#endif

/******************************************************************************
 *  CDG options
 *****************************************************************************/
/* <<< @: 5008CHN-xxx.ishan 050810, Use the different area for CDG video frame */
#define _USE_CDG_DIFF_VIDEO_AREA						1 
/* >>> @: 5008CHN-xxx.ishan 050810 */

/*PBC state*/
#define		PSD_ON		1   /* Menu on  */
#define		PSD_OFF		0   /* Menu off */

/* Menu off play state */
#define		START			0 
#define		FINISH_PLAY		1
#define		PLAY_CONTINUE		2
#define		DIGEST_PREVIEW	3
#define		INTRO_SCAN			4

#define 		PLAY_LENGTH		11*75	/*10 sec for vcd*/
/*  header  */
#define PLAY_LIST_HEADER	0x10
#define SELECTION_LIST_HEADER	0x18
//#define STOP_HEADER			0x1F     
//#define COMMAND_LIST_HEADER	0x20

/* Menu on play state */
#define		PLAY_ITEM				0
#define		FINISH_PLAY_ITEM		1
#define		JUMP_TO_TIME_OUT		2
#define		NEXT_LIST_PLAY			3
#define		RETURN_LIST_PLAY		4
#define		DEFAULT_LIST_PLAY		5
#define		NUMBER_KEY_INPUT		6
#define		PLAY_CONTINUE_LIST	7
#define		WAIT_TIME_START		8
#define		WAIT_TIME				9
#define		WAIT_TIME_INFINITE	10
#define		PREVIOUS_LIST_PLAY	11  

/*repeat state*/
#define	SVCD_REPEAT_NONE		0	/* There's no repeat set */
#define	SVCD_REPEAT_TRACK		1	/*Repeat track*/
#define	SVCD_REPEAT_DISC		2	/*Repeat disc*/
#define	SVCD_REPEAT_A			3	/* Only Repeat A marked */
#define	SVCD_REPEAT_B			4	/* Repeat A-B marketd */

#define _SUPPORT_SVCD_FAST_SKIP						0

#if _APP_CAP_FUNC_VCD_DIGEST_PREVIEW
/*  Blue color */
#define	PREV_BKGD_COLOR_Y					0x40 	/* 0x24 0x4F */	/* 0x10 */
#define	PREV_BKGD_COLOR_CB					0xA0 	/* 0x94 0x93 */	/* 0x80 */
#define	PREV_BKGD_COLOR_CR					0x72 	/* 0x78 0x70 */   	/* 0x80 */

/* Frame Buffer */
#define PREV_FRAME0_TY							(CHAR *)(S5H_GetFrameBufferAddress())
#define PREV_FRAME0_TC							(CHAR *)(PREV_FRAME0_TY+PREV_FRAME_YLENTH)
#define PREV_FRAME0_BY							(CHAR *)(PREV_FRAME0_TC+PREV_FRAME_CLENTH)
#define PREV_FRAME0_BC							(CHAR *)(PREV_FRAME0_BY+PREV_FRAME_YLENTH)
#define PREV_FRAME1_TY							(CHAR *)(PREV_FRAME0_BC+PREV_FRAME_CLENTH)
#define PREV_FRAME1_TC							(CHAR *)(PREV_FRAME1_TY+PREV_FRAME_YLENTH)
#define PREV_FRAME1_BY							(CHAR *)(PREV_FRAME1_TC+PREV_FRAME_CLENTH)
#define PREV_FRAME1_BC							(CHAR *)(PREV_FRAME1_BY+PREV_FRAME_YLENTH)

#define PREV_BUFF_WIDTH						((gSvcd_flag) ? 480 : 352)		/*For svcd digest*/
#define PREV_PIC_Y_HEIGHT_NTSC				58 //((gSvcd_flag) ? 58 : 58) 
#define PREV_PIC_Y_HEIGHT_PAL					70 //((gSvcd_flag) ? 70 : 70) 
#define SAMPLE_LENTH                                               ((gSvcd_flag) ? 4 : 2)
#endif

/* message Q */ 
extern SysQueue_t	gQ_gui;



/*The following  includes incide global variable */
  
extern SELECTION_LIST_STRUCT	Selectionlist_svcd_t;   
extern PLAY_LIST_STRUCT		Playlist_svcd_t;
extern ENTRY_SVCD_STRUCT *	Entry_svcd_t;
extern INFO_SVCD_STRUCT *	InfoSvcd_t;
extern FIRST_LIST_STRUCT		*gFirstlist_svcd_t;
extern USHORT	*sel_item_list;//[100];
extern USHORT	*play_item_list;//[100];




  /* state variable */
//extern SetMainState_t	gMain_state_svcd;
extern UINT			gSvcd_play_state; 

extern SVCD_BIG_OSD_INFO	gSvcd_Big_Osd_Info;	/* main infor when opening "Setup", "Program" window (20050730 jiangshanbin)*/

/* PBC list related */
extern UCHAR	gPsd_state;
extern UINT	gPsd_avaiable;

extern UCHAR	gSelectionList_state;
extern UCHAR	gPlayList_state;

extern UINT	gPsd_buffer_offset;
extern UCHAR	gPsd_list_type;
extern UCHAR	play_item_index_in_playlist;
extern USHORT	gPlay_item_category; 
extern USHORT	gPlay_item_content;
//extern UCHAR	jump_timing_flag; 
extern USHORT	wait_cal_time;


 /* flag   */
extern UCHAR	gPsdOn_Stop_Stop;
extern UCHAR	gNum_key_enter_flag; 
extern UCHAR	gStart_time_flag;
extern UCHAR    gCdda_resume_flag;

extern UCHAR gSvcdAudioCodecError;
extern UCHAR gVdfatalerror;
extern UCHAR gFront_end_error;
extern UCHAR gSvcdCannotfindtargetid;

#if 1//_SUPPORT_BIG_TRACK_BUFFER
extern BOOL   gFE_ReadEnd;
#endif

/* NEXT/PREV skip*/
#if _APP_CAP_KEY_QUICK_RESPONSE_NEXT_PREV
extern UINT      gTemp_tracknum;
#endif
extern UINT gPrevious_key_is_NEXT;
extern UINT gPrevious_key_is_PRE;


/*saved param*/
extern SH_TOCInfo_st	*gToc;
extern UINT	gKey_num;

/* repeat */
extern UINT	gRepeatApoint,gRepeatBpoint;
extern UCHAR	gRepeat_mode_flag;  
extern UCHAR	gRepeatSvcdState;
extern UCHAR	gSvcdPreRepeatstate;
#if _APP_CAP_FUNC_RPT_AB_OVER_TRACK
extern UINT gRepeatAtrack;
extern UINT gRepeatBtrack;
extern UINT grepeatTtrack;
extern UINT gRepeatAoffset;
extern UINT gRepeatBoffset;
extern UCHAR gRepeatA_pgm_curptr;
extern UCHAR gRepeatB_pgm_curptr;
#endif

/*saved LBA*/
extern UINT	gCurrentLBA;
extern UINT	gStartLBA,gEndLBA;
extern UINT	gSavedStartLBA;

/* Track/disc infor */
extern VCD_TRACK_INFO	*gVcdTrackInfo;
extern VcdDisc_TYPE		gDiscType;
extern BOOL 	gSvcd_flag;
extern UCHAR	gTotal_track_No;
extern UINT	gCurrent_track;

/*trick related*/
//extern UCHAR	gSpeedVcd; 
extern UCHAR	gVCD_FFFR_flag;
extern UCHAR	gCallbackTrickRequest;

/* bookmark */

#if _APP_CAP_FUNC_BOOKMARK
extern SvcdBookmarkInfo_t gSvcdbookmark_info[MAX_BOOKMARK_NUM];
#endif


//extern SH_SubQInfo_st gBookMark;

/* time tick */
extern SysTimeTick_t  ret1,ret2; 
extern SysTimeTick_t  ret1_emergency;
extern SysTimeTick_t  gMenu_0;
extern SysTimeTick_t  gRet_skip_0;
 
/*count*/
extern UCHAR	gMenu_cnt;
extern UINT	gNext_counter;
extern UINT	gPre_counter;
extern UINT	gFfFrCount;
extern UINT 	gSector_count;

/*emergency*/
extern BYTE4	gEmergencyCount,gPreemergency_lba;
//extern BYTE4	gEmergencyLBA;   
extern UINT	gEmergency_count;

/*  Time display parameter */
extern BYTE4 gCurtime;
extern BYTE4 gPretime;
extern BYTE4 gPreTimeCdda;
extern SINT gSpi_Display_Time;


/*   Timer   */
extern SysTimer_t	SVCD_Timer;
extern SysTimer_t	CDDATIME_Timer;
extern BOOL gCDDATimerExist;

/* cdg */
extern SysTask_t                   	*stCDGTask;
extern SysQueue_t 			*stCDDACDGQueue; 
extern CDDA_Type_et		Cdda_Type;  
extern CDG_State_et 		gCdg_state;

/*Digest*/
#if _APP_CAP_FUNC_VCD_DIGEST_PREVIEW
extern VCD_Digest_st gVcd_Digest;
extern SysSema_t 		stPrevSema;
extern BYTE4              gDigest_LBA;
extern UINT 			gDigest_track;
extern BYTE4              gDigest_time;
extern S5H_SvcdItemType_t gDigest_play_item;
extern BOOL gEnd_preview_mode;
extern BOOL gDigest_setup_pasue;
//extern SysEventGrp_t	gPrev_evt;
//extern BOOL                gOrder_flag ;
#endif

#if _APP_CAP_FUNC_VCD_INTRO_SCAN
extern BOOL 	gIntroFlag;
#endif
/*Others*/
extern UINT gBitRate;

#if _APP_CAP_FUNC_SVCD_PROGRAM_MODE
extern SVCD_PROGRAM_STRUCT gSvcdProgram;
extern SVCD_RANDOM_STRUCT   gSvcdRandom;	
#endif /*_APP_CAP_FUNC_SVCD_PROGRAM_MODE*/

extern S5H_SvcdItemType_t gCurrent_Play_Item;
extern SvcdMarker_t CDDA_Marker;
extern BOOL gCdda_Dts_set;
extern BOOL gNeed_Check_Codec;
//extern UCHAR	gSVCDLanguage;


#ifdef __cplusplus
}
#endif


#endif




⌨️ 快捷键说明

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