[FFmpeg-devel] Matroska and PCM variants, error in encoding?

Peter B. pb at das-werkstatt.com
Tue Aug 4 09:45:59 CEST 2015

On 08/03/2015 01:50 PM, Ronald S. Bultje wrote:
> Just different offsets and ranges. Unsigned, n bits (e.g. u8) is in the
> range [0,2^^n> (e.g. for u8, the range is [0,255] or [0,256>), where
> silence is 2^^n-1, e.g. 0x80 (128) for u8. Signed is in the range
> [-2^^n-1,2^^n-1> (e.g. s16, the most typical variant, is [-32768,32767].
> Float is in the range [-1.0, 1.0]. In both cases, 0, is silence.
> We have various formats so we can represent exactly what's in a file or
> output by any one particular decoder without having to convert the internal
> representation into some intermediate format.

Thanks for that detailed explanation.

I've never used DPCM with FFmpeg, but after Andreas' question I looked
it up, and found some documentation, and wanted to clear things up.

Am I correct with the following conclusion:

- acodec "pcm_*" is always linear PCM [1]
- DPCM would be prefixed with "adpcm_*" (and some exceptions, like
"interplay_dpcm", etc [2])

Thanks in advance,

== References:
[1] https://trac.ffmpeg.org/wiki/audio%20types
[2] http://ffmpeg.org/doxygen/trunk/dpcm_8c.html

More information about the ffmpeg-devel mailing list