Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenCV
opencv
提交
7b677bb0
O
opencv
项目概览
OpenCV
/
opencv
上一次同步 9 个月
通知
992
Star
71100
Fork
55581
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
opencv
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7b677bb0
编写于
12月 15, 2018
作者:
A
Alexander Alekhin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
videoio(dc1394): use lazy initialization on demand
backport
eb1f3733
into 2.4
上级
9b954de1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
7 deletion
+11
-7
modules/highgui/src/cap_dc1394_v2.cpp
modules/highgui/src/cap_dc1394_v2.cpp
+11
-7
未找到文件。
modules/highgui/src/cap_dc1394_v2.cpp
浏览文件 @
7b677bb0
...
...
@@ -192,7 +192,11 @@ CvDC1394::~CvDC1394()
dc
=
0
;
}
static
CvDC1394
dc1394
;
static
CvDC1394
&
getDC1394
()
{
static
CvDC1394
dc1394
;
return
dc1394
;
}
class
CvCaptureCAM_DC1394_v2_CPP
:
public
CvCapture
{
...
...
@@ -451,7 +455,7 @@ bool CvCaptureCAM_DC1394_v2_CPP::startCapture()
code
=
dc1394_capture_setup
(
dcCam
,
nDMABufs
,
DC1394_CAPTURE_FLAGS_DEFAULT
);
if
(
code
>=
0
)
{
FD_SET
(
dc1394_capture_get_fileno
(
dcCam
),
&
dc1394
.
camFds
);
FD_SET
(
dc1394_capture_get_fileno
(
dcCam
),
&
getDC1394
()
.
camFds
);
dc1394_video_set_transmission
(
dcCam
,
DC1394_ON
);
if
(
cameraId
==
VIDERE
)
{
...
...
@@ -477,15 +481,15 @@ bool CvCaptureCAM_DC1394_v2_CPP::open(int index)
close
();
if
(
!
dc1394
.
dc
)
if
(
!
getDC1394
()
.
dc
)
goto
_exit_
;
err
=
dc1394_camera_enumerate
(
dc1394
.
dc
,
&
cameraList
);
err
=
dc1394_camera_enumerate
(
getDC1394
()
.
dc
,
&
cameraList
);
if
(
err
<
0
||
!
cameraList
||
(
unsigned
)
index
>=
(
unsigned
)
cameraList
->
num
)
goto
_exit_
;
guid
=
cameraList
->
ids
[
index
].
guid
;
dcCam
=
dc1394_camera_new
(
dc1394
.
dc
,
guid
);
dcCam
=
dc1394_camera_new
(
getDC1394
()
.
dc
,
guid
);
if
(
!
dcCam
)
goto
_exit_
;
...
...
@@ -510,8 +514,8 @@ void CvCaptureCAM_DC1394_v2_CPP::close()
// check for fileno valid before using
int
fileno
=
dc1394_capture_get_fileno
(
dcCam
);
if
(
fileno
>=
0
&&
FD_ISSET
(
fileno
,
&
dc1394
.
camFds
))
FD_CLR
(
fileno
,
&
dc1394
.
camFds
);
if
(
fileno
>=
0
&&
FD_ISSET
(
fileno
,
&
getDC1394
()
.
camFds
))
FD_CLR
(
fileno
,
&
getDC1394
()
.
camFds
);
dc1394_video_set_transmission
(
dcCam
,
DC1394_OFF
);
dc1394_capture_stop
(
dcCam
);
dc1394_camera_free
(
dcCam
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录