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

remove trivial conversion AMBIX<->SN3D

parent 5859f1f4
Loading
Loading
Loading
Loading
Loading
+0 −33
Original line number Diff line number Diff line
@@ -96,23 +96,6 @@ static const float FM_SN3D[AMBI_MAX_CHANNELS] = { SQRT_2_,
                                                  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_ };

/*
   Curiously, not everyone seems to have the same understanding of what SN3D means. The Ambix paper
   (Nachbar et al. : AMBIX - A SUGGESTED AMBISONICS FORMAT) has an additional 1/sqrt(4*pi) in the
   normalization factor (see Eq. (3)) as compared to the tables in IVAS.
*/

static const float AMBIX_SN3D[AMBI_MAX_CHANNELS] = { INV_SQRT_FOUR_PI_,
                                                     INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_,
                                                     INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_,
                                                     INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_, INV_SQRT_FOUR_PI_ };

static const float SN3D_AMBIX[AMBI_MAX_CHANNELS] = { SQRT_FOUR_PI_,
                                                     SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_,
                                                     SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_,
                                                     SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_, SQRT_FOUR_PI_ };


/* ----------------------------
    channel re-ordering tables
   ---------------------------- */
@@ -156,10 +139,6 @@ int16_t convert_ambi_format( float *in[], float *out[], int16_t order, AMBI_FMT
            renormalize_channels( in, out, order, AMBI_NORM_SN3D, AMBI_NORM_MAXN );
            reorder_channels( in, out, order, AMBI_CHANNEL_ORDER_ACN, AMBI_CHANNEL_ORDER_FM );
        }
        else if ( out_format == AMBI_FMT_AMBIX )
        {
            renormalize_channels( in, out, order, AMBI_NORM_SN3D, AMBI_NORM_AMBIX );
        }
        else if ( out_format == AMBI_FMT_SID_SN3D )
        {
            reorder_channels( in, out, order, AMBI_CHANNEL_ORDER_ACN, AMBI_CHANNEL_ORDER_SID );
@@ -185,10 +164,6 @@ int16_t convert_ambi_format( float *in[], float *out[], int16_t order, AMBI_FMT
            reorder_channels( in, out, order, AMBI_CHANNEL_ORDER_FM, AMBI_CHANNEL_ORDER_ACN );
            renormalize_channels( in, out, order, AMBI_NORM_MAXN, AMBI_NORM_SN3D );
        }
        else if ( in_format == AMBI_FMT_AMBIX )
        {
            renormalize_channels( in, out, order, AMBI_NORM_AMBIX, AMBI_NORM_SN3D );
        }
        else if ( in_format == AMBI_FMT_SID_SN3D )
        {
            reorder_channels( in, out, order, AMBI_CHANNEL_ORDER_SID, AMBI_CHANNEL_ORDER_ACN );
@@ -229,10 +204,6 @@ int16_t renormalize_channels( float *in[], float *out[], int16_t order, AMBI_CHA
        {
            conversion_table = SN3D_MAXN;
        }
        else if ( out_format == AMBI_NORM_AMBIX )
        {
            conversion_table = SN3D_AMBIX;
        }
        else if ( out_format == AMBI_NORM_FM )
        {
            conversion_table = SN3D_FM;
@@ -252,10 +223,6 @@ int16_t renormalize_channels( float *in[], float *out[], int16_t order, AMBI_CHA
        {
            conversion_table = MAXN_SN3D;
        }
        if ( in_format == AMBI_NORM_AMBIX )
        {
            conversion_table = AMBIX_SN3D;
        }
        else if ( in_format == AMBI_NORM_FM )
        {
            conversion_table = FM_SN3D;
+0 −1
Original line number Diff line number Diff line
@@ -49,7 +49,6 @@ typedef enum
{
    AMBI_NORM_SN3D = 0,
    AMBI_NORM_N3D,
    AMBI_NORM_AMBIX,
    AMBI_NORM_MAXN,
    AMBI_NORM_FM
} AMBI_CHANNEL_NORM;