libcvd
|
A video buffer from a Firewire (IEEE 1394) camera. More...
#include <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) | |
Construct a video buffer. More... | |
double | frame_rate () |
What is the (expected) frame rate of this video buffer, in frames per second? | |
virtual ImageRef | size () |
The size of the VideoFrames returned by this buffer. | |
virtual VideoFrame< T > * | get_frame () |
Returns the next frame from the buffer. This function blocks until a frame is ready. | |
virtual void | put_frame (VideoFrame< 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... | |
![]() | |
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... | |
![]() | |
virtual RawVideoBuffer * | source_buffer () |
Which video grabber provides the source images for this video grabber. More... | |
RawVideoBuffer * | root_buffer () |
Follow the chain of video grabbers back as far as at will go. More... | |
![]() | |
RawDCVideo (int camera_no, int num_dma_buffers, int bright, int exposure, int mode, double frame_rate) | |
Construct a video buffer. More... | |
ImageRef | size () |
The size of the VideoFrames returned by this buffer. | |
VideoFrame< byte > * | get_frame () |
Returns the next frame from the buffer. This function blocks until a frame is ready. | |
void | put_frame (VideoFrame< byte > *f) |
Tell the buffer that you are finished with this frame. More... | |
bool | frame_pending () |
Is there a frame waiting in the buffer? This function does not block. | |
void | set_shutter (unsigned int s) |
Set the camera shutter speed. More... | |
unsigned int | get_shutter () |
Get the camera shutter speed. | |
void | set_iris (unsigned int i) |
Set the camera iris. More... | |
unsigned int | get_iris () |
Get the camera iris. | |
void | set_sharpness (unsigned int s) |
Set the camera sharpness. More... | |
unsigned int | get_sharpness () |
Get the camera sharpness. | |
void | set_gain (unsigned int g) |
Set the camera gain. More... | |
unsigned int | get_gain () |
Get the camera gain. | |
void | set_exposure (unsigned int e) |
Set the camera exposure. More... | |
unsigned int | get_exposure () |
Get the camera exposure. | |
void | set_brightness (unsigned int b) |
Set the camera brightness. More... | |
unsigned int | get_brightness () |
Get the camera brightness. | |
void | set_feature_value (unsigned int feature, unsigned int value) |
Set any DC1394 camera feature value. More... | |
unsigned int | get_feature_value (unsigned int feature) |
Get any DC1394 camera feature value. More... | |
std::pair< unsigned int, unsigned int > | get_feature_min_max (unsigned int feature) |
Get the min and max value of any camera feature. More... | |
void | auto_on_off (unsigned int feature, unsigned int auto_value) |
Toggle auto on or off. More... | |
double | frame_rate () |
Get the camera frame rate. | |
raw1394handle_t & | handle () |
What is the handle for this device? | |
nodeid_t & | node () |
Which node is this device on? | |
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).
T | The pixel type of the frames. Currently only <CVD::Rgb<CVD::byte> > CVD::yuv411> and CVD::byte> are supported. |
|
inline |
Construct a video buffer.
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) |
|
inlinevirtual |
Is there a frame waiting in the buffer? This function does not block.
See is_live and is_flushable.
Implements CVD::RawVideoBuffer.
|
inlinevirtual |
Tell the buffer that you are finished with this frame.
Typically the VideoBuffer then destroys the frame.
f | The frame that you are finished with. |
Implements CVD::VideoBuffer< T >.
|
inlinevirtual |
Go to a particular point in the video buffer (only implemented in buffers of recorded video)
t | The frame time in seconds |
Reimplemented from CVD::RawVideoBuffer.