libdc1394上捕获的帧出现问题

时间:2009-05-27 09:39:32

标签: capture

我一直在尝试使用libdc1394为firewire相机编写一个framegrabber。相机的初始化正确完成,视频模式设置为支持的DC1394_VIDEO_MODE_640x480_YUV422,并且抓取框架没有任何错误。

但问题是,返回的帧包含640x480x1.5字节,实际上是YUV411封装。视频帧结构还指出使用的视频模式是YUV411。

但是数据实际上并没有用YUV411解码。相反,YUV422解码产生有效图像,但图像的下部区域丢失,显然是由于帧数据缺少最后一个字节(YUV422是每像素16位,YUV411是每像素12位)。

现在相机符合IIDC v1.30标准,libdc1394支持。正在使用唯一支持的视频模式(如libdc1394所述),这是相机手册指出相机正在使用的模式。

我没有通过谷歌搜索找到解决这个问题的方法。有线索吗?

1 个答案:

答案 0 :(得分:0)

问题在于设备的固件无法返回正确的视频模式值。可以通过修补libdc1394来返回所需的值来解决它。