Loading lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -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 */ Loading lib_rend/ivas_omasa_ana_fx.c +0 −87 Original line number Diff line number Diff line Loading @@ -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++ ) Loading Loading @@ -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]; Loading @@ -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; Loading Loading
lib_com/options.h +0 −1 Original line number Diff line number Diff line Loading @@ -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 */ Loading
lib_rend/ivas_omasa_ana_fx.c +0 −87 Original line number Diff line number Diff line Loading @@ -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++ ) Loading Loading @@ -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]; Loading @@ -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; Loading