Prev: Hook success in injected dll but proc never called
Next: Converting files encoded with Philips CELP to PCM
From: Francois PIETTE [ICS-MidWare] on 31 Oct 2009 03:58 Hello, I have the need to convert files from Philips dictation system (Philips CELP codec) to PCM wave files. I know how to use the ACM API (acmStreamOpen, acmStreamConvert and the likes) to convert from one format to another, for example from MP3 to PCM. I'm almost sure I can use the exact same programming to use Philips CELP codec instead of MP3 codec. Of course Philips CELP codec is installed on my system. Below is an extract from a MP3 to PCM converter : // define MP3 input format LPMPEGLAYER3WAVEFORMAT mp3format = (LPMPEGLAYER3WAVEFORMAT) LocalAlloc(LPTR, maxFormatSize); mp3format->wfx.cbSize = MPEGLAYER3_WFX_EXTRA_BYTES; mp3format->wfx.wFormatTag = WAVE_FORMAT_MPEGLAYER3; mp3format->wfx.nChannels = 2; mp3format->wfx.nAvgBytesPerSec = 128 * (1024 / 8); // not really used but must be one of 64, 96, 112, 128, 160kbps mp3format->wfx.wBitsPerSample = 0; // MUST BE ZERO mp3format->wfx.nBlockAlign = 1; // MUST BE ONE mp3format->wfx.nSamplesPerSec = 44100; // 44.1kHz mp3format->fdwFlags = MPEGLAYER3_FLAG_PADDING_OFF; mp3format->nBlockSize = MP3_BLOCK_SIZE; // voodoo value #1 mp3format->nFramesPerBlock = 1; // MUST BE ONE mp3format->nCodecDelay = 1393; // voodoo value #2 mp3format->wID = MPEGLAYER3_ID_MPEG; I have no idea where to find MPEGLAYER3WAVEFORMAT adapted for Philips codec. MMReg.h contains a lot of structures for many kind of codec, I can't find one for Philips codec. The question is: Where can I find the information ? Thanks in advance, -- francois.piette(a)overbyte.be The author of the freeware multi-tier middleware MidWare The author of the freeware Internet Component Suite (ICS) http://www.overbyte.be |