summaryrefslogtreecommitdiffhomepage
path: root/contrib/vorbis/doc/libvorbis/vorbis_analysis_buffer.html
blob: cf6ae8086352a99aa039129dab9ac085753cc432 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<html>

<head>
<title>libvorbis - function - vorbis_analysis_buffer</title>
<link rel=stylesheet href="style.css" type="text/css">
</head>

<body bgcolor=white text=black link="#5555ff" alink="#5555ff" vlink="#5555ff">
<table border=0 width=100%>
<tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
</tr>
</table>

<h1>vorbis_analysis_buffer</h1>

<p><i>declared in "vorbis/codec.h";</i></p>

<p>This fuction requests a buffer array for delivering audio to the
encoder for compression.</p>

<p>The Vorbis encoder expects the caller to write audio data as
non-interleaved floating point samples into its internal buffers.
</p>
<p>
The general procedure is to call this function with the number of samples
you have available. The encoder will arrange for that much internal storage
and return an array of buffer pointers, one for each channel of audio.
The caller must then write the audio samples into those buffers, as
float values, and finally call vorbis_analysis_wrote() to tell the
encoder the data is available for analysis.
</p>

<table border=0 color=black cellspacing=0 cellpadding=7>
<tr bgcolor=#cccccc>
	<td>
<pre><b>
extern float  **vorbis_analysis_buffer(vorbis_dsp_state *v,int vals);
</b></pre>
	</td>
</tr>
</table>

<h3>Parameters</h3>
<dl>
<dt><i>v</i></dt>
<dd>Pointer to the vorbis_dsp_state representing the encoder.</dd>
<dt><i>vals</i></dt>
<dd>Number of samples to provide space for in the returned buffer. 1024 is a reasonable choice.</dd>
</dl>


<h3>Return Values</h3>
<p>Returns an array of floating point buffers which can accept data.
A (**float) where the first index is the channel, and the second is
the sample index.<p>

<br><br>
<hr noshade>
<table border=0 width=100%>
<tr valign=top>
<td><p class=tiny>copyright &copy; 2010 Xiph.Org</p></td>
<td align=right><p class=tiny><a href="http://www.xiph.org/ogg/vorbis/index.html">Ogg Vorbis</a></p></td>
</tr><tr>
<td><p class=tiny>libvorbis documentation</p></td>
<td align=right><p class=tiny>libvorbis version 1.3.2 - 20101101</p></td>
</tr>
</table>


</body>

</html>