Commit fc159995 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

never amplify any channel with any conversion

parent 2da1bb0c
Loading
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -75,6 +75,7 @@ static const float N3D_SN3D[AMBI_MAX_CHANNELS] = { 1.0f,
                                                   INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_ };

static const float N3D_SN3D_SCALING_FACTOR = 1.0f;
static const float SN3D_N3D_SCALING_FACTOR = INV_SQRT_7_;


static const float SN3D_MAXN[AMBI_MAX_CHANNELS] = { 1.0f,
@@ -88,6 +89,8 @@ static const float MAXN_SN3D[AMBI_MAX_CHANNELS] = { 1.0f,
                                                    INV_SQRT_8_OVER_5_, INV_THREE_OVER_SQRT_5_, INV_SQRT_45_OVER_32_, 1.0f, INV_SQRT_45_OVER_32_, INV_THREE_OVER_SQRT_5_, INV_SQRT_8_OVER_5_ };

static const float MAXN_SN3D_SCALING_FACTOR = 1.0f;
static const float SN3D_MAXN_SCALING_FACTOR = INV_THREE_OVER_SQRT_5_;



static const float SN3D_FM[AMBI_MAX_CHANNELS] = { INV_SQRT_2,
@@ -101,6 +104,7 @@ static const float FM_SN3D[AMBI_MAX_CHANNELS] = { SQRT_2_,
                                                  INV_SQRT_8_OVER_5_, INV_THREE_OVER_SQRT_5_, INV_SQRT_45_OVER_32_, 1.0f, INV_SQRT_45_OVER_32_, INV_THREE_OVER_SQRT_5_, INV_SQRT_8_OVER_5_ };

static const float FM_SN3D_SCALING_FACTOR = INV_SQRT_2;
static const float SN3D_FM_SCALING_FACTOR = INV_THREE_OVER_SQRT_5_;


/* ----------------------------
@@ -234,17 +238,17 @@ int16_t renormalize_channels( float *in[], float *out[], int16_t order, AMBI_CHA
        if ( out_format == AMBI_NORM_N3D )
        {
            conversion_table = SN3D_N3D;
            sf = 1.f / N3D_SN3D_SCALING_FACTOR;
            sf = SN3D_N3D_SCALING_FACTOR;
        }
        else if ( out_format == AMBI_NORM_MAXN )
        {
            conversion_table = SN3D_MAXN;
            sf = 1.f / MAXN_SN3D_SCALING_FACTOR;
            sf = SN3D_MAXN_SCALING_FACTOR;
        }
        else if ( out_format == AMBI_NORM_FM )
        {
            conversion_table = SN3D_FM;
            sf = 1.f / FM_SN3D_SCALING_FACTOR;
            sf = SN3D_FM_SCALING_FACTOR;
        }
        else
        {