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

📄 tskosd.h

📁 基于DM642的OSD显示程序
💻 H
字号:
#ifndef _TSKOSD_H
#define _TSKOSD_H
#ifdef _NTSC
#include "evmdm642_vcapparamsNTSC.c"
#include "evmdm642_vdisparamsNTSC.c"
/* size of OSD buffer that is going to be allocated in driver */
/* this basically means the whole active image                */
#define OSDBUF_HSIZE         720 
#define OSDBUF_VSIZE         240 /* PER FIELD FOR INTERLACED SOURCE */
#define OSDXSTART            0
#define OSDYSTART            1
#define OSDMODE              EVMDM642OSD_MODE_YCBCR_8BIT 
#define OSDTHRLD             90
#define OSDINTERLACED        TRUE
#define PACKET1_HOFFSET      0
#define PACKET1_VOFFSET      410
#define PACKET1_HSIZE		 OSDBUF_HSIZE
#define PACKET1_VSIZE        48
#define PACKET2_HOFFSET      0
#define PACKET2_VOFFSET      40			
#define PACKET2_HSIZE        OSDBUF_HSIZE
#define PACKET2_VSIZE        40	

#endif

#ifdef _PAL 
#include "evmdm642_vcapparamsPAL.c"
#include "evmdm642_vdisparamsPAL.c"
/* size of OSD buffer that is going to be allocated in driver */
/* this basically means the whole active image                */
#define OSDBUF_HSIZE         720
#define OSDBUF_VSIZE         288 /* PER FIELD FOR INTERLACED SOURCE */
#define OSDXSTART            0
#define OSDYSTART            1
#define OSDMODE              EVMDM642OSD_MODE_YCBCR_8BIT 
#define OSDTHRLD             90
#define OSDINTERLACED        TRUE
#define PACKET1_HOFFSET      0
#define PACKET1_VOFFSET      497
#define PACKET1_HSIZE		 OSDBUF_HSIZE
#define PACKET1_VSIZE        48
#define PACKET2_HOFFSET      0			
#define PACKET2_VOFFSET      40			
#define PACKET2_HSIZE        OSDBUF_HSIZE
#define PACKET2_VSIZE        40			

#endif

#ifdef _HD480P
#include "evmdm642_vcapparamsNTSC.c"
#include "evmdm642_vdisparamsHD480P.c"
/* size of OSD buffer that is going to be allocated in driver */
/* this basically means the whole active image                */
#define OSDBUF_HSIZE         720 
#define OSDBUF_VSIZE         480 /* PER FRAME for progressive SOURCE */
#define OSDXSTART            0
#define OSDYSTART            1
#define OSDMODE              EVMDM642OSD_MODE_YCBCR_16BIT 
#define OSDTHRLD             90
#define OSDINTERLACED        FALSE
#define PACKET1_HOFFSET      0
#define PACKET1_VOFFSET      410
#define PACKET1_HSIZE		 OSDBUF_HSIZE
#define PACKET1_VSIZE        48
#define PACKET2_HOFFSET      0
#define PACKET2_VOFFSET      40			
#define PACKET2_HSIZE        OSDBUF_HSIZE
#define PACKET2_VSIZE        40	

#endif

#ifdef _HD720P
#include "evmdm642_vcapparamsNTSC.c"
#include "evmdm642_vdisparamsHD720P.c"
/* size of OSD buffer that is going to be allocated in driver */
/* this basically means the whole active image                */
#define OSDBUF_HSIZE         1280 
#define OSDBUF_VSIZE         480 /* PER FRAME for progressive SOURCE */
#define OSDXSTART            0
#define OSDYSTART            180
#define OSDMODE              EVMDM642OSD_MODE_YCBCR_16BIT 
#define OSDTHRLD             80
#define OSDINTERLACED        FALSE
#define PACKET1_HOFFSET      0
#define PACKET1_VOFFSET      410
#define PACKET1_HSIZE		 OSDBUF_HSIZE
#define PACKET1_VSIZE        48
#define PACKET2_HOFFSET      0
#define PACKET2_VOFFSET      40			
#define PACKET2_HSIZE        OSDBUF_HSIZE
#define PACKET2_VSIZE        40	

#endif

/* definition of OSD color look-up table */
static EVMDM642OSD_CLUT clut = {OSDCOLOR_DEFAULT_CLUT};                  



static EVMDM642OSD_Params osdParams = {
    NULL,								// cLUT
    OSDMODE,							// mode
    OSDXSTART,							// xStart
    OSDYSTART,						    // yStart
    OSDBUF_HSIZE,						// hSize
    OSDBUF_VSIZE,						// vSize
    OSDINTERLACED,						// interlaced
    OSDTHRLD,      						// thrld
    EDMA_OPT_PRI_HIGH,					// edmaPri
    -1,									// segId
    128,								// alignment
    8									// irqId
};

static EVMDM642OSD_Packet osdPacket1 = {
    NULL,				// link
	NULL,               
    PACKET1_HOFFSET,    // osdHOffset
    PACKET1_VOFFSET,    // osdVOffset
    PACKET1_HSIZE,    	// osdHSize
    PACKET1_VSIZE,     	// osdVSize
    0,   				// numActiveFrms this image is going to */                                   be visible
    NULL,				// buf
    TRUE				// clearFrame
};

static EVMDM642OSD_Packet osdPacket2 = {
    NULL,				// link
	NULL,
	PACKET2_HOFFSET,	// osdHOffset
	PACKET2_VOFFSET,	// osdVOffset
	PACKET2_HSIZE,  	// osdHSize
	PACKET2_VSIZE,      // osdVSize
    30,   				// numActiveFrms
    NULL,				// buf
    FALSE				// clearFrame
};


  
static Uint8 osdBuf[OSDBUF_HSIZE * 48];
static Uint8 osdBuf4[OSDBUF_HSIZE * 48];
static Uint8 osdBuf2[OSDBUF_HSIZE * 40];
static Uint8 osdBuf3[OSDBUF_HSIZE * 40];

static unsigned char tilogo_data[] = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xfc, 0xe0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xfe, 0x0f, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xfc, 0xcf, 0x80, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xfc, 0xdf, 0x80, 0xff, 0xe0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xf1, 0xc7, 0x01, 0xff, 0xf0, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x01, 0xf1, 0xc7, 0x81, 0x0e, 0x10, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0xff, 0xf1, 0xc7, 0xc0, 0x0e, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x7f, 0xf9, 0x9f, 0xc0, 0x0e, 0x3f, 0xce, 
	0x0e, 0x18, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x7f, 0xf9, 0xbf, 0xc0, 0x0e, 0x18, 0x63, 
	0x18, 0x1c, 0x0c, 0x60, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x3f, 0xfb, 0xbf, 0xc0, 0x0e, 0x18, 0x03, 
	0x18, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x1f, 0xfb, 0x3f, 0xc0, 0x0e, 0x18, 0x01, 
	0xb0, 0x2e, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x0f, 0xf3, 0x3f, 0xc0, 0x0e, 0x18, 0x80, 
	0xe0, 0x66, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x0f, 0x38, 0x1f, 0x80, 0x0e, 0x1f, 0x80, 
	0xe0, 0x47, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x06, 0x18, 0x1c, 0x00, 0x0e, 0x18, 0x81, 
	0xf0, 0x47, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x1c, 0x78, 0x00, 0x0e, 0x18, 0x01, 
	0xb0, 0xff, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x0f, 0xf0, 0x00, 0x0e, 0x18, 0x03, 
	0x18, 0x83, 0x90, 0x30, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x0f, 0xe0, 0x00, 0x0e, 0x18, 0x63, 
	0x19, 0x81, 0x98, 0x60, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x0f, 0xe0, 0x00, 0x1f, 0x3f, 0xce, 
	0x0f, 0x81, 0xcf, 0xc0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x01, 0xe0, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x63, 0x83, 0x8f, 0x87, 0xe7, 0xf8, 0x78, 
	0xee, 0x03, 0x9f, 0xe7, 0x07, 0x3f, 0x0f, 0x80, 
	0x00, 0x61, 0xc1, 0x18, 0xcf, 0xf3, 0x0e, 0x30, 
	0x46, 0x03, 0x0c, 0x33, 0x82, 0x7f, 0x98, 0xc0, 
	0x00, 0x61, 0xe1, 0x30, 0x09, 0x93, 0x06, 0x30, 
	0x47, 0x07, 0x0c, 0x03, 0xc2, 0x4c, 0xb0, 0x00, 
	0x00, 0x61, 0xf1, 0x38, 0x01, 0x83, 0x06, 0x30, 
	0x47, 0x07, 0x0c, 0x03, 0xe2, 0x0c, 0x38, 0x00, 
	0x00, 0x61, 0x79, 0x3f, 0x01, 0x83, 0x0e, 0x30, 
	0x47, 0x8f, 0x0c, 0x42, 0xf2, 0x0c, 0x3f, 0x00, 
	0x00, 0x61, 0x3d, 0x1f, 0xc1, 0x83, 0xf8, 0x30, 
	0x46, 0x8b, 0x0f, 0xc2, 0x7a, 0x0c, 0x1f, 0xc0, 
	0x00, 0x61, 0x1f, 0x07, 0xe1, 0x83, 0x18, 0x30, 
	0x46, 0xdb, 0x0c, 0x42, 0x3e, 0x0c, 0x07, 0xe0, 
	0x00, 0x61, 0x0f, 0x00, 0xe1, 0x83, 0x0c, 0x30, 
	0x46, 0x73, 0x0c, 0x02, 0x1e, 0x0c, 0x00, 0xe0, 
	0x00, 0x61, 0x07, 0x20, 0x61, 0x83, 0x0e, 0x30, 
	0x46, 0x73, 0x0c, 0x02, 0x0e, 0x0c, 0x20, 0x60, 
	0x00, 0x61, 0x03, 0x30, 0xc1, 0x83, 0x07, 0x38, 
	0xc6, 0x23, 0x0c, 0x32, 0x06, 0x0c, 0x30, 0xc0, 
	0x00, 0xf3, 0x81, 0x9f, 0x83, 0xc7, 0x83, 0x1f, 
	0x8f, 0x27, 0x9f, 0xe7, 0x03, 0x1e, 0x1f, 0x80, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};

static OSDUTIL_PixMap tilogo = {
	128,
	48,
	tilogo_data
};

#endif


⌨️ 快捷键说明

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