[Speex-dev] New function for manipulating SpeexBits
Miles, Stewart
smiles at z-axis.com
Mon Dec 11 09:22:18 PST 2006
speex_bits_init_buffer(), clears the buffer.
-----Original Message-----
From: Jean-Marc Valin [mailto:jean-marc.valin at usherbrooke.ca]
Sent: Saturday, December 09, 2006 11:20 AM
To: Miles, Stewart
Cc: speex-dev at xiph.org
Subject: Re: [Speex-dev] New function for manipulating SpeexBits
How's that different from the current speex_bits_init_buffer()?
Jean-Marc
Miles, Stewart a écrit :
> It would be nice to have the following function added to the speex
> bits...
>
> void speex_bits_read_from_buffer(
> SpeexBits * const bits,
> void * const buff,
> const int buf_size)
> {
> bits->bytes = (char*)buff;
> bits->buf_size = buf_size;
> bits->nbBits = buf_size << 3;
> bits->bytePtr = 0;
> bits->bitPtr = 0;
> bits->owner = 0;
> bits->overflow = 0;
> }
>
> ... so a bitstream can be assigned to a SpeexBits structure for
> processing by a decoder rather than unnecessarily copying the data.
>
>
> As an aside, I'm working on a certain high profile embedded game's
> console at the moment and one of the performance problems is due to
> all of the copying speex performs without calling memcpy. Although
> memcpy() is generally a pretty nasty function when copying very small
> blocks of data (< 128 bits) from a performance point of view it does
> have significant advantages when copying longer runs as some
> architectures are optimized for 128bit memory access others 64bit
> access etc, 8 bit stores can actually result in code that's up to 16
> times slower (in the case of the 128bit architecture).
>
> Thanks, keep up the good work
>
> Stewart Miles
> http://www.mobygames.com/developer/sheet/view/developerId,62864/
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev
>
>
>
More information about the Speex-dev
mailing list