Loading lib_util/ambi_convert.c +21 −10 Original line number Diff line number Diff line Loading @@ -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_, Loading @@ -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_ }; Loading Loading @@ -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" ); Loading @@ -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" ); Loading Loading @@ -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 { Loading Loading
lib_util/ambi_convert.c +21 −10 Original line number Diff line number Diff line Loading @@ -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_, Loading @@ -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_ }; Loading Loading @@ -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" ); Loading @@ -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" ); Loading Loading @@ -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 { Loading