[Ffmpeg-devel] [RFC] IMC decoder

Diego Biurrun diego
Mon Oct 30 12:29:56 CET 2006


On Mon, Oct 30, 2006 at 10:13:05AM +0200, Kostya wrote:
> On Mon, Oct 30, 2006 at 01:26:51AM +0100, Michael Niedermayer wrote:
> > 
> > On Sun, Oct 29, 2006 at 08:35:11AM +0200, Kostya wrote:
> > > Here is Intel Music Codec decoder RE'd by Maxim Poliakovski, FFmpeg'ized
> > > by Benjamin Larsson, cleaned and fixed by me.
> > > 
> > > I haven't tested it on x86 but it works fine on PPC with samples from MPHQ.
> > > 
> > > +    /* swap the bitstream so we can use the internal bitreader */
> > > +    for(i = 0; i < buf_size / 2; i++)
> > > +        buf16[i] = bswap_16(buf16[i]);  //might be wrong on big endian
> > 
> > and hope that modifying the buffer is ok ...
> > this should at least get a FIXME note explaining that this is risky
> 
> Added, and now it also swaps used part of buffer (this also fixes
> Diego's case with imc-*.wav). I used FFMIN because our working buffer should
> not be more than avctx->block_align but it also should not run over
> the buffer if it is smaller.

Umm, not quite..

http://samples.mplayerhq.hu/A-codecs/IMC/imc-8000-2bit-mono.wav

works, but

http://samples.mplayerhq.hu/A-codecs/IMC/imc-48000-2bit-mono.wav

is still distorted, though not as badly broken as before.  It sounds
quite metallic on PPC, but not on x86, where it seems to be quite close
to the binary decoder.

Diego




More information about the ffmpeg-devel mailing list