Commit 30ed7f00 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

add missing conversions

parent 2aee653e
Loading
Loading
Loading
Loading
+21 −10
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ static const float SN3D_N3D[AMBI_MAX_CHANNELS] = { 1.0f,
                                                   INV_SQRT_5_, INV_SQRT_5_, INV_SQRT_5_, INV_SQRT_5_, INV_SQRT_5_,
                                                   INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_, INV_SQRT_7_ };



static const float MAXN_SN3D[AMBI_MAX_CHANNELS] = { 1.0f,
                                                    1.0f, 1.0f, 1.0f,
                                                    TWO_OVER_SQRT_3_, TWO_OVER_SQRT_3_, 1, TWO_OVER_SQRT_3_, TWO_OVER_SQRT_3_,
@@ -81,12 +83,13 @@ static const float SN3D_MAXN[AMBI_MAX_CHANNELS] = { 1.0f,
                                                    INV_TWO_OVER_SQRT_3_, INV_TWO_OVER_SQRT_3_, 1.0f, INV_TWO_OVER_SQRT_3_, INV_TWO_OVER_SQRT_3_,
                                                    INV_SQRT_8_OVER_5_, INV_SQRT_3_OVER_5_, INV_SQRT_45_OVER_32_, 1.0f, INV_SQRT_45_OVER_32_, INV_SQRT_3_OVER_5_, INV_SQRT_8_OVER_5_ };

static const float FM_SN3D[AMBI_MAX_CHANNELS] = { SQRT_2_,

static const float SN3D_FM[AMBI_MAX_CHANNELS] =   { SQRT_2_,
                                                    1.0f, 1.0f, 1.0f,
                                                    TWO_OVER_SQRT_3_, TWO_OVER_SQRT_3_, 1, TWO_OVER_SQRT_3_, TWO_OVER_SQRT_3_,
                                                    SQRT_8_OVER_5_, SQRT_3_OVER_5_, SQRT_45_OVER_32_, 1, SQRT_45_OVER_32_, SQRT_3_OVER_5_, SQRT_8_OVER_5_ };

static const float FM_MAXN[AMBI_MAX_CHANNELS] = { INV_SQRT_2,
static const float FM_SN3D[AMBI_MAX_CHANNELS] =   { INV_SQRT_2,
                                                    1.0f, 1.0f, 1.0f,
                                                    INV_TWO_OVER_SQRT_3_, INV_TWO_OVER_SQRT_3_, 1.0f, INV_TWO_OVER_SQRT_3_, INV_TWO_OVER_SQRT_3_,
                                                    INV_SQRT_8_OVER_5_, INV_SQRT_3_OVER_5_, INV_SQRT_45_OVER_32_, 1.0f, INV_SQRT_45_OVER_32_, INV_SQRT_3_OVER_5_, INV_SQRT_8_OVER_5_ };
@@ -199,6 +202,10 @@ int16_t renormalize_channels( float *in[], float *out[], int16_t order, AMBI_CHA
        {
            conversion_table = SN3D_MAXN;
        }
		else if ( out_format == AMBI_NORM_FM )
		{
            conversion_table = SN3D_FM;
		}
        else
        {
            assert( 0 && "Unsupported conversion" );
@@ -214,6 +221,10 @@ int16_t renormalize_channels( float *in[], float *out[], int16_t order, AMBI_CHA
        {
            conversion_table = MAXN_SN3D;
        }
        else if ( in_format == AMBI_NORM_FM )
        {
            conversion_table = FM_SN3D;
        }
        else
        {
            assert( 0 && "Unsupported conversion" );
@@ -262,11 +273,11 @@ int16_t reorder_channels( float *in[], float *out[], int16_t order, AMBI_CHANNEL
    {
        if ( in_format == AMBI_CHANNEL_ORDER_FM )
        {
            idx_table = REORDER_ACN_FM;
            idx_table = REORDER_FM_ACN;
        }
        if ( in_format == AMBI_CHANNEL_ORDER_SID )
        {
            idx_table = REORDER_ACN_SID;
            idx_table = REORDER_SID_ACN;
        }
        else
        {