DM642,DM643视频采集基本架构.doc

上传人:文库蛋蛋多 文档编号:2397636 上传时间:2023-02-17 格式:DOC 页数:5 大小:30KB
返回 下载 相关 举报
DM642,DM643视频采集基本架构.doc_第1页
第1页 / 共5页
DM642,DM643视频采集基本架构.doc_第2页
第2页 / 共5页
DM642,DM643视频采集基本架构.doc_第3页
第3页 / 共5页
DM642,DM643视频采集基本架构.doc_第4页
第4页 / 共5页
DM642,DM643视频采集基本架构.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《DM642,DM643视频采集基本架构.doc》由会员分享,可在线阅读,更多相关《DM642,DM643视频采集基本架构.doc(5页珍藏版)》请在三一办公上搜索。

1、DM642,DM643视频采集基本架构-程序注释1 /* Copyright 2004 by Texas Instruments Incorporated. 2 * All rights reserved. Property of Texas Instruments Incorporated. 3 * Restricted rights to use, duplicate or disclose this code are 4 * granted through contract. 5 */ 6 7 #include /如果使用C语言,必须将此文件作为第一个头文件。 8 #include 9

2、#include 10 #include 11 #include 12 #include /使用CSL库,要用到的一些头文件,可参考CSL 13 #include /视频驱动头文件 14 #include 15 #include 16 #include 17 #include 18 #include 19 #include 20 #include /芯片头文件。 21 22 /#include 23 #include /捕获设备配置文件 24 #include /如用VGA显示,需要的显示设备配置文件 25 #include colorbar.h /如显示彩色滚动条,需要,否则不需要。 26

3、27 VPORT_PortParams EVMDM642_vCapParamsPort 28 = EVMDM642_CAP_PARAMS_PORT_EMBEDDED_DEFAULT; /定义捕获端口。 29 30 /* caputure configuration parameters */ 31 /* embedded sync mode is recommended as it offers better re-sync capability */ 32 /* The available capture modes are */ 33 /* NTSC720 */ 34 /* PAL720

4、*/ 35 36 static VPORTCAP_Params EVMDM642_vCapParamsChan 37 = EVMDM642_CAP_PARAMS_CHAN_EMBEDDED_DEFAULT(PAL720); 38 39 /捕获(即采集端口)端口,为PAL制式。可依据需要改为NTSC制式 40 static TVP51XX_ConfParams EVMDM642_vCapParamsTVP51XX 41 = EVMDM642_CAP_PARAMS_TVP51XX_EMBEDDED_DEFAULT(PAL601, COMPOSITE, 0); 42 43 /* coefficien

5、ts for color space conversion */ 44 static const short coeffs5 = 0x2543, 0x3313, -0x0C8A, -0x1A04, 0x408D; 45 46 /VGA显示,需将YCbCr656转换为RGB565,这是必要的转换矩阵 47 /* display configuration parameters */ 48 VPORT_PortParams EVMDM642_vDisParamsPort /显示端口定义 49 = EVMDM642_DIS_PARAMS_PORT_DEFAULT; 50 51 /* The avai

6、lable display modes are: * 52 * VGA(640x48060fps) * 53 * SVGA(800x60060fps) * 54 * XGA(1024x76860fps) */ 55 56 static VPORTDIS_Params EVMDM642_vDisParamsChan 57 = EVMDM642_DIS_PARAMS_CHAN_RGB565_DEFAULT(VGA); 58 59 /这里的显示端口定义为VGA,即支持的是VGA输出。 60 static SAA7105_ConfParams EVMDM642_vDisParamsSAA7105 61

7、 = EVMDM642_DIS_PARAMS_SAA7105_RGB565_DEFAULT(VGA); 62 63 /* heap IDs defined in the BIOS configuration file */ 64 extern Int EXTERNALHEAP; /在DSP/BIOS中已定义 65 /* 66 * = main = 67 */ 68 69 main() 70 71 /*/ 72 /* open CSL DAT module for fast copy */ 73 /*/ 74 CSL_init(); /调用任何CSL库中的函数,必须先在此调用该函数。 75 CA

8、CHE_clean(CACHE_L2ALL, 0, 0); /清洗Cache 76 CACHE_setL2Mode(CACHE_256KCACHE); /设置Cache模式 77 CACHE_enableCaching(CACHE_EMIFA_CE00); /使能EMIFA CE0空间 78 CACHE_enableCaching(CACHE_EMIFA_CE01); /使能EMIFA CE1空间 79 DAT_open(DAT_CHAANY, DAT_PRI_LOW, DAT_OPEN_2D); 80 81 82 /* 83 * = tskVideoLoopback = 84 * video

9、 loopback function. 85 */ 86 87 void tskVideoLoopback() 88 89 Int i; 90 Int status; 91 Int frames = 0; 92 FVID_Handle disChan; 93 FVID_Frame *disFrameBuf; 94 FVID_Handle capChan; 95 FVID_Frame *capFrameBuf; 96 97 /*设置显示的行数 VGA制式为480,PAL制为576*/ 98 Int numLinesDis = EVMDM642_vDisParamsChan.imgVSizeFld

10、1; 99 100 /*设置采集的行数 PAL制为576*/ 101 Int numLinesCap = (EVMDM642_vCapParamsChan.fldYStop1 - 102 EVMDM642_vCapParamsChan.fldYStrt1+1)*2; 103 104 /*判断是显示区域大,还是采集区域大,取其小者480*/ 105 Int numLines = (numLinesDis numLinesCap) ? numLinesCap : numLinesDis; 106 107 /*设置采集像素数 PAL制为720*/ 108 Int numPixels = (EVMDM

11、642_vCapParamsChan.fldXStop1 - 109 EVMDM642_vCapParamsChan.fldXStrt1+1); 110 111 /*设置采集行的增量 PAL制为720*/ 112 Int capLinePitch = (EVMDM642_vCapParamsChan.fldXStop1 - 113 EVMDM642_vCapParamsChan.fldXStrt1+1); 114 115 /*设置显示行的增量 VGA制为640*/ 116 Int disLinePitch = EVMDM642_vDisParamsChan.imgHSizeFld1; 117

12、118 / numLines *= 2; /* both fields */ /如果输出为PAL制,前面numLinesCap不要*2,这里再*2 119 /*/ 120 /* allocate both capture and display frame buffers */ 121 /* in external heap memory */ 122 /*/ 123 EVMDM642_vDisParamsChan.segId = EXTERNALHEAP; 124 EVMDM642_vDisParamsSAA7105.hI2C = DEC643_I2C_hI2C; 125 EVMDM642_

13、vCapParamsChan.segId = EXTERNALHEAP; 126 EVMDM642_vCapParamsTVP51XX.hI2C = DEC643_I2C_hI2C; 127 128 /*/ 129 /* initialization of capture driver */ 130 /*/ 131 capChan = FVID_create(/VP1CAPTURE/A/1, 132 IOM_INPUT, &status, (Ptr)&EVMDM642_vCapParamsChan, NULL); 133 134 /*/ 135 /* initialization of dis

14、play driver */ 136 /*/ 137 disChan = FVID_create(/VP2DISPLAY, IOM_OUTPUT, 138 &status, (Ptr)&EVMDM642_vDisParamsChan, NULL); 139 140 /*/ 141 /* configure video encoder & decoder */ 142 /*/ 143 FVID_control(disChan, VPORT_CMD_EDC_BASE + EDC_CONFIG, 144 (Ptr)&EVMDM642_vDisParamsSAA7105); 145 FVID_cont

15、rol(capChan, VPORT_CMD_EDC_BASE + EDC_CONFIG, 146 (Ptr)&EVMDM642_vCapParamsTVP51XX); 147 CACHE_clean(CACHE_L2ALL, 0, 0); /CSL函数,冲洗Cache 148 149 /*/ 150 /* start capture & display operation */ 151 /*/ 152 FVID_control(disChan, VPORT_CMD_START, NULL); 153 FVID_control(capChan, VPORT_CMD_START, NULL);

16、154 155 /*/ 156 /* request a frame buffer from display & capture driver */ 157 /*/ 158 FVID_alloc(disChan, &disFrameBuf); 159 FVID_alloc(capChan, &capFrameBuf); 160 frames +; 161 while(1) 162 /* loop forever */ 163 /*/ 164 /* copy data from capture buffer to display buffer */ 165 /*/ 166 for(i = 0;

17、i frame.iFrm.y1 + i * (capLinePitch), 169 capFrameBuf-frame.iFrm.cb1 + (capLinePitch 1) * i, 170 capFrameBuf-frame.iFrm.cr1 + (capLinePitch 1) * i, 171 disFrameBuf-frame.rpFrm.buf + (disLinePitch frame.rpFrm, 177 EVMDM642_vDisParamsChan.imgHSizeFld1, 178 EVMDM642_vDisParamsChan.imgVSizeFld1, 179 frames %(EVMDM642_vDisParamsChan.imgHSizeFld1 3);*/ 180 /上面这段代码,是VGA显示时,显示七色滚动条的。如果想显示采集的图像,不需这个。 181 CACHE_clean(CACHE_L2ALL, 0, 0); 182 FVID_exchange(disChan, &disFrameBuf); /显示一帧视频。 183 184 frames +; 185 186

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号