ARX  1.0
The next-generation open source augmented reality toolkit.
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions
video.h File Reference
#include <ARX/AR/ar.h>
#include <ARX/ARVideo/videoConfig.h>
#include <limits.h>
#include <ARX/ARVideo/videoLuma.h>
Include dependency graph for video.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ARVideoSourceInfoT
 Values describing a video source. More...
 
struct  ARVideoSourceInfoListT
 Values describing a list of video sources. More...
 
struct  AR2VideoParamT
 

Macros

#define AR_VIDEO_1394_BRIGHTNESS   65
 
#define AR_VIDEO_1394_BRIGHTNESS_FEATURE_ON   66
 
#define AR_VIDEO_1394_BRIGHTNESS_AUTO_ON   67
 
#define AR_VIDEO_1394_BRIGHTNESS_MAX_VAL   68
 
#define AR_VIDEO_1394_BRIGHTNESS_MIN_VAL   69
 
#define AR_VIDEO_1394_EXPOSURE   70
 
#define AR_VIDEO_1394_EXPOSURE_FEATURE_ON   71
 
#define AR_VIDEO_1394_EXPOSURE_AUTO_ON   72
 
#define AR_VIDEO_1394_EXPOSURE_MAX_VAL   73
 
#define AR_VIDEO_1394_EXPOSURE_MIN_VAL   74
 
#define AR_VIDEO_1394_WHITE_BALANCE   75
 
#define AR_VIDEO_1394_WHITE_BALANCE_UB   76
 
#define AR_VIDEO_1394_WHITE_BALANCE_VR   77
 
#define AR_VIDEO_1394_WHITE_BALANCE_FEATURE_ON   78
 
#define AR_VIDEO_1394_WHITE_BALANCE_AUTO_ON   79
 
#define AR_VIDEO_1394_WHITE_BALANCE_MAX_VAL   80
 
#define AR_VIDEO_1394_WHITE_BALANCE_MIN_VAL   81
 
#define AR_VIDEO_1394_SHUTTER_SPEED   82
 
#define AR_VIDEO_1394_SHUTTER_SPEED_FEATURE_ON   83
 
#define AR_VIDEO_1394_SHUTTER_SPEED_AUTO_ON   84
 
#define AR_VIDEO_1394_SHUTTER_SPEED_MAX_VAL   85
 
#define AR_VIDEO_1394_SHUTTER_SPEED_MIN_VAL   86
 
#define AR_VIDEO_1394_GAIN   87
 
#define AR_VIDEO_1394_GAIN_FEATURE_ON   88
 
#define AR_VIDEO_1394_GAIN_AUTO_ON   89
 
#define AR_VIDEO_1394_GAIN_MAX_VAL   90
 
#define AR_VIDEO_1394_GAIN_MIN_VAL   91
 
#define AR_VIDEO_1394_FOCUS   92
 
#define AR_VIDEO_1394_FOCUS_FEATURE_ON   93
 
#define AR_VIDEO_1394_FOCUS_AUTO_ON   94
 
#define AR_VIDEO_1394_FOCUS_MAX_VAL   95
 
#define AR_VIDEO_1394_FOCUS_MIN_VAL   96
 
#define AR_VIDEO_1394_GAMMA   97
 
#define AR_VIDEO_1394_GAMMA_FEATURE_ON   98
 
#define AR_VIDEO_1394_GAMMA_AUTO_ON   99
 
#define AR_VIDEO_1394_GAMMA_MAX_VAL   100
 
#define AR_VIDEO_1394_GAMMA_MIN_VAL   101
 
#define AR_VIDEO_PARAM_GET_IMAGE_ASYNC   200
 int More...
 
#define AR_VIDEO_PARAM_DEVICEID   201
 string, readonly. Optional. Unique name for this exact model of video device, consisting of vendor, model and board identifiers separated by '/' characters. More...
 
#define AR_VIDEO_PARAM_NAME   202
 string, readonly. Optional. Human-readable name for this model of video device. More...
 
#define AR_VIDEO_FOCUS_MODE   301
 int More...
 
#define AR_VIDEO_FOCUS_MANUAL_DISTANCE   302
 double More...
 
#define AR_VIDEO_FOCUS_POINT_OF_INTEREST_X   303
 double More...
 
#define AR_VIDEO_FOCUS_POINT_OF_INTEREST_Y   304
 double More...
 
#define AR_VIDEO_PARAM_AVFOUNDATION_IOS_DEVICE   400
 int, values from enumeration AR_VIDEO_AVFOUNDATION_IOS_DEVICE. More...
 
#define AR_VIDEO_PARAM_AVFOUNDATION_FOCUS_PRESET   401
 int, values from enumeration AR_VIDEO_AVFOUNDATION_FOCUS_PRESET. More...
 
#define AR_VIDEO_PARAM_AVFOUNDATION_CAMERA_POSITION   402
 int, values from enumeration AR_VIDEO_AVFOUNDATION_CAMERA_POSITION. More...
 
#define AR_VIDEO_PARAM_AVFOUNDATION_WILL_CAPTURE_NEXT_FRAME   403
 int (0=false, 1=true). If true, next incoming frame will also be captured to system's camera roll. More...
 
#define AR_VIDEO_PARAM_ANDROID_CAMERA_INDEX   500
 int More...
 
#define AR_VIDEO_PARAM_ANDROID_CAMERA_FACE   501
 int More...
 
#define AR_VIDEO_PARAM_ANDROID_INTERNET_STATE   502
 int More...
 
#define AR_VIDEO_PARAM_ANDROID_FOCAL_LENGTH   503
 double More...
 
#define AR_VIDEO_GET_VERSION   INT_MAX
 
#define AR_VIDEO_FOCUS_MODE_FIXED   0
 
#define AR_VIDEO_FOCUS_MODE_AUTO   1
 
#define AR_VIDEO_FOCUS_MODE_POINT_OF_INTEREST   2
 
#define AR_VIDEO_FOCUS_MODE_MANUAL   3
 
#define AR_VIDEO_POSITION_UNKNOWN   0x0000
 Values for device position, as encoded in ARVideoSourceInfoT.flags & AR_VIDEO_SOURCE_INFO_POSITION_MASK. More...
 
#define AR_VIDEO_POSITION_FRONT   0x0008
 Camera is on front of device pointing towards user. More...
 
#define AR_VIDEO_POSITION_BACK   0x0010
 Camera is on back of device pointing away from user. More...
 
#define AR_VIDEO_POSITION_LEFT   0x0018
 Camera is on left of device pointing to user's left. More...
 
#define AR_VIDEO_POSITION_RIGHT   0x0020
 Camera is on right of device pointing to user's right. More...
 
#define AR_VIDEO_POSITION_TOP   0x0028
 Camera is on top of device pointing toward ceiling when device is held upright. More...
 
#define AR_VIDEO_POSITION_BOTTOM   0x0030
 Camera is on bottom of device pointing towards floor when device is held upright. More...
 
#define AR_VIDEO_POSITION_OTHER   0x0038
 Camera physical position on device is known but none of the above. More...
 
#define AR_VIDEO_STEREO_MODE_MONO   0x0000
 Values for device stereo mode, as encoded in ARVideoSourceInfoT.flags & AR_VIDEO_SOURCE_INFO_STEREO_MODE_MASK. More...
 
#define AR_VIDEO_STEREO_MODE_LEFT   0x0040
 Device is left eye of a stereoscopic pair. More...
 
#define AR_VIDEO_STEREO_MODE_RIGHT   0x0080
 Device is right eye of a stereoscopic pair. More...
 
#define AR_VIDEO_STEREO_MODE_FRAME_SEQUENTIAL   0x00C0
 Device is left and right stereo images in sequential frames. More...
 
#define AR_VIDEO_STEREO_MODE_SIDE_BY_SIDE   0x0100
 Device is left and right stereo images in a single frame, arranged horizontally with left eye on left. More...
 
#define AR_VIDEO_STEREO_MODE_OVER_UNDER   0x0140
 Device is left and right stereo images in a single frame, arranged vertically with left eye on top. More...
 
#define AR_VIDEO_STEREO_MODE_HALF_SIDE_BY_SIDE   0x0180
 Device is left and right stereo images in a single frame with the frames scaled to half-width, arranged horizontally with left eye on left. More...
 
#define AR_VIDEO_STEREO_MODE_OVER_UNDER_HALF_HEIGHT   0x01C0
 Device is left and right stereo images in a single frame with the frames scaled to half-height, arranged vertically with left eye on top. More...
 
#define AR_VIDEO_STEREO_MODE_ROW_INTERLACED   0x0200
 Device is left and right stereo images in a single frame with row interleaving, where pixels in even-numbered rows are sampled from the left eye, and pixels in odd-number rows from the right eye. More...
 
#define AR_VIDEO_STEREO_MODE_COLUMN_INTERLACED   0x0240
 Device is left and right stereo images in a single frame with column interleaving, where pixels in even-numbered columns are sampled from the left eye, and pixels in odd-number columns from the right eye. More...
 
#define AR_VIDEO_STEREO_MODE_ROW_AND_COLUMN_INTERLACED   0x0280
 Device is left and right stereo images in a single frame with row and column interleaving, where pixels where the evenness/oddness of the row is the same as the column are sampled from the left eye, and the remaining pixels from the right eye. More...
 
#define AR_VIDEO_STEREO_MODE_ANAGLYPH_RG   0x02C0
 Device is left and right stereo images in a single frame, where both eyes are converted to mono and the left eye is carried in the red channel and the right eye in the green channel. More...
 
#define AR_VIDEO_STEREO_MODE_ANAGLYPH_RB   0x0300
 Device is left and right stereo images in a single frame, where both eyes are converted to mono and the left eye is carried in the red channel and the right eye in the blue channel. More...
 
#define AR_VIDEO_STEREO_MODE_RESERVED0   0x0340
 Reserved for future use. More...
 
#define AR_VIDEO_STEREO_MODE_RESERVED1   0x0380
 Reserved for future use. More...
 
#define AR_VIDEO_STEREO_MODE_RESERVED2   0x03C0
 Reserved for future use. More...
 
#define AR_VIDEO_SOURCE_INFO_FLAG_OFFLINE   0x0001
 Values for ARVideoSourceInfoT.flags. More...
 
#define AR_VIDEO_SOURCE_INFO_FLAG_IN_USE   0x0002
 0 = unknown or not in use, 1 = in use. More...
 
#define AR_VIDEO_SOURCE_INFO_FLAG_OPEN_ASYNC   0x0004
 0 = open normally, 1 = open async. More...
 
#define AR_VIDEO_SOURCE_INFO_POSITION_MASK   0x0038
 compare (value & AR_VIDEO_SOURCE_INFO_POSITION_MASK) against enums. More...
 
#define AR_VIDEO_SOURCE_INFO_STEREO_MODE_MASK   0x03C0
 compare (value & AR_VIDEO_SOURCE_INFO_STEREO_MODE_MASK) against enums. More...
 
#define ARVIDEO_EXTERN
 
#define arVideoGetVersion()   arVideoGetParami(AR_VIDEO_GET_VERSION, NULL)
 Get the version of artoolkitX with which the arVideo library was built. More...
 

Typedefs

typedef void(* AR_VIDEO_FRAME_READY_CALLBACK) (void *)
 

Enumerations

enum  AR_VIDEO_MODULE {
  AR_VIDEO_MODULE_DUMMY = 0 , AR_VIDEO_MODULE_RESERVED1 = 1 , AR_VIDEO_MODULE_RESERVED2 = 2 , AR_VIDEO_MODULE_1394 = 3 ,
  AR_VIDEO_MODULE_RESERVED4 = 4 , AR_VIDEO_MODULE_RESERVED5 = 5 , AR_VIDEO_MODULE_RESERVED6 = 6 , AR_VIDEO_MODULE_RESERVED7 = 7 ,
  AR_VIDEO_MODULE_RESERVED8 = 8 , AR_VIDEO_MODULE_RESERVED9 = 9 , AR_VIDEO_MODULE_RESERVED10 = 10 , AR_VIDEO_MODULE_GSTREAMER = 11 ,
  AR_VIDEO_MODULE_AVFOUNDATION = 12 , AR_VIDEO_MODULE_RESERVED13 = 13 , AR_VIDEO_MODULE_IMAGE = 14 , AR_VIDEO_MODULE_ANDROID = 15 ,
  AR_VIDEO_MODULE_WINDOWS_MEDIA_FOUNDATION = 16 , AR_VIDEO_MODULE_WINDOWS_MEDIA_CAPTURE = 17 , AR_VIDEO_MODULE_V4L2 = 18 , AR_VIDEO_MODULE_EMSCRIPTEN = 19 ,
  AR_VIDEO_MODULE_MAX = 19
}
 
enum  ARVideoSizePreference {
  AR_VIDEO_SIZE_PREFERENCE_ANY = 0 , AR_VIDEO_SIZE_PREFERENCE_EXACT , AR_VIDEO_SIZE_PREFERENCE_CLOSEST_SAME_ASPECT , AR_VIDEO_SIZE_PREFERENCE_CLOSEST_PIXEL_COUNT ,
  AR_VIDEO_SIZE_PREFERENCE_SAME_ASPECT , AR_VIDEO_SIZE_PREFERENCE_LARGEST_WITH_MAXIMUM , AR_VIDEO_SIZE_PREFERENCE_SMALLEST_WITH_MINIMUM , AR_VIDEO_SIZE_PREFERENCE_LARGEST ,
  AR_VIDEO_SIZE_PREFERENCE_SMALLEST
}
 
enum  AR_VIDEO_AVFOUNDATION_IOS_DEVICE {
  AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE3G = 1 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE3GS , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE4 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPODTOUCH4 ,
  AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPAD2 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPAD3 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE_GENERIC , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPOD_GENERIC ,
  AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPAD_GENERIC , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE4S , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_APPLETV_GENERIC , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE5 ,
  AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPODTOUCH5 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPAD4 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADMINI , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE5C ,
  AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE5S , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADAIR , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADMINI2 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADMINI3 ,
  AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADMINI4 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADAIR2 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE6 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE6PLUS ,
  AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE6S , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE6SPLUS , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONESE , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADPRO129 ,
  AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE7 , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE7PLUS , AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADPRO97
}
 Values returned by arVideoParamGeti(AR_VIDEO_PARAM_AVFOUNDATION_IOS_DEVICE, ...) More...
 
enum  AR_VIDEO_AVFOUNDATION_FOCUS_PRESET {
  AR_VIDEO_AVFOUNDATION_FOCUS_NONE = 0 , AR_VIDEO_AVFOUNDATION_FOCUS_MACRO , AR_VIDEO_AVFOUNDATION_FOCUS_0_3M , AR_VIDEO_AVFOUNDATION_FOCUS_1_0M ,
  AR_VIDEO_AVFOUNDATION_FOCUS_INF
}
 Values returned by arVideoParamGeti/arVideoParamSeti(AR_VIDEO_PARAM_AVFOUNDATION_FOCUS_PRESET, ...) More...
 
enum  AR_VIDEO_AVFOUNDATION_CAMERA_POSITION {
  AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_UNKNOWN = -1 , AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_UNSPECIFIED = 0 , AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_REAR , AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_FRONT ,
  AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_REAR_STEREO_LEFT , AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_REAR_STEREO_RIGHT , AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_FRONT_STEREO_LEFT , AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_FRONT_STEREO_RIGHT
}
 Values returned by arVideoParamGeti(AR_VIDEO_PARAM_AVFOUNDATION_CAMERA_POSITION, ...) More...
 
enum  AR_VIDEO_ANDROID_CAMERA_FACE { AR_VIDEO_ANDROID_CAMERA_FACE_REAR = 0 , AR_VIDEO_ANDROID_CAMERA_FACE_FRONT }
 Values returned by arVideoParamGeti(AR_VIDEO_PARAM_ANDROID_CAMERA_FACE, ...) More...
 
enum  AR_VIDEO_ASPECT_RATIO {
  AR_VIDEO_ASPECT_RATIO_1_1 , AR_VIDEO_ASPECT_RATIO_11_9 , AR_VIDEO_ASPECT_RATIO_5_4 , AR_VIDEO_ASPECT_RATIO_4_3 ,
  AR_VIDEO_ASPECT_RATIO_3_2 , AR_VIDEO_ASPECT_RATIO_14_9 , AR_VIDEO_ASPECT_RATIO_8_5 , AR_VIDEO_ASPECT_RATIO_5_3 ,
  AR_VIDEO_ASPECT_RATIO_16_9 , AR_VIDEO_ASPECT_RATIO_9_5 , AR_VIDEO_ASPECT_RATIO_17_9 , AR_VIDEO_ASPECT_RATIO_21_9 ,
  AR_VIDEO_ASPECT_RATIO_UNIQUE , AR_VIDEO_ASPECT_RATIO_INVALID
}
 

Functions

ARVIDEO_EXTERN AR_VIDEO_MODULE arVideoGetDefaultModule (void)
 
ARVIDEO_EXTERN int arVideoOpen (const char *config)
 Open a video input module. More...
 
ARVIDEO_EXTERN int arVideoOpenAsync (const char *config, void(*callback)(void *), void *userdata)
 Open a video input module, invoking a callback once opening is complete. More...
 
ARVIDEO_EXTERN int arVideoClose (void)
 
ARVIDEO_EXTERN int arVideoDispOption (void)
 
ARVIDEO_EXTERN AR_VIDEO_MODULE arVideoGetModule (void)
 
ARVIDEO_EXTERN int arVideoGetId (ARUint32 *id0, ARUint32 *id1)
 
ARVIDEO_EXTERN int arVideoGetSize (int *x, int *y)
 
ARVIDEO_EXTERN int arVideoGetPixelSize (void)
 
ARVIDEO_EXTERN AR_PIXEL_FORMAT arVideoGetPixelFormat (void)
 
ARVIDEO_EXTERN AR2VideoBufferTarVideoGetImage (void)
 Get a frame image from the video module. More...
 
ARVIDEO_EXTERN int arVideoCapStart (void)
 Start video capture. More...
 
ARVIDEO_EXTERN int arVideoCapStartAsync (AR_VIDEO_FRAME_READY_CALLBACK callback, void *userdata)
 Start video capture with asynchronous notification of new frame arrival. More...
 
ARVIDEO_EXTERN int arVideoCapStop (void)
 Stop video capture. More...
 
ARVIDEO_EXTERN int arVideoGetParami (int paramName, int *value)
 Get value of an integer parameter from active video module. More...
 
ARVIDEO_EXTERN int arVideoSetParami (int paramName, int value)
 Set value of an integer parameter in active video module. More...
 
ARVIDEO_EXTERN int arVideoGetParamd (int paramName, double *value)
 Get value of a double-precision floating-point parameter from active video module. More...
 
ARVIDEO_EXTERN int arVideoSetParamd (int paramName, double value)
 Set value of a double-precision floating-point parameter in active video module. More...
 
ARVIDEO_EXTERN int arVideoGetParams (const int paramName, char **value)
 Get value of a string parameter from active video module. More...
 
ARVIDEO_EXTERN int arVideoSetParams (const int paramName, const char *value)
 Get value of a string parameter in active video module. More...
 
ARVIDEO_EXTERN int arVideoSaveParam (char *filename)
 
ARVIDEO_EXTERN int arVideoLoadParam (char *filename)
 
ARVIDEO_EXTERN int arVideoSetBufferSize (const int width, const int height)
 
ARVIDEO_EXTERN int arVideoGetBufferSize (int *width, int *height)
 
ARVIDEO_EXTERN int arVideoGetCParam (ARParam *cparam)
 
ARVIDEO_EXTERN int arVideoGetCParamAsync (void(*callback)(const ARParam *, void *), void *userdata)
 
ARVIDEO_EXTERN int arVideoUtilGetPixelSize (const AR_PIXEL_FORMAT arPixelFormat)
 
ARVIDEO_EXTERN const char * arVideoUtilGetPixelFormatName (const AR_PIXEL_FORMAT arPixelFormat)
 
ARVIDEO_EXTERN int arVideoSaveImageJPEG (int w, int h, AR_PIXEL_FORMAT pixFormat, ARUint8 *pixels, const char *filename, const int quality, const int flipV)
 
AR_VIDEO_ASPECT_RATIO arVideoUtilFindAspectRatio (int w, int h)
 Determine the approximate aspect ratio for a given image resolution. More...
 
char * arVideoUtilFindAspectRatioName (int w, int h)
 Determine the approximate aspect ratio for a given image resolution. More...
 
ARVIDEO_EXTERN ARVideoSourceInfoListTar2VideoCreateSourceInfoList (const char *config)
 
ARVIDEO_EXTERN void ar2VideoDeleteSourceInfoList (ARVideoSourceInfoListT **p)
 
ARVIDEO_EXTERN AR2VideoParamTar2VideoOpen (const char *config)
 Open a video input module and return control object. More...
 
ARVIDEO_EXTERN AR2VideoParamTar2VideoOpenAsync (const char *config, void(*callback)(void *), void *userdata)
 Open a video input module, and return control object, invoking a callback once opening is complete. More...
 
ARVIDEO_EXTERN int ar2VideoClose (AR2VideoParamT *vid)
 
ARVIDEO_EXTERN int ar2VideoDispOption (AR2VideoParamT *vid)
 
ARVIDEO_EXTERN AR_VIDEO_MODULE ar2VideoGetModule (AR2VideoParamT *vid)
 
ARVIDEO_EXTERN int ar2VideoGetId (AR2VideoParamT *vid, ARUint32 *id0, ARUint32 *id1)
 
ARVIDEO_EXTERN int ar2VideoGetSize (AR2VideoParamT *vid, int *x, int *y)
 
ARVIDEO_EXTERN int ar2VideoGetPixelSize (AR2VideoParamT *vid)
 
ARVIDEO_EXTERN AR_PIXEL_FORMAT ar2VideoGetPixelFormat (AR2VideoParamT *vid)
 
ARVIDEO_EXTERN AR2VideoBufferTar2VideoGetImage (AR2VideoParamT *vid)
 
ARVIDEO_EXTERN int ar2VideoCapStart (AR2VideoParamT *vid)
 
ARVIDEO_EXTERN int ar2VideoCapStartAsync (AR2VideoParamT *vid, AR_VIDEO_FRAME_READY_CALLBACK callback, void *userdata)
 
ARVIDEO_EXTERN int ar2VideoCapStop (AR2VideoParamT *vid)
 
ARVIDEO_EXTERN int ar2VideoGetParami (AR2VideoParamT *vid, int paramName, int *value)
 
ARVIDEO_EXTERN int ar2VideoSetParami (AR2VideoParamT *vid, int paramName, int value)
 
ARVIDEO_EXTERN int ar2VideoGetParamd (AR2VideoParamT *vid, int paramName, double *value)
 
ARVIDEO_EXTERN int ar2VideoSetParamd (AR2VideoParamT *vid, int paramName, double value)
 
ARVIDEO_EXTERN int ar2VideoGetParams (AR2VideoParamT *vid, const int paramName, char **value)
 
ARVIDEO_EXTERN int ar2VideoSetParams (AR2VideoParamT *vid, const int paramName, const char *value)
 
ARVIDEO_EXTERN int ar2VideoSaveParam (AR2VideoParamT *vid, char *filename)
 
ARVIDEO_EXTERN int ar2VideoLoadParam (AR2VideoParamT *vid, char *filename)
 
ARVIDEO_EXTERN int ar2VideoSetBufferSize (AR2VideoParamT *vid, const int width, const int height)
 
ARVIDEO_EXTERN int ar2VideoGetBufferSize (AR2VideoParamT *vid, int *width, int *height)
 
ARVIDEO_EXTERN int ar2VideoGetCParam (AR2VideoParamT *vid, ARParam *cparam)
 
ARVIDEO_EXTERN int ar2VideoGetCParamAsync (AR2VideoParamT *vid, void(*callback)(const ARParam *, void *), void *userdata)
 

Macro Definition Documentation

◆ AR_VIDEO_1394_BRIGHTNESS

#define AR_VIDEO_1394_BRIGHTNESS   65

◆ AR_VIDEO_1394_BRIGHTNESS_AUTO_ON

#define AR_VIDEO_1394_BRIGHTNESS_AUTO_ON   67

◆ AR_VIDEO_1394_BRIGHTNESS_FEATURE_ON

#define AR_VIDEO_1394_BRIGHTNESS_FEATURE_ON   66

◆ AR_VIDEO_1394_BRIGHTNESS_MAX_VAL

#define AR_VIDEO_1394_BRIGHTNESS_MAX_VAL   68

◆ AR_VIDEO_1394_BRIGHTNESS_MIN_VAL

#define AR_VIDEO_1394_BRIGHTNESS_MIN_VAL   69

◆ AR_VIDEO_1394_EXPOSURE

#define AR_VIDEO_1394_EXPOSURE   70

◆ AR_VIDEO_1394_EXPOSURE_AUTO_ON

#define AR_VIDEO_1394_EXPOSURE_AUTO_ON   72

◆ AR_VIDEO_1394_EXPOSURE_FEATURE_ON

#define AR_VIDEO_1394_EXPOSURE_FEATURE_ON   71

◆ AR_VIDEO_1394_EXPOSURE_MAX_VAL

#define AR_VIDEO_1394_EXPOSURE_MAX_VAL   73

◆ AR_VIDEO_1394_EXPOSURE_MIN_VAL

#define AR_VIDEO_1394_EXPOSURE_MIN_VAL   74

◆ AR_VIDEO_1394_FOCUS

#define AR_VIDEO_1394_FOCUS   92

◆ AR_VIDEO_1394_FOCUS_AUTO_ON

#define AR_VIDEO_1394_FOCUS_AUTO_ON   94

◆ AR_VIDEO_1394_FOCUS_FEATURE_ON

#define AR_VIDEO_1394_FOCUS_FEATURE_ON   93

◆ AR_VIDEO_1394_FOCUS_MAX_VAL

#define AR_VIDEO_1394_FOCUS_MAX_VAL   95

◆ AR_VIDEO_1394_FOCUS_MIN_VAL

#define AR_VIDEO_1394_FOCUS_MIN_VAL   96

◆ AR_VIDEO_1394_GAIN

#define AR_VIDEO_1394_GAIN   87

◆ AR_VIDEO_1394_GAIN_AUTO_ON

#define AR_VIDEO_1394_GAIN_AUTO_ON   89

◆ AR_VIDEO_1394_GAIN_FEATURE_ON

#define AR_VIDEO_1394_GAIN_FEATURE_ON   88

◆ AR_VIDEO_1394_GAIN_MAX_VAL

#define AR_VIDEO_1394_GAIN_MAX_VAL   90

◆ AR_VIDEO_1394_GAIN_MIN_VAL

#define AR_VIDEO_1394_GAIN_MIN_VAL   91

◆ AR_VIDEO_1394_GAMMA

#define AR_VIDEO_1394_GAMMA   97

◆ AR_VIDEO_1394_GAMMA_AUTO_ON

#define AR_VIDEO_1394_GAMMA_AUTO_ON   99

◆ AR_VIDEO_1394_GAMMA_FEATURE_ON

#define AR_VIDEO_1394_GAMMA_FEATURE_ON   98

◆ AR_VIDEO_1394_GAMMA_MAX_VAL

#define AR_VIDEO_1394_GAMMA_MAX_VAL   100

◆ AR_VIDEO_1394_GAMMA_MIN_VAL

#define AR_VIDEO_1394_GAMMA_MIN_VAL   101

◆ AR_VIDEO_1394_SHUTTER_SPEED

#define AR_VIDEO_1394_SHUTTER_SPEED   82

◆ AR_VIDEO_1394_SHUTTER_SPEED_AUTO_ON

#define AR_VIDEO_1394_SHUTTER_SPEED_AUTO_ON   84

◆ AR_VIDEO_1394_SHUTTER_SPEED_FEATURE_ON

#define AR_VIDEO_1394_SHUTTER_SPEED_FEATURE_ON   83

◆ AR_VIDEO_1394_SHUTTER_SPEED_MAX_VAL

#define AR_VIDEO_1394_SHUTTER_SPEED_MAX_VAL   85

◆ AR_VIDEO_1394_SHUTTER_SPEED_MIN_VAL

#define AR_VIDEO_1394_SHUTTER_SPEED_MIN_VAL   86

◆ AR_VIDEO_1394_WHITE_BALANCE

#define AR_VIDEO_1394_WHITE_BALANCE   75

◆ AR_VIDEO_1394_WHITE_BALANCE_AUTO_ON

#define AR_VIDEO_1394_WHITE_BALANCE_AUTO_ON   79

◆ AR_VIDEO_1394_WHITE_BALANCE_FEATURE_ON

#define AR_VIDEO_1394_WHITE_BALANCE_FEATURE_ON   78

◆ AR_VIDEO_1394_WHITE_BALANCE_MAX_VAL

#define AR_VIDEO_1394_WHITE_BALANCE_MAX_VAL   80

◆ AR_VIDEO_1394_WHITE_BALANCE_MIN_VAL

#define AR_VIDEO_1394_WHITE_BALANCE_MIN_VAL   81

◆ AR_VIDEO_1394_WHITE_BALANCE_UB

#define AR_VIDEO_1394_WHITE_BALANCE_UB   76

◆ AR_VIDEO_1394_WHITE_BALANCE_VR

#define AR_VIDEO_1394_WHITE_BALANCE_VR   77

◆ AR_VIDEO_FOCUS_MANUAL_DISTANCE

#define AR_VIDEO_FOCUS_MANUAL_DISTANCE   302

double

◆ AR_VIDEO_FOCUS_MODE

#define AR_VIDEO_FOCUS_MODE   301

int

◆ AR_VIDEO_FOCUS_MODE_AUTO

#define AR_VIDEO_FOCUS_MODE_AUTO   1

◆ AR_VIDEO_FOCUS_MODE_FIXED

#define AR_VIDEO_FOCUS_MODE_FIXED   0

◆ AR_VIDEO_FOCUS_MODE_MANUAL

#define AR_VIDEO_FOCUS_MODE_MANUAL   3

◆ AR_VIDEO_FOCUS_MODE_POINT_OF_INTEREST

#define AR_VIDEO_FOCUS_MODE_POINT_OF_INTEREST   2

◆ AR_VIDEO_FOCUS_POINT_OF_INTEREST_X

#define AR_VIDEO_FOCUS_POINT_OF_INTEREST_X   303

double

◆ AR_VIDEO_FOCUS_POINT_OF_INTEREST_Y

#define AR_VIDEO_FOCUS_POINT_OF_INTEREST_Y   304

double

◆ AR_VIDEO_GET_VERSION

#define AR_VIDEO_GET_VERSION   INT_MAX

◆ AR_VIDEO_PARAM_ANDROID_CAMERA_FACE

#define AR_VIDEO_PARAM_ANDROID_CAMERA_FACE   501

int

◆ AR_VIDEO_PARAM_ANDROID_CAMERA_INDEX

#define AR_VIDEO_PARAM_ANDROID_CAMERA_INDEX   500

int

◆ AR_VIDEO_PARAM_ANDROID_FOCAL_LENGTH

#define AR_VIDEO_PARAM_ANDROID_FOCAL_LENGTH   503

double

◆ AR_VIDEO_PARAM_ANDROID_INTERNET_STATE

#define AR_VIDEO_PARAM_ANDROID_INTERNET_STATE   502

int

◆ AR_VIDEO_PARAM_AVFOUNDATION_CAMERA_POSITION

#define AR_VIDEO_PARAM_AVFOUNDATION_CAMERA_POSITION   402

int, values from enumeration AR_VIDEO_AVFOUNDATION_CAMERA_POSITION.

◆ AR_VIDEO_PARAM_AVFOUNDATION_FOCUS_PRESET

#define AR_VIDEO_PARAM_AVFOUNDATION_FOCUS_PRESET   401

int, values from enumeration AR_VIDEO_AVFOUNDATION_FOCUS_PRESET.

◆ AR_VIDEO_PARAM_AVFOUNDATION_IOS_DEVICE

#define AR_VIDEO_PARAM_AVFOUNDATION_IOS_DEVICE   400

int, values from enumeration AR_VIDEO_AVFOUNDATION_IOS_DEVICE.

◆ AR_VIDEO_PARAM_AVFOUNDATION_WILL_CAPTURE_NEXT_FRAME

#define AR_VIDEO_PARAM_AVFOUNDATION_WILL_CAPTURE_NEXT_FRAME   403

int (0=false, 1=true). If true, next incoming frame will also be captured to system's camera roll.

◆ AR_VIDEO_PARAM_DEVICEID

#define AR_VIDEO_PARAM_DEVICEID   201

string, readonly. Optional. Unique name for this exact model of video device, consisting of vendor, model and board identifiers separated by '/' characters.

◆ AR_VIDEO_PARAM_GET_IMAGE_ASYNC

#define AR_VIDEO_PARAM_GET_IMAGE_ASYNC   200

int

◆ AR_VIDEO_PARAM_NAME

#define AR_VIDEO_PARAM_NAME   202

string, readonly. Optional. Human-readable name for this model of video device.

◆ AR_VIDEO_POSITION_BACK

#define AR_VIDEO_POSITION_BACK   0x0010

Camera is on back of device pointing away from user.

◆ AR_VIDEO_POSITION_BOTTOM

#define AR_VIDEO_POSITION_BOTTOM   0x0030

Camera is on bottom of device pointing towards floor when device is held upright.

◆ AR_VIDEO_POSITION_FRONT

#define AR_VIDEO_POSITION_FRONT   0x0008

Camera is on front of device pointing towards user.

◆ AR_VIDEO_POSITION_LEFT

#define AR_VIDEO_POSITION_LEFT   0x0018

Camera is on left of device pointing to user's left.

◆ AR_VIDEO_POSITION_OTHER

#define AR_VIDEO_POSITION_OTHER   0x0038

Camera physical position on device is known but none of the above.

◆ AR_VIDEO_POSITION_RIGHT

#define AR_VIDEO_POSITION_RIGHT   0x0020

Camera is on right of device pointing to user's right.

◆ AR_VIDEO_POSITION_TOP

#define AR_VIDEO_POSITION_TOP   0x0028

Camera is on top of device pointing toward ceiling when device is held upright.

◆ AR_VIDEO_POSITION_UNKNOWN

#define AR_VIDEO_POSITION_UNKNOWN   0x0000

Values for device position, as encoded in ARVideoSourceInfoT.flags & AR_VIDEO_SOURCE_INFO_POSITION_MASK.

Camera physical position on device unknown.

◆ AR_VIDEO_SOURCE_INFO_FLAG_IN_USE

#define AR_VIDEO_SOURCE_INFO_FLAG_IN_USE   0x0002

0 = unknown or not in use, 1 = in use.

◆ AR_VIDEO_SOURCE_INFO_FLAG_OFFLINE

#define AR_VIDEO_SOURCE_INFO_FLAG_OFFLINE   0x0001

Values for ARVideoSourceInfoT.flags.

0 = unknown or not offline, 1 = offline.

◆ AR_VIDEO_SOURCE_INFO_FLAG_OPEN_ASYNC

#define AR_VIDEO_SOURCE_INFO_FLAG_OPEN_ASYNC   0x0004

0 = open normally, 1 = open async.

◆ AR_VIDEO_SOURCE_INFO_POSITION_MASK

#define AR_VIDEO_SOURCE_INFO_POSITION_MASK   0x0038

compare (value & AR_VIDEO_SOURCE_INFO_POSITION_MASK) against enums.

◆ AR_VIDEO_SOURCE_INFO_STEREO_MODE_MASK

#define AR_VIDEO_SOURCE_INFO_STEREO_MODE_MASK   0x03C0

compare (value & AR_VIDEO_SOURCE_INFO_STEREO_MODE_MASK) against enums.

◆ AR_VIDEO_STEREO_MODE_ANAGLYPH_RB

#define AR_VIDEO_STEREO_MODE_ANAGLYPH_RB   0x0300

Device is left and right stereo images in a single frame, where both eyes are converted to mono and the left eye is carried in the red channel and the right eye in the blue channel.

◆ AR_VIDEO_STEREO_MODE_ANAGLYPH_RG

#define AR_VIDEO_STEREO_MODE_ANAGLYPH_RG   0x02C0

Device is left and right stereo images in a single frame, where both eyes are converted to mono and the left eye is carried in the red channel and the right eye in the green channel.

◆ AR_VIDEO_STEREO_MODE_COLUMN_INTERLACED

#define AR_VIDEO_STEREO_MODE_COLUMN_INTERLACED   0x0240

Device is left and right stereo images in a single frame with column interleaving, where pixels in even-numbered columns are sampled from the left eye, and pixels in odd-number columns from the right eye.

◆ AR_VIDEO_STEREO_MODE_FRAME_SEQUENTIAL

#define AR_VIDEO_STEREO_MODE_FRAME_SEQUENTIAL   0x00C0

Device is left and right stereo images in sequential frames.

◆ AR_VIDEO_STEREO_MODE_HALF_SIDE_BY_SIDE

#define AR_VIDEO_STEREO_MODE_HALF_SIDE_BY_SIDE   0x0180

Device is left and right stereo images in a single frame with the frames scaled to half-width, arranged horizontally with left eye on left.

◆ AR_VIDEO_STEREO_MODE_LEFT

#define AR_VIDEO_STEREO_MODE_LEFT   0x0040

Device is left eye of a stereoscopic pair.

◆ AR_VIDEO_STEREO_MODE_MONO

#define AR_VIDEO_STEREO_MODE_MONO   0x0000

Values for device stereo mode, as encoded in ARVideoSourceInfoT.flags & AR_VIDEO_SOURCE_INFO_STEREO_MODE_MASK.

Device is monoscopic.

◆ AR_VIDEO_STEREO_MODE_OVER_UNDER

#define AR_VIDEO_STEREO_MODE_OVER_UNDER   0x0140

Device is left and right stereo images in a single frame, arranged vertically with left eye on top.

◆ AR_VIDEO_STEREO_MODE_OVER_UNDER_HALF_HEIGHT

#define AR_VIDEO_STEREO_MODE_OVER_UNDER_HALF_HEIGHT   0x01C0

Device is left and right stereo images in a single frame with the frames scaled to half-height, arranged vertically with left eye on top.

◆ AR_VIDEO_STEREO_MODE_RESERVED0

#define AR_VIDEO_STEREO_MODE_RESERVED0   0x0340

Reserved for future use.

◆ AR_VIDEO_STEREO_MODE_RESERVED1

#define AR_VIDEO_STEREO_MODE_RESERVED1   0x0380

Reserved for future use.

◆ AR_VIDEO_STEREO_MODE_RESERVED2

#define AR_VIDEO_STEREO_MODE_RESERVED2   0x03C0

Reserved for future use.

◆ AR_VIDEO_STEREO_MODE_RIGHT

#define AR_VIDEO_STEREO_MODE_RIGHT   0x0080

Device is right eye of a stereoscopic pair.

◆ AR_VIDEO_STEREO_MODE_ROW_AND_COLUMN_INTERLACED

#define AR_VIDEO_STEREO_MODE_ROW_AND_COLUMN_INTERLACED   0x0280

Device is left and right stereo images in a single frame with row and column interleaving, where pixels where the evenness/oddness of the row is the same as the column are sampled from the left eye, and the remaining pixels from the right eye.

◆ AR_VIDEO_STEREO_MODE_ROW_INTERLACED

#define AR_VIDEO_STEREO_MODE_ROW_INTERLACED   0x0200

Device is left and right stereo images in a single frame with row interleaving, where pixels in even-numbered rows are sampled from the left eye, and pixels in odd-number rows from the right eye.

◆ AR_VIDEO_STEREO_MODE_SIDE_BY_SIDE

#define AR_VIDEO_STEREO_MODE_SIDE_BY_SIDE   0x0100

Device is left and right stereo images in a single frame, arranged horizontally with left eye on left.

◆ ARVIDEO_EXTERN

#define ARVIDEO_EXTERN

◆ arVideoGetVersion

#define arVideoGetVersion ( )    arVideoGetParami(AR_VIDEO_GET_VERSION, NULL)

Get the version of artoolkitX with which the arVideo library was built.

It is highly recommended that any calling program that depends on features in a certain artoolkitX version, check at runtime that it is linked to a version of artoolkitX that can supply those features. It is NOT sufficient to check the artoolkitX SDK header versions, since with artoolkitX implemented in dynamically-loaded libraries, there is no guarantee that the version of artoolkitX installed on the machine at run-time will be as recent as the version of the artoolkitX SDK which the host program was compiled against.

Returns
Returns the full version number of the artoolkitX version corresponding to this video library, in binary coded decimal (BCD) format.

BCD format allows simple tests of version number in the caller e.g. if ((arGetVersion(NULL) >> 16) > 0x0272) printf("This release is later than 2.72\n");

The major version number is encoded in the most-significant byte (bits 31-24), the minor version number in the second-most-significant byte (bits 23-16), the tiny version number in the third-most-significant byte (bits 15-8), and the build version number in the least-significant byte (bits 7-0).

If the returned value is equal to -1, it can be assumed that the actual version is in the range 0x04000000 to 0x04040100.

Since
Available in ARToolKit v4.4.2 and later. The underlying functionality can also be used when compiling against earlier versions of ARToolKit (v4.0 to 4.4.1) with a slightly different syntax: replace "arVideoGetVersion()" in your code with "arVideoGetParami(AR_VIDEO_GET_VERSION, NULL)".

Typedef Documentation

◆ AR_VIDEO_FRAME_READY_CALLBACK

typedef void(* AR_VIDEO_FRAME_READY_CALLBACK) (void *)

Enumeration Type Documentation

◆ AR_VIDEO_ANDROID_CAMERA_FACE

Values returned by arVideoParamGeti(AR_VIDEO_PARAM_ANDROID_CAMERA_FACE, ...)

Enumerator
AR_VIDEO_ANDROID_CAMERA_FACE_REAR 
AR_VIDEO_ANDROID_CAMERA_FACE_FRONT 

◆ AR_VIDEO_ASPECT_RATIO

Enumerator
AR_VIDEO_ASPECT_RATIO_1_1 

1.0: "Square".

AR_VIDEO_ASPECT_RATIO_11_9 

1.222: Equivalent to well-known sizes 176x144 (QCIF), 352x288 (CIF).

AR_VIDEO_ASPECT_RATIO_5_4 

1.25: Equivalent to well-known sizes 1280x1024 (SXGA), 2560x2048.

AR_VIDEO_ASPECT_RATIO_4_3 

1.333: Equivalent to well-known sizes 320x240 (QVGA), 480x360, 640x480 (VGA), 768x576 (576p), 800x600 (SVGA), 960x720, 1024x768 (XGA), 1152x864, 1280x960, 1400x1050, 1600x1200, 2048x1536.

AR_VIDEO_ASPECT_RATIO_3_2 

1.5: Equivalent to well-known sizes 240x160, 480x320, 960x640, 720x480 (480p), 1152x768, 1280x854, 1440x960.

AR_VIDEO_ASPECT_RATIO_14_9 

1.556:

AR_VIDEO_ASPECT_RATIO_8_5 

1.6: Equivalent to well-known sizes 320x200, 1280x800, 1440x900, 1680x1050, 1920x1200, 2560x1600.

AR_VIDEO_ASPECT_RATIO_5_3 

1.667: Equivalent to well-known sizes 800x480, 1280x768, 1600x960.

AR_VIDEO_ASPECT_RATIO_16_9 

1.778: "Widescreen". Equivalent to well-known sizes 1280x720 (720p), 1920x1080 (1080p).

AR_VIDEO_ASPECT_RATIO_9_5 

1.8: Equivalent to well-known sizes 864x480.

AR_VIDEO_ASPECT_RATIO_17_9 

1.889: Equivalent to well-known sizes 2040x1080.

AR_VIDEO_ASPECT_RATIO_21_9 

2.333: "Ultrawide". Equivalent to well-known sizes 2560x1080, 1280x512.

AR_VIDEO_ASPECT_RATIO_UNIQUE 

Value not easily representable as a ratio of integers.

AR_VIDEO_ASPECT_RATIO_INVALID 

Either width or height is zero.

◆ AR_VIDEO_AVFOUNDATION_CAMERA_POSITION

Values returned by arVideoParamGeti(AR_VIDEO_PARAM_AVFOUNDATION_CAMERA_POSITION, ...)

Enumerator
AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_UNKNOWN 
AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_UNSPECIFIED 
AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_REAR 
AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_FRONT 
AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_REAR_STEREO_LEFT 
AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_REAR_STEREO_RIGHT 
AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_FRONT_STEREO_LEFT 
AR_VIDEO_AVFOUNDATION_CAMERA_POSITION_FRONT_STEREO_RIGHT 

◆ AR_VIDEO_AVFOUNDATION_FOCUS_PRESET

Values returned by arVideoParamGeti/arVideoParamSeti(AR_VIDEO_PARAM_AVFOUNDATION_FOCUS_PRESET, ...)

Enumerator
AR_VIDEO_AVFOUNDATION_FOCUS_NONE 

No focus preset set.

AR_VIDEO_AVFOUNDATION_FOCUS_MACRO 

Focus preset to camera's shortest macro setting.

AR_VIDEO_AVFOUNDATION_FOCUS_0_3M 

Focus preset to 0.3 metres.

AR_VIDEO_AVFOUNDATION_FOCUS_1_0M 

Focus preset to 1.0 metres.

AR_VIDEO_AVFOUNDATION_FOCUS_INF 

Focus preset to optical infinity.

◆ AR_VIDEO_AVFOUNDATION_IOS_DEVICE

Values returned by arVideoParamGeti(AR_VIDEO_PARAM_AVFOUNDATION_IOS_DEVICE, ...)

Enumerator
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE3G 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE3GS 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE4 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPODTOUCH4 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPAD2 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPAD3 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE_GENERIC 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPOD_GENERIC 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPAD_GENERIC 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE4S 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_APPLETV_GENERIC 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE5 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPODTOUCH5 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPAD4 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADMINI 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE5C 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE5S 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADAIR 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADMINI2 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADMINI3 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADMINI4 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADAIR2 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE6 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE6PLUS 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE6S 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE6SPLUS 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONESE 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADPRO129 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE7 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPHONE7PLUS 
AR_VIDEO_AVFOUNDATION_IOS_DEVICE_IPADPRO97 

◆ AR_VIDEO_MODULE

Enumerator
AR_VIDEO_MODULE_DUMMY 
AR_VIDEO_MODULE_RESERVED1 
AR_VIDEO_MODULE_RESERVED2 
AR_VIDEO_MODULE_1394 
AR_VIDEO_MODULE_RESERVED4 
AR_VIDEO_MODULE_RESERVED5 
AR_VIDEO_MODULE_RESERVED6 
AR_VIDEO_MODULE_RESERVED7 
AR_VIDEO_MODULE_RESERVED8 
AR_VIDEO_MODULE_RESERVED9 
AR_VIDEO_MODULE_RESERVED10 
AR_VIDEO_MODULE_GSTREAMER 
AR_VIDEO_MODULE_AVFOUNDATION 
AR_VIDEO_MODULE_RESERVED13 
AR_VIDEO_MODULE_IMAGE 
AR_VIDEO_MODULE_ANDROID 
AR_VIDEO_MODULE_WINDOWS_MEDIA_FOUNDATION 
AR_VIDEO_MODULE_WINDOWS_MEDIA_CAPTURE 
AR_VIDEO_MODULE_V4L2 
AR_VIDEO_MODULE_EMSCRIPTEN 
AR_VIDEO_MODULE_MAX 

◆ ARVideoSizePreference

Enumerator
AR_VIDEO_SIZE_PREFERENCE_ANY 

Accept any size video frame.

AR_VIDEO_SIZE_PREFERENCE_EXACT 

Accept only the exact size requested.

AR_VIDEO_SIZE_PREFERENCE_CLOSEST_SAME_ASPECT 

Accept the closest size to the requested with the same aspect ratio.

AR_VIDEO_SIZE_PREFERENCE_CLOSEST_PIXEL_COUNT 

Accept the closest size to the requested pixel count (w x h).

AR_VIDEO_SIZE_PREFERENCE_SAME_ASPECT 

Accept any size with the same aspect ratio.

AR_VIDEO_SIZE_PREFERENCE_LARGEST_WITH_MAXIMUM 

Accept the largest size, but no larger than requested.

AR_VIDEO_SIZE_PREFERENCE_SMALLEST_WITH_MINIMUM 

Accept the smallest size, but no smaller than requested.

AR_VIDEO_SIZE_PREFERENCE_LARGEST 

Accept the largest size.

AR_VIDEO_SIZE_PREFERENCE_SMALLEST 

Accept the smallest size.

Function Documentation

◆ ar2VideoCapStart()

ARVIDEO_EXTERN int ar2VideoCapStart ( AR2VideoParamT vid)
Here is the call graph for this function:

◆ ar2VideoCapStartAsync()

ARVIDEO_EXTERN int ar2VideoCapStartAsync ( AR2VideoParamT vid,
AR_VIDEO_FRAME_READY_CALLBACK  callback,
void *  userdata 
)
Here is the call graph for this function:

◆ ar2VideoCapStop()

ARVIDEO_EXTERN int ar2VideoCapStop ( AR2VideoParamT vid)
Here is the call graph for this function:

◆ ar2VideoClose()

ARVIDEO_EXTERN int ar2VideoClose ( AR2VideoParamT vid)
Here is the call graph for this function:

◆ ar2VideoCreateSourceInfoList()

ARVIDEO_EXTERN ARVideoSourceInfoListT * ar2VideoCreateSourceInfoList ( const char *  config)
Here is the call graph for this function:

◆ ar2VideoDeleteSourceInfoList()

ARVIDEO_EXTERN void ar2VideoDeleteSourceInfoList ( ARVideoSourceInfoListT **  p)

◆ ar2VideoDispOption()

ARVIDEO_EXTERN int ar2VideoDispOption ( AR2VideoParamT vid)
Here is the call graph for this function:

◆ ar2VideoGetBufferSize()

ARVIDEO_EXTERN int ar2VideoGetBufferSize ( AR2VideoParamT vid,
int *  width,
int *  height 
)
Here is the call graph for this function:

◆ ar2VideoGetCParam()

ARVIDEO_EXTERN int ar2VideoGetCParam ( AR2VideoParamT vid,
ARParam cparam 
)
Here is the call graph for this function:

◆ ar2VideoGetCParamAsync()

ARVIDEO_EXTERN int ar2VideoGetCParamAsync ( AR2VideoParamT vid,
void(*)(const ARParam *, void *)  callback,
void *  userdata 
)
Here is the call graph for this function:

◆ ar2VideoGetId()

ARVIDEO_EXTERN int ar2VideoGetId ( AR2VideoParamT vid,
ARUint32 id0,
ARUint32 id1 
)
Here is the call graph for this function:

◆ ar2VideoGetImage()

ARVIDEO_EXTERN AR2VideoBufferT * ar2VideoGetImage ( AR2VideoParamT vid)
Here is the call graph for this function:

◆ ar2VideoGetModule()

ARVIDEO_EXTERN AR_VIDEO_MODULE ar2VideoGetModule ( AR2VideoParamT vid)

◆ ar2VideoGetParamd()

ARVIDEO_EXTERN int ar2VideoGetParamd ( AR2VideoParamT vid,
int  paramName,
double *  value 
)
Here is the call graph for this function:

◆ ar2VideoGetParami()

ARVIDEO_EXTERN int ar2VideoGetParami ( AR2VideoParamT vid,
int  paramName,
int *  value 
)
Here is the call graph for this function:

◆ ar2VideoGetParams()

ARVIDEO_EXTERN int ar2VideoGetParams ( AR2VideoParamT vid,
const int  paramName,
char **  value 
)
Here is the call graph for this function:

◆ ar2VideoGetPixelFormat()

ARVIDEO_EXTERN AR_PIXEL_FORMAT ar2VideoGetPixelFormat ( AR2VideoParamT vid)
Here is the call graph for this function:

◆ ar2VideoGetPixelSize()

ARVIDEO_EXTERN int ar2VideoGetPixelSize ( AR2VideoParamT vid)
Here is the call graph for this function:

◆ ar2VideoGetSize()

ARVIDEO_EXTERN int ar2VideoGetSize ( AR2VideoParamT vid,
int *  x,
int *  y 
)
Here is the call graph for this function:

◆ ar2VideoLoadParam()

ARVIDEO_EXTERN int ar2VideoLoadParam ( AR2VideoParamT vid,
char *  filename 
)
Here is the call graph for this function:

◆ ar2VideoOpen()

ARVIDEO_EXTERN AR2VideoParamT * ar2VideoOpen ( const char *  config)

Open a video input module and return control object.

Opening a video input module selects, connects to, and configures a video source for other video operations. Once this call has returned, other APIs can be invoked. @oaram config A configuration string, consisting of a series of space-separated configuration tokens. While the configuration string options are largely platform- and system-dependent, the token "-module=X" where X is a video input module name is always accepted. For information on configuration options, see https://github.com/artoolkitx/artoolkitx/wiki/artoolkitX-video-module-configuration-reference

See also
arVideoOpenAsync ar2VideoOpen ar2VideoOpenAsync arVideoClose ar2VideoClose
Returns
NULL in case of error, or allocates and returns a pointer to an AR2VideoParamT structure if successful. The allocation is dispoed of by ar2VideoClose.
Here is the call graph for this function:

◆ ar2VideoOpenAsync()

ARVIDEO_EXTERN AR2VideoParamT * ar2VideoOpenAsync ( const char *  config,
void(*)(void *)  callback,
void *  userdata 
)

Open a video input module, and return control object, invoking a callback once opening is complete.

Opening a video input module selects, connects to, and configures a video source for other video operations. This variant returns immediately while continuing the opening operation asynchronously, invoking a user-supplied callback once opening has completed. The only API permissible to call between this function and the invocation of the callback is ar2VideoGetModule. @oaram config A configuration string, consisting of a series of space-separated configuration tokens. While the configuration string options are largely platform- and system-dependent, the token "-module=X" where X is a video input module name is always accepted. For information on configuration options, see https://github.com/artoolkitx/artoolkitx/wiki/artoolkitX-video-module-configuration-reference

Parameters
callbackThe callback to invoke once opening is complete. In most cases, the callback will be invoked on a different thread, so care must be taken if the caller is sensitive to this.
userdataAn arbitrary pointer which will be passed to the callback.
See also
arVideoOpenAsync ar2VideoOpen ar2VideoOpenAsync arVideoClose ar2VideoClose ar2VideoGetModule
Returns
NULL in case of error, or allocates and returns a pointer to an AR2VideoParamT structure if successful. The allocation is dispoed of by ar2VideoClose.
Here is the call graph for this function:

◆ ar2VideoSaveParam()

ARVIDEO_EXTERN int ar2VideoSaveParam ( AR2VideoParamT vid,
char *  filename 
)
Here is the call graph for this function:

◆ ar2VideoSetBufferSize()

ARVIDEO_EXTERN int ar2VideoSetBufferSize ( AR2VideoParamT vid,
const int  width,
const int  height 
)
Here is the call graph for this function:

◆ ar2VideoSetParamd()

ARVIDEO_EXTERN int ar2VideoSetParamd ( AR2VideoParamT vid,
int  paramName,
double  value 
)
Here is the call graph for this function:

◆ ar2VideoSetParami()

ARVIDEO_EXTERN int ar2VideoSetParami ( AR2VideoParamT vid,
int  paramName,
int  value 
)
Here is the call graph for this function:

◆ ar2VideoSetParams()

ARVIDEO_EXTERN int ar2VideoSetParams ( AR2VideoParamT vid,
const int  paramName,
const char *  value 
)
Here is the call graph for this function:

◆ arVideoCapStart()

ARVIDEO_EXTERN int arVideoCapStart ( void  )

Start video capture.

Each call to arVideoCapStart must be balanced with a call to arVideoCapStop.

See also
arVideoCapStop
Here is the call graph for this function:

◆ arVideoCapStartAsync()

ARVIDEO_EXTERN int arVideoCapStartAsync ( AR_VIDEO_FRAME_READY_CALLBACK  callback,
void *  userdata 
)

Start video capture with asynchronous notification of new frame arrival.

Parameters
callbackA function to call when a new frame arrives. This function may be called anytime until the function arVideoCapStop has been called successfully. The callback may occur on a different thread to the calling thread and it is up to the user to synchronise the callback with any procedures that must run on the main thread, a rendering thread, or other arbitrary thread.
userdataOptional user data pointer which will be passed to the callback as a parameter. May be NULL.
Here is the call graph for this function:

◆ arVideoCapStop()

ARVIDEO_EXTERN int arVideoCapStop ( void  )

Stop video capture.

Each call to arVideoCapStop must match a call to arVideoCapStart.

See also
arVideoCapStart
Here is the call graph for this function:

◆ arVideoClose()

ARVIDEO_EXTERN int arVideoClose ( void  )
Here is the call graph for this function:

◆ arVideoDispOption()

ARVIDEO_EXTERN int arVideoDispOption ( void  )
Here is the call graph for this function:

◆ arVideoGetBufferSize()

ARVIDEO_EXTERN int arVideoGetBufferSize ( int *  width,
int *  height 
)
Here is the call graph for this function:

◆ arVideoGetCParam()

ARVIDEO_EXTERN int arVideoGetCParam ( ARParam cparam)
Here is the call graph for this function:

◆ arVideoGetCParamAsync()

ARVIDEO_EXTERN int arVideoGetCParamAsync ( void(*)(const ARParam *, void *)  callback,
void *  userdata 
)
Here is the call graph for this function:

◆ arVideoGetDefaultModule()

ARVIDEO_EXTERN AR_VIDEO_MODULE arVideoGetDefaultModule ( void  )

◆ arVideoGetId()

ARVIDEO_EXTERN int arVideoGetId ( ARUint32 id0,
ARUint32 id1 
)
Here is the call graph for this function:

◆ arVideoGetImage()

ARVIDEO_EXTERN AR2VideoBufferT * arVideoGetImage ( void  )

Get a frame image from the video module.

Returns
NULL if no image was available, or a pointer to an AR2VideoBufferT holding the image. The returned pointer remains valid until either the next call to arVideoGetImage, or a call to arVideoCapStop.
Here is the call graph for this function:

◆ arVideoGetModule()

ARVIDEO_EXTERN AR_VIDEO_MODULE arVideoGetModule ( void  )
Here is the call graph for this function:

◆ arVideoGetParamd()

ARVIDEO_EXTERN int arVideoGetParamd ( int  paramName,
double *  value 
)

Get value of a double-precision floating-point parameter from active video module.

Parameters
paramNameName of parameter to get, as defined in <ARX/ARVideo/video.h>
valuePointer to double, which will be filled with the value of the parameter.
Returns
-1 in case of error, 0 in case of no error.
Here is the call graph for this function:

◆ arVideoGetParami()

ARVIDEO_EXTERN int arVideoGetParami ( int  paramName,
int *  value 
)

Get value of an integer parameter from active video module.

Parameters
paramNameName of parameter to get, as defined in <ARX/ARVideo/video.h>
valuePointer to integer, which will be filled with the value of the parameter.
Returns
-1 in case of error, 0 in case of no error.
Here is the call graph for this function:

◆ arVideoGetParams()

ARVIDEO_EXTERN int arVideoGetParams ( const int  paramName,
char **  value 
)

Get value of a string parameter from active video module.

Parameters
paramNameName of parameter to get, as defined in <ARX/ARVideo/video.h>
valuePointer to pointer, which will be filled with a pointer to a C-string (nul-terminated, UTF-8) containing the value of the parameter. The string returned is allocated internally, and it is the responsibility of the caller to call free() on the returned value.
Returns
-1 in case of error, 0 in case of no error.
Here is the call graph for this function:

◆ arVideoGetPixelFormat()

ARVIDEO_EXTERN AR_PIXEL_FORMAT arVideoGetPixelFormat ( void  )
Here is the call graph for this function:

◆ arVideoGetPixelSize()

ARVIDEO_EXTERN int arVideoGetPixelSize ( void  )
Here is the call graph for this function:

◆ arVideoGetSize()

ARVIDEO_EXTERN int arVideoGetSize ( int *  x,
int *  y 
)
Here is the call graph for this function:

◆ arVideoLoadParam()

ARVIDEO_EXTERN int arVideoLoadParam ( char *  filename)
Here is the call graph for this function:

◆ arVideoOpen()

ARVIDEO_EXTERN int arVideoOpen ( const char *  config)

Open a video input module.

Opening a video input module selects, connects to, and configures a video source for other video operations. Once this call has returned, other APIs can be invoked. @oaram config A configuration string, consisting of a series of space-separated configuration tokens. While the configuration string options are largely platform- and system-dependent, the token "-module=X" where X is a video input module name is always accepted. For information on configuration options, see https://github.com/artoolkitx/artoolkitx/wiki/artoolkitX-video-module-configuration-reference

See also
arVideoOpenAsync ar2VideoOpen ar2VideoOpenAsync arVideoClose ar2VideoClose
Returns
-1 in case of error, 0 in case of no error.
Here is the call graph for this function:

◆ arVideoOpenAsync()

ARVIDEO_EXTERN int arVideoOpenAsync ( const char *  config,
void(*)(void *)  callback,
void *  userdata 
)

Open a video input module, invoking a callback once opening is complete.

Opening a video input module selects, connects to, and configures a video source for other video operations. This variant returns immediately while continuing the opening operation asynchronously, invoking a user-supplied callback once opening has completed. The only API permissible to call between this function and the invocation of the callback is arVideoGetModule. @oaram config A configuration string, consisting of a series of space-separated configuration tokens. While the configuration string options are largely platform- and system-dependent, the token "-module=X" where X is a video input module name is always accepted. For information on configuration options, see https://github.com/artoolkitx/artoolkitx/wiki/artoolkitX-video-module-configuration-reference

Parameters
callbackThe callback to invoke once opening is complete. In most cases, the callback will be invoked on a different thread, so care must be taken if the caller is sensitive to this.
userdataAn arbitrary pointer which will be passed to the callback.
See also
arVideoOpenAsync ar2VideoOpen ar2VideoOpenAsync arVideoClose ar2VideoClose arVideoGetModule
Returns
-1 in case of error, 0 in case of no error.
Here is the call graph for this function:

◆ arVideoSaveImageJPEG()

ARVIDEO_EXTERN int arVideoSaveImageJPEG ( int  w,
int  h,
AR_PIXEL_FORMAT  pixFormat,
ARUint8 pixels,
const char *  filename,
const int  quality,
const int  flipV 
)

◆ arVideoSaveParam()

ARVIDEO_EXTERN int arVideoSaveParam ( char *  filename)
Here is the call graph for this function:

◆ arVideoSetBufferSize()

ARVIDEO_EXTERN int arVideoSetBufferSize ( const int  width,
const int  height 
)
Here is the call graph for this function:

◆ arVideoSetParamd()

ARVIDEO_EXTERN int arVideoSetParamd ( int  paramName,
double  value 
)

Set value of a double-precision floating-point parameter in active video module.

Parameters
paramNameName of parameter to set, as defined in <ARX/ARVideo/video.h>
valueDouble value to set the parameter to.
Returns
-1 in case of error, 0 in case of no error.
Here is the call graph for this function:

◆ arVideoSetParami()

ARVIDEO_EXTERN int arVideoSetParami ( int  paramName,
int  value 
)

Set value of an integer parameter in active video module.

Parameters
paramNameName of parameter to set, as defined in <ARX/ARVideo/video.h>
valueInteger value to set the parameter to.
Returns
-1 in case of error, 0 in case of no error.
Here is the call graph for this function:

◆ arVideoSetParams()

ARVIDEO_EXTERN int arVideoSetParams ( const int  paramName,
const char *  value 
)

Get value of a string parameter in active video module.

Parameters
paramNameName of parameter to set, as defined in <ARX/ARVideo/video.h>
valuePointer to C-string (nul-terminated, UTF-8) containing the value to set the parameter to.
Returns
-1 in case of error, 0 in case of no error.
Here is the call graph for this function:

◆ arVideoUtilFindAspectRatio()

AR_VIDEO_ASPECT_RATIO arVideoUtilFindAspectRatio ( int  w,
int  h 
)

Determine the approximate aspect ratio for a given image resolution.

A convenience method which makes it easy to determine the approximate aspect ratio of an image with the given resolution (expressed in pixel width and height). Returns a symbolic constant for the aspect ratio, which makes it easy to determine whether two different resolutions have the same aspect ratio. Assumes square pixels.

Parameters
wWidth in pixels
hHeight in pixels
Returns
If a matching commonly-used aspect ratio can be found, returns symbolic constant for that aspect ratio.

◆ arVideoUtilFindAspectRatioName()

char * arVideoUtilFindAspectRatioName ( int  w,
int  h 
)

Determine the approximate aspect ratio for a given image resolution.

A convenience method which makes it easy to determine the approximate aspect ratio of an image with the given resolution (expressed in pixel width and height). Returns a string for the aspect ratio. Assumes square pixels.

Parameters
wWidth in pixels
hHeight in pixels
Returns
If a matching commonly-used aspect ratio can be found, returns string name for that aspect ratio. This string must be free'd when finished with.

◆ arVideoUtilGetPixelFormatName()

ARVIDEO_EXTERN const char * arVideoUtilGetPixelFormatName ( const AR_PIXEL_FORMAT  arPixelFormat)

◆ arVideoUtilGetPixelSize()

ARVIDEO_EXTERN int arVideoUtilGetPixelSize ( const AR_PIXEL_FORMAT  arPixelFormat)