mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-01 22:58:47 -04:00
add new endianess macros for FLOAT32
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2079 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
ca0c5af323
commit
7a4242522e
1 changed files with 14 additions and 0 deletions
|
|
@ -47,12 +47,20 @@
|
|||
#define PA_UINT32_SWAP(x) ( (uint32_t) ( ((uint32_t) x >> 24) | ((uint32_t) x << 24) | (((uint32_t) x & 0xFF00) << 8) | ((((uint32_t) x) >> 8) & 0xFF00) ) )
|
||||
#endif
|
||||
|
||||
static inline float PA_FLOAT32_SWAP(float x) {
|
||||
uint32_t i = *(uint32_t*) &x;
|
||||
i = PA_UINT32_SWAP(i);
|
||||
return *(float*) &i;
|
||||
}
|
||||
|
||||
#define PA_MAYBE_INT16_SWAP(c,x) ((c) ? PA_INT32_SWAP(x) : x)
|
||||
#define PA_MAYBE_UINT16_SWAP(c,x) ((c) ? PA_UINT32_SWAP(x) : x)
|
||||
|
||||
#define PA_MAYBE_INT32_SWAP(c,x) ((c) ? PA_INT32_SWAP(x) : x)
|
||||
#define PA_MAYBE_UINT32_SWAP(c,x) ((c) ? PA_UINT32_SWAP(x) : x)
|
||||
|
||||
#define PA_MAYBE_FLOAT32_SWAP(c,x) ((c) ? PA_FLOAT32_SWAP(x) : x)
|
||||
|
||||
#ifdef WORDS_BIGENDIAN
|
||||
#define PA_INT16_FROM_LE(x) PA_INT16_SWAP(x)
|
||||
#define PA_INT16_FROM_BE(x) ((int16_t)(x))
|
||||
|
|
@ -77,6 +85,9 @@
|
|||
|
||||
#define PA_UINT32_TO_LE(x) PA_UINT32_SWAP(x)
|
||||
#define PA_UINT32_TO_BE(x) ((uint32_t)(x))
|
||||
|
||||
#define PA_FLOAT32_TO_LE(x) PA_FLOAT32_SWAP(x)
|
||||
#define PA_FLOAT32_TO_BE(x) ((float) (x))
|
||||
#else
|
||||
#define PA_INT16_FROM_LE(x) ((int16_t)(x))
|
||||
#define PA_INT16_FROM_BE(x) PA_INT16_SWAP(x)
|
||||
|
|
@ -101,6 +112,9 @@
|
|||
|
||||
#define PA_UINT32_TO_LE(x) ((uint32_t)(x))
|
||||
#define PA_UINT32_TO_BE(x) PA_UINT32_SWAP(x)
|
||||
|
||||
#define PA_FLOAT32_TO_LE(x) ((float) (x))
|
||||
#define PA_FLOAT32_TO_BE(x) PA_FLOAT32_SWAP(x)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue