- 简介
v4l2数据格式定义使用v4l2_fourcc对字母进行转换得到,如:#define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16 YUV 4:2:2 */
,在使用VIDIOC_ENUM_FMT
或VIDIOC_G_FMT
(ioctl函数
)获取格式后往往不能直观的得到是哪种格式,可以通过装换将其转换成字符串,这样看打印出来看的话比较直观; - 转换代码
const char* fmt2str( unsigned fmt )
{
static char retstr[5] = {0};
memset( retstr, 0, 5 );
retstr[0] = fmt & 0xFF;
retstr[1] = (fmt >> 8) & 0xFF;
retstr[2] = (fmt >> 16) & 0xFF;
retstr[3] = (fmt >> 24) & 0xFF;
return retstr;
}