Mercurial > SDL_sound_CoreAudio
comparison decoders/mpglib/common.c @ 292:a9e211c3faa4
Cleanups and audio format determination.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sun, 17 Mar 2002 21:16:33 +0000 |
parents | 9e7f9e09ea0e |
children |
comparison
equal
deleted
inserted
replaced
291:a48e886d456f | 292:a9e211c3faa4 |
---|---|
23 { {0,32,48,56,64,80,96,112,128,144,160,176,192,224,256,}, | 23 { {0,32,48,56,64,80,96,112,128,144,160,176,192,224,256,}, |
24 {0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,}, | 24 {0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,}, |
25 {0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,} } | 25 {0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,} } |
26 }; | 26 }; |
27 | 27 |
28 long freqs[9] = { 44100, 48000, 32000, | 28 long mpglib_freqs[9] = { 44100, 48000, 32000, |
29 22050, 24000, 16000 , | 29 22050, 24000, 16000 , |
30 11025 , 12000 , 8000 }; | 30 11025 , 12000 , 8000 }; |
31 | 31 |
32 int bitindex; | 32 int bitindex; |
33 unsigned char *wordpointer; | 33 unsigned char *wordpointer; |
34 unsigned char *pcm_sample; | 34 unsigned char *pcm_sample; |
35 int pcm_point = 0; | 35 int pcm_point = 0; |
107 #if 0 | 107 #if 0 |
108 fr->jsbound = (fr->mode == MPG_MD_JOINT_STEREO) ? | 108 fr->jsbound = (fr->mode == MPG_MD_JOINT_STEREO) ? |
109 (fr->mode_ext<<2)+4 : 32; | 109 (fr->mode_ext<<2)+4 : 32; |
110 #endif | 110 #endif |
111 fr->framesize = (long) tabsel_123[fr->lsf][0][fr->bitrate_index] * 12000; | 111 fr->framesize = (long) tabsel_123[fr->lsf][0][fr->bitrate_index] * 12000; |
112 fr->framesize /= freqs[fr->sampling_frequency]; | 112 fr->framesize /= mpglib_freqs[fr->sampling_frequency]; |
113 fr->framesize = ((fr->framesize+fr->padding)<<2)-4; | 113 fr->framesize = ((fr->framesize+fr->padding)<<2)-4; |
114 #else | 114 #else |
115 Sound_SetError("MPGLIB: Not supported!"); | 115 Sound_SetError("MPGLIB: Not supported!"); |
116 #endif | 116 #endif |
117 break; | 117 break; |
120 #if 0 | 120 #if 0 |
121 fr->jsbound = (fr->mode == MPG_MD_JOINT_STEREO) ? | 121 fr->jsbound = (fr->mode == MPG_MD_JOINT_STEREO) ? |
122 (fr->mode_ext<<2)+4 : fr->II_sblimit; | 122 (fr->mode_ext<<2)+4 : fr->II_sblimit; |
123 #endif | 123 #endif |
124 fr->framesize = (long) tabsel_123[fr->lsf][1][fr->bitrate_index] * 144000; | 124 fr->framesize = (long) tabsel_123[fr->lsf][1][fr->bitrate_index] * 144000; |
125 fr->framesize /= freqs[fr->sampling_frequency]; | 125 fr->framesize /= mpglib_freqs[fr->sampling_frequency]; |
126 fr->framesize += fr->padding - 4; | 126 fr->framesize += fr->padding - 4; |
127 #else | 127 #else |
128 Sound_SetError("MPGLIB: Not supported!"); | 128 Sound_SetError("MPGLIB: Not supported!"); |
129 #endif | 129 #endif |
130 break; | 130 break; |
140 #if 0 | 140 #if 0 |
141 if(fr->error_protection) | 141 if(fr->error_protection) |
142 ssize += 2; | 142 ssize += 2; |
143 #endif | 143 #endif |
144 fr->framesize = (long) tabsel_123[fr->lsf][2][fr->bitrate_index] * 144000; | 144 fr->framesize = (long) tabsel_123[fr->lsf][2][fr->bitrate_index] * 144000; |
145 fr->framesize /= freqs[fr->sampling_frequency]<<(fr->lsf); | 145 fr->framesize /= mpglib_freqs[fr->sampling_frequency]<<(fr->lsf); |
146 fr->framesize = fr->framesize + fr->padding - 4; | 146 fr->framesize = fr->framesize + fr->padding - 4; |
147 break; | 147 break; |
148 default: | 148 default: |
149 Sound_SetError("MPGLIB: Unknown layer type."); | 149 Sound_SetError("MPGLIB: Unknown layer type."); |
150 return (0); | 150 return (0); |
158 static char *modes[4] = { "Stereo", "Joint-Stereo", "Dual-Channel", "Single-Channel" }; | 158 static char *modes[4] = { "Stereo", "Joint-Stereo", "Dual-Channel", "Single-Channel" }; |
159 static char *layers[4] = { "Unknown" , "I", "II", "III" }; | 159 static char *layers[4] = { "Unknown" , "I", "II", "III" }; |
160 | 160 |
161 fprintf(stderr,"MPEG %s, Layer: %s, Freq: %ld, mode: %s, modext: %d, BPF : %d\n", | 161 fprintf(stderr,"MPEG %s, Layer: %s, Freq: %ld, mode: %s, modext: %d, BPF : %d\n", |
162 fr->mpeg25 ? "2.5" : (fr->lsf ? "2.0" : "1.0"), | 162 fr->mpeg25 ? "2.5" : (fr->lsf ? "2.0" : "1.0"), |
163 layers[fr->lay],freqs[fr->sampling_frequency], | 163 layers[fr->lay],mpglib_freqs[fr->sampling_frequency], |
164 modes[fr->mode],fr->mode_ext,fr->framesize+4); | 164 modes[fr->mode],fr->mode_ext,fr->framesize+4); |
165 fprintf(stderr,"Channels: %d, copyright: %s, original: %s, CRC: %s, emphasis: %d.\n", | 165 fprintf(stderr,"Channels: %d, copyright: %s, original: %s, CRC: %s, emphasis: %d.\n", |
166 fr->stereo,fr->copyright?"Yes":"No", | 166 fr->stereo,fr->copyright?"Yes":"No", |
167 fr->original?"Yes":"No",fr->error_protection?"Yes":"No", | 167 fr->original?"Yes":"No",fr->error_protection?"Yes":"No", |
168 fr->emphasis); | 168 fr->emphasis); |
177 | 177 |
178 fprintf(stderr,"MPEG %s layer %s, %d kbit/s, %ld Hz %s\n", | 178 fprintf(stderr,"MPEG %s layer %s, %d kbit/s, %ld Hz %s\n", |
179 fr->mpeg25 ? "2.5" : (fr->lsf ? "2.0" : "1.0"), | 179 fr->mpeg25 ? "2.5" : (fr->lsf ? "2.0" : "1.0"), |
180 layers[fr->lay], | 180 layers[fr->lay], |
181 tabsel_123[fr->lsf][fr->lay-1][fr->bitrate_index], | 181 tabsel_123[fr->lsf][fr->lay-1][fr->bitrate_index], |
182 freqs[fr->sampling_frequency], modes[fr->mode]); | 182 mpglib_freqs[fr->sampling_frequency], modes[fr->mode]); |
183 } | 183 } |
184 | 184 |
185 #endif | 185 #endif |
186 | 186 |
187 unsigned int getbits(int number_of_bits) | 187 unsigned int getbits(int number_of_bits) |