DM642关于数据采集的疑问(VCA_XSTART)
时间:10-02
整理:3721RD
点击:
最近刚开始接触DM642这块DSP板子,在阅读DM642附带源码vportcap.c时遇到了如下的困惑
这里用的是bt.656标准采集视频数据,疑惑有两点:
① 行 = 结束码(EAV) + 水平消隐(Horizontal Vertical Blanking) + 起始码(SAV) + 有效数据(Active Video)
也就是有效数据应该从144像素之后的位置开始,为什么在上述代码中VCA_START1开始位置为142,也就是说从SAV开始
如果从SAV开始的话,采集720个数据,那么真正一行只有718个有效像素?
应该如何理解XSTART的设置呢。
②关于视频有效行( line )像素应该为720个,VCA_XSTOP1为什么后面需要减 1 ,实际上采集的是719个像素吗?
我看到TMS320C64x DSP VIC Reference Guide (Rev. C).pdf里面对XSTOP的描述有下面这样一句话
Last captured pixel (VCXSTO- 1). Must be an even value
难道是默认需要减 1 ? 但是实际上不是应该采集720个像素吗?
还望各位大神不吝赐教,小弟在这里谢谢了。
- /*PAL*/
- #define VCA_HBLNK_SIZE 144 /* (864-720),horizontal blanking */
- /*确定第一场图像的重直像素为288*/
- #define VCA_IMG_VSIZE1 288 /* (311-24+1), fld1 vertical image size */
- /*确定第一场图像的重直像素为288*/
- #define VCA_IMG_VSIZE2 288 /* (625-338+1), fld2 vertical image size */
- /*确定第一场图像的水平像素为720*/
- #define VCA_IMG_HSIZE1 720 /* field1 horizontal image size */
- /*确定第二场图像的水平像素为720*/
- #define VCA_IMG_HSIZE2 720 /* field2 horizontal image size */
- /*设置图像的采集框*/
- /* HRST = 0, start of horizontal blanking,HCOUNT在EAV后复位
- 即一行是从EAV之后开始 ,那行消隐在前,图像在后*/
- #define VCA_XSTART1 (VCA_HBLNK_SIZE-2)/*EAV*/
- #define VCA_XSTOP1 (VCA_XSTART1 + VCA_IMG_HSIZE1-1)
- /* VRST = 1, end of vertical blanking */
- #define VCA_YSTART1 1
- #define VCA_YSTOP1 (VCA_YSTART1 + VCA_IMG_VSIZE1-1)
这里用的是bt.656标准采集视频数据,疑惑有两点:
① 行 = 结束码(EAV) + 水平消隐(Horizontal Vertical Blanking) + 起始码(SAV) + 有效数据(Active Video)
也就是有效数据应该从144像素之后的位置开始,为什么在上述代码中VCA_START1开始位置为142,也就是说从SAV开始
如果从SAV开始的话,采集720个数据,那么真正一行只有718个有效像素?
应该如何理解XSTART的设置呢。
②关于视频有效行( line )像素应该为720个,VCA_XSTOP1为什么后面需要减 1 ,实际上采集的是719个像素吗?
我看到TMS320C64x DSP VIC Reference Guide (Rev. C).pdf里面对XSTOP的描述有下面这样一句话
Last captured pixel (VCXSTO- 1). Must be an even value
难道是默认需要减 1 ? 但是实际上不是应该采集720个像素吗?
还望各位大神不吝赐教,小弟在这里谢谢了。