204 } vp1394TwoIsoSpeedType;
244 } vp1394TwoVideoModeType;
260 } vp1394TwoFramerateType;
279 } vp1394TwoColorCodingType;
309 } vp1394TwoParametersType;
339 } vpDc1394TwoCameraParametersData;
363 VP_EXPLICIT vp1394TwoGrabber(
bool reset =
true);
364 virtual ~vp1394TwoGrabber();
366 void acquire(vpImage<unsigned char> &I);
367 void acquire(vpImage<unsigned char> &I, uint64_t ×tamp, uint32_t &
id);
368 void acquire(vpImage<vpRGBa> &I);
369 void acquire(vpImage<vpRGBa> &I, uint64_t ×tamp, uint32_t &
id);
373 static std::string colorCoding2string(vp1394TwoColorCodingType colorcoding);
375 dc1394video_frame_t *dequeue();
376 dc1394video_frame_t *dequeue(vpImage<unsigned char> &I);
377 dc1394video_frame_t *dequeue(vpImage<unsigned char> &I, uint64_t ×tamp, uint32_t &
id);
378 dc1394video_frame_t *dequeue(vpImage<vpRGBa> &I);
379 dc1394video_frame_t *dequeue(vpImage<vpRGBa> &I, uint64_t ×tamp, uint32_t &
id);
380 void enqueue(dc1394video_frame_t *frame);
382 static std::string framerate2string(vp1394TwoFramerateType fps);
384 void getAutoGain(
unsigned int &minvalue,
unsigned int &maxvalue);
385 void getAutoShutter(
unsigned int &minvalue,
unsigned int &maxvalue);
387 uint64_t getCamera();
388 void getCamera(uint64_t &camera);
389 void getColorCoding(vp1394TwoColorCodingType &coding);
390 uint32_t getColorCodingSupported(vp1394TwoVideoModeType videomode, std::list<vp1394TwoColorCodingType> &codings);
391 void getFramerate(vp1394TwoFramerateType &fps);
392 uint32_t getFramerateSupported(vp1394TwoVideoModeType videomode, std::list<vp1394TwoFramerateType> &fps);
394 void getGuid(uint64_t &guid);
397 void getNumCameras(
unsigned int &ncameras)
const;
398 unsigned int getNumCameras()
const;
399 unsigned int getParameterValue(vp1394TwoParametersType param);
400 unsigned int getRingBufferSize()
const;
401 void getVideoMode(vp1394TwoVideoModeType &videomode);
402 uint32_t getVideoModeSupported(std::list<vp1394TwoVideoModeType> &videomodes);
407 bool isColorCodingSupported(vp1394TwoVideoModeType videomode, vp1394TwoColorCodingType coding);
408 bool isFramerateSupported(vp1394TwoVideoModeType videomode, vp1394TwoFramerateType fps);
409 bool isVideoModeSupported(vp1394TwoVideoModeType videomode);
410 bool isVideoModeFormat7(vp1394TwoVideoModeType videomode);
412 void open(vpImage<unsigned char> &I);
413 void open(vpImage<vpRGBa> &I);
415 vp1394TwoGrabber &operator>>(vpImage<unsigned char> &I);
416 vp1394TwoGrabber &operator>>(vpImage<vpRGBa> &I);
418 void printCameraInfo();
422 void setAutoGain(
bool enable =
true);
423 void setAutoGain(
unsigned int minvalue,
unsigned int maxvalue);
424 void setAutoShutter(
bool enable =
true);
425 void setAutoShutter(
unsigned int minvalue,
unsigned int maxvalue);
426 void setCamera(uint64_t camera);
427 void setColorCoding(vp1394TwoColorCodingType coding);
428 void setFormat7ROI(
unsigned int left = 0,
unsigned int top = 0,
unsigned int width = 0,
unsigned int height = 0);
429 void setFramerate(vp1394TwoFramerateType fps);
430 void setIsoTransmissionSpeed(vp1394TwoIsoSpeedType isospeed);
431 void setPanControl(
unsigned int panControlValue);
432 void setParameterValue(vp1394TwoParametersType param,
unsigned int val);
433 void setRingBufferSize(
unsigned int size);
434 void setVideoMode(vp1394TwoVideoModeType videomode);
436 static vp1394TwoVideoModeType string2videoMode(std::string videomode);
437 static vp1394TwoFramerateType string2framerate(std::string fps);
438 static vp1394TwoColorCodingType string2colorCoding(std::string colorcoding);
440 static std::string videoMode2string(vp1394TwoVideoModeType videomode);
444 void initialize(
bool reset);
445 void setCapture(dc1394switch_t _switch);
446 void setTransmission(dc1394switch_t _switch);
447 inline void updateDataCamToStruct();
448 inline void updateDataStructToCam();
451 dc1394camera_t *camera, **cameras;
452 unsigned int num_cameras;
453 unsigned int camera_id;
457 unsigned int num_buffers;
460 bool *isDataModified;
461 dc1394feature_mode_t *initialShutterMode;
462 vpDc1394TwoCameraParametersData *dataCam;
464#ifdef VISP_HAVE_DC1394_CAMERA_ENUMERATE
466 dc1394camera_list_t *list;