Commit 04f6a685 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Merge branch '2159_ref_port_mr_2199_omasa_prerender_to_masa1tc_fix' into 'ivas-float-update'

Port 364 - Float MR 2169 to ivas-float-update

See merge request !2458
parents c44b5f99 e296ca38
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -190,6 +190,7 @@
#define FIX_1413_IGF_INIT_PRINTOUT                      /* FhG: use correct variable for IGF initiliazation */
#define CODE_IMPROVEMENTS
#define NONBE_1359_FIX_IVASREND_OMASA_BINAURAL_LOUDNESS /* Nokia: issue 1339: Apply scaling to the object-part of OMASA for binaural rendering in IVAS_rend. */
#define NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING         /* Nokia: Fix OMASA to MASA1 rendering in IVAS_rend */


// object-editing feature porting
+29 −0
Original line number Diff line number Diff line
@@ -489,6 +489,13 @@ static void ivas_omasa_dmx(
    }

    for ( i = 0; i < nchan_ism; i++ )
    {
#ifdef NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING
        if ( nchan_transport == 1 )
        {
            v_add( data_out_f[0], data_in_f[i], data_out_f[0], input_frame );
        }
        else
        {
            azimuth = ism_azimuth[i];
            elevation = ism_elevation[i];
@@ -510,6 +517,28 @@ static void ivas_omasa_dmx(
                prev_gains[i][j] = gains[j];
            }
        }
#else
        azimuth = ism_azimuth[i];
        elevation = ism_elevation[i];

        ivas_ism_get_stereo_gains( azimuth, elevation, &gains[0], &gains[1] );

        /* Downmix using the panning gains */
        for ( j = 0; j < nchan_transport; j++ )
        {
            if ( fabsf( gains[j] ) > 0.0 || fabsf( prev_gains[i][j] ) > 0.0f )
            {
                for ( k = 0; k < input_frame; k++ )
                {
                    g1 = interpolator[k];
                    g2 = 1.0f - g1;
                    data_out_f[j][k] += ( g1 * gains[j] + g2 * prev_gains[i][j] ) * data_in_f[i][k];
                }
            }
            prev_gains[i][j] = gains[j];
        }
#endif
    }

    for ( i = 0; i < nchan_transport; i++ )
    {