DM642,DM643视频采集基本架构.doc_第1页
DM642,DM643视频采集基本架构.doc_第2页
DM642,DM643视频采集基本架构.doc_第3页
DM642,DM643视频采集基本架构.doc_第4页
免费预览已结束,剩余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 #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 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 */ 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 /* coefficients 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 available 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 = 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 cache_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 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.imgvsizefld1; 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 = (evmdm642_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 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_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 display 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_control(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); 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; 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.imghsi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论