Commit 443296e8 authored by Archit Tamarapu's avatar Archit Tamarapu Committed by Manuel Jander
Browse files

[cleanup] accept NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING

parent ba003a27
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -134,7 +134,6 @@
#define FIX_1388_MSAN_ivas_init_decoder                 /* VA: issue 1388: fix use-of-uninitialized value in ivas_init_decoder() */
#define FIX_1370_EXTERNAL_ORIENTATION_CHECK             /* Nokia: add sanity check for Euler angles for external orientations */
#define FIX_1413_IGF_INIT_PRINTOUT                      /* FhG: use correct variable for IGF initiliazation */
#define NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING         /* Nokia: Fix OMASA to MASA1 rendering in IVAS_rend */
#define FIX_1383_HEAD_TRACK_SANITIZER                   /* Nok: issue 1383: Fix head tracking struc values reading in renderer */
#define FIX_1330_JBM_MEMORY                             /* VA: issue 1330: memory savings in the JBM decoder */
#define FIX_1330_JBM_MEMORY_FIX                         /* VA: basop issue: 2179 fix non-BE difference in FIX_1330_JBM_MEMORY */
+0 −87
Original line number Diff line number Diff line
@@ -676,13 +676,10 @@ static void ivas_omasa_dmx_fx(
    }
    set16_fx( data_e, 0, 4 );
    set16_fx( in_e, 0, 960 );
#ifdef NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING
    max_e = 0;
#endif

    FOR( i = 0; i < nchan_ism; i++ )
    {
#ifdef NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING
        IF( EQ_16( nchan_transport, 1 ) )
        {
            FOR( j = 0; j < input_frame; j++ )
@@ -749,66 +746,8 @@ static void ivas_omasa_dmx_fx(
                move32();
            }
        }
#else
        azimuth_fx = extract_l( L_shr( ism_azimuth_fx[i], Q22 ) );     // Q0
        elevation_fx = extract_l( L_shr( ism_elevation_fx[i], Q22 ) ); // Q0

        ivas_ism_get_stereo_gains_fx( azimuth_fx, elevation_fx, &gains_fx[0], &gains_fx[1] );

        /* Downmix using the panning gains */
        FOR( j = 0; j < nchan_transport; j++ )
        {
            test();
            IF( abs_s( gains_fx[j] ) > 0 || L_abs( prev_gains_fx[i][j] ) > 0 )
            {
                FOR( k = 0; k < input_frame; k++ )
                {
                    g1_fx = interpolator_fx[k]; // Q15
                    move16();
                    scale = BASOP_Util_Add_MantExp( 16384, 1, negate( g1_fx ), 0, &g2_fx );

                    tmp1 = mult( g1_fx, gains_fx[j] );
                    tmp2 = mult( g2_fx, (Word16) L_shr( prev_gains_fx[i][j], 16 ) ); // Q: ( ( ( 15 - scale ) + ( Q31 - Q16 ) ) - Q15 ) -> ( 15 - scale )
                    scale = BASOP_Util_Add_MantExp( tmp1, 0, tmp2, scale, &tmp1 );

                    L_tmp = data_in_f_fx[i][k]; // data_in_q
                    move32();
                    tmp_e = sub( 31, *data_in_q );
                    move16();

                    L_tmp = Mpy_32_16_1( L_tmp, tmp1 );
                    scale = add( scale, tmp_e );

                    data_out_f_fx[j][k] = BASOP_Util_Add_Mant32Exp( data_out_f_fx[j][k], data_e[j], L_tmp, scale, &in_e[k] );
                    move32();
                }
                max_e = in_e[0];
                move16();
                FOR( l = 1; l < L_FRAME48k; l++ )
                {
                    IF( LT_16( max_e, in_e[l] ) )
                    {
                        max_e = in_e[l];
                        move16();
                    }
                }

                FOR( l = 0; l < L_FRAME48k; l++ )
                {
                    data_out_f_fx[j][l] = L_shr( data_out_f_fx[j][l], sub( max_e, in_e[l] ) ); // exponent: max_e, Q: ( 15 - max_e )
                    move32();
                }
                data_e[j] = max_e;
                move16();
            }

            prev_gains_fx[i][j] = L_deposit_h( gains_fx[j] ); // Q31
            move32();
        }
#endif
    }

#ifdef NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING
    IF( NE_16( nchan_transport, 1 ) )
    {
        max_e = data_e[0];
@@ -831,41 +770,15 @@ static void ivas_omasa_dmx_fx(
            }
        }
    }
#else
    max_e = data_e[0];
    move16();
    FOR( i = 1; i < nchan_transport; i++ )
    {
        IF( LT_16( max_e, data_e[i] ) )
        {
            max_e = data_e[i];
            move16();
        }
    }

    FOR( i = 0; i < nchan_transport; i++ )
    {
        FOR( j = 0; j < input_frame; j++ )
        {
            data_out_f_fx[i][j] = L_shr( data_out_f_fx[i][j], sub( max_e, data_e[i] ) ); // exponent: max_e, Q: ( 15 - max_e )
            move32();
        }
    }
#endif

    FOR( i = 0; i < nchan_transport; i++ )
    {
        Copy32( data_out_f_fx[i], data_in_f_fx[i], input_frame );
#ifdef NONBE_1362_FIX_OMASA_TO_MASA1_RENDERING
        IF( NE_16( nchan_transport, 1 ) )
        {
            *data_in_q = sub( 31, max_e );
            move16();
        }
#else
        *data_in_q = sub( 31, max_e );
        move16();
#endif
    }

    return;