Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
204 chris 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
<html>
3
        <head>
4
                <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
5
                <title>ARToolKit API Documentation</title>
6
                <link href="doxygen.css" rel="stylesheet" type="text/css">
7
        </head>
8
        <body>
9
<!-- Generated by Doxygen 1.4.6 -->
10
<div class="tabs">
11
  <ul>
12
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
13
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
14
    <li id="current"><a href="files.html"><span>Files</span></a></li>
15
  </ul></div>
16
<div class="tabs">
17
  <ul>
18
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
19
    <li><a href="globals.html"><span>Globals</span></a></li>
20
  </ul></div>
21
<h1>video.h File Reference</h1>ARToolkit video subroutines. <a href="#_details">More...</a>
22
<p>
23
<code>#include &lt;AR/config.h&gt;</code><br>
24
<code>#include &lt;<a class="el" href="ar_8h.html">AR/ar.h</a>&gt;</code><br>
25
<table border="0" cellpadding="0" cellspacing="0">
26
<tr><td></td></tr>
27
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
28
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#0e9d9ba5508b3f0ee5b542f47d7306e5">arVideoDispOption</a> (void)</td></tr>
29
 
30
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">display the video option.  <a href="#0e9d9ba5508b3f0ee5b542f47d7306e5"></a><br></td></tr>
31
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#71c85a73046c9ebb3f733ea36ca521c2">arVideoOpen</a> (char *config)</td></tr>
32
 
33
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">open a video source.  <a href="#71c85a73046c9ebb3f733ea36ca521c2"></a><br></td></tr>
34
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#635906a4da8d95ef6813d89190211da0">arVideoClose</a> (void)</td></tr>
35
 
36
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close the video source. After your application has finished using a video stream, this function must be called to close the link to the input source, and free resources associated with the capture operation.  <a href="#635906a4da8d95ef6813d89190211da0"></a><br></td></tr>
37
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#488a6c18e106ef1543a1d2a0e17de91a">arVideoCapStart</a> (void)</td></tr>
38
 
39
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">start the capture of video.  <a href="#488a6c18e106ef1543a1d2a0e17de91a"></a><br></td></tr>
40
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#c76f6bf870224d71783c07e9c0c425a9">arVideoCapStop</a> (void)</td></tr>
41
 
42
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stop the capture of video.  <a href="#c76f6bf870224d71783c07e9c0c425a9"></a><br></td></tr>
43
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#2046b769eb5c401dcb21c210207752bb">arVideoCapNext</a> (void)</td></tr>
44
 
45
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">call for the next grabbed video frame.  <a href="#2046b769eb5c401dcb21c210207752bb"></a><br></td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API ARUint8 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#aba310982da09d39a4a92c5cd394d0dd">arVideoGetImage</a> (void)</td></tr>
47
 
48
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the video image.  <a href="#aba310982da09d39a4a92c5cd394d0dd"></a><br></td></tr>
49
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#e998292f3bf2e5cc8440e084f9d63e81">arVideoInqSize</a> (int *x, int *y)</td></tr>
50
 
51
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the video image size, in pixels.  <a href="#e998292f3bf2e5cc8440e084f9d63e81"></a><br></td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#2bbcc8828ec425449e7e159b0f1e5622">ar2VideoDispOption</a> (void)</td></tr>
53
 
54
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">display the video option (multiple video inputs)  <a href="#2bbcc8828ec425449e7e159b0f1e5622"></a><br></td></tr>
55
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API AR2VideoParamT *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#c2b93a3fc88d0fdf601ac4d0bf0b389c">ar2VideoOpen</a> (char *config)</td></tr>
56
 
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">open a video source (multiple video inputs)  <a href="#c2b93a3fc88d0fdf601ac4d0bf0b389c"></a><br></td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#4b8a9b1a18beed51b2f0600687de63b8">ar2VideoClose</a> (AR2VideoParamT *vid)</td></tr>
59
 
60
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">close a video source (multiple video inputs)  <a href="#4b8a9b1a18beed51b2f0600687de63b8"></a><br></td></tr>
61
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#5a0834041e696e10609994bfdf089981">ar2VideoCapStart</a> (AR2VideoParamT *vid)</td></tr>
62
 
63
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">start the capture of a video source (multiple video inputs)  <a href="#5a0834041e696e10609994bfdf089981"></a><br></td></tr>
64
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#3012ed74ba96bcd07065ad924f88f9fc">ar2VideoCapNext</a> (AR2VideoParamT *vid)</td></tr>
65
 
66
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">call for the next grabbed video frame of a video source (multiple video inputs)  <a href="#3012ed74ba96bcd07065ad924f88f9fc"></a><br></td></tr>
67
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#7f44f09a5e412bb83330887458e96b84">ar2VideoCapStop</a> (AR2VideoParamT *vid)</td></tr>
68
 
69
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">stop the capture of a video source (multiple video inputs)  <a href="#7f44f09a5e412bb83330887458e96b84"></a><br></td></tr>
70
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API ARUint8 *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#721d088fc5bdea41c493dbfab9de7ecc">ar2VideoGetImage</a> (AR2VideoParamT *vid)</td></tr>
71
 
72
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get a video image from a video source (multiple video inputs)  <a href="#721d088fc5bdea41c493dbfab9de7ecc"></a><br></td></tr>
73
<tr><td class="memItemLeft" nowrap align="right" valign="top">AR_DLL_API int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="video_8h.html#76bb788d5ba144a7386c40ba7ab59547">ar2VideoInqSize</a> (AR2VideoParamT *vid, int *x, int *y)</td></tr>
74
 
75
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the video image size of a video source (multiple video inputs)  <a href="#76bb788d5ba144a7386c40ba7ab59547"></a><br></td></tr>
76
</table>
77
<hr><a name="_details"></a><h2>Detailed Description</h2>
78
ARToolkit video subroutines.
79
<p>
80
This library provides multi-platform video input support for ARToolKit. It abstracts access to hardware video input available on different machines and operating systems.<p>
81
The actual supported platforms (and the driver/library used) are:<ul>
82
<li>Windows: with Microsoft DirectShow (VFW obsolete).</li><li>Linux: with Video4Linux library, GStreamer, IEEE1394 camera library and DV camera library.</li><li>Macintosh: with QuickTime.</li><li>SGI: with VL.</li></ul>
83
<p>
84
This library provides two sets of functions, depending on whether your program needs to use only one video stream, or more than one video stream. These two sets are functionally identical.<ul>
85
<li>one camera: use the <b>arVideo*</b> functions.</li><li>multiple cameras: use the <b>ar2Video*</b> functions.</li></ul>
86
<p>
87
More information on establishing video streams is available in the ARToolKit manual.<p>
88
<dl compact><dt><b>Remarks:</b></dt><dd>The arVideo* functions maintain the current video stream in a global variable and internally call the ar2Video* functions.</dd></dl>
89
History : modified by Thomas Pintaric (<a href="mailto:pintaric@ims.tuwien.ac.at">pintaric@ims.tuwien.ac.at</a>) to add a fully transparent DirectShow Driver. modified by Hartmut Seichter (<a href="mailto:hartmut@technotecture.com">hartmut@technotecture.com</a>) to add GStreamer video support<p>
90
<dl compact><dt><b>Author:</b></dt><dd>Hirokazu Kato <a href="mailto:kato@sys.im.hiroshima-cu.ac.jp">kato@sys.im.hiroshima-cu.ac.jp</a> <p>
91
Atsishi Nakazawa <a href="mailto:nakazawa@inolab.sys.es.osaka-u.ac.jp">nakazawa@inolab.sys.es.osaka-u.ac.jp</a> <p>
92
Thomas Pintaric <a href="mailto:pintaric@ims.tuwien.ac.at">pintaric@ims.tuwien.ac.at</a> (Windows DirectShow video support). <p>
93
Philip Lamb <a href="mailto:phil@eden.net.nz">phil@eden.net.nz</a> (Macintosh Quicktime video support). <p>
94
Hartmut Seichter <a href="mailto:hartmut@technotecture.com">hartmut@technotecture.com</a> (GStreamer Video support) </dd></dl>
95
<dl compact><dt><b>Version:</b></dt><dd>4.3b </dd></dl>
96
<dl compact><dt><b>Date:</b></dt><dd>03/02/02 </dd></dl>
97
<hr><h2>Function Documentation</h2>
98
<a class="anchor" name="3012ed74ba96bcd07065ad924f88f9fc"></a><!-- doxytag: member="video.h::ar2VideoCapNext" ref="3012ed74ba96bcd07065ad924f88f9fc" args="(AR2VideoParamT *vid)" --><p>
99
<table class="mdTable" cellpadding="2" cellspacing="0">
100
  <tr>
101
    <td class="mdRow">
102
      <table cellpadding="0" cellspacing="0" border="0">
103
        <tr>
104
          <td class="md" nowrap valign="top">AR_DLL_API int ar2VideoCapNext           </td>
105
          <td class="md" valign="top">(&nbsp;</td>
106
          <td class="md" nowrap valign="top">AR2VideoParamT *&nbsp;</td>
107
          <td class="mdname1" valign="top" nowrap> <em>vid</em>          </td>
108
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
109
          <td class="md" nowrap></td>
110
        </tr>
111
      </table>
112
    </td>
113
  </tr>
114
</table>
115
<table cellspacing="5" cellpadding="0" border="0">
116
  <tr>
117
    <td>
118
      &nbsp;
119
    </td>
120
    <td>
121
 
122
<p>
123
call for the next grabbed video frame of a video source (multiple video inputs)
124
<p>
125
Companion function to arVideoCapNext for multiple video sources. <dl compact><dt><b>Parameters:</b></dt><dd>
126
  <table border="0" cellspacing="2" cellpadding="0">
127
    <tr><td valign="top"></td><td valign="top"><em>vid</em>&nbsp;</td><td>a video handle structure for multi-camera grabbing </td></tr>
128
  </table>
129
</dl>
130
    </td>
131
  </tr>
132
</table>
133
<a class="anchor" name="5a0834041e696e10609994bfdf089981"></a><!-- doxytag: member="video.h::ar2VideoCapStart" ref="5a0834041e696e10609994bfdf089981" args="(AR2VideoParamT *vid)" --><p>
134
<table class="mdTable" cellpadding="2" cellspacing="0">
135
  <tr>
136
    <td class="mdRow">
137
      <table cellpadding="0" cellspacing="0" border="0">
138
        <tr>
139
          <td class="md" nowrap valign="top">AR_DLL_API int ar2VideoCapStart           </td>
140
          <td class="md" valign="top">(&nbsp;</td>
141
          <td class="md" nowrap valign="top">AR2VideoParamT *&nbsp;</td>
142
          <td class="mdname1" valign="top" nowrap> <em>vid</em>          </td>
143
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
144
          <td class="md" nowrap></td>
145
        </tr>
146
      </table>
147
    </td>
148
  </tr>
149
</table>
150
<table cellspacing="5" cellpadding="0" border="0">
151
  <tr>
152
    <td>
153
      &nbsp;
154
    </td>
155
    <td>
156
 
157
<p>
158
start the capture of a video source (multiple video inputs)
159
<p>
160
Companion function to arVideoCapStart for multiple video sources. <dl compact><dt><b>Parameters:</b></dt><dd>
161
  <table border="0" cellspacing="2" cellpadding="0">
162
    <tr><td valign="top"></td><td valign="top"><em>vid</em>&nbsp;</td><td>a video handle structure for multi-camera grabbing </td></tr>
163
  </table>
164
</dl>
165
    </td>
166
  </tr>
167
</table>
168
<a class="anchor" name="7f44f09a5e412bb83330887458e96b84"></a><!-- doxytag: member="video.h::ar2VideoCapStop" ref="7f44f09a5e412bb83330887458e96b84" args="(AR2VideoParamT *vid)" --><p>
169
<table class="mdTable" cellpadding="2" cellspacing="0">
170
  <tr>
171
    <td class="mdRow">
172
      <table cellpadding="0" cellspacing="0" border="0">
173
        <tr>
174
          <td class="md" nowrap valign="top">AR_DLL_API int ar2VideoCapStop           </td>
175
          <td class="md" valign="top">(&nbsp;</td>
176
          <td class="md" nowrap valign="top">AR2VideoParamT *&nbsp;</td>
177
          <td class="mdname1" valign="top" nowrap> <em>vid</em>          </td>
178
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
179
          <td class="md" nowrap></td>
180
        </tr>
181
      </table>
182
    </td>
183
  </tr>
184
</table>
185
<table cellspacing="5" cellpadding="0" border="0">
186
  <tr>
187
    <td>
188
      &nbsp;
189
    </td>
190
    <td>
191
 
192
<p>
193
stop the capture of a video source (multiple video inputs)
194
<p>
195
Companion function to arVideoCapStop for multiple video sources. <dl compact><dt><b>Parameters:</b></dt><dd>
196
  <table border="0" cellspacing="2" cellpadding="0">
197
    <tr><td valign="top"></td><td valign="top"><em>vid</em>&nbsp;</td><td>a video handle structure for multi-camera grabbing </td></tr>
198
  </table>
199
</dl>
200
    </td>
201
  </tr>
202
</table>
203
<a class="anchor" name="4b8a9b1a18beed51b2f0600687de63b8"></a><!-- doxytag: member="video.h::ar2VideoClose" ref="4b8a9b1a18beed51b2f0600687de63b8" args="(AR2VideoParamT *vid)" --><p>
204
<table class="mdTable" cellpadding="2" cellspacing="0">
205
  <tr>
206
    <td class="mdRow">
207
      <table cellpadding="0" cellspacing="0" border="0">
208
        <tr>
209
          <td class="md" nowrap valign="top">AR_DLL_API int ar2VideoClose           </td>
210
          <td class="md" valign="top">(&nbsp;</td>
211
          <td class="md" nowrap valign="top">AR2VideoParamT *&nbsp;</td>
212
          <td class="mdname1" valign="top" nowrap> <em>vid</em>          </td>
213
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
214
          <td class="md" nowrap></td>
215
        </tr>
216
      </table>
217
    </td>
218
  </tr>
219
</table>
220
<table cellspacing="5" cellpadding="0" border="0">
221
  <tr>
222
    <td>
223
      &nbsp;
224
    </td>
225
    <td>
226
 
227
<p>
228
close a video source (multiple video inputs)
229
<p>
230
Companion function to arVideoClose for multiple video sources. <dl compact><dt><b>Parameters:</b></dt><dd>
231
  <table border="0" cellspacing="2" cellpadding="0">
232
    <tr><td valign="top"></td><td valign="top"><em>vid</em>&nbsp;</td><td>a video handle structure for multi-camera grabbing. </td></tr>
233
  </table>
234
</dl>
235
    </td>
236
  </tr>
237
</table>
238
<a class="anchor" name="2bbcc8828ec425449e7e159b0f1e5622"></a><!-- doxytag: member="video.h::ar2VideoDispOption" ref="2bbcc8828ec425449e7e159b0f1e5622" args="(void)" --><p>
239
<table class="mdTable" cellpadding="2" cellspacing="0">
240
  <tr>
241
    <td class="mdRow">
242
      <table cellpadding="0" cellspacing="0" border="0">
243
        <tr>
244
          <td class="md" nowrap valign="top">AR_DLL_API int ar2VideoDispOption           </td>
245
          <td class="md" valign="top">(&nbsp;</td>
246
          <td class="md" nowrap valign="top">void&nbsp;</td>
247
          <td class="mdname1" valign="top" nowrap>          </td>
248
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
249
          <td class="md" nowrap></td>
250
        </tr>
251
      </table>
252
    </td>
253
  </tr>
254
</table>
255
<table cellspacing="5" cellpadding="0" border="0">
256
  <tr>
257
    <td>
258
      &nbsp;
259
    </td>
260
    <td>
261
 
262
<p>
263
display the video option (multiple video inputs)
264
<p>
265
Companion function to arVideoDispOption, for multiple video sources.     </td>
266
  </tr>
267
</table>
268
<a class="anchor" name="721d088fc5bdea41c493dbfab9de7ecc"></a><!-- doxytag: member="video.h::ar2VideoGetImage" ref="721d088fc5bdea41c493dbfab9de7ecc" args="(AR2VideoParamT *vid)" --><p>
269
<table class="mdTable" cellpadding="2" cellspacing="0">
270
  <tr>
271
    <td class="mdRow">
272
      <table cellpadding="0" cellspacing="0" border="0">
273
        <tr>
274
          <td class="md" nowrap valign="top">AR_DLL_API ARUint8* ar2VideoGetImage           </td>
275
          <td class="md" valign="top">(&nbsp;</td>
276
          <td class="md" nowrap valign="top">AR2VideoParamT *&nbsp;</td>
277
          <td class="mdname1" valign="top" nowrap> <em>vid</em>          </td>
278
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
279
          <td class="md" nowrap></td>
280
        </tr>
281
      </table>
282
    </td>
283
  </tr>
284
</table>
285
<table cellspacing="5" cellpadding="0" border="0">
286
  <tr>
287
    <td>
288
      &nbsp;
289
    </td>
290
    <td>
291
 
292
<p>
293
get a video image from a video source (multiple video inputs)
294
<p>
295
Companion function to arVideoGetImage for multiple video sources. <dl compact><dt><b>Parameters:</b></dt><dd>
296
  <table border="0" cellspacing="2" cellpadding="0">
297
    <tr><td valign="top"></td><td valign="top"><em>vid</em>&nbsp;</td><td>a video handle structure for multi-camera grabbing </td></tr>
298
  </table>
299
</dl>
300
    </td>
301
  </tr>
302
</table>
303
<a class="anchor" name="76bb788d5ba144a7386c40ba7ab59547"></a><!-- doxytag: member="video.h::ar2VideoInqSize" ref="76bb788d5ba144a7386c40ba7ab59547" args="(AR2VideoParamT *vid, int *x, int *y)" --><p>
304
<table class="mdTable" cellpadding="2" cellspacing="0">
305
  <tr>
306
    <td class="mdRow">
307
      <table cellpadding="0" cellspacing="0" border="0">
308
        <tr>
309
          <td class="md" nowrap valign="top">AR_DLL_API int ar2VideoInqSize           </td>
310
          <td class="md" valign="top">(&nbsp;</td>
311
          <td class="md" nowrap valign="top">AR2VideoParamT *&nbsp;</td>
312
          <td class="mdname" nowrap> <em>vid</em>, </td>
313
        </tr>
314
        <tr>
315
          <td class="md" nowrap align="right"></td>
316
          <td class="md"></td>
317
          <td class="md" nowrap>int *&nbsp;</td>
318
          <td class="mdname" nowrap> <em>x</em>, </td>
319
        </tr>
320
        <tr>
321
          <td class="md" nowrap align="right"></td>
322
          <td class="md"></td>
323
          <td class="md" nowrap>int *&nbsp;</td>
324
          <td class="mdname" nowrap> <em>y</em></td>
325
        </tr>
326
        <tr>
327
          <td class="md"></td>
328
          <td class="md">)&nbsp;</td>
329
          <td class="md" colspan="2"></td>
330
        </tr>
331
      </table>
332
    </td>
333
  </tr>
334
</table>
335
<table cellspacing="5" cellpadding="0" border="0">
336
  <tr>
337
    <td>
338
      &nbsp;
339
    </td>
340
    <td>
341
 
342
<p>
343
get the video image size of a video source (multiple video inputs)
344
<p>
345
Companion function to arVideoInqSize for multiple video sources. <dl compact><dt><b>Parameters:</b></dt><dd>
346
  <table border="0" cellspacing="2" cellpadding="0">
347
    <tr><td valign="top"></td><td valign="top"><em>vid</em>&nbsp;</td><td>a video handle structure for multi-camera grabbing </td></tr>
348
  </table>
349
</dl>
350
    </td>
351
  </tr>
352
</table>
353
<a class="anchor" name="c2b93a3fc88d0fdf601ac4d0bf0b389c"></a><!-- doxytag: member="video.h::ar2VideoOpen" ref="c2b93a3fc88d0fdf601ac4d0bf0b389c" args="(char *config)" --><p>
354
<table class="mdTable" cellpadding="2" cellspacing="0">
355
  <tr>
356
    <td class="mdRow">
357
      <table cellpadding="0" cellspacing="0" border="0">
358
        <tr>
359
          <td class="md" nowrap valign="top">AR_DLL_API AR2VideoParamT* ar2VideoOpen           </td>
360
          <td class="md" valign="top">(&nbsp;</td>
361
          <td class="md" nowrap valign="top">char *&nbsp;</td>
362
          <td class="mdname1" valign="top" nowrap> <em>config</em>          </td>
363
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
364
          <td class="md" nowrap></td>
365
        </tr>
366
      </table>
367
    </td>
368
  </tr>
369
</table>
370
<table cellspacing="5" cellpadding="0" border="0">
371
  <tr>
372
    <td>
373
      &nbsp;
374
    </td>
375
    <td>
376
 
377
<p>
378
open a video source (multiple video inputs)
379
<p>
380
Companion function to arVideoOpen for multiple video sources. This function can be called multiple times to open multiple video streams. The maximum number of streams is dependent on the operating system and the performance characteristics of the host CPU and video capture infrastructure.<p>
381
<dl compact><dt><b>Parameters:</b></dt><dd>
382
  <table border="0" cellspacing="2" cellpadding="0">
383
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>string of the selected video configuration. </td></tr>
384
  </table>
385
</dl>
386
<dl compact><dt><b>Returns:</b></dt><dd>If the video path was successfully opened, this function returns a pointer to an AR2VideoParamT structure, an opaque structure which holds information and configuration for the video stream. This paramater should then be passed to other ar2Video* functions to specify which video stream is being operated upon. If the video path was not successfully opened, NULL will be returned. s </dd></dl>
387
    </td>
388
  </tr>
389
</table>
390
<a class="anchor" name="2046b769eb5c401dcb21c210207752bb"></a><!-- doxytag: member="video.h::arVideoCapNext" ref="2046b769eb5c401dcb21c210207752bb" args="(void)" --><p>
391
<table class="mdTable" cellpadding="2" cellspacing="0">
392
  <tr>
393
    <td class="mdRow">
394
      <table cellpadding="0" cellspacing="0" border="0">
395
        <tr>
396
          <td class="md" nowrap valign="top">AR_DLL_API int arVideoCapNext           </td>
397
          <td class="md" valign="top">(&nbsp;</td>
398
          <td class="md" nowrap valign="top">void&nbsp;</td>
399
          <td class="mdname1" valign="top" nowrap>          </td>
400
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
401
          <td class="md" nowrap></td>
402
        </tr>
403
      </table>
404
    </td>
405
  </tr>
406
</table>
407
<table cellspacing="5" cellpadding="0" border="0">
408
  <tr>
409
    <td>
410
      &nbsp;
411
    </td>
412
    <td>
413
 
414
<p>
415
call for the next grabbed video frame.
416
<p>
417
This function should be called at least once per frame. It has several purposes, depending on the operating system. It allows the video driver to perform housekeeping tasks and also signals to the video grabber that your code has finished using the most recent video frame returned by <a class="el" href="video_8h.html#aba310982da09d39a4a92c5cd394d0dd">arVideoGetImage()</a>, and that the video driver may re-use the memory occupied by the frame. The effect of this call is operating-system dependent. The best place to call this function is immediately after you have finished displaying the current video frame, i.e. after calling <a class="el" href="gsub_lite/index.html">arglDispImage()</a> or <a class="el" href="gsub_8h.html#ba4016cfc4b79474b455dbba5afef56c">argDispImage()</a>.<p>
418
<dl compact><dt><b>Remarks:</b></dt><dd>On some operating systems, this function is a no-op. </dd></dl>
419
<dl compact><dt><b>Returns:</b></dt><dd>0 if successful, -1 if the video driver encountered an error. </dd></dl>
420
    </td>
421
  </tr>
422
</table>
423
<a class="anchor" name="488a6c18e106ef1543a1d2a0e17de91a"></a><!-- doxytag: member="video.h::arVideoCapStart" ref="488a6c18e106ef1543a1d2a0e17de91a" args="(void)" --><p>
424
<table class="mdTable" cellpadding="2" cellspacing="0">
425
  <tr>
426
    <td class="mdRow">
427
      <table cellpadding="0" cellspacing="0" border="0">
428
        <tr>
429
          <td class="md" nowrap valign="top">AR_DLL_API int arVideoCapStart           </td>
430
          <td class="md" valign="top">(&nbsp;</td>
431
          <td class="md" nowrap valign="top">void&nbsp;</td>
432
          <td class="mdname1" valign="top" nowrap>          </td>
433
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
434
          <td class="md" nowrap></td>
435
        </tr>
436
      </table>
437
    </td>
438
  </tr>
439
</table>
440
<table cellspacing="5" cellpadding="0" border="0">
441
  <tr>
442
    <td>
443
      &nbsp;
444
    </td>
445
    <td>
446
 
447
<p>
448
start the capture of video.
449
<p>
450
This function starts the video capture routine. <dl compact><dt><b>Remarks:</b></dt><dd>On some operating systems, capture operations may run in a separate execution thread. This call starts that thread. <p>
451
this function coupled with arVideoCapStop, can be call many times in your program (this may reduce the CPU load when video processing is stopped or for long and critical operations). </dd></dl>
452
<dl compact><dt><b>Returns:</b></dt><dd>0 if successful, -1 if the capture couldn't be started. </dd></dl>
453
    </td>
454
  </tr>
455
</table>
456
<a class="anchor" name="c76f6bf870224d71783c07e9c0c425a9"></a><!-- doxytag: member="video.h::arVideoCapStop" ref="c76f6bf870224d71783c07e9c0c425a9" args="(void)" --><p>
457
<table class="mdTable" cellpadding="2" cellspacing="0">
458
  <tr>
459
    <td class="mdRow">
460
      <table cellpadding="0" cellspacing="0" border="0">
461
        <tr>
462
          <td class="md" nowrap valign="top">AR_DLL_API int arVideoCapStop           </td>
463
          <td class="md" valign="top">(&nbsp;</td>
464
          <td class="md" nowrap valign="top">void&nbsp;</td>
465
          <td class="mdname1" valign="top" nowrap>          </td>
466
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
467
          <td class="md" nowrap></td>
468
        </tr>
469
      </table>
470
    </td>
471
  </tr>
472
</table>
473
<table cellspacing="5" cellpadding="0" border="0">
474
  <tr>
475
    <td>
476
      &nbsp;
477
    </td>
478
    <td>
479
 
480
<p>
481
stop the capture of video.
482
<p>
483
This function stops the video capture routine. <dl compact><dt><b>Remarks:</b></dt><dd>On some operating systems, capture operations may run in a separate execution thread. This call stops that thread. <p>
484
this function coupled with arVideoCapStart, can be call many times in your program (this may reduce the CPU load when video processing is stopped or for long and critical operations). </dd></dl>
485
<dl compact><dt><b>Returns:</b></dt><dd>0 if successful, -1 if the capture couldn't be stopped. </dd></dl>
486
    </td>
487
  </tr>
488
</table>
489
<a class="anchor" name="635906a4da8d95ef6813d89190211da0"></a><!-- doxytag: member="video.h::arVideoClose" ref="635906a4da8d95ef6813d89190211da0" args="(void)" --><p>
490
<table class="mdTable" cellpadding="2" cellspacing="0">
491
  <tr>
492
    <td class="mdRow">
493
      <table cellpadding="0" cellspacing="0" border="0">
494
        <tr>
495
          <td class="md" nowrap valign="top">AR_DLL_API int arVideoClose           </td>
496
          <td class="md" valign="top">(&nbsp;</td>
497
          <td class="md" nowrap valign="top">void&nbsp;</td>
498
          <td class="mdname1" valign="top" nowrap>          </td>
499
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
500
          <td class="md" nowrap></td>
501
        </tr>
502
      </table>
503
    </td>
504
  </tr>
505
</table>
506
<table cellspacing="5" cellpadding="0" border="0">
507
  <tr>
508
    <td>
509
      &nbsp;
510
    </td>
511
    <td>
512
 
513
<p>
514
close the video source. After your application has finished using a video stream, this function must be called to close the link to the input source, and free resources associated with the capture operation.
515
<p>
516
<dl compact><dt><b>Returns:</b></dt><dd>0 if shut down successfully, otherwise -1. </dd></dl>
517
    </td>
518
  </tr>
519
</table>
520
<a class="anchor" name="0e9d9ba5508b3f0ee5b542f47d7306e5"></a><!-- doxytag: member="video.h::arVideoDispOption" ref="0e9d9ba5508b3f0ee5b542f47d7306e5" args="(void)" --><p>
521
<table class="mdTable" cellpadding="2" cellspacing="0">
522
  <tr>
523
    <td class="mdRow">
524
      <table cellpadding="0" cellspacing="0" border="0">
525
        <tr>
526
          <td class="md" nowrap valign="top">AR_DLL_API int arVideoDispOption           </td>
527
          <td class="md" valign="top">(&nbsp;</td>
528
          <td class="md" nowrap valign="top">void&nbsp;</td>
529
          <td class="mdname1" valign="top" nowrap>          </td>
530
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
531
          <td class="md" nowrap></td>
532
        </tr>
533
      </table>
534
    </td>
535
  </tr>
536
</table>
537
<table cellspacing="5" cellpadding="0" border="0">
538
  <tr>
539
    <td>
540
      &nbsp;
541
    </td>
542
    <td>
543
 
544
<p>
545
display the video option.
546
<p>
547
The video configuration options vary by operating system and platform. This function outputs to the standard output the options available on the current OS and platform. <dl compact><dt><b>Returns:</b></dt><dd>0 </dd></dl>
548
    </td>
549
  </tr>
550
</table>
551
<a class="anchor" name="aba310982da09d39a4a92c5cd394d0dd"></a><!-- doxytag: member="video.h::arVideoGetImage" ref="aba310982da09d39a4a92c5cd394d0dd" args="(void)" --><p>
552
<table class="mdTable" cellpadding="2" cellspacing="0">
553
  <tr>
554
    <td class="mdRow">
555
      <table cellpadding="0" cellspacing="0" border="0">
556
        <tr>
557
          <td class="md" nowrap valign="top">AR_DLL_API ARUint8* arVideoGetImage           </td>
558
          <td class="md" valign="top">(&nbsp;</td>
559
          <td class="md" nowrap valign="top">void&nbsp;</td>
560
          <td class="mdname1" valign="top" nowrap>          </td>
561
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
562
          <td class="md" nowrap></td>
563
        </tr>
564
      </table>
565
    </td>
566
  </tr>
567
</table>
568
<table cellspacing="5" cellpadding="0" border="0">
569
  <tr>
570
    <td>
571
      &nbsp;
572
    </td>
573
    <td>
574
 
575
<p>
576
get the video image.
577
<p>
578
This function returns a buffer with a captured video image. The returned data consists of a tightly-packed array of pixels, beginning with the first component of the leftmost pixel of the topmost row, and continuing with the remaining components of that pixel, followed by the remaining pixels in the topmost row, followed by the leftmost pixel of the second row, and so on. The arrangement of components of the pixels in the buffer is determined by the configuration string passed in to the driver at the time the video stream was opened. If no pixel format was specified in the configuration string, then an operating- system dependent default, defined in &lt;AR/config.h&gt; is used. The memory occupied by the pixel data is owned by the video driver and should not be freed by your program. The pixels in the buffer remain valid until the next call to arVideoCapNext, or the next call to arVideoGetImage which returns a non-NULL pointer, or any call to arVideoCapStop or arVideoClose. <dl compact><dt><b>Returns:</b></dt><dd>A pointer to the pixel data of the captured video frame, or NULL if no new pixel data was available at the time of calling. </dd></dl>
579
    </td>
580
  </tr>
581
</table>
582
<a class="anchor" name="e998292f3bf2e5cc8440e084f9d63e81"></a><!-- doxytag: member="video.h::arVideoInqSize" ref="e998292f3bf2e5cc8440e084f9d63e81" args="(int *x, int *y)" --><p>
583
<table class="mdTable" cellpadding="2" cellspacing="0">
584
  <tr>
585
    <td class="mdRow">
586
      <table cellpadding="0" cellspacing="0" border="0">
587
        <tr>
588
          <td class="md" nowrap valign="top">AR_DLL_API int arVideoInqSize           </td>
589
          <td class="md" valign="top">(&nbsp;</td>
590
          <td class="md" nowrap valign="top">int *&nbsp;</td>
591
          <td class="mdname" nowrap> <em>x</em>, </td>
592
        </tr>
593
        <tr>
594
          <td class="md" nowrap align="right"></td>
595
          <td class="md"></td>
596
          <td class="md" nowrap>int *&nbsp;</td>
597
          <td class="mdname" nowrap> <em>y</em></td>
598
        </tr>
599
        <tr>
600
          <td class="md"></td>
601
          <td class="md">)&nbsp;</td>
602
          <td class="md" colspan="2"></td>
603
        </tr>
604
      </table>
605
    </td>
606
  </tr>
607
</table>
608
<table cellspacing="5" cellpadding="0" border="0">
609
  <tr>
610
    <td>
611
      &nbsp;
612
    </td>
613
    <td>
614
 
615
<p>
616
get the video image size, in pixels.
617
<p>
618
This function returns the size of the captured video frame, in pixels. <dl compact><dt><b>Parameters:</b></dt><dd>
619
  <table border="0" cellspacing="2" cellpadding="0">
620
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>a pointer to the length of the captured image </td></tr>
621
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>a pointer to the width of the captured image </td></tr>
622
  </table>
623
</dl>
624
<dl compact><dt><b>Returns:</b></dt><dd>0 if the dimensions are found successfully, otherwise -1 </dd></dl>
625
    </td>
626
  </tr>
627
</table>
628
<a class="anchor" name="71c85a73046c9ebb3f733ea36ca521c2"></a><!-- doxytag: member="video.h::arVideoOpen" ref="71c85a73046c9ebb3f733ea36ca521c2" args="(char *config)" --><p>
629
<table class="mdTable" cellpadding="2" cellspacing="0">
630
  <tr>
631
    <td class="mdRow">
632
      <table cellpadding="0" cellspacing="0" border="0">
633
        <tr>
634
          <td class="md" nowrap valign="top">AR_DLL_API int arVideoOpen           </td>
635
          <td class="md" valign="top">(&nbsp;</td>
636
          <td class="md" nowrap valign="top">char *&nbsp;</td>
637
          <td class="mdname1" valign="top" nowrap> <em>config</em>          </td>
638
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
639
          <td class="md" nowrap></td>
640
        </tr>
641
      </table>
642
    </td>
643
  </tr>
644
</table>
645
<table cellspacing="5" cellpadding="0" border="0">
646
  <tr>
647
    <td>
648
      &nbsp;
649
    </td>
650
    <td>
651
 
652
<p>
653
open a video source.
654
<p>
655
This function opens a video input path with the driver (and device) present on your platform. According to your operating system and the hardware the initialization will be different : a generic string structure is used for this issue. This function prepares the video stream for capture, but capture will not actually begin until arVideoCapStart is called. <dl compact><dt><b>Parameters:</b></dt><dd>
656
  <table border="0" cellspacing="2" cellpadding="0">
657
    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>string of the selected video configuration. See the <a href="video/">video configuration documentation</a> for more information on this parameter. </td></tr>
658
  </table>
659
</dl>
660
<dl compact><dt><b>Returns:</b></dt><dd>0 if successful, -1 if a video path couldn't be opened </dd></dl>
661
    </td>
662
  </tr>
663
</table>
664
 
665
        <small>Generated with <a href="http://www.doxygen.org/index.html">Doxygen</a><br>
666
        Copyright © 2004-2006. HIT Lab NZ. All Rights Reserved.</small>
667
        </body>
668
</html>