Commit 588c9d88 authored by Tapani Pihlajakuja's avatar Tapani Pihlajakuja
Browse files

Port float MR 2199 to ivas-float-update

parent 4fe53b30
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -194,6 +194,7 @@
#define FIX_RENDERER_STACK                              /* VA: issue 1322: reduction of renderers' buffers size */
#define FIX_1370_EXTERNAL_ORIENTATION_CHECK             /* Nokia: add sanity check for Euler angles for external orientations */
#define NONBE_FIX_1197_OMASA_META_BUFFER                /* Nokia: OMASA ISM_MASA_MODE_PARAM_ONE_OBJ history zero in rateswitching - port 251 */
#define NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING         /* Nokia: Fix OMASA to MASA1 rendering in IVAS_rend */

// object-editing feature porting
#define FIX_HRTF_LOAD_API                               // solves API conflicts between HRTF and object-editing features
+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++ )
    {