aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Alc/bformatdec.c24
-rw-r--r--Alc/bformatdec.h16
-rw-r--r--Alc/panning.c24
3 files changed, 32 insertions, 32 deletions
diff --git a/Alc/bformatdec.c b/Alc/bformatdec.c
index 0e79fd3f..9673b422 100644
--- a/Alc/bformatdec.c
+++ b/Alc/bformatdec.c
@@ -269,13 +269,13 @@ void bformatdec_reset(BFormatDec *dec, const AmbDecConf *conf, ALsizei chancount
{
periphonic = true;
- dec->UpSampler[0].Gains[FB_HighFreq] = (dec->NumChannels > 9) ? W_SCALE3D_THIRD :
- (dec->NumChannels > 4) ? W_SCALE3D_SECOND : 1.0f;
+ dec->UpSampler[0].Gains[FB_HighFreq] = (conf->ChanMask > 0x1ff) ? W_SCALE_3H3P :
+ (conf->ChanMask > 0xf) ? W_SCALE_2H2P : 1.0f;
dec->UpSampler[0].Gains[FB_LowFreq] = 1.0f;
for(i = 1;i < 4;i++)
{
- dec->UpSampler[i].Gains[FB_HighFreq] = (dec->NumChannels > 9) ? XYZ_SCALE3D_THIRD :
- (dec->NumChannels > 4) ? XYZ_SCALE3D_SECOND : 1.0f;
+ dec->UpSampler[i].Gains[FB_HighFreq] = (conf->ChanMask > 0x1ff) ? XYZ_SCALE_3H3P :
+ (conf->ChanMask > 0xf) ? XYZ_SCALE_2H2P : 1.0f;
dec->UpSampler[i].Gains[FB_LowFreq] = 1.0f;
}
}
@@ -283,13 +283,13 @@ void bformatdec_reset(BFormatDec *dec, const AmbDecConf *conf, ALsizei chancount
{
periphonic = false;
- dec->UpSampler[0].Gains[FB_HighFreq] = (dec->NumChannels > 5) ? W_SCALE2D_THIRD :
- (dec->NumChannels > 3) ? W_SCALE2D_SECOND : 1.0f;
+ dec->UpSampler[0].Gains[FB_HighFreq] = (conf->ChanMask > 0x1ff) ? W_SCALE_3H0P :
+ (conf->ChanMask > 0xf) ? W_SCALE_2H0P : 1.0f;
dec->UpSampler[0].Gains[FB_LowFreq] = 1.0f;
for(i = 1;i < 3;i++)
{
- dec->UpSampler[i].Gains[FB_HighFreq] = (dec->NumChannels > 5) ? XYZ_SCALE2D_THIRD :
- (dec->NumChannels > 3) ? XYZ_SCALE2D_SECOND : 1.0f;
+ dec->UpSampler[i].Gains[FB_HighFreq] = (conf->ChanMask > 0x1ff) ? XYZ_SCALE_3H0P :
+ (conf->ChanMask > 0xf) ? XYZ_SCALE_2H0P : 1.0f;
dec->UpSampler[i].Gains[FB_LowFreq] = 1.0f;
}
dec->UpSampler[3].Gains[FB_HighFreq] = 0.0f;
@@ -559,10 +559,10 @@ void ambiup_reset(struct AmbiUpsampler *ambiup, const ALCdevice *device)
else
{
/* Assumes full 3D/periphonic on the input and output mixes! */
- ALfloat w_scale = (device->Dry.NumChannels > 9) ? W_SCALE3D_THIRD :
- (device->Dry.NumChannels > 4) ? W_SCALE3D_SECOND : 1.0f;
- ALfloat xyz_scale = (device->Dry.NumChannels > 9) ? XYZ_SCALE3D_THIRD :
- (device->Dry.NumChannels > 4) ? XYZ_SCALE3D_SECOND : 1.0f;
+ ALfloat w_scale = (device->Dry.NumChannels > 9) ? W_SCALE_3H3P :
+ (device->Dry.NumChannels > 4) ? W_SCALE_2H2P : 1.0f;
+ ALfloat xyz_scale = (device->Dry.NumChannels > 9) ? XYZ_SCALE_3H3P :
+ (device->Dry.NumChannels > 4) ? XYZ_SCALE_2H2P : 1.0f;
for(i = 0;i < 4;i++)
{
ALsizei index = GetChannelForACN(device->Dry, i);
diff --git a/Alc/bformatdec.h b/Alc/bformatdec.h
index b017cfd3..c897ac3a 100644
--- a/Alc/bformatdec.h
+++ b/Alc/bformatdec.h
@@ -7,18 +7,18 @@
/* These are the necessary scales for first-order HF responses to play over
* higher-order 2D (non-periphonic) decoders.
*/
-#define W_SCALE2D_SECOND 1.224744871f /* sqrt(1.5) */
-#define XYZ_SCALE2D_SECOND 1.0f
-#define W_SCALE2D_THIRD 1.414213562f /* sqrt(2) */
-#define XYZ_SCALE2D_THIRD 1.082392196f
+#define W_SCALE_2H0P 1.224744871f /* sqrt(1.5) */
+#define XYZ_SCALE_2H0P 1.0f
+#define W_SCALE_3H0P 1.414213562f /* sqrt(2) */
+#define XYZ_SCALE_3H0P 1.082392196f
/* These are the necessary scales for first-order HF responses to play over
* higher-order 3D (periphonic) decoders.
*/
-#define W_SCALE3D_SECOND 1.341640787f /* sqrt(1.8) */
-#define XYZ_SCALE3D_SECOND 1.0f
-#define W_SCALE3D_THIRD 1.695486018f
-#define XYZ_SCALE3D_THIRD 1.136697713f
+#define W_SCALE_2H2P 1.341640787f /* sqrt(1.8) */
+#define XYZ_SCALE_2H2P 1.0f
+#define W_SCALE_3H3P 1.695486018f
+#define XYZ_SCALE_3H3P 1.136697713f
struct AmbDecConf;
diff --git a/Alc/panning.c b/Alc/panning.c
index 1691aacd..eaeb2646 100644
--- a/Alc/panning.c
+++ b/Alc/panning.c
@@ -679,10 +679,10 @@ static void InitPanning(ALCdevice *device)
chanmap, count, &device->Dry.NumChannels);
device->Dry.CoeffCount = coeffcount;
- w_scale = (device->Dry.CoeffCount > 9) ? W_SCALE2D_THIRD :
- (device->Dry.CoeffCount > 4) ? W_SCALE2D_SECOND : 1.0f;
- xyz_scale = (device->Dry.CoeffCount > 9) ? XYZ_SCALE2D_THIRD :
- (device->Dry.CoeffCount > 4) ? XYZ_SCALE2D_SECOND : 1.0f;
+ w_scale = (device->Dry.CoeffCount > 9) ? W_SCALE_3H0P :
+ (device->Dry.CoeffCount > 4) ? W_SCALE_2H0P : 1.0f;
+ xyz_scale = (device->Dry.CoeffCount > 9) ? XYZ_SCALE_3H0P :
+ (device->Dry.CoeffCount > 4) ? XYZ_SCALE_2H0P : 1.0f;
memset(&device->FOAOut.Ambi, 0, sizeof(device->FOAOut.Ambi));
for(i = 0;i < device->Dry.NumChannels;i++)
@@ -713,26 +713,26 @@ static void InitCustomPanning(ALCdevice *device, const AmbDecConf *conf, const A
{
if(conf->ChanMask > 0x1ff)
{
- w_scale = W_SCALE3D_THIRD;
- xyz_scale = XYZ_SCALE3D_THIRD;
+ w_scale = W_SCALE_3H3P;
+ xyz_scale = XYZ_SCALE_3H3P;
}
else if(conf->ChanMask > 0xf)
{
- w_scale = W_SCALE3D_SECOND;
- xyz_scale = XYZ_SCALE3D_SECOND;
+ w_scale = W_SCALE_2H2P;
+ xyz_scale = XYZ_SCALE_2H2P;
}
}
else
{
if(conf->ChanMask > 0x1ff)
{
- w_scale = W_SCALE2D_THIRD;
- xyz_scale = XYZ_SCALE2D_THIRD;
+ w_scale = W_SCALE_3H0P;
+ xyz_scale = XYZ_SCALE_3H0P;
}
else if(conf->ChanMask > 0xf)
{
- w_scale = W_SCALE2D_SECOND;
- xyz_scale = XYZ_SCALE2D_SECOND;
+ w_scale = W_SCALE_2H0P;
+ xyz_scale = XYZ_SCALE_2H0P;
}
}