Commit ac840334 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Fix issue 1034.

parent 7c54e695
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@
#define NONBE_FIX_987_PARAMC_BINAURAL_REVERB_RENDERING       /* FhG: issue 987: solution b: downmix HOA3 to stereo a input for the reverberator */
#define NONBE_FIX_1006_PAST_DMX_NRG_ERROR                     /* Eri/FhG: Issue 1006: Bug fix in ivas_stereo_dft_dec not replicated in ivas_stereo_dft_dec_dmx */
#define NONBE_FIX_1010_STEREO_CNG_DIV_BY_ZERO                 /* Eri: Issue 1010: Division by zero in Stereo CNG */
#define NONBE_FIX_1034_DRY_MASA_RATIOS                  /* Nokia: Fix issue XXXX, use of wrong numDir state. */

/* ##################### End NON-BE switches ########################### */

+16 −0
Original line number Diff line number Diff line
@@ -1448,6 +1448,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];
@@ -1524,7 +1527,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++ )
    {
@@ -2140,10 +2147,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 );