202 } vp1394TwoIsoSpeedType;
241 } vp1394TwoVideoModeType;
256 } vp1394TwoFramerateType;
274 } vp1394TwoColorCodingType;
303 } vp1394TwoParametersType;
332 } vpDc1394TwoCameraParametersData;
356 explicit vp1394TwoGrabber(
bool reset =
true);
357 virtual ~vp1394TwoGrabber();
359 void acquire(vpImage<unsigned char> &I);
360 void acquire(vpImage<unsigned char> &I, uint64_t ×tamp, uint32_t &
id);
361 void acquire(vpImage<vpRGBa> &I);
362 void acquire(vpImage<vpRGBa> &I, uint64_t ×tamp, uint32_t &
id);
366 static std::string colorCoding2string(vp1394TwoColorCodingType colorcoding);
368 dc1394video_frame_t *dequeue();
369 dc1394video_frame_t *dequeue(vpImage<unsigned char> &I);
370 dc1394video_frame_t *dequeue(vpImage<unsigned char> &I, uint64_t ×tamp, uint32_t &
id);
371 dc1394video_frame_t *dequeue(vpImage<vpRGBa> &I);
372 dc1394video_frame_t *dequeue(vpImage<vpRGBa> &I, uint64_t ×tamp, uint32_t &
id);
373 void enqueue(dc1394video_frame_t *frame);
375 static std::string framerate2string(vp1394TwoFramerateType fps);
377 void getAutoGain(
unsigned int &minvalue,
unsigned int &maxvalue);
378 void getAutoShutter(
unsigned int &minvalue,
unsigned int &maxvalue);
380 uint64_t getCamera();
381 void getCamera(uint64_t &camera);
382 void getColorCoding(vp1394TwoColorCodingType &coding);
383 uint32_t getColorCodingSupported(vp1394TwoVideoModeType videomode, std::list<vp1394TwoColorCodingType> &codings);
384 void getFramerate(vp1394TwoFramerateType &fps);
385 uint32_t getFramerateSupported(vp1394TwoVideoModeType videomode, std::list<vp1394TwoFramerateType> &fps);
387 void getGuid(uint64_t &guid);
390 void getNumCameras(
unsigned int &ncameras)
const;
391 unsigned int getNumCameras()
const;
392 unsigned int getParameterValue(vp1394TwoParametersType param);
393 unsigned int getRingBufferSize()
const;
394 void getVideoMode(vp1394TwoVideoModeType &videomode);
395 uint32_t getVideoModeSupported(std::list<vp1394TwoVideoModeType> &videomodes);
400 bool isColorCodingSupported(vp1394TwoVideoModeType videomode, vp1394TwoColorCodingType coding);
401 bool isFramerateSupported(vp1394TwoVideoModeType videomode, vp1394TwoFramerateType fps);
402 bool isVideoModeSupported(vp1394TwoVideoModeType videomode);
403 bool isVideoModeFormat7(vp1394TwoVideoModeType videomode);
405 void open(vpImage<unsigned char> &I);
406 void open(vpImage<vpRGBa> &I);
408 vp1394TwoGrabber &operator>>(vpImage<unsigned char> &I);
409 vp1394TwoGrabber &operator>>(vpImage<vpRGBa> &I);
411 void printCameraInfo();
415 void setAutoGain(
bool enable =
true);
416 void setAutoGain(
unsigned int minvalue,
unsigned int maxvalue);
417 void setAutoShutter(
bool enable =
true);
418 void setAutoShutter(
unsigned int minvalue,
unsigned int maxvalue);
419 void setCamera(uint64_t camera);
420 void setColorCoding(vp1394TwoColorCodingType coding);
421 void setFormat7ROI(
unsigned int left = 0,
unsigned int top = 0,
unsigned int width = 0,
unsigned int height = 0);
422 void setFramerate(vp1394TwoFramerateType fps);
423 void setIsoTransmissionSpeed(vp1394TwoIsoSpeedType isospeed);
424 void setPanControl(
unsigned int panControlValue);
425 void setParameterValue(vp1394TwoParametersType param,
unsigned int val);
426 void setRingBufferSize(
unsigned int size);
427 void setVideoMode(vp1394TwoVideoModeType videomode);
429 static vp1394TwoVideoModeType string2videoMode(std::string videomode);
430 static vp1394TwoFramerateType string2framerate(std::string fps);
431 static vp1394TwoColorCodingType string2colorCoding(std::string colorcoding);
433 static std::string videoMode2string(vp1394TwoVideoModeType videomode);
437 void initialize(
bool reset);
438 void setCapture(dc1394switch_t _switch);
439 void setTransmission(dc1394switch_t _switch);
440 inline void updateDataCamToStruct();
441 inline void updateDataStructToCam();
444 dc1394camera_t *camera, **cameras;
445 unsigned int num_cameras;
446 unsigned int camera_id;
450 unsigned int num_buffers;
453 bool *isDataModified;
454 dc1394feature_mode_t *initialShutterMode;
455 vpDc1394TwoCameraParametersData *dataCam;
457#ifdef VISP_HAVE_DC1394_CAMERA_ENUMERATE
459 dc1394camera_list_t *list;