PTLib  Version 2.10.4
PVideoInput1394DcDevice Class Reference

This class defines a video input device that generates fictitous image data. More...

#include <videoio1394dc.h>

Inheritance diagram for PVideoInput1394DcDevice:
PVideoInputDevice PVideoDevice PVideoFrameInfo PObject

List of all members.

Public Member Functions

 PVideoInput1394DcDevice ()
 Create a new video input device.
 ~PVideoInput1394DcDevice ()
 Close the video input device on destruction.
PBoolean Open (const PString &deviceName, PBoolean startImmediate=true)
 Open the device given the device name.
PBoolean IsOpen ()
 Determine of the device is currently open.
PBoolean Close ()
 Close the device.
PBoolean Start ()
 Start the video device I/O.
PBoolean Stop ()
 Stop the video device I/O capture.
PBoolean IsCapturing ()
 Determine if the video device I/O capture is in progress.
PINDEX GetMaxFrameBytes ()
 Get the maximum frame size in bytes.
PBoolean GetFrameData (BYTE *buffer, PINDEX *bytesReturned=NULL)
 Grab a frame, after a delay as specified by the frame rate.
PBoolean GetFrameDataNoDelay (BYTE *buffer, PINDEX *bytesReturned=NULL)
 Grab a frame.
int GetBrightness ()
 Get the brightness of the image.
PBoolean SetBrightness (unsigned newBrightness)
 Set brightness of the image.
int GetWhiteness ()
 Get the whiteness of the image.
PBoolean SetWhiteness (unsigned newWhiteness)
 Set whiteness of the image.
int GetColour ()
 Get the colour of the image.
PBoolean SetColour (unsigned newColour)
 Set colour of the image.
int GetContrast ()
 Get the contrast of the image.
PBoolean SetContrast (unsigned newContrast)
 Set contrast of the image.
int GetHue ()
 Get the hue of the image.
PBoolean SetHue (unsigned newHue)
 Set hue of the image.
PBoolean GetParameters (int *whiteness, int *brightness, int *colour, int *contrast, int *hue)
 Return whiteness, brightness, colour, contrast and hue in one call.
PBoolean GetFrameSizeLimits (unsigned &minWidth, unsigned &minHeight, unsigned &maxWidth, unsigned &maxHeight)
 Get the minimum & maximum size of a frame on the device.
void ClearMapping ()
int GetNumChannels ()
 Get the number of video channels available on the device.
PBoolean SetChannel (int channelNumber)
 Set the video channel to be used on the device.
PBoolean SetFrameRate (unsigned rate)
 Set the video frame rate to be used on the device.
PBoolean SetVideoFormat (VideoFormat videoFormat)
 Set the video format to be used.
PBoolean SetFrameSize (unsigned width, unsigned height)
 Set the frame size to be used.
PBoolean SetColourFormat (const PString &colourFormat)
 Set the colour format to be used.
PBoolean TestAllFormats ()
 Try all known video formats & see which ones are accepted by the video driver.
PBoolean SetFrameSizeConverter (unsigned width, unsigned height, PBoolean bScaleNotCrop)
 Set the frame size to be used, trying converters if available.
PBoolean SetColourFormatConverter (const PString &colourFormat)
 Set the colour format to be used, trying converters if available.

Static Public Member Functions

static PStringList GetInputDeviceNames ()
 Get a list of all of the drivers available.

Protected Attributes

raw1394handle_t handle
PBoolean is_capturing
PBoolean UseDMA
nodeid_t * camera_nodes
int numCameras
dc1394_cameracapture camera
int capturing_duration
PString desiredColourFormat
unsigned desiredFrameWidth
unsigned desiredFrameHeight

Detailed Description

This class defines a video input device that generates fictitous image data.


Constructor & Destructor Documentation

Create a new video input device.

Close the video input device on destruction.


Member Function Documentation

Close the device.

Reimplemented from PVideoInputDevice.

Get the brightness of the image.

0xffff-Very bright.

Reimplemented from PVideoDevice.

Get the colour of the image.

0xffff-lots of colour.

Reimplemented from PVideoDevice.

Get the contrast of the image.

0xffff-High contrast.

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::GetFrameData ( BYTE *  buffer,
PINDEX *  bytesReturned = NULL 
) [virtual]

Grab a frame, after a delay as specified by the frame rate.

Parameters:
bytesReturnedBuffer to receive frame OPtional bytes returned.

Implements PVideoInputDevice.

PBoolean PVideoInput1394DcDevice::GetFrameDataNoDelay ( BYTE *  buffer,
PINDEX *  bytesReturned = NULL 
) [virtual]

Grab a frame.

Do not delay according to the current frame rate parameter.

Parameters:
bytesReturnedBuffer to receive frame OPtional bytes returned.

Implements PVideoInputDevice.

PBoolean PVideoInput1394DcDevice::GetFrameSizeLimits ( unsigned &  minWidth,
unsigned &  minHeight,
unsigned &  maxWidth,
unsigned &  maxHeight 
) [virtual]

Get the minimum & maximum size of a frame on the device.

Parameters:
minHeightVariable to receive minimum width
maxWidthVariable to receive minimum height
maxHeightVariable to receive maximum width Variable to receive maximum height

Reimplemented from PVideoDevice.

Get the hue of the image.

0xffff-High hue.

Reimplemented from PVideoDevice.

Get a list of all of the drivers available.

Get the maximum frame size in bytes.

Note a particular device may be able to provide variable length frames (eg motion JPEG) so will be the maximum size of all frames.

Implements PVideoDevice.

Get the number of video channels available on the device.

Default behaviour returns 1.

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::GetParameters ( int *  whiteness,
int *  brightness,
int *  colour,
int *  contrast,
int *  hue 
) [virtual]

Return whiteness, brightness, colour, contrast and hue in one call.

Reimplemented from PVideoDevice.

Get the whiteness of the image.

0xffff-Very white.

Reimplemented from PVideoDevice.

Determine if the video device I/O capture is in progress.

Implements PVideoInputDevice.

Determine of the device is currently open.

Implements PVideoDevice.

PBoolean PVideoInput1394DcDevice::Open ( const PString deviceName,
PBoolean  startImmediate = true 
) [virtual]

Open the device given the device name.

Parameters:
startImmediateDevice name to open Immediately start device

Implements PVideoInputDevice.

PBoolean PVideoInput1394DcDevice::SetBrightness ( unsigned  newBrightness) [virtual]

Set brightness of the image.

0xffff-Very bright.

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::SetChannel ( int  channelNumber) [virtual]

Set the video channel to be used on the device.

The channel number is an integer from 0 to GetNumChannels()-1. The special value of -1 will find the first working channel number.

Default behaviour sets the value of the channelNumber variable and then returns true.

Parameters:
channelNumberNew channel number for device.

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::SetColour ( unsigned  newColour) [virtual]

Set colour of the image.

0xffff-lots of colour.

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::SetColourFormat ( const PString colourFormat) [virtual]

Set the colour format to be used.

Default behaviour sets the value of the colourFormat variable and then returns true if not an empty string.

Reimplemented from PVideoFrameInfo.

Set the colour format to be used, trying converters if available.

This function will set the colour format on the device to one that is compatible with a registered converter, and install that converter so that the correct format is used.

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::SetContrast ( unsigned  newContrast) [virtual]

Set contrast of the image.

0xffff-High contrast.

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::SetFrameRate ( unsigned  rate) [virtual]

Set the video frame rate to be used on the device.

Default behaviour sets the value of the frameRate variable and then returns true.

Parameters:
rateFrames per second

Reimplemented from PVideoFrameInfo.

PBoolean PVideoInput1394DcDevice::SetFrameSize ( unsigned  width,
unsigned  height 
) [virtual]

Set the frame size to be used.

Note that devices may not be able to produce the requested size, and this function will fail. See SetFrameSizeConverter().

Default behaviour sets the frameWidth and frameHeight variables and returns true.

Parameters:
heightNew width of frame New height of frame

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::SetFrameSizeConverter ( unsigned  width,
unsigned  height,
PBoolean  bScaleNotCrop 
) [virtual]

Set the frame size to be used, trying converters if available.

If the device does not support the size, a set of alternate resolutions are attempted. A converter is setup if possible.

Parameters:
heightNew width of frame
bScaleNotCropNew height of frame Scale or crop/pad preference

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::SetHue ( unsigned  newHue) [virtual]

Set hue of the image.

0xffff-High hue.

Reimplemented from PVideoDevice.

Set the video format to be used.

Default behaviour sets the value of the videoFormat variable and then returns true.

Parameters:
videoFormatNew video format

Reimplemented from PVideoDevice.

PBoolean PVideoInput1394DcDevice::SetWhiteness ( unsigned  newWhiteness) [virtual]

Set whiteness of the image.

0xffff-Very white.

Reimplemented from PVideoDevice.

Start the video device I/O.

Implements PVideoDevice.

Stop the video device I/O capture.

Implements PVideoDevice.

Try all known video formats & see which ones are accepted by the video driver.


Member Data Documentation

dc1394_cameracapture PVideoInput1394DcDevice::camera [protected]
raw1394handle_t PVideoInput1394DcDevice::handle [protected]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines