[opus] Issue with decoding 8-bit PCM data
Amit Ashara
ashara.amit at gmail.com
Sat Jan 9 12:39:28 PST 2016
Hello Mark,
Thanks. Let me try the proposed configuration first to make sure that
linear 8-bit PCM is retrieved.
Regards
Amit
On Sat, Jan 9, 2016 at 12:28 PM, Mark Harris <mark.hsj at gmail.com> wrote:
> opus_decode() produces 16-bit signed linear PCM, and
> opus_decode_float() produces 32-bit floating point PCM that is useful
> when you want a higher bit depth.
>
> If you need 8-bit linear PCM then a simple solution would be to use
> only the top 8 bits of each 16-bit sample from opus_decode(). Note
> that the WAV format uses unsigned rather than signed integers for
> 8-bit linear PCM. (It uses signed for larger sample sizes and AIFF
> uses signed for all sizes.) So if you are writing 8-bit linear PCM to
> WAV then you would need something like (((unsigned short)sample ^
> 0x8000) >> 8) to convert from signed to unsigned and get the top 8
> bits of each sample.
>
> You will achieve better quality, however, if you apply dither.
> opusdec applies dither by default if the output is not floating point,
> although it does not support 8-bit output.
>
> - Mark
> _______________________________________________
> opus mailing list
> opus at xiph.org
> http://lists.xiph.org/mailman/listinfo/opus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/opus/attachments/20160109/e26cd913/attachment.htm
More information about the opus
mailing list