CVD::DVBuffer2< T > Class Template Reference
[Video buffers]

#include <dvbuffer.h>

Inheritance diagram for CVD::DVBuffer2< T >:

CVD::VideoBuffer< T > CVD::DC::RawDCVideo

List of all members.


Detailed Description

template<class T>
class CVD::DVBuffer2< T >

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

The requested image format depends on the templated pixel type. Frames of size 640 by 480 pixels are requested, at 30fps (except for CVD::Rgb<CVD::byte>, which is 15fps).

Parameters:
T The pixel type of the frames. Currently only <CVD::Rgb<CVD::byte> > CVD::yuv411> and CVD::byte> are supported.

Definition at line 244 of file dvbuffer.h.


Public Member Functions

 DVBuffer2 (int cam_no, int num_dma_buffers, int bright=-1, int exposure=-1, double fps=DC::cam_type< T >::fps)
virtual ~DVBuffer2 ()
double frame_rate ()
virtual ImageRef size ()
virtual VideoFrame< T > * get_frame ()
virtual void put_frame (VideoFrame< T > *f)
virtual bool frame_pending ()
virtual void seek_to (double)

Constructor & Destructor Documentation

template<class T>
CVD::DVBuffer2< T >::DVBuffer2 ( int  cam_no,
int  num_dma_buffers,
int  bright = -1,
int  exposure = -1,
double  fps = DC::cam_type<T>::fps 
) [inline]

Construct a video buffer.

Parameters:
cam_no The camera number (the first camera is 0)
num_dma_buffers The number of DMA buffers to use (at least 3 is recommended)
bright The brightness correction (default = -1 = automatic)
exposure The exposure correction (default = -1 = automatic)
fps The number of frames per second (default = 30fps)

Definition at line 253 of file dvbuffer.h.


Member Function Documentation

template<class T>
double CVD::DVBuffer2< T >::frame_rate (  )  [inline, virtual]

What is the (expected) frame rate of this video buffer, in frames per second?

Implements CVD::VideoBuffer< T >.

Definition at line 264 of file dvbuffer.h.

template<class T>
virtual ImageRef CVD::DVBuffer2< T >::size (  )  [inline, virtual]

The size of the VideoFrames returned by this buffer.

Implements CVD::VideoBuffer< T >.

Definition at line 269 of file dvbuffer.h.

template<class T>
virtual VideoFrame<T>* CVD::DVBuffer2< T >::get_frame (  )  [inline, virtual]

Returns the next frame from the buffer. This function blocks until a frame is ready.

Implements CVD::VideoBuffer< T >.

Definition at line 274 of file dvbuffer.h.

template<class T>
virtual void CVD::DVBuffer2< T >::put_frame ( VideoFrame< T > *  f  )  [inline, virtual]

Tell the buffer that you are finished with this frame.

Typically the VideoBuffer then destroys the frame.

Parameters:
f The frame that you are finished with.

Implements CVD::VideoBuffer< T >.

Definition at line 279 of file dvbuffer.h.

template<class T>
virtual bool CVD::DVBuffer2< T >::frame_pending (  )  [inline, virtual]

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

See is_live and is_flushable.

Implements CVD::VideoBuffer< T >.

Definition at line 284 of file dvbuffer.h.

template<class T>
virtual void CVD::DVBuffer2< T >::seek_to ( double   )  [inline, virtual]

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

Parameters:
t The frame time in seconds

Reimplemented from CVD::VideoBuffer< T >.

Definition at line 289 of file dvbuffer.h.


The documentation for this class was generated from the following file:
Generated on Wed Feb 18 10:23:09 2009 for CVD by  doxygen 1.5.3