X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=otherlibs%2Fhighgui%2F_highgui.h;h=702b93940f1d0a2b38a28f474d54117c649af77f;hb=80cd7b93506cc1926882d5fd08a2c74ee9359e29;hp=4d069d1593452d3f1ee7502d28b7ac97650512a1;hpb=467a270adf12425827305759c0c4ea8f5b2b3854;p=opencv diff --git a/otherlibs/highgui/_highgui.h b/otherlibs/highgui/_highgui.h index 4d069d1..702b939 100644 --- a/otherlibs/highgui/_highgui.h +++ b/otherlibs/highgui/_highgui.h @@ -64,58 +64,35 @@ void FillBitmapInfo( BITMAPINFO* bmi, int width, int height, int bpp, int origi #define HG_INITFAILED -2 /* Can't initialize HigHGUI. Possibly, can't find vlgrfmts.dll */ #define HG_WCFAILED -3 /* Can't create a window */ #define HG_NULLPTR -4 /* The null pointer where it should not appear */ -#define HG_BADPARAM -5 +#define HG_BADPARAM -5 #define CV_WINDOW_MAGIC_VAL 0x00420042 #define CV_TRACKBAR_MAGIC_VAL 0x00420043 /***************************** CvCapture structure ******************************/ -#define CV_CAPTURE_BASE_API_COUNT 6 - -typedef void (CV_CDECL* CvCaptureCloseFunc) ( CvCapture* capture ); -typedef int (CV_CDECL* CvCaptureGrabFrameFunc) ( CvCapture* capture ); -typedef IplImage * (CV_CDECL* CvCaptureRetrieveFrameFunc) ( CvCapture* capture ); -typedef double (CV_CDECL* CvCaptureGetPropertyFunc) ( CvCapture* capture, int id ); -typedef int (CV_CDECL* CvCaptureSetPropertyFunc) ( CvCapture* capture, - int id, double value ); -typedef const char * (CV_CDECL* CvCaptureGetDescriptionFunc)( CvCapture* capture ); - -typedef struct CvCaptureVTable -{ - int count; - CvCaptureCloseFunc close; - CvCaptureGrabFrameFunc grab_frame; - CvCaptureRetrieveFrameFunc retrieve_frame; - CvCaptureGetPropertyFunc get_property; - CvCaptureSetPropertyFunc set_property; - CvCaptureGetDescriptionFunc get_description; -} -CvCaptureVTable; - -typedef struct CvCapture +struct CvCapture { - CvCaptureVTable* vtable; -} -CvCapture; - -extern "C" { - -typedef CvCapture* (CV_CDECL * CvCaptureFromFile)( const char* filename ); + virtual ~CvCapture() {} + virtual double getProperty(int) { return 0; } + virtual bool setProperty(int, double) { return 0; } + virtual bool grabFrame() { return true; } + virtual IplImage* retrieveFrame() { return 0; } + virtual IplImage* queryFrame() { return grabFrame() ? retrieveFrame() : 0; } +}; -typedef CvVideoWriter* (CV_CDECL * CvCreateVideoWriter)( const char * filename, - int fourcc, double fps, CvSize frameSize, int is_color ); +/*************************** CvVideoWriter structure ****************************/ -typedef int (CV_CDECL * CvWriteFrame)( CvVideoWriter * writer, const IplImage * image ); - -typedef void (CV_CDECL * CvReleaseVideoWriter)( CvVideoWriter ** writer ); - -} +struct CvVideoWriter +{ + virtual ~CvVideoWriter() {} + virtual bool writeFrame(const IplImage*) { return false; } +}; #ifdef WIN32 #define HAVE_VFW 1 -/* uncomment to enable OpenEXR codec (will not compile under MSVC6) */ +/* uncomment to enable OpenEXR codec (will not compile under MSVC6) */ //#define HAVE_ILMIMF 1 /* uncomment to enable CMUCamera1394 fireware camera module */ @@ -124,49 +101,74 @@ typedef void (CV_CDECL * CvReleaseVideoWriter)( CvVideoWriter ** writer ); #if defined (HAVE_CAMV4L) || defined (HAVE_CAMV4L2) -CvCapture * cvCaptureFromCAM_V4L( int index ); +CvCapture * cvCreateCameraCapture_V4L( int index ); #endif #ifdef HAVE_DC1394 -CvCapture * cvCaptureFromCAM_DC1394( int index ); +CvCapture * cvCreateCameraCapture_DC1394( int index ); #endif #ifdef HAVE_MIL -CvCapture* cvCaptureFromCAM_MIL( int index ); +CvCapture* cvCreateCameraCapture_MIL( int index ); #endif #ifdef HAVE_CMU1394 -CvCapture * cvCaptureFromCAM_CMU( int index ); +CvCapture * cvCreateCameraCapture_CMU( int index ); #endif #ifdef HAVE_TYZX -CV_IMPL CvCapture * cvCaptureFromCAM_TYZX( int index ); +CV_IMPL CvCapture * cvCreateCameraCapture_TYZX( int index ); #endif #ifdef WIN32 -CvCapture* cvCaptureFromFile_Win32( const char* filename ); +CvCapture* cvCreateFileCapture_Win32( const char* filename ); -CvCapture* cvCaptureFromCAM_VFW( int index ); -CvCapture* cvCaptureFromFile_VFW( const char* filename ); +CvCapture* cvCreateCameraCapture_VFW( int index ); +CvCapture* cvCreateFileCapture_VFW( const char* filename ); +CvVideoWriter* cvCreateVideoWriter_Win32( const char* filename, int fourcc, + double fps, CvSize frameSize, int is_color ); CvVideoWriter* cvCreateVideoWriter_VFW( const char* filename, int fourcc, double fps, CvSize frameSize, int is_color ); -int cvWriteFrame_VFW( CvVideoWriter* _writer, const IplImage* image ); -void cvReleaseVideoWriter_VFW( CvVideoWriter** writer ); - #endif +CVAPI(int) cvHaveImageReader(const char* filename); +CVAPI(int) cvHaveImageWriter(const char* filename); + +CvCapture* cvCreateFileCapture_Images(const char* filename); +CvVideoWriter* cvCreateVideoWriter_Images(const char* filename); + #ifdef HAVE_XINE -CvCapture* cvCaptureFromFile_XINE (const char* filename); +CvCapture* cvCreateFileCapture_XINE (const char* filename); +#endif + +#ifdef HAVE_GSTREAMER +#define CV_CAP_GSTREAMER_1394 0 +#define CV_CAP_GSTREAMER_V4L 1 +#define CV_CAP_GSTREAMER_V4L2 2 +#define CV_CAP_GSTREAMER_FILE 3 + +CvCapture * cvCreateCapture_GStreamer(int type, const char *filename); #endif #ifdef HAVE_FFMPEG -CvCapture* cvCaptureFromFile_FFMPEG (const char* filename); +CvCapture* cvCreateFileCapture_FFMPEG (const char* filename); + +CvVideoWriter* cvCreateVideoWriter_FFMPEG ( const char* filename, int fourcc, + double fps, CvSize frameSize, int is_color ); #endif #ifdef HAVE_QUICKTIME -CvCapture * cvCaptureFromFile_QT (const char * filename); -CvCapture * cvCaptureFromCAM_QT (const int index); +CvCapture * cvCreateFileCapture_QT (const char * filename); +CvCapture * cvCreateCameraCapture_QT (const int index); + +CvVideoWriter* cvCreateVideoWriter_QT ( const char* filename, int fourcc, + double fps, CvSize frameSize, int is_color ); +#endif + +#ifdef HAVE_UNICAP +CvCapture * cvCreateCameraCapture_Unicap (const int index); + #endif #endif /* __HIGHGUI_H_ */