From: Francois PIETTE [ICS-MidWare] on
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