我一直在使用USB webCam和v4l2 API开发一些视频应用。 API提供了许多ioctl()调用来枚举一般功能,视频标准,像素颜色格式等。但是没有ioctl()来枚举USB webCam支持的所有可能的图像大小。
这样做的首选方式是什么?
API文档说您可以设置特定的图像大小,ioctl()将返回其最接近的匹配。所以我想我可以尝试每个可能的图像大小,看看USB webCam是否拒绝它。但是,当有如此多的标准尺寸格式(QCIF,CIF,4CIF,16CIF,VGA,DV,SVGA,XGA,UVGA,SXGA,UXGA等)时,这似乎是一种列举所有可能支持的图像尺寸的相当低效的方法。 / p>
谢谢,
-Andres
答案 0 :(得分:1)
我会回答我自己的问题......
原来我一直在查看一些关于v4l2的非常旧的文档,其中没有包含对图像大小的ioctl()的任何引用。较新的文档确实有一个VIDIOC_ENUM_FRAMESIZES ioctl()用于枚举所有支持的帧大小。
本故事的道德:始终获取您打算使用的任何API的最新文档。对于video4linux2,请使用:
http://linuxtv.org/downloads/v4l-dvb-apis/
-Andres