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

📄 sh_scrt_api.h

📁 SAMSUNG 5009的源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef _SH_SCRT_API_H_
#define _SH_SCRT_API_H_


/* <<< @: 5010-xxx.HS SEO 060221: SPU Scaling */
#define SPU_SCALE	0
#define SUBPICTURE_IN_MENU		0
/* <<< @: 5010-xxx.HS SEO 060221:  */

/* <<< @: 5010-xxx.HS SEO 060306:  blocking .sub of subpicture */
//#define CHECK_SUB_FILE_SUBPICTURE 0
/* <<< @: 5010-xxx.HS SEO 060228 */

/*********************** External subtitle *************************************/

#define MAX_NUM_CHARS	 200 
#define SUBTITLE_TEST 0
#define SUBTITLE_WRONG_DATA 0
#define MAX_NUM_PRES_STRUCT	 30 /*(50)*/
#define MAX_NUM_TRICK_STRUCT	75  //limeng 060516: 150k=75*2048        //100	// cydrain 20060509

// cydrain 20060515
#define PSB_TIME_STR_LEN	7
#define SRT_TIME_STR_LEN	12
#define TXT_TIME_STR_LEN	8
#define SSA_TIME_STR_LEN	10
/////////////////

#define READ_ONCE 15
#define SMI_CMD_START	1
#define SMI_CMD_STOP	2
#define SMI_CMD_CONTINUE		3
#define NUM_OF_TICKS_FOR_500MS	 1000
#define SMI_TIMER_TICKS				 200
#define FREE_RUNNING_TIMER_INC_OFFSET	((SMI_TIMER_TICKS*500)/NUM_OF_TICKS_FOR_500MS)

#define DIVXSUBTITLE_Q_NUM 11
#define EX_DIVXSUBTITLE_Q_NUM 15

#if 0 //hsseo 20060619
/* <<< @: 5009-xxx.HS SEO 060420: vobsub */
#define SUB_READ_CMD_START	11
#define SUB_READ_CMD_STOP		12
#define SUB_READ_CMD_CONTINUE	13
#define EX_SUBFILEREAD_Q_NUM 20



#define READ_VOB_SPU_UINT_NUM	3
#define READ_VOB_SPU_UINT_SIZE	1024*6//1024*4 //3000
#define VOB_READ_SIZE			1024*30 //30000
#define MAX_NUM_VOB_PRES_STRUCT	4000
#define SUB_READ_UNIT_SIZE			3000
/*hsseo 20060617 VOBSUB*/
#endif
#if 0
#define VOB_DP_BUF_SIZE 35280


#define VOB_DP_BUF1_START MM_SUBTITLE_BUF_START
#define VOB_DP_BUF2_START VOB_DP_BUF1_START+VOB_DP_BUF_SIZE


#define VOB_BUF_SIZE 1024*40


#define VOB_BUF1_START VOB_DP_BUF2_START+VOB_DP_BUF_SIZE
#define VOB_BUF2_START VOB_BUF1_START+VOB_BUF_SIZE
#endif

#define VOB_BUF_SIZE 1024*60//1024*70	// cydrain 20060816


#define VOB_BUF1_START MM_SUBTITLE_BUF_START
#define VOB_BUF2_START VOB_BUF1_START+VOB_BUF_SIZE

#define VOB_SPU_UNIT_SIZE 1024*10

#if _APP_CAP_USE_VOBSUB_NEW_METHOD	// cydrain 20060825
#define VOBSUB_BLOCK_NUM	4	// cydrain 20060828
#define VOBSUB_BLOCK_UNIT	15
#define VOBSUB_BLOCK_SIZE	(VOBSUB_BLOCK_UNIT*2048)
#endif

/*hsseo 20060617 VOBSUB*/
/* <<< @: 5009-xxx.HS SEO 060420: vobsub */
/***************************************************************************/
/*********************** Divx subtitle *************************************/

typedef struct {
	UINT red;
	UINT green;
	UINT blue;
}SUBPIC_COLOR_st;	


typedef enum {
	DivxSubTitle_START,
	DivxSubTitle_CONTINUE,
	DivxSubTitle_STOP,
/* <<< @: 5010-xxx.HoJune_Byun 05/11/22 :  Subtitle Change */	
	DivxSubTitle_CHANGE
/* <<< @: 5010-xxx.HoJune_Byun 05/11/22 :  Subtitle Change */	
}DivxSubTitle_IfMessage_et;


typedef struct{
		
	DivxSubTitle_IfMessage_et		message;
	UINT width;
	UINT height;
	UINT	vob_id;	
/* <<< @: 5010-xxx.HoJune_Byun 05/11/22 :  Subtitle Change */
	SysSema_t					*pSem;
/* <<< @: 5010-xxx.HoJune_Byun 05/11/22 :  Subtitle Change */
}DivxSubTitle_Message_st;

/***************************************************************************/


/*********************** External subtitle *************************************/

typedef enum {
	ExSubtitle_STATUS_NOT_INITIALIZED,
	ExSubtitle_STATUS_INITIALIZED,
	ExSubtitle_STATUS_STARTED,
	ExSubtitle_STATUS_READY
}ExSubtitle_STATUS_et;

typedef enum {
	Subtitle_STATUS_NOT_INITIALIZED,
	Subtitle_STATUS_INITIALIZED,
	Subtitle_STATUS_STARTED,
	Subtitle_STATUS_READY
}Subtitle_STATUS_et;

// cydrain 20060603
typedef enum {
	ExSubtitle_Type_Null				=	0x00,
	ExSubtitle_Type_PSB				=	0x10,
	ExSubtitle_Type_SRT				=	0x20,
	ExSubtitle_Type_SSA				=	0x30,
	ExSubtitle_Type_ASS				=	0x40,
	ExSubtitle_Type_SIM				=	0x50,
	ExSubtitle_Type_SIML			=	0x60,
	ExSubtitle_Type_SUB				=	0x70,
	ExSubtitle_Type_SUB_MicroDVD	=	0x71,
	ExSubtitle_Type_SUB_Viewer1	=	0x72,
	ExSubtitle_Type_SUB_Viewer2	=	0x73,
	ExSubtitle_Type_TXT				=	0x80,
	ExSubtitle_Type_TXT_TMPlayer	=	0x81,
	//ExSubtitle_Type_TXT_NoName	=	0x82,
	ExSubtitle_Type_TXT_MicroDVD	=	0x83,
	ExSubtitle_Type_TXT_DVDSubSys	=	0x84,
	ExSubtitle_Type_TXT_Alpha		=	0x85,
	ExSubtitle_Type_TXT_SubRip		=	0x86,
	ExSubtitle_Type_TXT_SubViewer2	=	0x87
} ExSubtitle_Type_et;

#if 1	// cydrain 20060518
typedef struct _SMI_Node
{
	//UINT	index;	// cydrain 20060714, make debug easier.
	UINT	start_time;
	UINT	end_time;
	CHAR*	script;

	//struct _SMI_Node* pre_smi;	// cydrain 20060530, now don't use it.
	struct _SMI_Node* next_smi;
}_SMI_Node;

typedef struct 
{
	BOOL	smi_file_found;	
	BOOL	parse_done;       //hsseo 20060512
	
	BYTE4	file_type;
	UINT	file_size;
	CHAR*	start_address;
	UINT       file_position; //limeng 060516

	_SMI_Node*	head_smi;
	_SMI_Node*	tail_smi;
	_SMI_Node*	cur_smi;

	UINT	smi_totle_num;

#if _APP_CAP_MMP_SUPPORT_VOBSUB_SUBTITLE	// cydrain 20060712, VOBSUB
	FS_File_t FileID; /*hsseo 20060617 VOBSUB*/
#endif
}_SMI_Ctrl_st;
#else
typedef struct 
{
	BYTE4	file_type;
	CHAR	* start_address;
	CHAR	* cur_address;	
	UINT       file_position; //limeng 060516
	UINT	file_size;
	UINT 	total_chunks;
	UINT 	parsed_chunks;	
	UINT 	pres_write_count;	
	UINT 	pres_read_count;		
	BOOL smil_file_found;	

	BOOL parse_done;       //hsseo 20060512
}_SMI_Ctrl_st;
#endif

typedef struct
{
	UINT time;	// cydrain 20060511, UINT can support about 1000 hour, it's enough.
	CHAR  script[MAX_NUM_CHARS];
}_SMI_Pers_st;

typedef struct
{
	UINT command;
	CHAR*  address;
	UINT size;	// cydrain 20060518
}_SMI_Message_st;

typedef struct
{	
	UINT trick_time;
	CHAR* address;
	
}_SMI_Trick_st;

typedef struct
{    
	CHAR fileLang[4];
	CHAR* address;
}_SMI_Class_st;

typedef enum
{
	SMI=0,
	SUB,
	SRT,
	SSA,
	PSB,
	TXT
}_Subtitle_Type;

/*hsseo 20060617 VOBSUB*/
#if _APP_CAP_MMP_SUPPORT_VOBSUB_SUBTITLE	// cydrain 20060712, VOBSUB
typedef enum 
{
	NO_DIVX=0,
	VOBSUB_BUF_AVAIL,
	VOBSUB_BUF_NO_AVAIL

}_Vobsub_Buf_Status;

typedef struct
{
	CHAR lang[20];
//	UINT langlist_num;

	UINT langlist_start;
	UINT langlist_end;
	
}_VOBSUB_Lang_st;
#endif

typedef struct
{
	UINT time;
	UINT filepos;		
#if 1//_APP_CAP_USE_VOBSUB_NEW_METHOD
	UINT size;	// cydrain 20060825	
#endif
}_VOBSUB_Pers_st;


#if _APP_CAP_MMP_SUPPORT_VOBSUB_SUBTITLE	// cydrain 20060712, VOBSUB
typedef struct _VOBSUB_node
{
	_VOBSUB_Pers_st vobsub_st;

	UINT num;   //will consider to remove

//	BOOL end_of_buf; //20060614 //20060609   //will consider to remove
//	UINT vob_buf_num; //20060614  //buf1:1    buf2:2       20060609   //will consider to remove

	UINT address; //20060609
 	
	struct _VOBSUB_node* pre_vobsub;
	struct _VOBSUB_node* next_vobsub;

⌨️ 快捷键说明

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