mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-25 04:43:33 +00:00
- Fix a sound distortion issue for the OSS backend
PR: ports/178343 Submitted by: Yamagi Burmeister <yamagi@yamagi.org>
This commit is contained in:
parent
2b5b2e526b
commit
04e72495da
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=318843
@ -2,6 +2,7 @@
|
||||
|
||||
PORTNAME= openal-soft
|
||||
PORTVERSION= 1.15.1
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= audio
|
||||
MASTER_SITES= http://kcat.strangesoft.net/openal-releases/
|
||||
|
||||
|
37
audio/openal-soft/files/patch-Alc-ALu.c
Normal file
37
audio/openal-soft/files/patch-Alc-ALu.c
Normal file
@ -0,0 +1,37 @@
|
||||
--- Alc/ALu.c.orig 2013-05-23 08:00:01.000000000 +0200
|
||||
+++ Alc/ALu.c 2013-05-23 08:01:20.000000000 +0200
|
||||
@@ -912,24 +912,27 @@
|
||||
}
|
||||
|
||||
|
||||
-static __inline ALfloat aluF2F(ALfloat val)
|
||||
-{ return val; }
|
||||
-static __inline ALint aluF2I(ALfloat val)
|
||||
+static __inline ALint aluF2I25(ALfloat val)
|
||||
{
|
||||
/* Clamp the value between -1 and +1. This handles that without branching. */
|
||||
val = val+1.0f - fabsf(val-1.0f);
|
||||
val = (val-2.0f + fabsf(val+2.0f)) * 0.25f;
|
||||
- /* Convert to a signed integer, between -2147483647 and +2147483647. */
|
||||
- return fastf2i((ALfloat)(val*2147483647.0));
|
||||
+ /* Convert to a signed integer, between -16777215 and +16777215. */
|
||||
+ return fastf2i(val*16777215.0f);
|
||||
}
|
||||
+
|
||||
+static __inline ALfloat aluF2F(ALfloat val)
|
||||
+{ return val; }
|
||||
+static __inline ALint aluF2I(ALfloat val)
|
||||
+{ return aluF2I25(val)<<7; }
|
||||
static __inline ALuint aluF2UI(ALfloat val)
|
||||
{ return aluF2I(val)+2147483648u; }
|
||||
static __inline ALshort aluF2S(ALfloat val)
|
||||
-{ return aluF2I(val)>>16; }
|
||||
+{ return aluF2I(val)>>9; }
|
||||
static __inline ALushort aluF2US(ALfloat val)
|
||||
{ return aluF2S(val)+32768; }
|
||||
static __inline ALbyte aluF2B(ALfloat val)
|
||||
-{ return aluF2I(val)>>24; }
|
||||
+{ return aluF2I(val)>>17; }
|
||||
static __inline ALubyte aluF2UB(ALfloat val)
|
||||
{ return aluF2B(val)+128; }
|
||||
|
Loading…
Reference in New Issue
Block a user