#include <l1394_avccamera.h>
Inheritance diagram for L1394::AvcCamera:
Public Member Functions | |
virtual int | setParameter (const int buffercount=4, const int channel=63, const Isomode isomode=DEVICE_ISO_RUN, const Videomode videomode=DEVICE_DV, const Framerate framerate=DEVICE_FRAMES_DV) |
This method set the parameter of a camera. | |
AvcCamera constructor | |
These functions create/delete an AvcCamera. | |
AvcCamera (FcpNode *parent_node, const int subunit_value) | |
This method creates an AvcCamera. | |
virtual | ~AvcCamera () |
destructor | |
Camera information | |
These functions return some camera specific information. | |
virtual bool | hasVideoFormat (const Videomode videomode) |
This method tests, if a videomode is supported by a Camera. | |
virtual bool | hasFramerate (const Videomode videomode, const Framerate framerate) |
This method tests, if a framerate, with a videomode is supported by the camera. | |
Basic functions | |
These functions implement the basic functions, defined in abstract class Device. | |
virtual int | start () |
This method starts a FireWire device and iso-receive. | |
virtual int | stop () |
This method stops a sending device and the Iso-receive. | |
AV/C Camera Interface | |
These functions describe the interface of an AV/C camera | |
virtual const CameraRegister * | brightness () |
Access 'Brightness' feature register. | |
virtual const CameraRegister * | autoExposure () |
Access 'Auto-Exposure' feature register. | |
virtual const CameraRegister * | sharpness () |
Access 'Sharpness' feature register. | |
virtual const CameraRegister * | whiteBalance () |
Access 'White-Balance' feature register. | |
virtual const CameraRegister * | whiteBalance (const int) |
Access 'White-Balance' feature register. | |
virtual const CameraRegister * | hue () |
Access 'Hue' feature register. | |
virtual const CameraRegister * | saturation () |
Access 'Saturation' feature register. | |
virtual const CameraRegister * | gamma () |
Access 'Gamma' feature register. | |
virtual const CameraRegister * | shutter () |
Access 'Shutter' feature register. | |
virtual const CameraRegister * | gain () |
Access 'Gain' feature register. | |
virtual const CameraRegister * | iris () |
Access 'Iris' feature register. | |
virtual const CameraRegister * | focus () |
Access 'Focus' feature register. | |
virtual const CameraRegister * | temperature () |
Access 'Temperature' feature register. | |
virtual const CameraRegister * | trigger () |
Access 'Trigger' feature register. | |
virtual const CameraRegister * | zoom () |
Access 'Zoom' feature register. | |
virtual const CameraRegister * | pan () |
Access 'Pan' feature register. | |
virtual const CameraRegister * | tilt () |
Access 'Tilt' feature register. | |
virtual const CameraRegister * | filter () |
Access 'Filter' feature register. |
The mechanism to create commands is the same, as described in class Camera .
The Session class provides also functions to get explicit AvcCameras. So the example in the Camera class documentation can be changed, if you need an AvcCamera.
Session* session = GetSession(); AvcCamera* camera = session->findAvcCamera(); //get explicit a AvcCamera if (camera == NULL) { cout << "No AvcCamera found" << endl; exit(0); } if (camera->zoom()->hasFeature()) //if the camera support zoom camera->zoom()->setValue(camera->zoom()->getMinValue()); //set zoom value to the minimum value. else cout << " Feature not supported " << endl;
To start the isochronous transaction, the method init() must be called, to allocate resources. The camera is set to default parameters, that can be changed with method setParameter(). For AV/C Cameras you only can change the iso-channel and buffer count.
The AvcCamera class is still under develop. The control functions are not tested (I try it with two AV/C cameras and get NOT_IMPLEMENTED response for all features.)
Definition at line 66 of file l1394_avccamera.h.
|
This method creates an AvcCamera.
Definition at line 23 of file l1394_avccamera.cpp. References L1394::DEVICE_DV, L1394::DEVICE_FRAMES_DV, L1394::DEVICE_ISO_RUN, L1394::Device::setFrameHeight(), L1394::Device::setFrameWidth(), and L1394::Device::setName(). |
|
destructor
Definition at line 41 of file l1394_avccamera.cpp. |
|
Access 'Auto-Exposure' feature register.
Implements L1394::Camera. Definition at line 153 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'Brightness' feature register.
Implements L1394::Camera. Definition at line 150 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'Filter' feature register.
Implements L1394::Camera. Definition at line 201 of file l1394_avccamera.h. References L1394::AvcCameraRegister::setOffset(). |
|
Access 'Focus' feature register.
Implements L1394::Camera. Definition at line 183 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'Gain' feature register.
Implements L1394::Camera. Definition at line 177 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'Gamma' feature register.
Implements L1394::Camera. Definition at line 171 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
This method tests, if a framerate, with a videomode is supported by the camera.
Implements L1394::Device. Definition at line 79 of file l1394_avccamera.cpp. References L1394::DEVICE_DV, and L1394::DEVICE_FRAMES_DV. |
|
This method tests, if a videomode is supported by a Camera.
Implements L1394::Device. Definition at line 95 of file l1394_avccamera.h. References L1394::DEVICE_DV. |
|
Access 'Hue' feature register.
Implements L1394::Camera. Definition at line 165 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'Iris' feature register.
Implements L1394::Camera. Definition at line 180 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'Pan' feature register.
Implements L1394::Camera. Definition at line 195 of file l1394_avccamera.h. References L1394::AvcCameraRegister::setOffset(). |
|
Access 'Saturation' feature register.
Implements L1394::Camera. Definition at line 168 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
This method set the parameter of a camera. At this time only the channel parameter has effect. An AV/C camera normally broadcasts the video data on channel 63. They has a fixed framerate and video format. So the parameters isomode, video_mode and framerate are ignored. A short sample show an example to init an AvcCamera. Session *session = GetSession(); int framerate = 0; AvcCamera *camera = session->findAvcCamera(); camera->setParameter() //set the default parameter (channel = 63, buffers = 3) if (camera->init() == L1394_SUCCESS) camera->start(); else cout << "Camera init failed" << endl;
Implements L1394::Device. Definition at line 46 of file l1394_avccamera.cpp. References L1394::DEVICE_DV, L1394::DEVICE_FRAMES_DV, L1394::Singleton< T, CreationPolicy, LifetimePolicy, ThreadingModel >::getInstance(), L1394::Device::getParentNode(), and L1394_FAILED. |
|
Access 'Sharpness' feature register.
Implements L1394::Camera. Definition at line 156 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'Shutter' feature register.
Implements L1394::Camera. Definition at line 174 of file l1394_avccamera.h. References L1394::AvcCameraRegister::setOffset(). |
|
This method starts a FireWire device and iso-receive.
Implements L1394::Device. Definition at line 87 of file l1394_avccamera.cpp. References L1394::Singleton< T, CreationPolicy, LifetimePolicy, ThreadingModel >::getInstance(), L1394::Device::getParentNode(), L1394::Device::isSending(), L1394_FAILED, L1394_SUCCESS, and L1394::Device::setSending(). |
|
This method stops a sending device and the Iso-receive.
Implements L1394::Device. Definition at line 101 of file l1394_avccamera.cpp. References L1394::Singleton< T, CreationPolicy, LifetimePolicy, ThreadingModel >::getInstance(), L1394::Device::getParentNode(), L1394_FAILED, L1394_SUCCESS, and L1394::Device::setSending(). |
|
Access 'Temperature' feature register.
Implements L1394::Camera. Definition at line 186 of file l1394_avccamera.h. References L1394::AvcCameraRegister::setOffset(). |
|
Access 'Tilt' feature register.
Implements L1394::Camera. Definition at line 198 of file l1394_avccamera.h. References L1394::AvcCameraRegister::setOffset(). |
|
Access 'Trigger' feature register.
Implements L1394::Camera. Definition at line 189 of file l1394_avccamera.h. References L1394::AvcCameraRegister::setOffset(). |
|
Access 'White-Balance' feature register.
Implements L1394::Camera. Definition at line 162 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'White-Balance' feature register.
Implements L1394::Camera. Definition at line 159 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |
|
Access 'Zoom' feature register.
Implements L1394::Camera. Definition at line 192 of file l1394_avccamera.h. References L1394::AvcRegister::defaultSet(). |