[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[libcvd-members] libcvd cvd/videosource.h cvd/Linux/dvbuffer3.h ...
From: |
Olaf Kähler |
Subject: |
[libcvd-members] libcvd cvd/videosource.h cvd/Linux/dvbuffer3.h ... |
Date: |
Sat, 20 Mar 2010 17:21:11 +0000 |
CVSROOT: /sources/libcvd
Module name: libcvd
Changes by: Olaf Kähler <ok245> 10/03/20 17:21:11
Modified files:
cvd : videosource.h
cvd/Linux : dvbuffer3.h
cvd_src : videosource.cpp videosource_dvbuffer.cc
videosource_nodvbuffer.cc
cvd_src/Linux : dvbuffer3_dc1394v1.cc dvbuffer3_dc1394v2.cc
Log message:
added 'reset=1' option to dc1394 videosource to reset stuck firewire
cameras
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/videosource.h?cvsroot=libcvd&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd/Linux/dvbuffer3.h?cvsroot=libcvd&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd_src/videosource.cpp?cvsroot=libcvd&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd_src/videosource_dvbuffer.cc?cvsroot=libcvd&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd_src/videosource_nodvbuffer.cc?cvsroot=libcvd&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd_src/Linux/dvbuffer3_dc1394v1.cc?cvsroot=libcvd&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/libcvd/cvd_src/Linux/dvbuffer3_dc1394v2.cc?cvsroot=libcvd&r1=1.10&r2=1.11
Patches:
Index: cvd/videosource.h
===================================================================
RCS file: /sources/libcvd/libcvd/cvd/videosource.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- cvd/videosource.h 17 Mar 2010 12:49:24 -0000 1.28
+++ cvd/videosource.h 20 Mar 2010 17:21:10 -0000 1.29
@@ -225,26 +225,26 @@
//
// DC1394 buffer
//
- template <class T> VideoBuffer<T>* makeDVBuffer2(int , ImageRef , float
, ImageRef, bool, int)
+ template <class T> VideoBuffer<T>* makeDVBuffer2(int , ImageRef , float
, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer2 cannot handle " +
PNM::type_name<T>::name());
}
- template <> VideoBuffer<byte>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<unsigned short>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<yuv411>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<yuv422>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<Rgb<byte> >* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<bayer_bggr>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<bayer_gbrg>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<bayer_grbg>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<bayer_rggb>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<bayer_bggr16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<bayer_gbrg16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<bayer_grbg16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, int format7_mode);
- template <> VideoBuffer<bayer_rggb16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, int format7_mode);
+ template <> VideoBuffer<byte>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool verbose, bool bus_reset, int format7_mode);
+ template <> VideoBuffer<unsigned short>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<yuv411>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool verbose, bool bus_reset, int format7_mode);
+ template <> VideoBuffer<yuv422>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool verbose, bool bus_reset, int format7_mode);
+ template <> VideoBuffer<Rgb<byte> >* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<bayer_bggr>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<bayer_gbrg>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<bayer_grbg>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<bayer_rggb>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<bayer_bggr16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<bayer_gbrg16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<bayer_grbg16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
+ template <> VideoBuffer<bayer_rggb16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool verbose, bool bus_reset, int
format7_mode);
- void get_dc1394_options(const VideoSource& vs, ImageRef& size, float&
fps, ImageRef& offset, bool& verbose, int& format7_mode);
+ void get_dc1394_options(const VideoSource& vs, ImageRef& size, float&
fps, ImageRef& offset, bool& verbose, bool& bus_reset, int& format7_mode);
////////////////////////////////////////////////////////////////////////////////
//
@@ -318,9 +318,10 @@
ImageRef size, offset;
float fps;
bool verbose;
+ bool bus_reset;
int format7_mode;
- get_dc1394_options(vs, size, fps, offset, verbose,
format7_mode);
- return makeDVBuffer2<T>(cam_no, size, fps, offset,
verbose, format7_mode);
+ get_dc1394_options(vs, size, fps, offset, verbose,
bus_reset, format7_mode);
+ return makeDVBuffer2<T>(cam_no, size, fps, offset,
verbose, bus_reset, format7_mode);
}
else if (vs.protocol == "file") {
int ra_frames = 0;
@@ -471,6 +472,7 @@
size = <size>
offset = <offset>
verbose [ = <bool> ]
+ reset [ = <bool> ]
mode | format7 | format7_mode = <number>
'qt' protocol (QTBuffer): identifier is camera number
Index: cvd/Linux/dvbuffer3.h
===================================================================
RCS file: /sources/libcvd/libcvd/cvd/Linux/dvbuffer3.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- cvd/Linux/dvbuffer3.h 17 Mar 2010 12:49:24 -0000 1.8
+++ cvd/Linux/dvbuffer3.h 20 Mar 2010 17:21:11 -0000 1.9
@@ -133,12 +133,14 @@
uint64_t cam_guid=-1,
int cam_unit=-1,
bool verbose=0,
+ bool bus_reset=0,
ImageRef irSize = ImageRef(-1,-1),
float fFrameRate=-1.0,
ImageRef irOffset = ImageRef(-1,-1),
int format7_mode=-1);
~RawDVBuffer3();
+ static void stopAllTransmissions(void);
inline ImageRef size() {return mirSize;}
inline ImageRef offset() {return mirOffset;}
inline double frame_rate() {return mdFramerate;}
@@ -179,9 +181,10 @@
float fFPS = -1.0,
ImageRef irOffset = ImageRef(-1,-1),
bool verbose=0,
+ bool bus_reset=0,
int format7_mode=-1)
: VideoBuffer<pixel_T>(VideoBufferType::Live),
- RawDVBuffer3(DV3::CSConvert<pixel_T>::space, nCamNumber, 0, -1,
verbose, irSize, fFPS, irOffset, format7_mode)
+ RawDVBuffer3(DV3::CSConvert<pixel_T>::space, nCamNumber, 0, -1,
verbose, bus_reset, irSize, fFPS, irOffset, format7_mode)
{
if(DV3::CSFilter<pixel_T>::filter != DV3::UNDEFINED &&
colour_filter() != DV3::CSFilter<pixel_T>::filter )
throw(Exceptions::DVBuffer3::All("wrong colour filter
expected"));
Index: cvd_src/videosource.cpp
===================================================================
RCS file: /sources/libcvd/libcvd/cvd_src/videosource.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- cvd_src/videosource.cpp 22 Jan 2010 14:42:37 -0000 1.17
+++ cvd_src/videosource.cpp 20 Mar 2010 17:21:11 -0000 1.18
@@ -365,11 +365,12 @@
}
- void get_dc1394_options(const VideoSource& vs, ImageRef& size, float&
fps, ImageRef& offset, bool& verbose, int& format7_mode)
+ void get_dc1394_options(const VideoSource& vs, ImageRef& size, float&
fps, ImageRef& offset, bool& verbose, bool& bus_reset, int& format7_mode)
{
size = offset = ImageRef(-1, -1);
fps = -1;
verbose = 0;
+ bus_reset = 0;
format7_mode = -1;
for (VideoSource::option_list::const_iterator
it=vs.options.begin(); it != vs.options.end(); ++it) {
@@ -381,6 +382,8 @@
offset = parseImageRef(it->second, false);
else if (it->first == "verbose")
verbose = parseBoolFlag(it->second);
+ else if (it->first == "reset")
+ bus_reset = parseBoolFlag(it->second);
else if(it->first == "mode" || it->first ==
"format7_mode" || it->first == "format7")
format7_mode = atoi(it->second.c_str());
else
Index: cvd_src/videosource_dvbuffer.cc
===================================================================
RCS file: /sources/libcvd/libcvd/cvd_src/videosource_dvbuffer.cc,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- cvd_src/videosource_dvbuffer.cc 17 Mar 2010 12:49:24 -0000 1.4
+++ cvd_src/videosource_dvbuffer.cc 20 Mar 2010 17:21:11 -0000 1.5
@@ -3,69 +3,69 @@
namespace CVD{
- template <> VideoBuffer<byte>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<byte>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<byte>(cam,size, fps, offset, v, m);
+ return new DVBuffer3<byte>(cam,size, fps, offset, v, r, m);
}
- template <> VideoBuffer<unsigned short>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<unsigned short>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<unsigned short>(cam,size, fps, offset, v,
m);
+ return new DVBuffer3<unsigned short>(cam,size, fps, offset, v,
r, m);
}
- template <> VideoBuffer<yuv411>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<yuv411>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<yuv411>(cam,size, fps, offset, v, m);
+ return new DVBuffer3<yuv411>(cam,size, fps, offset, v, r, m);
}
- template <> VideoBuffer<yuv422>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<yuv422>* makeDVBuffer2(int cam, ImageRef size,
float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<yuv422>(cam,size, fps, offset, v, m);
+ return new DVBuffer3<yuv422>(cam,size, fps, offset, v, r, m);
}
- template <> VideoBuffer<bayer_grbg>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<bayer_grbg>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<bayer_grbg>(cam,size, fps, offset, v, m);
+ return new DVBuffer3<bayer_grbg>(cam,size, fps, offset, v, r,
m);
}
- template <> VideoBuffer<bayer_gbrg>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<bayer_gbrg>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<bayer_gbrg>(cam,size, fps, offset, v, m);
+ return new DVBuffer3<bayer_gbrg>(cam,size, fps, offset, v, r,
m);
}
- template <> VideoBuffer<bayer_rggb>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<bayer_rggb>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<bayer_rggb>(cam,size, fps, offset, v, m);
+ return new DVBuffer3<bayer_rggb>(cam,size, fps, offset, v, r,
m);
}
- template <> VideoBuffer<bayer_bggr>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<bayer_bggr>* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<bayer_bggr>(cam,size, fps, offset, v, m);
+ return new DVBuffer3<bayer_bggr>(cam,size, fps, offset, v, r,
m);
}
- template <> VideoBuffer<bayer_grbg16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<bayer_grbg16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<bayer_grbg16be>(cam,size, fps, offset, v,
m);
+ return new DVBuffer3<bayer_grbg16be>(cam,size, fps, offset, v,
r, m);
}
- template <> VideoBuffer<bayer_gbrg16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<bayer_gbrg16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<bayer_gbrg16be>(cam,size, fps, offset, v,
m);
+ return new DVBuffer3<bayer_gbrg16be>(cam,size, fps, offset, v,
r, m);
}
- template <> VideoBuffer<bayer_rggb16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<bayer_rggb16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<bayer_rggb16be>(cam,size, fps, offset, v,
m);
+ return new DVBuffer3<bayer_rggb16be>(cam,size, fps, offset, v,
r, m);
}
- template <> VideoBuffer<bayer_bggr16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<bayer_bggr16be>* makeDVBuffer2(int cam,
ImageRef size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<bayer_bggr16be>(cam,size, fps, offset, v,
m);
+ return new DVBuffer3<bayer_bggr16be>(cam,size, fps, offset, v,
r, m);
}
- template <> VideoBuffer<Rgb<byte> >* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, int m)
+ template <> VideoBuffer<Rgb<byte> >* makeDVBuffer2(int cam, ImageRef
size, float fps, ImageRef offset, bool v, bool r, int m)
{
- return new DVBuffer3<Rgb<byte> >(cam, size, fps, offset, v, m);
+ return new DVBuffer3<Rgb<byte> >(cam, size, fps, offset, v, r,
m);
}
}
Index: cvd_src/videosource_nodvbuffer.cc
===================================================================
RCS file: /sources/libcvd/libcvd/cvd_src/videosource_nodvbuffer.cc,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- cvd_src/videosource_nodvbuffer.cc 17 Mar 2010 12:49:24 -0000 1.4
+++ cvd_src/videosource_nodvbuffer.cc 20 Mar 2010 17:21:11 -0000 1.5
@@ -2,67 +2,67 @@
namespace CVD{
- template <> VideoBuffer<byte>* makeDVBuffer2(int, ImageRef, float,
ImageRef, bool, int)
+ template <> VideoBuffer<byte>* makeDVBuffer2(int, ImageRef, float,
ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<unsigned short>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<unsigned short>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<yuv411>* makeDVBuffer2(int, ImageRef, float,
ImageRef, bool, int)
+ template <> VideoBuffer<yuv411>* makeDVBuffer2(int, ImageRef, float,
ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<yuv422>* makeDVBuffer2(int, ImageRef, float,
ImageRef, bool, int)
+ template <> VideoBuffer<yuv422>* makeDVBuffer2(int, ImageRef, float,
ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<bayer_grbg>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<bayer_grbg>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<bayer_gbrg>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<bayer_gbrg>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<bayer_rggb>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<bayer_rggb>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<bayer_bggr>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<bayer_bggr>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<bayer_grbg16be>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<bayer_grbg16be>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<bayer_gbrg16be>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<bayer_gbrg16be>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<bayer_rggb16be>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<bayer_rggb16be>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<bayer_bggr16be>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<bayer_bggr16be>* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
- template <> VideoBuffer<Rgb<byte> >* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, int)
+ template <> VideoBuffer<Rgb<byte> >* makeDVBuffer2(int, ImageRef,
float, ImageRef, bool, bool, int)
{
throw VideoSourceException("DVBuffer3 is not compiled in to
libcvd.");
}
Index: cvd_src/Linux/dvbuffer3_dc1394v1.cc
===================================================================
RCS file: /sources/libcvd/libcvd/cvd_src/Linux/dvbuffer3_dc1394v1.cc,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- cvd_src/Linux/dvbuffer3_dc1394v1.cc 21 Jan 2010 16:48:28 -0000 1.6
+++ cvd_src/Linux/dvbuffer3_dc1394v1.cc 20 Mar 2010 17:21:11 -0000 1.7
@@ -69,6 +69,7 @@
uint64_t,
int,
bool,
+ bool,
ImageRef ,
float fFrameRate,
ImageRef )
Index: cvd_src/Linux/dvbuffer3_dc1394v2.cc
===================================================================
RCS file: /sources/libcvd/libcvd/cvd_src/Linux/dvbuffer3_dc1394v2.cc,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- cvd_src/Linux/dvbuffer3_dc1394v2.cc 17 Mar 2010 12:49:24 -0000 1.10
+++ cvd_src/Linux/dvbuffer3_dc1394v2.cc 20 Mar 2010 17:21:11 -0000 1.11
@@ -23,6 +23,7 @@
#include <cvd/Linux/dvbuffer3.h>
#include <cvd/byte.h>
#include <dc1394/dc1394.h>
+#include <libraw1394/raw1394.h>
#include <vector>
#include <algorithm>
#include <iostream>
@@ -206,6 +207,7 @@
uint64_t cam_guid,
int cam_unit,
bool verbose,
+ bool bus_reset,
ImageRef irSize,
float fFrameRate,
ImageRef irOffset,
@@ -270,6 +272,14 @@
if(!mpLDCP->pCamera) throw(All("Failed on dc1394_camera_new"));
+ if (bus_reset) {
+ dc1394switch_t is_iso_on;
+ if (dc1394_video_get_transmission(mpLDCP->pCamera,
&is_iso_on)!=DC1394_SUCCESS) is_iso_on = DC1394_OFF;
+ if (is_iso_on==DC1394_ON) {
+ dc1394_video_set_transmission(mpLDCP->pCamera, DC1394_OFF);
+ }
+ }
+
log << "Selected camera: " << hex << mpLDCP->pCamera->vendor_id << ":"
<< mpLDCP->pCamera->model_id << "(guid: " << mpLDCP->pCamera->guid << dec <<
")\n";
// What mode to use?
@@ -465,7 +475,7 @@
// frame rate calculations
int num_packets = (int)(8000.0/fFrameRate + 0.5);
- log << "Number of packes: " << num_packets << "\n";
+ log << "Number of packets: " << num_packets << "\n";
int packet_size = (irSize.x * irSize.y * 8 + num_packets * 8 -
1 ) / (num_packets * 8);
mdFramerate = fFrameRate;
// offset calculations
@@ -567,6 +577,20 @@
delete mpLDCP;
}
+ void RawDVBuffer3::stopAllTransmissions(void)
+ {
+ raw1394handle_t rawhandle = raw1394_new_handle();
+ int numPorts = raw1394_get_port_info(rawhandle, NULL,0);
+ for (int i=0; i<numPorts; i++) {
+ raw1394handle_t port = raw1394_new_handle_on_port(i);
+ if (port==NULL) continue;
+ raw1394_iso_stop(port);
+ raw1394_iso_shutdown(port);
+ raw1394_reset_bus(port);
+ raw1394_destroy_handle(port);
+ }
+ raw1394_destroy_handle(rawhandle);
+ }
bool RawDVBuffer3::frame_pending()
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [libcvd-members] libcvd cvd/videosource.h cvd/Linux/dvbuffer3.h ...,
Olaf Kähler <=