comparison libmpcodecs/ad_pcm.c @ 14245:815f03b7cee5

removing AFMT_ dependancy
author alex
date Mon, 27 Dec 2004 17:30:15 +0000
parents efe58d68689e
children 78385a72a8bb
comparison
equal deleted inserted replaced
14244:9b03ad0254ae 14245:815f03b7cee5
22 WAVEFORMATEX *h=sh_audio->wf; 22 WAVEFORMATEX *h=sh_audio->wf;
23 sh_audio->i_bps=h->nAvgBytesPerSec; 23 sh_audio->i_bps=h->nAvgBytesPerSec;
24 sh_audio->channels=h->nChannels; 24 sh_audio->channels=h->nChannels;
25 sh_audio->samplerate=h->nSamplesPerSec; 25 sh_audio->samplerate=h->nSamplesPerSec;
26 sh_audio->samplesize=(h->wBitsPerSample+7)/8; 26 sh_audio->samplesize=(h->wBitsPerSample+7)/8;
27 sh_audio->sample_format=AFMT_S16_LE; // default 27 sh_audio->sample_format=AF_FORMAT_S16_LE; // default
28 switch(sh_audio->format){ /* hardware formats: */ 28 switch(sh_audio->format){ /* hardware formats: */
29 case 0x0: 29 case 0x0:
30 case 0x1: // Microsoft PCM 30 case 0x1: // Microsoft PCM
31 switch (sh_audio->samplesize) { 31 switch (sh_audio->samplesize) {
32 case 1: sh_audio->sample_format=AFMT_U8; break; 32 case 1: sh_audio->sample_format=AF_FORMAT_U8; break;
33 case 2: sh_audio->sample_format=AFMT_S16_LE; break; 33 case 2: sh_audio->sample_format=AF_FORMAT_S16_LE; break;
34 case 3: sh_audio->sample_format=AFMT_S24_LE; break; 34 case 3: sh_audio->sample_format=AF_FORMAT_S24_LE; break;
35 case 4: sh_audio->sample_format=AFMT_S32_LE; break; 35 case 4: sh_audio->sample_format=AF_FORMAT_S32_LE; break;
36 } 36 }
37 break; 37 break;
38 case 0x6: sh_audio->sample_format=AFMT_A_LAW;break; 38 case 0x6: sh_audio->sample_format=AF_FORMAT_A_LAW;break;
39 case 0x7: sh_audio->sample_format=AFMT_MU_LAW;break; 39 case 0x7: sh_audio->sample_format=AF_FORMAT_MU_LAW;break;
40 case 0x11: sh_audio->sample_format=AFMT_IMA_ADPCM;break; 40 case 0x11: sh_audio->sample_format=AF_FORMAT_IMA_ADPCM;break;
41 case 0x50: sh_audio->sample_format=AFMT_MPEG;break; 41 case 0x50: sh_audio->sample_format=AF_FORMAT_MPEG2;break;
42 /* case 0x2000: sh_audio->sample_format=AFMT_AC3; */ 42 /* case 0x2000: sh_audio->sample_format=AFMT_AC3; */
43 case 0x20776172: // 'raw ' 43 case 0x20776172: // 'raw '
44 sh_audio->sample_format=AFMT_S16_BE; 44 sh_audio->sample_format=AF_FORMAT_S16_BE;
45 if(sh_audio->samplesize==1) sh_audio->sample_format=AFMT_U8; 45 if(sh_audio->samplesize==1) sh_audio->sample_format=AF_FORMAT_U8;
46 break; 46 break;
47 case 0x736F7774: // 'twos' 47 case 0x736F7774: // 'twos'
48 sh_audio->sample_format=AFMT_S16_BE; 48 sh_audio->sample_format=AF_FORMAT_S16_BE;
49 // intended fall-through 49 // intended fall-through
50 case 0x74776F73: // 'swot' 50 case 0x74776F73: // 'swot'
51 if(sh_audio->samplesize==1) sh_audio->sample_format=AFMT_S8; 51 if(sh_audio->samplesize==1) sh_audio->sample_format=AF_FORMAT_S8;
52 // Uncomment this if twos audio is broken for you 52 // Uncomment this if twos audio is broken for you
53 // (typically with movies made on sgi machines) 53 // (typically with movies made on sgi machines)
54 // This is just a workaround, the real bug is elsewhere 54 // This is just a workaround, the real bug is elsewhere
55 #if 0 55 #if 0
56 sh_audio->ds->ss_div= sh_audio->samplesize; 56 sh_audio->ds->ss_div= sh_audio->samplesize;
57 sh_audio->ds->ss_mul= sh_audio->samplesize * sh_audio->channels; 57 sh_audio->ds->ss_mul= sh_audio->samplesize * sh_audio->channels;
58 #endif 58 #endif
59 break; 59 break;
60 case 0x32336c66: // 'fl32', bigendian float32 60 case 0x32336c66: // 'fl32', bigendian float32
61 sh_audio->sample_format=AFMT_AF_FLAGS | AF_FORMAT_BE | AF_FORMAT_F; 61 sh_audio->sample_format=AF_FORMAT_FLOAT_BE;
62 sh_audio->samplesize=4; 62 sh_audio->samplesize=4;
63 break; 63 break;
64 default: if(sh_audio->samplesize!=2) sh_audio->sample_format=AFMT_U8; 64 default: if(sh_audio->samplesize!=2) sh_audio->sample_format=AF_FORMAT_U8;
65 } 65 }
66 return 1; 66 return 1;
67 } 67 }
68 68
69 static int preinit(sh_audio_t *sh) 69 static int preinit(sh_audio_t *sh)