00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef AR_VIDEO_SGI_H
00013 #define AR_VIDEO_SGI_H
00014 #ifdef __cplusplus
00015 extern "C" {
00016 #endif
00017
00018 #include <AR/config.h>
00019 #include <AR/ar.h>
00020
00021
00022 typedef enum{
00023 AR_VIDEO_INTERLEAVED,
00024 AR_VIDEO_NONINTERLEAVED,
00025 AR_VIDEO_ODD,
00026 AR_VIDEO_EVEN
00027 } ARVideoFormat;
00028
00029 typedef enum {
00030 AR_VIDEO_RGB_8,
00031 AR_VIDEO_RGB_332,
00032 AR_VIDEO_MONO,
00033 AR_VIDEO_YVYU
00034 } ARVideoPacking;
00035
00036 typedef enum {
00037 AR_VIDEO_1_P_1,
00038 AR_VIDEO_1_P_2,
00039 AR_VIDEO_1_P_4,
00040 AR_VIDEO_1_P_8
00041 } ARVideoZoom;
00042
00043 typedef enum {
00044 AR_VIDEO_INDY,
00045 AR_VIDEO_O2,
00046 AR_VIDEO_GALILEO,
00047 AR_VIDEO_OCTANE,
00048 AR_VIDEO_IMPACT
00049 } ARVideoDeviceType;
00050
00051 #define ARVideoDeviceMax 4
00052
00053 typedef struct {
00054 ARVideoDeviceType type[ARVideoDeviceMax];
00055 int num;
00056 } ARVideoDeviceTypeList;
00057
00058
00059 typedef struct {
00060 int did;
00061 int width;
00062 int height;
00063 ARVideoFormat format;
00064 ARVideoPacking packing;
00065 ARVideoZoom zoom;
00066 int buf_size;
00067 } AR2VideoParamT;
00068
00069 int arVideoOpen2( void );
00070 int arVideoClose2( void );
00071
00072 int arVideoInqDevice2( ARVideoDeviceTypeList *dev_list );
00073 int arVideoInqSize2( int dev_id, int *x, int *y );
00074
00075 int arVideoSetupDevice2( int dev_id,
00076 ARVideoFormat format,
00077 ARVideoPacking packing,
00078 ARVideoZoom zoom );
00079 int arVideoCleanupDevice2( int dev_id );
00080
00081
00082 int arVideoStart2( int dev_id );
00083 int arVideoStop2( int dev_id );
00084
00085 unsigned char *arVideoGetImage2( int dev_id );
00086
00087 int arVideoSetBufferSize2( int dev_id, int size );
00088
00089 #ifdef __cplusplus
00090 }
00091 #endif
00092 #endif