An enum over all sample types possibly known to mpg123. The values are designed as bit flags to allow bitmasking for encoding families.
Note that (your build of) libmpg123 does not necessarily support all these. Usually, you can expect the 8bit encodings and signed 16 bit. Also 32bit float will be usual beginning with mpg123-1.7.0 . What you should bear in mind is that (SSE, etc) optimized routines are just for signed 16bit (and 8bit derived from that). Other formats use plain C code.
All formats are in native byte order. On a little endian machine this should mean that you can just feed the MPG123_ENC_SIGNED_32 data to common 24bit hardware that ignores the lowest byte (or you could choose to do rounding with these lower bits).
- Enumerator:
| MPG123_ENC_8 |
0000 0000 1111 Some 8 bit integer encoding.
|
| MPG123_ENC_16 |
0000 0100 0000 Some 16 bit integer encoding.
|
| MPG123_ENC_32 |
0001 0000 0000 Some 32 bit integer encoding.
|
| MPG123_ENC_SIGNED |
0000 1000 0000 Some signed integer encoding.
|
| MPG123_ENC_FLOAT |
1110 0000 0000 Some float encoding.
|
| MPG123_ENC_SIGNED_16 |
1101 0000 signed 16 bit
|
| MPG123_ENC_UNSIGNED_16 |
0110 0000 unsigned 16 bit
|
| MPG123_ENC_UNSIGNED_8 |
0000 0001 unsigned 8 bit
|
| MPG123_ENC_SIGNED_8 |
1000 0010 signed 8 bit
|
| MPG123_ENC_ULAW_8 |
0000 0100 ulaw 8 bit
|
| MPG123_ENC_ALAW_8 |
0000 1000 alaw 8 bit
|
| MPG123_ENC_SIGNED_32 |
0001 0001 1000 0000 signed 32 bit
|
| MPG123_ENC_UNSIGNED_32 |
0010 0001 0000 0000 unsigned 32 bit
|
| MPG123_ENC_FLOAT_32 |
0010 0000 0000 32bit float
|
| MPG123_ENC_FLOAT_64 |
0100 0000 0000 64bit float
|
| MPG123_ENC_ANY |
any encoding
|
Definition at line 345 of file mpg123.h.
{
MPG123_ENC_8 = 0x00f
,MPG123_ENC_16 = 0x040
,MPG123_ENC_32 = 0x100
,MPG123_ENC_SIGNED = 0x080
,MPG123_ENC_FLOAT = 0xe00
,MPG123_ENC_SIGNED_16 = (MPG123_ENC_16|MPG123_ENC_SIGNED|0x10)
,MPG123_ENC_UNSIGNED_16 = (MPG123_ENC_16|0x20)
,MPG123_ENC_UNSIGNED_8 = 0x01
,MPG123_ENC_SIGNED_8 = (MPG123_ENC_SIGNED|0x02)
,MPG123_ENC_ULAW_8 = 0x04
,MPG123_ENC_ALAW_8 = 0x08
,MPG123_ENC_SIGNED_32 = MPG123_ENC_32|MPG123_ENC_SIGNED|0x1000
,MPG123_ENC_UNSIGNED_32 = MPG123_ENC_32|0x2000
,MPG123_ENC_FLOAT_32 = 0x200
,MPG123_ENC_FLOAT_64 = 0x400
,MPG123_ENC_ANY = ( MPG123_ENC_SIGNED_16 | MPG123_ENC_UNSIGNED_16 | MPG123_ENC_UNSIGNED_8
| MPG123_ENC_SIGNED_8 | MPG123_ENC_ULAW_8 | MPG123_ENC_ALAW_8
| MPG123_ENC_SIGNED_32 | MPG123_ENC_UNSIGNED_32
| MPG123_ENC_FLOAT_32 | MPG123_ENC_FLOAT_64 )
};