Commit 1d1c6412 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Merge branch '1718_ref_portMR1457' into 'float-pc'

[Non-BE][split-non-BE]Port MR1457 to float-pc

See merge request !1689
parents fbcb8e94 d1eaf0e3
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1188,7 +1188,11 @@ enum
#define MASA_COHERENCE_TOLERANCE                0.1f
#define MASA_COHERENCE_THRESHOLD                0.1f
#define MASA_RATIO_TOLERANCE                    0.1f
#ifdef NONBE_FIX_1034_DRY_MASA_RATIOS
#define MASA_RATIO_THRESHOLD                    0.015f
#else
#define MASA_RATIO_THRESHOLD                    0.1f
#endif
#define MASA_ANGLE_TOLERANCE                    0.5f
#define MASA_SUR_COH_THRESHOLD                  1e-7f
#define MASA_SUR_COH_PRECISION                  1e7f
+1 −0
Original line number Diff line number Diff line
@@ -192,6 +192,7 @@
#define NONBE_FIX_991_PARAMBIN_BINARY_HRTF              /* Nokia: issue #991: fix using of binary file HRTF in ParamBin (to actiate when USE_NEW_HRTF_BINARY_FILE_FORMAT and FIX_777_COMBI_RENDER_CONFIG_FILE are on  )*/
#define FIX_1024_REMOVE_PARAMMC_MIXING_MAT              /* VA: issue 1024: remove unused function ivas_param_mc_get_mono_stereo_mixing_matrices() */
#define FIX_1023_REMOVE_PARAMMC_DEC                     /* VA: issue 1023: remove unused function ivas_param_mc_dec() */
#define NONBE_FIX_1034_DRY_MASA_RATIOS                  /* Nokia: Fix issue 1034, use of wrong numDir state. */

/* #################### End BASOP porting switches ############################ */

+19 −0
Original line number Diff line number Diff line
@@ -1241,6 +1241,9 @@ void ivas_masa_combine_directions(
                ambience2dir = 1.0f - ratioSum;
                hMeta->directional_meta[0].energy_ratio[j][i] = sumVecLen[j][i] / ( hMeta->directional_meta[0].energy_ratio[j][i] + hMeta->directional_meta[1].energy_ratio[j][i] + ambience2dir / 2.0f );
                hMeta->directional_meta[1].energy_ratio[j][i] = 0.0f;
#ifdef NONBE_FIX_1034_DRY_MASA_RATIOS
                hMeta->common_meta.diffuse_to_total_ratio[j][i] = 1.0f - hMeta->directional_meta[0].energy_ratio[j][i];
#endif
                if ( computeCoherence )
                {
                    ambience1dir = 1.0f - hMeta->directional_meta[0].energy_ratio[j][i];
@@ -1429,6 +1432,9 @@ static void detect_metadata_composition(
            {
                for ( band = 0; band < MASA_FREQUENCY_BANDS; band++ )
                {
#ifdef NONBE_FIX_1034_DRY_MASA_RATIOS
                    hMeta->directional_meta[0].spherical_index[sf][band] = hMeta->directional_meta[1].spherical_index[sf][band];
#endif
                    hMeta->directional_meta[0].azimuth[sf][band] = hMeta->directional_meta[1].azimuth[sf][band];
                    hMeta->directional_meta[0].elevation[sf][band] = hMeta->directional_meta[1].elevation[sf][band];
                    hMeta->directional_meta[0].energy_ratio[sf][band] = hMeta->directional_meta[1].energy_ratio[sf][band];
@@ -1505,7 +1511,11 @@ static void compensate_energy_ratios(
    uint8_t numDirs;

    hMeta = &( hMasa->masaMetadata );
#ifdef NONBE_FIX_1034_DRY_MASA_RATIOS
    numDirs = hMasa->config.numberOfDirections;
#else
    numDirs = hMeta->descriptive_meta.numberOfDirections + 1;
#endif

    for ( sf = 0; sf < MAX_PARAM_SPATIAL_SUBFRAMES; sf++ )
    {
@@ -2121,10 +2131,19 @@ static void copy_masa_metadata_subframe(
)
{
    uint8_t dir;
#ifdef NONBE_FIX_1034_DRY_MASA_RATIOS
    uint8_t band;
#endif

    /* directional metadata */
    for ( dir = 0; dir < MASA_MAXIMUM_DIRECTIONS; dir++ )
    {
#ifdef NONBE_FIX_1034_DRY_MASA_RATIOS
        for ( band = 0; band < MASA_FREQUENCY_BANDS; band++ )
        {
            hMetaTo->directional_meta[dir].spherical_index[sfTo][band] = hMetaFrom->directional_meta[dir].spherical_index[sfFrom][band];
        }
#endif
        mvr2r( hMetaFrom->directional_meta[dir].azimuth[sfFrom], hMetaTo->directional_meta[dir].azimuth[sfTo], MASA_FREQUENCY_BANDS );
        mvr2r( hMetaFrom->directional_meta[dir].elevation[sfFrom], hMetaTo->directional_meta[dir].elevation[sfTo], MASA_FREQUENCY_BANDS );
        mvr2r( hMetaFrom->directional_meta[dir].energy_ratio[sfFrom], hMetaTo->directional_meta[dir].energy_ratio[sfTo], MASA_FREQUENCY_BANDS );