#ifndef IMAGE_DC1394INPUT_H#define IMAGE_DC1394INPUT_H#include <libraw1394/raw1394.h>#include <libdc1394/dc1394_control.h>#include "image_input.h"namespace mimas {/** @addtogroup imageIO@{ *//** @addtogroup imageInput@{ *//** Image input from firewire digital camera (video1394).At the moment only grabbing of grayscale and YUV422-encoded images issupported.Grabbing has been tested with the following device:\li Basler A302fcSee <A HREF="http://www.rmatsumoto.org/camera/dc1394-ohphone-old.html">Ryutaroh Matsumoto's</A>page for more information.Here is an example on how to use this class:\include dc1394/minimal.cc@author Jan Wedekind (jan@wedesoft.de)@date Wed Aug 4 13:53:59 GMT 2005 */template< typename T >class image_dc1394input: public image_input< T >{public:///typedef enum { Unknown = 0, UYVY, RGB24, Grey8 } ColourSpace;///image_dc1394input( const char *device = "",int node = 0,int channel = 0,int preferredFormat = -1,int preferredMode = -1,int preferredFormat7Colour = -1,int speed = SPEED_400 ) throw (mimasexception);///virtual ~image_dc1394input(void);///virtual void close(void);///virtual void read( image<T> &img ) throw (mimasexception);///dc1394_feature_info get_feature( int _id ) throw (mimasexception);///void set_feature_value( int _id, unsigned int _value ) throw (mimasexception);///unsigned int get_feature_value( int _id ) throw (mimasexception);protected:///void selectFormat( int preferredFormat ) throw (mimasexception);///void selectMode( int preferredMode ) throw (mimasexception);///void selectFrameRate( int preferredFrameRate ) throw (mimasexception);///void selectFormat7Colour( int preferredFormat7Colour ) throw (mimasexception);///std::string m_device;///nodeid_t *m_cameraNode;///int m_node;///raw1394handle_t m_handle;///dc1394_cameracapture m_camera;///int m_format;///int m_mode;///int m_format7Colour;///ColourSpace m_colourSpace;///int m_frameRate;///bool m_bufferUsed;};///@}///@}};#include "image_dc1394input.tcc"#endif