| ARX 1.0 The next-generation open source augmented reality toolkit.

Loading...
Searching...
No Matches
videoAVFoundation.h
Go to the documentation of this file.
1/*
2 * videoAVFoundation.h
3 * artoolkitX
4 *
5 * This file is part of artoolkitX.
6 *
7 * artoolkitX is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU Lesser General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * artoolkitX is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public License
18 * along with artoolkitX. If not, see <http://www.gnu.org/licenses/>.
19 *
20 * As a special exception, the copyright holders of this library give you
21 * permission to link this library with independent modules to produce an
22 * executable, regardless of the license terms of these independent modules, and to
23 * copy and distribute the resulting executable under terms of your choice,
24 * provided that you also meet, for each linked independent module, the terms and
25 * conditions of the license of that module. An independent module is a module
26 * which is neither derived from nor based on this library. If you modify this
27 * library, you may extend this exception to your version of the library, but you
28 * are not obligated to do so. If you do not wish to do so, delete this exception
29 * statement from your version.
30 *
31 * Copyright 2018 Realmax, Inc.
32 * Copyright 2015 Daqri, LLC.
33 * Copyright 2008-2015 ARToolworks, Inc.
34 *
35 * Author(s): Philip Lamb
36 *
37 * Rev Date Who Changes
38 * 1.0.0 2008-05-04 PRL Written.
39 *
40 */
41
42#ifndef AR_VIDEO_AVFOUNDATION_H
43#define AR_VIDEO_AVFOUNDATION_H
44
45#include <ARX/ARVideo/video.h>
46
47#ifdef __cplusplus
48 extern "C" {
49#endif
50
51 typedef struct _AR2VideoParamAVFoundationT AR2VideoParamAVFoundationT;
52
53
54 int ar2VideoDispOptionAVFoundation ( void );
55 AR2VideoParamAVFoundationT *ar2VideoOpenAVFoundation ( const char *config );
56 int ar2VideoCloseAVFoundation ( AR2VideoParamAVFoundationT *vid );
57 int ar2VideoGetIdAVFoundation ( AR2VideoParamAVFoundationT *vid, ARUint32 *id0, ARUint32 *id1 );
58 int ar2VideoGetSizeAVFoundation ( AR2VideoParamAVFoundationT *vid, int *x,int *y );
59 int ar2VideoGetPixelFormatAVFoundation ( AR2VideoParamAVFoundationT *vid );
60 AR2VideoBufferT *ar2VideoGetImageAVFoundation ( AR2VideoParamAVFoundationT *vid );
61 int ar2VideoCapStartAVFoundation ( AR2VideoParamAVFoundationT *vid );
62 int ar2VideoCapStopAVFoundation ( AR2VideoParamAVFoundationT *vid );
63
64 int ar2VideoGetParamiAVFoundation ( AR2VideoParamAVFoundationT *vid, int paramName, int *value );
65 int ar2VideoSetParamiAVFoundation ( AR2VideoParamAVFoundationT *vid, int paramName, int value );
66 int ar2VideoGetParamdAVFoundation ( AR2VideoParamAVFoundationT *vid, int paramName, double *value );
67 int ar2VideoSetParamdAVFoundation ( AR2VideoParamAVFoundationT *vid, int paramName, double value );
68 int ar2VideoGetParamsAVFoundation ( AR2VideoParamAVFoundationT *vid, const int paramName, char **value );
69 int ar2VideoSetParamsAVFoundation ( AR2VideoParamAVFoundationT *vid, const int paramName, const char *value );
70
71 int ar2VideoCapStartAsyncAVFoundation(AR2VideoParamAVFoundationT *vid, AR_VIDEO_FRAME_READY_CALLBACK callback, void *userdata);
72 int ar2VideoSetBufferSizeAVFoundation(AR2VideoParamAVFoundationT *vid, const int width, const int height);
73 int ar2VideoGetBufferSizeAVFoundation(AR2VideoParamAVFoundationT *vid, int *width, int *height);
74
75 int ar2VideoGetCParamAVFoundation (AR2VideoParamAVFoundationT *vid, ARParam *cparam);
76 AR2VideoParamAVFoundationT *ar2VideoOpenAsyncAVFoundation (const char *config, void (*callback)(void *), void *userdata);
77#if USE_CPARAM_SEARCH
78 int ar2VideoGetCParamAsyncAVFoundation (AR2VideoParamAVFoundationT *vid, void (*callback)(const ARParam *, void *), void *userdata);
79#endif // USE_CPARAM_SEARCH
80 ARVideoSourceInfoListT *ar2VideoCreateSourceInfoListAVFoundation(const char *config_in);
81
82// videoAVFoundation uses underlying native classes (CameraVideo, MovieVideo).
83// This function retrieves a pointer, allowing direct access to the underlying native
84// object instance.
85#ifdef __OBJC__
86 id ar2VideoGetNativeVideoInstanceAVFoundation(AR2VideoParamAVFoundationT *vid);
87#endif
88
89#ifdef __cplusplus
90}
91#endif
92#endif // AR_VIDEO_AVFOUNDATION_H
ARUint32
unsigned int ARUint32
Definition: ar.h:94
AR2VideoBufferT
A structure which carries information about a video frame retrieved by the video library.
Definition: ar.h:148
ARParam
Structure holding camera parameters, including image size, projection matrix and lens distortion para...
Definition: param.h:99
ARVideoSourceInfoListT
Values describing a list of video sources.
Definition: video.h:297
video.h
AR_VIDEO_FRAME_READY_CALLBACK
void(* AR_VIDEO_FRAME_READY_CALLBACK)(void *)
Definition: video.h:302
ar2VideoGetSizeAVFoundation
int ar2VideoGetSizeAVFoundation(AR2VideoParamAVFoundationT *vid, int *x, int *y)
ar2VideoSetBufferSizeAVFoundation
int ar2VideoSetBufferSizeAVFoundation(AR2VideoParamAVFoundationT *vid, const int width, const int height)
ar2VideoDispOptionAVFoundation
int ar2VideoDispOptionAVFoundation(void)
ar2VideoCloseAVFoundation
int ar2VideoCloseAVFoundation(AR2VideoParamAVFoundationT *vid)
ar2VideoSetParamiAVFoundation
int ar2VideoSetParamiAVFoundation(AR2VideoParamAVFoundationT *vid, int paramName, int value)
ar2VideoGetBufferSizeAVFoundation
int ar2VideoGetBufferSizeAVFoundation(AR2VideoParamAVFoundationT *vid, int *width, int *height)
ar2VideoSetParamsAVFoundation
int ar2VideoSetParamsAVFoundation(AR2VideoParamAVFoundationT *vid, const int paramName, const char *value)
ar2VideoCapStopAVFoundation
int ar2VideoCapStopAVFoundation(AR2VideoParamAVFoundationT *vid)
ar2VideoGetParamsAVFoundation
int ar2VideoGetParamsAVFoundation(AR2VideoParamAVFoundationT *vid, const int paramName, char **value)
ar2VideoSetParamdAVFoundation
int ar2VideoSetParamdAVFoundation(AR2VideoParamAVFoundationT *vid, int paramName, double value)
ar2VideoGetPixelFormatAVFoundation
int ar2VideoGetPixelFormatAVFoundation(AR2VideoParamAVFoundationT *vid)
ar2VideoGetParamdAVFoundation
int ar2VideoGetParamdAVFoundation(AR2VideoParamAVFoundationT *vid, int paramName, double *value)
ar2VideoGetImageAVFoundation
AR2VideoBufferT * ar2VideoGetImageAVFoundation(AR2VideoParamAVFoundationT *vid)
ar2VideoGetIdAVFoundation
int ar2VideoGetIdAVFoundation(AR2VideoParamAVFoundationT *vid, ARUint32 *id0, ARUint32 *id1)
AR2VideoParamAVFoundationT
struct _AR2VideoParamAVFoundationT AR2VideoParamAVFoundationT
Definition: videoAVFoundation.h:51
ar2VideoOpenAsyncAVFoundation
AR2VideoParamAVFoundationT * ar2VideoOpenAsyncAVFoundation(const char *config, void(*callback)(void *), void *userdata)
ar2VideoCapStartAVFoundation
int ar2VideoCapStartAVFoundation(AR2VideoParamAVFoundationT *vid)
ar2VideoGetParamiAVFoundation
int ar2VideoGetParamiAVFoundation(AR2VideoParamAVFoundationT *vid, int paramName, int *value)
ar2VideoOpenAVFoundation
AR2VideoParamAVFoundationT * ar2VideoOpenAVFoundation(const char *config)
ar2VideoCapStartAsyncAVFoundation
int ar2VideoCapStartAsyncAVFoundation(AR2VideoParamAVFoundationT *vid, AR_VIDEO_FRAME_READY_CALLBACK callback, void *userdata)
ar2VideoCreateSourceInfoListAVFoundation
ARVideoSourceInfoListT * ar2VideoCreateSourceInfoListAVFoundation(const char *config_in)
ar2VideoGetCParamAVFoundation
int ar2VideoGetCParamAVFoundation(AR2VideoParamAVFoundationT *vid, ARParam *cparam)