annotate decoders/mpglib/mpglib_sdlsound.h @ 447:c98a34c00069

Fixed MIDI decoding on bigendian systems.
author Ryan C. Gordon <icculus@icculus.org>
date Tue, 05 Aug 2003 10:07:20 +0000
parents 5b00e43ec23c
children
rev   line source
441
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
1
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
2 #ifndef _INCLUDE_MPGLIB_SDLSOUND_H_
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
3 #define _INCLUDE_MPGLIB_SDLSOUND_H_
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
4
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
5 #ifdef _MSC_VER
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
6 #define snprintf _snprintf
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
7 #endif
261
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
8
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
9 struct buf {
292
a9e211c3faa4 Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents: 261
diff changeset
10 unsigned char *pnt;
261
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
11 long size;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
12 long pos;
292
a9e211c3faa4 Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents: 261
diff changeset
13 struct buf *next;
a9e211c3faa4 Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents: 261
diff changeset
14 struct buf *prev;
261
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
15 };
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
16
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
17 struct framebuf {
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
18 struct buf *buf;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
19 long pos;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
20 struct frame *next;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
21 struct frame *prev;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
22 };
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
23
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
24 struct mpstr {
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
25 struct buf *head,*tail;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
26 int bsize;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
27 int framesize;
292
a9e211c3faa4 Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents: 261
diff changeset
28 int fsizeold;
261
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
29 struct frame fr;
292
a9e211c3faa4 Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents: 261
diff changeset
30 unsigned char bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */
261
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
31 real hybrid_block[2][2][SBLIMIT*SSLIMIT];
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
32 int hybrid_blc[2];
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
33 unsigned long header;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
34 int bsnum;
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
35 real synth_buffs[2][2][0x110];
292
a9e211c3faa4 Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents: 261
diff changeset
36 int synth_bo;
261
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
37 };
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
38
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
39 #ifndef BOOL
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
40 #define BOOL int
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
41 #endif
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
42
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
43 #define MP3_ERR -1
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
44 #define MP3_OK 0
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
45 #define MP3_NEED_MORE 1
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
46
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
47
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
48 #ifdef __cplusplus
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
49 extern "C" {
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
50 #endif
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
51
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
52 BOOL InitMP3(struct mpstr *mp);
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
53 int decodeMP3(struct mpstr *mp,char *inmemory,int inmemsize,
292
a9e211c3faa4 Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents: 261
diff changeset
54 char *outmemory,int outmemsize,int *done);
261
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
55 void ExitMP3(struct mpstr *mp);
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
56
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
57 #ifdef __cplusplus
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
58 }
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
59 #endif
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
60
441
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
61 #endif
261
9b6e82f7c853 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
62
441
5b00e43ec23c Patches to make SDL_sound more Visual C happy.
Ryan C. Gordon <icculus@icculus.org>
parents: 292
diff changeset
63