mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-10-29 05:40:27 -04:00 
			
		
		
		
	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:
		
							parent
							
								
									c8850f8766
								
							
						
					
					
						commit
						3e6f62875d
					
				
					 1 changed files with 16 additions and 8 deletions
				
			
		|  | @ -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)) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Wim Taymans
						Wim Taymans