osd.h

来自「TECHWELL 之tw2835 四画面合一之驱动代码,CCIR656输出,KE」· C头文件 代码 · 共 328 行

H
328
字号
//==================================================================================
//						OSD definition & variable description
//==================================================================================
#define	OSD_RDO_BLK				0x04//(0x68)
#define	OSD_RDO_CHK				0x05//(0x69)
#define	OSD_CHK_BOX_BLK		0x06//(0x6a)
#define	OSD_CHK_BOX_CHK		0x07//(0x6b)

#define	OSD_R_UPPER				('R'-0x20)
#define	OSD_W_UPPER				('W'-0x20)
#define	OSD_W_SML				(0x57)//(0x63)//
#define	OSD_B_LOWER				('b'-0x20)
#define	OSD_H_LOWER				('h'-0x20)
#define	OSD_PLUS_SML			('+'-0x20)
#define	OSD_PLUS_BIG			(0x61)
#define	OSD_MINUS_SML			('-'-0x20)
#define	OSD_MINUS_BIG			(0x62)

#define	OSD_ARW_L_BIG			(0x64)
#define	OSD_ARW_R_BIG			(0x65)
#define	OSD_ARW_L_SML			(0x66)
#define	OSD_ARW_R_SML			(0x67)

#define	OSD_ARW_U_BIG			(0x6c)
#define	OSD_ARW_D_BIG			(0x6d)
#define	OSD_ARW_U_SML			(0x6e)
#define	OSD_ARW_D_SML			(0x6f)

#define	OSD_X_SMALL				('x'-0x20)		//... (= '\') -> 'x'

#define	OSD_QUIT					(0x60)
#define	OSD_DD					(':'-0x20)

#define	OSD_GRP_LE				(0x3b)
#define	OSD_GRP_LH				(0x3c)
#define	OSD_GRP_RE				(0x3d)
#define	OSD_GRP_LT				(0x5b)
#define	OSD_GRP_RT				(0x5c)
#define	OSD_GRP_LB				(0x5d)
#define	OSD_GRP_RB				(0x5e)
#define	OSD_GRP_LV				(0x5f)

//... tbl_osd_nr_typ
#define	OSD_SQR_CHK				(0x00)
#define	OSD_SQR_BLK				(0x01)




#define	OSD_COL_BLK			1
#define	OSD_COL_50WHT		2
#define	OSD_COL_75WHT		3
#define	OSD_COL_25WHT		4
#define	OSD_COL_100WHT		5
#define	OSD_COL_BLU			6
#define	OSD_COL_RED			7
#define	OSD_COL_ORNG		8
#define	OSD_COL_CYN			9
#define	OSD_COL_MGN			10
#define	OSD_COL_GRN			11
#define	OSD_COL_OCN			12
#define	OSD_COL_YLW			13

#define	OSD_DLY_V			0

#define	OSD_CLR				(0xff)
#define	OSD_BLK				BIT6
#define	OSD_MIX				BIT7

#define	OSD_POS_V_ODD		0
#define	OSD_POS_V_EVEN		BIT9

#define	OSD_PTH_POS_X		2
#define	OSD_PTH_POS_Y		1

#define	OSD_TBL_V_SZ_MSB		0
#define	OSD_TBL_V_SZ_LSB		1
#define	OSD_TBL_H_SZ			2
#define	OSD_TBL_RSLTN			3
#define	OSD_TBL_CLMN			4

//#define	OSD_SPKR02_POS_X		(84-1)// (24>>2)*14 - 1 for boundary
//#define	OSD_SPKR13_POS_X		(90+1)// (24>>2)*15 + 1 for boundary
//#define	OSD_SPKR01_POS_Y		110// (20>>1)*11 - 2 for boundary
//#define	OSD_SPKR23_POS_Y		122// (20>>1)*12 - 2 for boundary


//==================================================================================
//						OSD constant description
//==================================================================================
//... OSD bitmap table
extern code U8 tbl_osd_16x20_odd[];
extern code U8 tbl_osd_16x20_even[];
//extern code U8 tbl_osd_irq_spkr[];
extern code U8	tbl_osd_nr_typ[];

//... string array
extern code U8	str_null[];
extern code U8	str_cmn_path_ds[];
extern code U8	str_cmn_path_rec[];

extern code U8	str_wndw_pop_ds_sb[];
extern code U8	str_wndw_pop_ds[];
//extern code U8	str_wndw_pop_ch[];
extern code U8	str_wndw_pop_zm[];
extern code U8	str_wndw_pop_mtn[];
extern code U8	str_wndw_pop_rc_sb[];
extern code U8	str_wndw_pop_rc[];
extern code U8	str_wndw_pop_ado[];
extern code U8	str_wndw_pop_rg[];
extern code U8	str_wndw_pop_abt[];
extern code U8	str_wndw_pop_sb_scrn[];
extern code U8	str_wndw_pop_sb_src[];
//extern code U8	str_wndw_pop_sb_pb[];
extern code U8	str_wndw_pop_sb_mtn[];
extern code U8	str_wndw_pop_sb_blnd[];
extern code U8	str_wndw_pop_sb_nght[];
extern code U8	str_wndw_pop_sb_fmt[];
extern code U8	str_wndw_pop_sb_indx[];
extern code U8	str_wndw_pop_sb_gn[];
extern code U8	str_wndw_pop_sb_lv[];
extern code U8	str_wndw_pop_sb_rc[];
extern code U8	str_wndw_pop_sb_dt[];

//extern code U8	str_wndw_cmn_cif[];
//extern code U8	str_wndw_cmn_frm[];
//extern code U8	str_wndw_cmn_fld[];
//extern code U8	str_wndw_cmn_fl_d1[];
//extern code U8	str_wndw_cmn_hf_d1[];
extern code U8	str_wndw_cmn_same_as_rec[];
extern code U8	str_wndw_cmn_ch[];
extern code U8	str_wndw_cmn_mux[];

extern code U8	str_wndw_cmn_clos[];

extern code U8	str_wndw_ttl_ds_scrn[];
extern code U8	str_wndw_ttl_pb_inpt[];
extern code U8	str_wndw_ttl_pb_indx[];
extern code U8	str_wndw_ttl_mtn_md[];
extern code U8	str_wndw_ttl_mtn_bd[];
extern code U8	str_wndw_ttl_mtn_nd[];
extern code U8	str_wndw_ttl_ch_stp[];
extern code U8	str_wndw_ttl_rc_fm[];
extern code U8	str_wndw_ttl_que_stp[];
extern code U8	str_wndw_ttl_no_vid[];
extern code U8	str_wndw_ttl_rc_in[];
extern code U8	str_wndw_ttl_reg_ctrl[];
extern code U8	str_wndw_ttl_ado_gn[];
extern code U8	str_wndw_ttl_ado_lv[];
extern code U8	str_wndw_ttl_ado_lv_mr[];
extern code U8	str_wndw_ttl_ado_rc[];
//extern code U8	str_wndw_ttl_ado_dt[];
extern code U8	str_wndw_ttl_abt_info[];

//extern code U8	str_wndw_grp_mtn[];
//extern code U8	str_wndw_grp_blnd[];
//extern code U8	str_wndw_grp_nght[];
extern code U8	str_wndw_grp_dtctn[];
extern code U8	str_wndw_grp_loss[];
extern code U8	str_wndw_grp_sel[];
//extern code U8	str_wndw_grp_mix[];
extern code U8	str_wndw_grp_in_gn[];
extern code U8	str_wndw_grp_out_gn[];
extern code U8	str_wndw_grp_smpl_rto[];
extern code U8	str_wndw_grp_bit_wdth[];
extern code U8	str_wndw_grp_mlt_ch[];
extern code U8	str_wndw_grp_md[];
extern code U8	str_wndw_grp_fltr[];
extern code U8	str_wndw_grp_thrs[];
extern code U8	str_wndw_grp_src[];
extern code U8	str_wndw_grp_size[];
#if	defined(__16CH__)
extern code U8	str_wndw_grp_stg[];
#endif
extern code U8	str_wndw_grp_skip_ch[];

extern code U8	str_wndw_ds_full[];
extern code U8	str_wndw_ds_quad[];
extern code U8	str_wndw_ds_wth_4pb[];
extern code U8	str_wndw_ds_16ch[];
extern code U8	str_wndw_ds_wth_16pb[];
extern code U8	str_wndw_ds_psdo_8ch[];
extern code U8	str_wndw_ds_wth_rc[];
extern code U8	str_wndw_ds_fld_sec[];
extern code U8	str_wndw_ds_byps[];
extern code U8	str_wndw_ds_frz[];
extern code U8	str_wndw_ds_blak[];
extern code U8	str_wndw_ds_blik[];

extern code U8	str_wndw_in_auto_det[];
extern code U8	str_wndw_in_mnl_det[];
extern code U8	str_wndw_in_bnd_indx[];
extern code U8	str_wndw_in_anlg_indx[];
extern code U8	str_wndw_in_dtct_id[];
extern code U8	str_wndw_in_usr_id[];
extern code U8	str_wndw_in_run_in_clk[];
extern code U8	str_wndw_in_h_strt[];
extern code U8	str_wndw_in_pxl_bit[];
extern code U8	str_wndw_in_v_strt[];
//extern code U8	str_wndw_in_line[];
extern code U8	str_wndw_in_dgtl_indx[];

extern code U8	str_wndw_ch_wn[];
extern code U8	str_wndw_ch_live_vid[];
extern code U8	str_wndw_ch_pb[];
extern code U8	str_wndw_ch_en_enh[];

extern code U8	str_wndw_mtn_cll[];
extern code U8	str_wndw_mtn_lvl[];
extern code U8	str_wndw_mtn_sptl[];
extern code U8	str_wndw_mtn_tmpl[];
extern code U8	str_wndw_mtn_vel[];
extern code U8	str_wndw_mtn_dspl_mtn[];
extern code U8	str_wndw_mtn_dspl_msk[];

extern code U8	str_wndw_rc_frm_cif[];
extern code U8	str_wndw_rc_fld_cif[];
extern code U8	str_wndw_rc_fl_d1[];
extern code U8	str_wndw_rc_hf_d1[];
extern code U8	str_wndw_rc_lv_sw[];
extern code U8	str_wndw_rc_prd[];
extern code U8	str_wndw_rc_que_stp[];
extern code U8	str_wndw_rc_no_vid[];

extern code U8	str_wndw_pop_sb_nr[];
extern code U8	str_wndw_grp_ch_en[];
extern code U8	str_wndw_grp_wn_typ[];
//extern code U8	str_wndw_rc_nr_en_fltr[];
//extern code U8	str_wndw_rc_nr_3x3[];
//extern code U8	str_wndw_rc_nr_crs[];
//extern code U8	str_wndw_rc_nr_mlt[];
//extern code U8	str_wndw_rc_nr_v_br[];
extern code U8	str_wndw_rc_nr_typ1[];
extern code U8	str_wndw_rc_nr_typ2[];
extern code U8	str_wndw_rc_nr_typ3[];
extern code U8	str_wndw_rc_nr_typ4[];
extern code U8	str_wndw_rc_nr_adpt[];
//extern code U8	str_wndw_rc_nr_nrml[];
//extern code U8	str_wndw_rc_nr_thr[];
//extern code U8	str_wndw_rc_nr_slp[];

extern code U8	str_wndw_no_vid_byps[];
extern code U8	str_wndw_no_vid_hold[];
extern code U8	str_wndw_no_vid_blue_back[];
extern code U8	str_wndw_no_vid_skip[];
extern code U8	str_wndw_no_vid_auto[];
extern code U8	str_wndw_no_vid_manl[];

extern code U8	str_wndw_pop_vga[];
extern code U8	str_wndw_pop_sb_out_rs[];
extern code U8	str_wndw_pop_sb_de_int[];
extern code U8	str_wndw_pop_sb_img_en[];
extern code U8	str_wndw_pop_sb_ns_rd[];
extern code U8	str_wndw_ttl_out_rs[];
extern code U8	str_wndw_ttl_de_int[];
extern code U8	str_wndw_ttl_img_en[];
extern code U8	str_wndw_ttl_ns_rd[];
extern code U8	str_wndw_grp_3d_nr[];
extern code U8	str_wndw_grp_3d_de_int[];
extern code U8	str_wndw_vga_or_vga[];
extern code U8	str_wndw_vga_or_svga[];
extern code U8	str_wndw_vga_di_adpt[];
extern code U8	str_wndw_vga_di_bob[];
extern code U8	str_wndw_vga_di_wv[];
extern code U8	str_wndw_vga_di_edg[];
extern code U8	str_wndw_vga_di_fst[];
extern code U8	str_wndw_vga_di_mtn_1[];
//extern code U8	str_wndw_vga_di_mtn_2[];
extern code U8	str_wndw_vga_ie_shrp[];
extern code U8	str_wndw_vga_ie_lti[];
extern code U8	str_wndw_vga_ie_cti[];
extern code U8	str_wndw_vga_ie_bw[];
extern code U8	str_wndw_vga_nr_off[];
extern code U8	str_wndw_vga_nr_tpcl[];
extern code U8	str_wndw_vga_nr_max[];
extern code U8	str_wndw_vga_nr_ccs[];

extern code U8	str_wndw_ado_cmn_ch1[];
extern code U8	str_wndw_ado_cmn_ch2[];
extern code U8	str_wndw_ado_cmn_ch3[];
extern code U8	str_wndw_ado_cmn_ch4[];
extern code U8	str_wndw_ado_gn[];
extern code U8	str_wndw_ado_lv_pb[];
extern code U8	str_wndw_ado_lv_mix[];
extern code U8	str_wndw_ado_lv_mix_rto[];
extern code U8	str_wndw_ado_rc_8k[]; 
extern code U8	str_wndw_ado_rc_16k[];
extern code U8	str_wndw_ado_rc_8bit[];
extern code U8	str_wndw_ado_rc_16bit[];
extern code U8	str_wndw_ado_rc_2ch[];
extern code U8	str_wndw_ado_rc_4ch[];
extern code U8	str_wndw_ado_rc_8ch[];
extern code U8	str_wndw_ado_rc_16ch[];
//extern code U8	str_wndw_ado_dt_absl[];
//extern code U8	str_wndw_ado_dt_rltv[];

extern code U8	str_wndw_rg_radx[];
extern code U8	str_wndw_rg_ms[];
extern code U8	str_wndw_rg_s1[];
extern code U8	str_wndw_rg_s2[];
extern code U8	str_wndw_rg_s3[];

//==================================================================================
//						OSD function prototype description
//==================================================================================
//extern void WriteOSDBmpX(U8 _dvc, U8 _pos_x, U16 _pos_y, U8 _prp, U8 _indx, U8 code *_bmp_ptr);	//... only one _pth at once
extern void WriteOSDBmpY(U8 _dvc, U8 _pos_x, U16 _pos_y, U8 _prp, U8 _indx, U8 code *_bmp_ptr);	//... only one _pth at once

extern void WriteOSDFntX(U8 _dvc, U8 _pos_x, U16 _pos_y, U8 _prp, U8 _indx);	//... only one _path at once
extern void WriteOSDFntY(U8 _dvc, U8 _pos_x, U16 _pos_y, U8 _prp, U8 _indx);	//... only one _path at once
extern void WriteOSDFnt(U8 _pth, U8 _dvc, U8 _pos_x, U16 _pos_y, U8 _prp, U8 _indx);
extern void WriteOSDStrX(U8 _dvc, U8 _pos_x, U8 _pos_y, U8 _prp, U8 code *_str_ptr);
extern void WriteOSDStrY(U8 _dvc, U8 _pos_x, U8 _pos_y, U8 _prp, U8 code *_str_ptr);
extern void WriteOSDStr(U8 _pth, U8 _dvc, U8 _pos_x, U8 _pos_y, U8 _prp, U8 code *_str_ptr);
extern void WriteOSDClrX(U8 _dvc, U8 _pos_x, U16 _pos_y, U8 _wdth, U16 _hght);	//... only one _path at once
extern void WriteOSDClrY(U8 _dvc, U8 _pos_x, U16 _pos_y, U8 _wdth, U16 _hght);	//... only one _path at once
extern void WriteOSDClr(U8 _pth, U8 _dvc, U8 _pos_x, U16 _pos_y, U8 _wdth, U16 _hght);
//extern U8 DsplyOSDDatHexX(U8 _dvc, U8 _pos_x, U8 _pos_y, U8 _pg, U8 _addr);
extern U8 DsplyOSDDatHexY(U8 _dvc, U8 _pos_x, U8 _pos_y, U8 _pg, U8 _addr);
//extern U8 DsplyOSDDatBinX(U8 _dvc, U8 _pos_x, U8 _pos_y, U8 _pg, U8 _addr);
//extern U8 DsplyOSDDatBinY(U8 _dvc, U8 _pos_x, U8 _pos_y, U8 _pg, U8 _addr);

extern void	SetOSDCol(U8 _pth, U8 _col_num, U8 _y, U8 _cb, U8 _cr);
extern void	InitOSDCol(void);
extern void	SetOSDMn(void);
extern void	SetOSDNoMn(void);

⌨️ 快捷键说明

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