当前位置: 技术问答>linux和unix
linux V4L2 问题 fd=::open(dev_name,O_RDWR) 中的 =:: 什么意思??与=有什么区别(在一个.cpp文件中)??
来源: 互联网 发布时间:2017-02-08
本文导语: //摄像头的初始化,初始化后,摄像头一直在采集图片!! static int v4l2_open(const char *dev_name) { if((fd=::open(dev_name,O_RDWR))==-1)//打开视频设备 { return -1; } // 取得capability,摄像头所具有的功能信息,相...
//摄像头的初始化,初始化后,摄像头一直在采集图片!!
static int v4l2_open(const char *dev_name)
{
if((fd=::open(dev_name,O_RDWR))==-1)//打开视频设备
{
return -1;
}
// 取得capability,摄像头所具有的功能信息,相关结构体(struct v4l2_capability)
if(v4l2_get_capability()==-1)//获取摄像头信息
return -1;
//设置视频的制式和帧格式,相关结构体(struct v4l2_std_id,struct v4l2_format)
if(v4l2_set_fmt()==-1)
return -1;
// 向驱动申请帧缓冲,一般不超过5 个,将申请到的帧缓冲映射到用户空间(struct v4l2_requestbuffers)
if(v4l2_set_memory()==-1)//为视频的读取分配内存空间,struct v4l2_buffer;
return -1;
return 0;
}
static int v4l2_open(const char *dev_name)
{
if((fd=::open(dev_name,O_RDWR))==-1)//打开视频设备
{
return -1;
}
// 取得capability,摄像头所具有的功能信息,相关结构体(struct v4l2_capability)
if(v4l2_get_capability()==-1)//获取摄像头信息
return -1;
//设置视频的制式和帧格式,相关结构体(struct v4l2_std_id,struct v4l2_format)
if(v4l2_set_fmt()==-1)
return -1;
// 向驱动申请帧缓冲,一般不超过5 个,将申请到的帧缓冲映射到用户空间(struct v4l2_requestbuffers)
if(v4l2_set_memory()==-1)//为视频的读取分配内存空间,struct v4l2_buffer;
return -1;
return 0;
}
|
=::中的“::”是表示作用域范围的符号,在这里表示全局作用域,即在全局作用域内寻找open(dev_name,O_RDWR)) 这个函数,执行调用