annotate tremor/ivorbiscodec.h @ 25308:7fdb9b2b6770

Fix printf format string length modifiers, removes the warnings: asfinfo.c: In function 'print_wave_header': asfinfo.c:114: warning: format '%d' expects type 'int', but argument 2 has type 'long int' asfinfo.c:115: warning: format '%d' expects type 'int', but argument 2 has type 'long int' asfinfo.c: In function 'print_video_header': asfinfo.c:140: warning: format '%d' expects type 'int', but argument 2 has type 'long int' asfinfo.c:141: warning: format '%d' expects type 'int', but argument 2 has type 'long int' asfinfo.c:142: warning: format '%d' expects type 'int', but argument 2 has type 'long int' asfinfo.c:145: warning: format '%d' expects type 'int', but argument 2 has type 'long int' asfinfo.c:146: warning: format '%d' expects type 'int', but argument 2 has type 'long int' asfinfo.c: In function 'main': asfinfo.c:174: warning: format '%X' expects type 'unsigned int', but argument 2 has type 'long int' asfinfo.c:220: warning: format '%d' expects type 'int', but argument 6 has type 'long unsigned int'
author diego
date Mon, 10 Dec 2007 13:11:26 +0000
parents cd6b211be811
children e83eef58b30a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
1 /********************************************************************
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
2 * *
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
3 * THIS FILE IS PART OF THE OggVorbis 'TREMOR' CODEC SOURCE CODE. *
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
4 * *
19251
cd6b211be811 Replace tremor files that had old headers saying "ALL REDISTRIBUTION
uau
parents: 14280
diff changeset
5 * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
cd6b211be811 Replace tremor files that had old headers saying "ALL REDISTRIBUTION
uau
parents: 14280
diff changeset
6 * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
cd6b211be811 Replace tremor files that had old headers saying "ALL REDISTRIBUTION
uau
parents: 14280
diff changeset
7 * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
cd6b211be811 Replace tremor files that had old headers saying "ALL REDISTRIBUTION
uau
parents: 14280
diff changeset
8 * *
14280
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
9 * THE OggVorbis 'TREMOR' SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
10 * BY THE Xiph.Org FOUNDATION http://www.xiph.org/ *
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
11 * *
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
12 ********************************************************************
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
13
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
14 function: libvorbis codec headers
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
15
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
16 ********************************************************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
17
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
18 #ifndef _vorbis_codec_h_
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
19 #define _vorbis_codec_h_
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
20
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
21 #ifdef __cplusplus
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
22 extern "C"
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
23 {
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
24 #endif /* __cplusplus */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
25
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
26 #include "ogg.h"
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
27
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
28 typedef struct vorbis_info{
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
29 int version;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
30 int channels;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
31 long rate;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
32
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
33 /* The below bitrate declarations are *hints*.
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
34 Combinations of the three values carry the following implications:
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
35
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
36 all three set to the same value:
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
37 implies a fixed rate bitstream
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
38 only nominal set:
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
39 implies a VBR stream that averages the nominal bitrate. No hard
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
40 upper/lower limit
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
41 upper and or lower set:
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
42 implies a VBR bitstream that obeys the bitrate limits. nominal
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
43 may also be set to give a nominal rate.
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
44 none set:
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
45 the coder does not care to speculate.
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
46 */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
47
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
48 long bitrate_upper;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
49 long bitrate_nominal;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
50 long bitrate_lower;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
51 long bitrate_window;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
52
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
53 void *codec_setup;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
54 } vorbis_info;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
55
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
56 /* vorbis_dsp_state buffers the current vorbis audio
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
57 analysis/synthesis state. The DSP state belongs to a specific
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
58 logical bitstream ****************************************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
59 typedef struct vorbis_dsp_state{
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
60 int analysisp;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
61 vorbis_info *vi;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
62
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
63 ogg_int32_t **pcm;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
64 ogg_int32_t **pcmret;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
65 int pcm_storage;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
66 int pcm_current;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
67 int pcm_returned;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
68
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
69 int preextrapolate;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
70 int eofflag;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
71
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
72 long lW;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
73 long W;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
74 long nW;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
75 long centerW;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
76
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
77 ogg_int64_t granulepos;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
78 ogg_int64_t sequence;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
79
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
80 void *backend_state;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
81 } vorbis_dsp_state;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
82
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
83 typedef struct vorbis_block{
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
84 /* necessary stream state for linking to the framing abstraction */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
85 ogg_int32_t **pcm; /* this is a pointer into local storage */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
86 oggpack_buffer opb;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
87
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
88 long lW;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
89 long W;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
90 long nW;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
91 int pcmend;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
92 int mode;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
93
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
94 int eofflag;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
95 ogg_int64_t granulepos;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
96 ogg_int64_t sequence;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
97 vorbis_dsp_state *vd; /* For read-only access of configuration */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
98
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
99 /* local storage to avoid remallocing; it's up to the mapping to
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
100 structure it */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
101 void *localstore;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
102 long localtop;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
103 long localalloc;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
104 long totaluse;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
105 struct alloc_chain *reap;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
106
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
107 } vorbis_block;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
108
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
109 /* vorbis_block is a single block of data to be processed as part of
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
110 the analysis/synthesis stream; it belongs to a specific logical
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
111 bitstream, but is independant from other vorbis_blocks belonging to
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
112 that logical bitstream. *************************************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
113
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
114 struct alloc_chain{
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
115 void *ptr;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
116 struct alloc_chain *next;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
117 };
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
118
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
119 /* vorbis_info contains all the setup information specific to the
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
120 specific compression/decompression mode in progress (eg,
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
121 psychoacoustic settings, channel setup, options, codebook
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
122 etc). vorbis_info and substructures are in backends.h.
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
123 *********************************************************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
124
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
125 /* the comments are not part of vorbis_info so that vorbis_info can be
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
126 static storage */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
127 typedef struct vorbis_comment{
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
128 /* unlimited user comment fields. libvorbis writes 'libvorbis'
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
129 whatever vendor is set to in encode */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
130 char **user_comments;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
131 int *comment_lengths;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
132 int comments;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
133 char *vendor;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
134
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
135 } vorbis_comment;
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
136
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
137
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
138 /* libvorbis encodes in two abstraction layers; first we perform DSP
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
139 and produce a packet (see docs/analysis.txt). The packet is then
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
140 coded into a framed OggSquish bitstream by the second layer (see
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
141 docs/framing.txt). Decode is the reverse process; we sync/frame
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
142 the bitstream and extract individual packets, then decode the
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
143 packet back into PCM audio.
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
144
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
145 The extra framing/packetizing is used in streaming formats, such as
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
146 files. Over the net (such as with UDP), the framing and
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
147 packetization aren't necessary as they're provided by the transport
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
148 and the streaming layer is not used */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
149
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
150 /* Vorbis PRIMITIVES: general ***************************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
151
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
152 extern void vorbis_info_init(vorbis_info *vi);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
153 extern void vorbis_info_clear(vorbis_info *vi);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
154 extern int vorbis_info_blocksize(vorbis_info *vi,int zo);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
155 extern void vorbis_comment_init(vorbis_comment *vc);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
156 extern void vorbis_comment_add(vorbis_comment *vc, char *comment);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
157 extern void vorbis_comment_add_tag(vorbis_comment *vc,
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
158 char *tag, char *contents);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
159 extern char *vorbis_comment_query(vorbis_comment *vc, char *tag, int count);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
160 extern int vorbis_comment_query_count(vorbis_comment *vc, char *tag);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
161 extern void vorbis_comment_clear(vorbis_comment *vc);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
162
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
163 extern int vorbis_block_init(vorbis_dsp_state *v, vorbis_block *vb);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
164 extern int vorbis_block_clear(vorbis_block *vb);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
165 extern void vorbis_dsp_clear(vorbis_dsp_state *v);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
166
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
167 /* Vorbis PRIMITIVES: synthesis layer *******************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
168 extern int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
169 ogg_packet *op);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
170
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
171 extern int vorbis_synthesis_init(vorbis_dsp_state *v,vorbis_info *vi);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
172 extern int vorbis_synthesis(vorbis_block *vb,ogg_packet *op);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
173 extern int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
174 extern int vorbis_synthesis_pcmout(vorbis_dsp_state *v,ogg_int32_t ***pcm);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
175 extern int vorbis_synthesis_read(vorbis_dsp_state *v,int samples);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
176 extern long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op);
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
177
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
178 /* Vorbis ERRORS and return codes ***********************************/
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
179
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
180 #define OV_FALSE -1
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
181 #define OV_EOF -2
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
182 #define OV_HOLE -3
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
183
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
184 #define OV_EREAD -128
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
185 #define OV_EFAULT -129
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
186 #define OV_EIMPL -130
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
187 #define OV_EINVAL -131
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
188 #define OV_ENOTVORBIS -132
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
189 #define OV_EBADHEADER -133
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
190 #define OV_EVERSION -134
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
191 #define OV_ENOTAUDIO -135
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
192 #define OV_EBADPACKET -136
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
193 #define OV_EBADLINK -137
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
194 #define OV_ENOSEEK -138
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
195
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
196 #ifdef __cplusplus
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
197 }
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
198 #endif /* __cplusplus */
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
199
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
200 #endif
8631a3803289 internal Tremor decoder for Ogg/Vorbis
henry
parents:
diff changeset
201