audioconvert: make sure shifts are defined

Don't to signed left shifts, make macros to do the shifting on unsigned
ints when needed.

See !1505
This commit is contained in:
Wim Taymans 2023-01-24 21:29:18 +01:00
parent c8850f8766
commit 3e6f62875d
1 changed files with 16 additions and 8 deletions

View File

@ -97,34 +97,42 @@
#define F32_TO_S24(v) F32_TO_S24_D(v, 0.0f)
#define F32_TO_S24S(v) bswap_s24(F32_TO_S24(v))
#define U24_32_TO_F32(v) U32_TO_F32((v)<<8)
#define U24_32_TO_U32(v) (((uint32_t)(v)) << 8)
#define U24_32_TO_F32(v) U32_TO_F32(U24_32_TO_U32(v))
#define U24_32S_TO_F32(v) U24_32_TO_F32(bswap_32(v))
#define F32_TO_U24_32_D(v,d) FTOI(uint32_t, v, U24_SCALE, U24_OFFS, d, U24_MIN, U24_MAX)
#define F32_TO_U24_32(v) F32_TO_U24_32_D(v, 0.0f)
#define F32_TO_U24_32S(v) bswap_32(F32_TO_U24_32(v))
#define F32_TO_U24_32S_D(v,d) bswap_32(F32_TO_U24_32_D(v,d))
#define U32_TO_U24_32(v) (((uint32_t)(v)) >> 8)
#define U32_MIN 0u
#define U32_MAX 4294967295u
#define U32_SCALE 2147483648.f
#define U32_OFFS 2147483648.f
#define U32_TO_F32(v) ITOF(uint32_t, (v) >> 8, U24_SCALE, 1.0f)
#define F32_TO_U32(v) (F32_TO_U24_32(v) << 8)
#define F32_TO_U32_D(v,d) (F32_TO_U24_32_D(v,d) << 8)
#define U32_TO_F32(v) ITOF(uint32_t, U32_TO_U24_32(v), U24_SCALE, 1.0f)
#define F32_TO_U32(v) U24_32_TO_U32(F32_TO_U24_32(v))
#define F32_TO_U32_D(v,d) U24_32_TO_U32(F32_TO_U24_32_D(v,d))
#define S24_32_TO_F32(v) S32_TO_F32((v)<<8)
#define S24_32_TO_S32(v) ((int32_t)(((uint32_t)(v)) << 8))
#define S24_32_TO_F32(v) S32_TO_F32(S24_32_TO_S32(v))
#define S24_32S_TO_F32(v) S24_32_TO_F32(bswap_32(v))
#define F32_TO_S24_32_D(v,d) FTOI(int32_t, v, S24_SCALE, 0.0f, d, S24_MIN, S24_MAX)
#define F32_TO_S24_32(v) F32_TO_S24_32_D(v, 0.0f)
#define F32_TO_S24_32S(v) bswap_32(F32_TO_S24_32(v))
#define F32_TO_S24_32S_D(v,d) bswap_32(F32_TO_S24_32_D(v,d))
#define S32_TO_S24_32(v) (((int32_t)(v)) >> 8)
#define S32_MIN (S24_MIN * 256)
#define S32_MAX (S24_MAX * 256)
#define S32_TO_F32(v) ITOF(int32_t, (v) >> 8, S24_SCALE, 0.0f)
#define S32_TO_F32(v) ITOF(int32_t, S32_TO_S24_32(v), S24_SCALE, 0.0f)
#define S32S_TO_F32(v) S32_TO_F32(bswap_32(v))
#define F32_TO_S32(v) (F32_TO_S24_32(v) << 8)
#define F32_TO_S32_D(v,d) (F32_TO_S24_32_D(v,d) << 8)
#define F32_TO_S32(v) S24_32_TO_S32(F32_TO_S24_32(v))
#define F32_TO_S32_D(v,d) S24_32_TO_S32(F32_TO_S24_32_D(v,d))
#define F32_TO_S32S(v) bswap_32(F32_TO_S32(v))
#define F32_TO_S32S_D(v,d) bswap_32(F32_TO_S32_D(v,d))