[CELT-dev] Mixing of compressed streams

Benjamin M. Schwartz bmschwar at fas.harvard.edu
Tue Nov 29 06:10:44 PST 2011


On 11/29/2011 06:44 AM, Mike Hooper wrote:
> Since there are significantly fewer bytes of
> compressed data than there are unencoded 2-byte samples per frame, I assumed
> that mixing the compressed bytes would result in a more efficient mixing
> method. Perhaps this is not the case.

It's not.  As a matter of mathematics, the number of operations to mix two
streams is basically an unchangeable constant.  The CPU savings in
transform-domain mixing is from spending less time on encode+decode; the
mixing operation itself is not faster.

> I would love to see some additional optimization
> done at some point in the future.

The kinds of optimizations I'm thinking of are mostly CPU-specific; an ARM
Cortex A8, ARM Cortex M3, and Marvell ARM Armada all require different,
unrelated optimizations.  Whatever embedded CPU you're using, CELT/Opus
can probably be made to run significantly faster on it ... but upstream
can't optimize for every CPU on the planet, so it's unlikely to happen for
your CPU unless you make it happen.

(If you send the CPU-specific code to us once it's written, we can
definitely maintain+manage it for future libopus releases.)

--Ben

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/opus/attachments/20111129/bec3c625/attachment-0002.pgp 


More information about the celt-dev mailing list