libcvd
Public Member Functions | List of all members
CVD::DVBuffer3< pixel_T > Class Template Reference

A video buffer from a Firewire (IEEE 1394) camera. More...

#include <dvbuffer3.h>

Inheritance diagram for CVD::DVBuffer3< pixel_T >:
Inheritance graph
[legend]
Collaboration diagram for CVD::DVBuffer3< pixel_T >:
Collaboration graph
[legend]

Public Member Functions

 DVBuffer3 (unsigned int nCamNumber=0, ImageRef irSize=ImageRef(-1, -1), float fFPS=-1.0, ImageRef irOffset=ImageRef(-1, -1), bool verbose=0, bool bus_reset=0, int format7_mode=-1)
 
double frame_rate ()
 What is the (expected) frame rate of this video buffer, in frames per second?
 
ImageRef size ()
 The size of the VideoFrames returned by this buffer.
 
virtual VideoFrame< pixel_T > * get_frame ()
 Returns the next frame from the buffer. This function blocks until a frame is ready.
 
virtual void put_frame (VideoFrame< pixel_T > *f)
 Tell the buffer that you are finished with this frame. More...
 
virtual bool frame_pending ()
 Is there a frame waiting in the buffer? This function does not block. More...
 
virtual void seek_to (double)
 Go to a particular point in the video buffer (only implemented in buffers of recorded video) More...
 
- Public Member Functions inherited from CVD::VideoBuffer< pixel_T >
 VideoBuffer (VideoBufferType::Type _type)
 Construct the buffer with the known semantics.
 
virtual void flush ()
 Flush all old frames out of the video buffer, on a flushable buffer, causing the next get_frame() to sleep until a frame arrives. More...
 
VideoBufferType::Type type ()
 Returns the type of the video stream. More...
 
- Public Member Functions inherited from CVD::RawVideoBuffer
virtual RawVideoBuffersource_buffer ()
 Which video grabber provides the source images for this video grabber. More...
 
RawVideoBufferroot_buffer ()
 Follow the chain of video grabbers back as far as at will go. More...
 
- Public Member Functions inherited from CVD::DV3::RawDVBuffer3
 RawDVBuffer3 (DV3ColourSpace colourspace, int nCamNumber=0, 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)
 Mode-selecting constructor for all standard modes & Format 7. More...
 
ImageRef offset ()
 
DV3ColourFilter colour_filter ()
 
VideoFrame< byte > * get_frame ()
 
void put_frame (VideoFrame< byte > *f)
 
void set_feature_value (DV3Feature nFeature, unsigned int nValue)
 
unsigned int get_feature_value (DV3Feature nFeature)
 
std::pair< unsigned int, unsigned int > get_feature_min_max (DV3Feature nFeature)
 
void auto_on_off (DV3Feature nFeature, bool bValue)
 
void power_on_off (DV3Feature nFeature, bool bValue)
 

Additional Inherited Members

- Static Public Member Functions inherited from CVD::DV3::RawDVBuffer3
static void stopAllTransmissions (void)
 

Detailed Description

template<class pixel_T>
class CVD::DVBuffer3< pixel_T >

A video buffer from a Firewire (IEEE 1394) camera.

This can use both v1.x and v2.0 series of libdc1394. For v2 it selects the video mode as described for RawDVBuffer3 above. For v1 this just wraps DVBuffer2.

Member Function Documentation

◆ frame_pending()

template<class pixel_T >
virtual bool CVD::DVBuffer3< pixel_T >::frame_pending ( )
inlinevirtual

Is there a frame waiting in the buffer? This function does not block.

See is_live and is_flushable.

Reimplemented from CVD::DV3::RawDVBuffer3.

◆ put_frame()

template<class pixel_T >
virtual void CVD::DVBuffer3< pixel_T >::put_frame ( VideoFrame< pixel_T > *  f)
inlinevirtual

Tell the buffer that you are finished with this frame.

Typically the VideoBuffer then destroys the frame.

Parameters
fThe frame that you are finished with.

Implements CVD::VideoBuffer< pixel_T >.

◆ seek_to()

template<class pixel_T >
virtual void CVD::DVBuffer3< pixel_T >::seek_to ( double  )
inlinevirtual

Go to a particular point in the video buffer (only implemented in buffers of recorded video)

Parameters
tThe frame time in seconds

Reimplemented from CVD::RawVideoBuffer.


The documentation for this class was generated from the following file: