Loading lib_com/hp50.c +8 −11 Original line number Original line Diff line number Diff line Loading @@ -654,23 +654,18 @@ void hp20_fix32( Qprev_y1 = extract_l( mem_fx[4] ); Qprev_y1 = extract_l( mem_fx[4] ); Qprev_y2 = extract_l( mem_fx[5] ); Qprev_y2 = extract_l( mem_fx[5] ); y1_fx64 = (Word64) mem_fx[0]; y1_fx64 = W_deposit32_l( mem_fx[0] ); y2_fx64 = (Word64) mem_fx[1]; y2_fx64 = W_deposit32_l( mem_fx[1] ); x0_fx64 = (Word64) mem_fx[2]; x0_fx64 = W_deposit32_l( mem_fx[2] ); x1_fx64 = (Word64) mem_fx[3]; x1_fx64 = W_deposit32_l( mem_fx[3] ); move64(); move64(); move64(); move64(); FOR( i = 0; i < lg; i++ ) FOR( i = 0; i < lg; i++ ) { { x2_fx64 = x1_fx64; x2_fx64 = x1_fx64; x1_fx64 = x0_fx64; x0_fx64 = (Word64) signal_fx[i]; move64(); move64(); move64(); x1_fx64 = x0_fx64; move64(); move64(); x0_fx64 = W_deposit32_l( signal_fx[i] ); Qy1 = W_norm( y1_fx64 ); Qy1 = W_norm( y1_fx64 ); if ( y1_fx64 == 0 ) if ( y1_fx64 == 0 ) Loading Loading @@ -732,9 +727,11 @@ void hp20_fix32( y0_fx64 = W_shr( y0_fx64, 29 ); y0_fx64 = W_shr( y0_fx64, 29 ); signal_fx[i] = W_extract_l( W_shr( y0_fx64, Qmin ) ); signal_fx[i] = W_extract_l( W_shr( y0_fx64, Qmin ) ); move32(); IF( signal_fx[i] < 0 ) IF( signal_fx[i] < 0 ) { { signal_fx[i] = L_add( signal_fx[i], 1 ); signal_fx[i] = L_add( signal_fx[i], 1 ); move32(); } } y2_fx64 = y1_fx64; y2_fx64 = y1_fx64; Loading lib_com/ivas_mdct_imdct_fx.c +4 −4 Original line number Original line Diff line number Diff line Loading @@ -303,9 +303,9 @@ void ivas_imdct_fx( FOR( i = 0; i < len_by_2; i++ ) FOR( i = 0; i < len_by_2; i++ ) { { re[i] = L_add( Mpy_32_16_1( pIn[sub( sub( length, imult1616( 2, i ) ), 1 )], pTwid_re[i] ), Mpy_32_16_1( pIn[2 * i], pTwid_im[i] ) ); /*stl_arr_index*/ re[i] = L_add( Mpy_32_16_1( pIn[sub( sub( length, shl( i, 1 ) ), 1 )], pTwid_re[i] ), Mpy_32_16_1( pIn[2 * i], pTwid_im[i] ) ); /*stl_arr_index*/ move32(); move32(); im[i] = L_sub( Mpy_32_16_1( pIn[2 * i], pTwid_re[i] ), Mpy_32_16_1( pIn[sub( sub( length, imult1616( 2, i ) ), 1 )], pTwid_im[i] ) ); /*stl_arr_index*/ im[i] = L_sub( Mpy_32_16_1( pIn[2 * i], pTwid_re[i] ), Mpy_32_16_1( pIn[sub( sub( length, shl( i, 1 ) ), 1 )], pTwid_im[i] ) ); /*stl_arr_index*/ move32(); move32(); } } Loading @@ -328,9 +328,9 @@ void ivas_imdct_fx( FOR( i = ( len_by_2 - 1 ); i >= 0; i-- ) FOR( i = ( len_by_2 - 1 ); i >= 0; i-- ) { { re[add( imult1616( 2, i ), 1 )] = im[sub( sub( len_by_2, 1 ), i )]; re[add( shl( i, 1 ), 1 )] = im[sub( sub( len_by_2, 1 ), i )]; move32(); move32(); re[imult1616( 2, i )] = L_negate( re[i] ); re[2 * i] = L_negate( re[i] ); move32(); move32(); } } Loading lib_com/modif_fs.c +6 −2 Original line number Original line Diff line number Diff line Loading @@ -1081,7 +1081,7 @@ void interpolate_3_over_1_allpass_32( Word32 *mem /* i/o: memory */ Word32 *mem /* i/o: memory */ ) ) { { Word16 i; Word16 i, tmp16; Word32 Vu[2], Vm[2], Vl[2]; /* Outputs of three cascaded allpass stages (upper, middle, and lower) */ Word32 Vu[2], Vm[2], Vl[2]; /* Outputs of three cascaded allpass stages (upper, middle, and lower) */ Word32 *out1; Word32 *out1; Word32 mem_temp; Word32 mem_temp; Loading @@ -1104,6 +1104,7 @@ void interpolate_3_over_1_allpass_32( mem[2] = Vu[1]; mem[2] = Vu[1]; move32(); move32(); *out1++ = mem[3]; *out1++ = mem[3]; move32(); /* Middle branch */ /* Middle branch */ Vm[0] = L_add_sat( mem[0], Mpy_32_16_1( L_sub( input[i], mem[4] ), filt_coeff[3] ) ); Vm[0] = L_add_sat( mem[0], Mpy_32_16_1( L_sub( input[i], mem[4] ), filt_coeff[3] ) ); Loading @@ -1118,6 +1119,7 @@ void interpolate_3_over_1_allpass_32( mem[5] = Vm[1]; mem[5] = Vm[1]; move32(); move32(); *out1++ = mem[6]; *out1++ = mem[6]; move32(); /* Lower branch */ /* Lower branch */ Vl[0] = L_add_sat( mem[0], Mpy_32_16_1( L_sub( input[i], mem[7] ), filt_coeff[6] ) ); Vl[0] = L_add_sat( mem[0], Mpy_32_16_1( L_sub( input[i], mem[7] ), filt_coeff[6] ) ); Loading @@ -1134,10 +1136,12 @@ void interpolate_3_over_1_allpass_32( mem[8] = Vl[1]; mem[8] = Vl[1]; move32(); move32(); *out1++ = mem[9]; *out1++ = mem[9]; move32(); } } /*LPF*/ /*LPF*/ FOR( i = 0; i < len * 3; i++ ) tmp16 = imult1616( len, 3 ); FOR( i = 0; i < tmp16; i++ ) { { mem_temp = out[i]; mem_temp = out[i]; move32(); move32(); Loading lib_dec/ivas_mc_param_dec.c +6 −6 Original line number Original line Diff line number Diff line Loading @@ -6208,7 +6208,7 @@ static void ivas_param_mc_dequantize_cov_fx( tmp_e = Cp_buf_e[add( k, imult1616( nY_int, k ) )]; tmp_e = Cp_buf_e[add( k, imult1616( nY_int, k ) )]; move16(); move16(); IF( NE_32( Cproto_fx[add( k, imult1616( nY_int, k ) )], 0 ) ) IF( Cproto_fx[add( k, imult1616( nY_int, k ) )] != 0 ) { { L_tmp = ISqrt32( Cproto_fx[add( k, imult1616( nY_int, k ) )], &tmp_e ); L_tmp = ISqrt32( Cproto_fx[add( k, imult1616( nY_int, k ) )], &tmp_e ); } } Loading Loading @@ -6269,13 +6269,13 @@ static void ivas_param_mc_dequantize_cov_fx( Cy_state_int_e[hParamMC->hMetadataPMC->icc_mapping[param_frame_idx][k][1] + nY_int * hParamMC->hMetadataPMC->icc_mapping[param_frame_idx][k][0]] = tmp; Cy_state_int_e[hParamMC->hMetadataPMC->icc_mapping[param_frame_idx][k][1] + nY_int * hParamMC->hMetadataPMC->icc_mapping[param_frame_idx][k][0]] = tmp; move16(); move16(); #else #else Cy_state_int_fx[hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0] + nY_int * hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1]] = L_shr( L_deposit_h( icc_q_fx[k] ), tmp ); Cy_state_int_fx[add( hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0], imult1616( nY_int, hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1] ) )] = L_shr( L_deposit_h( icc_q_fx[k] ), tmp ); move32(); move32(); Cy_state_int_e[hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0] + nY_int * hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1]] = tmp; Cy_state_int_e[add( hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0], imult1616( nY_int, hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1] ) )] = tmp; move16(); move16(); Cy_state_int_fx[hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1] + nY_int * hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0]] = L_shr( L_deposit_h( icc_q_fx[k] ), tmp ); Cy_state_int_fx[add( hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1], imult1616( nY_int, hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0] ) )] = L_shr( L_deposit_h( icc_q_fx[k] ), tmp ); move32(); move32(); Cy_state_int_e[hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1] + nY_int * hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0]] = tmp; Cy_state_int_e[add( hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1], imult1616( nY_int, hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0] ) )] = tmp; move16(); move16(); #endif #endif } } Loading Loading @@ -6339,7 +6339,7 @@ static void ivas_param_mc_dequantize_cov_fx( } } } } IF( synth_conf == PARAM_MC_SYNTH_LS_CONV_COV ) IF( EQ_32( synth_conf, PARAM_MC_SYNTH_LS_CONV_COV ) ) { { /* Cy = dmx*Cy*dmx' */ /* Cy = dmx*Cy*dmx' */ Word32 mat_mult_buffer1_fx[MAX_CICP_CHANNELS * MAX_CICP_CHANNELS]; Word32 mat_mult_buffer1_fx[MAX_CICP_CHANNELS * MAX_CICP_CHANNELS]; Loading lib_dec/ivas_sba_rendering_internal.c +8 −5 Original line number Original line Diff line number Diff line Loading @@ -200,6 +200,7 @@ void ivas_sba2mc_cldfb_fixed( * * * MC signals transformed into SBA in TD domain * MC signals transformed into SBA in TD domain *-------------------------------------------------------------------------*/ *-------------------------------------------------------------------------*/ #ifdef IVAS_FLOAT_FIXED #ifdef IVAS_FLOAT_FIXED void ivas_mc2sba_fx( void ivas_mc2sba_fx( IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ Loading Loading @@ -233,6 +234,7 @@ void ivas_mc2sba_fx( move16(); move16(); FOR( i = 0; i < add( hIntSetup.nchan_out_woLFE, hIntSetup.num_lfe ); i++ ) FOR( i = 0; i < add( hIntSetup.nchan_out_woLFE, hIntSetup.num_lfe ); i++ ) { { test(); IF( ( hIntSetup.num_lfe > 0 ) && EQ_16( i, hIntSetup.index_lfe[idx_lfe] ) ) IF( ( hIntSetup.num_lfe > 0 ) && EQ_16( i, hIntSetup.index_lfe[idx_lfe] ) ) { { IF( gain_lfe_fx > 0 ) IF( gain_lfe_fx > 0 ) Loading @@ -245,16 +247,16 @@ void ivas_mc2sba_fx( } } } } IF( LT_16( idx_lfe, sub( hIntSetup.num_lfe, 1 ) ) ) if ( LT_16( idx_lfe, sub( hIntSetup.num_lfe, 1 ) ) ) { { idx_lfe = add( idx_lfe, 1 ); idx_lfe = add( idx_lfe, 1 ); } } } } ELSE ELSE { { azimuth = (Word16) L_shr( hIntSetup.ls_azimuth_fx[idx_in], 22 ); azimuth = extract_l( L_shr( hIntSetup.ls_azimuth_fx[idx_in], Q22 ) ); move16(); move16(); elevation = (Word16) L_shr( hIntSetup.ls_elevation_fx[idx_in], 22 ); elevation = extract_l( L_shr( hIntSetup.ls_elevation_fx[idx_in], Q22 ) ); move16(); move16(); idx_in = add( idx_in, 1 ); idx_in = add( idx_in, 1 ); ivas_dirac_dec_get_response_fx( ivas_dirac_dec_get_response_fx( Loading Loading @@ -284,7 +286,6 @@ void ivas_mc2sba_fx( return; return; } } #else #else void ivas_mc2sba( void ivas_mc2sba( IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ float *in_buffer_td[], /* i : MC signals (on input) and the HOA3 (on output) */ float *in_buffer_td[], /* i : MC signals (on input) and the HOA3 (on output) */ Loading Loading @@ -362,6 +363,7 @@ void ivas_mc2sba( } } #endif #endif /*-------------------------------------------------------------------------* /*-------------------------------------------------------------------------* * ivas_param_mc_mc2sba_cldfb() * ivas_param_mc_mc2sba_cldfb() * * Loading Loading @@ -402,6 +404,7 @@ void ivas_param_mc_mc2sba_cldfb_fx( FOR( idx_ch = 0; idx_ch < add( hTransSetup.nchan_out_woLFE, hTransSetup.num_lfe ); idx_ch++ ) FOR( idx_ch = 0; idx_ch < add( hTransSetup.nchan_out_woLFE, hTransSetup.num_lfe ); idx_ch++ ) { { test(); IF( ( hTransSetup.num_lfe > 0 ) && EQ_16( idx_ch, hTransSetup.index_lfe[idx_lfe] ) ) IF( ( hTransSetup.num_lfe > 0 ) && EQ_16( idx_ch, hTransSetup.index_lfe[idx_lfe] ) ) { { IF( gain_lfe_fx > 0 ) IF( gain_lfe_fx > 0 ) Loading @@ -413,7 +416,7 @@ void ivas_param_mc_mc2sba_cldfb_fx( move32(); move32(); } } IF( LT_16( idx_lfe, sub( hTransSetup.num_lfe, 1 ) ) ) if ( LT_16( idx_lfe, sub( hTransSetup.num_lfe, 1 ) ) ) { { idx_lfe = add( idx_lfe, 1 ); idx_lfe = add( idx_lfe, 1 ); } } Loading Loading
lib_com/hp50.c +8 −11 Original line number Original line Diff line number Diff line Loading @@ -654,23 +654,18 @@ void hp20_fix32( Qprev_y1 = extract_l( mem_fx[4] ); Qprev_y1 = extract_l( mem_fx[4] ); Qprev_y2 = extract_l( mem_fx[5] ); Qprev_y2 = extract_l( mem_fx[5] ); y1_fx64 = (Word64) mem_fx[0]; y1_fx64 = W_deposit32_l( mem_fx[0] ); y2_fx64 = (Word64) mem_fx[1]; y2_fx64 = W_deposit32_l( mem_fx[1] ); x0_fx64 = (Word64) mem_fx[2]; x0_fx64 = W_deposit32_l( mem_fx[2] ); x1_fx64 = (Word64) mem_fx[3]; x1_fx64 = W_deposit32_l( mem_fx[3] ); move64(); move64(); move64(); move64(); FOR( i = 0; i < lg; i++ ) FOR( i = 0; i < lg; i++ ) { { x2_fx64 = x1_fx64; x2_fx64 = x1_fx64; x1_fx64 = x0_fx64; x0_fx64 = (Word64) signal_fx[i]; move64(); move64(); move64(); x1_fx64 = x0_fx64; move64(); move64(); x0_fx64 = W_deposit32_l( signal_fx[i] ); Qy1 = W_norm( y1_fx64 ); Qy1 = W_norm( y1_fx64 ); if ( y1_fx64 == 0 ) if ( y1_fx64 == 0 ) Loading Loading @@ -732,9 +727,11 @@ void hp20_fix32( y0_fx64 = W_shr( y0_fx64, 29 ); y0_fx64 = W_shr( y0_fx64, 29 ); signal_fx[i] = W_extract_l( W_shr( y0_fx64, Qmin ) ); signal_fx[i] = W_extract_l( W_shr( y0_fx64, Qmin ) ); move32(); IF( signal_fx[i] < 0 ) IF( signal_fx[i] < 0 ) { { signal_fx[i] = L_add( signal_fx[i], 1 ); signal_fx[i] = L_add( signal_fx[i], 1 ); move32(); } } y2_fx64 = y1_fx64; y2_fx64 = y1_fx64; Loading
lib_com/ivas_mdct_imdct_fx.c +4 −4 Original line number Original line Diff line number Diff line Loading @@ -303,9 +303,9 @@ void ivas_imdct_fx( FOR( i = 0; i < len_by_2; i++ ) FOR( i = 0; i < len_by_2; i++ ) { { re[i] = L_add( Mpy_32_16_1( pIn[sub( sub( length, imult1616( 2, i ) ), 1 )], pTwid_re[i] ), Mpy_32_16_1( pIn[2 * i], pTwid_im[i] ) ); /*stl_arr_index*/ re[i] = L_add( Mpy_32_16_1( pIn[sub( sub( length, shl( i, 1 ) ), 1 )], pTwid_re[i] ), Mpy_32_16_1( pIn[2 * i], pTwid_im[i] ) ); /*stl_arr_index*/ move32(); move32(); im[i] = L_sub( Mpy_32_16_1( pIn[2 * i], pTwid_re[i] ), Mpy_32_16_1( pIn[sub( sub( length, imult1616( 2, i ) ), 1 )], pTwid_im[i] ) ); /*stl_arr_index*/ im[i] = L_sub( Mpy_32_16_1( pIn[2 * i], pTwid_re[i] ), Mpy_32_16_1( pIn[sub( sub( length, shl( i, 1 ) ), 1 )], pTwid_im[i] ) ); /*stl_arr_index*/ move32(); move32(); } } Loading @@ -328,9 +328,9 @@ void ivas_imdct_fx( FOR( i = ( len_by_2 - 1 ); i >= 0; i-- ) FOR( i = ( len_by_2 - 1 ); i >= 0; i-- ) { { re[add( imult1616( 2, i ), 1 )] = im[sub( sub( len_by_2, 1 ), i )]; re[add( shl( i, 1 ), 1 )] = im[sub( sub( len_by_2, 1 ), i )]; move32(); move32(); re[imult1616( 2, i )] = L_negate( re[i] ); re[2 * i] = L_negate( re[i] ); move32(); move32(); } } Loading
lib_com/modif_fs.c +6 −2 Original line number Original line Diff line number Diff line Loading @@ -1081,7 +1081,7 @@ void interpolate_3_over_1_allpass_32( Word32 *mem /* i/o: memory */ Word32 *mem /* i/o: memory */ ) ) { { Word16 i; Word16 i, tmp16; Word32 Vu[2], Vm[2], Vl[2]; /* Outputs of three cascaded allpass stages (upper, middle, and lower) */ Word32 Vu[2], Vm[2], Vl[2]; /* Outputs of three cascaded allpass stages (upper, middle, and lower) */ Word32 *out1; Word32 *out1; Word32 mem_temp; Word32 mem_temp; Loading @@ -1104,6 +1104,7 @@ void interpolate_3_over_1_allpass_32( mem[2] = Vu[1]; mem[2] = Vu[1]; move32(); move32(); *out1++ = mem[3]; *out1++ = mem[3]; move32(); /* Middle branch */ /* Middle branch */ Vm[0] = L_add_sat( mem[0], Mpy_32_16_1( L_sub( input[i], mem[4] ), filt_coeff[3] ) ); Vm[0] = L_add_sat( mem[0], Mpy_32_16_1( L_sub( input[i], mem[4] ), filt_coeff[3] ) ); Loading @@ -1118,6 +1119,7 @@ void interpolate_3_over_1_allpass_32( mem[5] = Vm[1]; mem[5] = Vm[1]; move32(); move32(); *out1++ = mem[6]; *out1++ = mem[6]; move32(); /* Lower branch */ /* Lower branch */ Vl[0] = L_add_sat( mem[0], Mpy_32_16_1( L_sub( input[i], mem[7] ), filt_coeff[6] ) ); Vl[0] = L_add_sat( mem[0], Mpy_32_16_1( L_sub( input[i], mem[7] ), filt_coeff[6] ) ); Loading @@ -1134,10 +1136,12 @@ void interpolate_3_over_1_allpass_32( mem[8] = Vl[1]; mem[8] = Vl[1]; move32(); move32(); *out1++ = mem[9]; *out1++ = mem[9]; move32(); } } /*LPF*/ /*LPF*/ FOR( i = 0; i < len * 3; i++ ) tmp16 = imult1616( len, 3 ); FOR( i = 0; i < tmp16; i++ ) { { mem_temp = out[i]; mem_temp = out[i]; move32(); move32(); Loading
lib_dec/ivas_mc_param_dec.c +6 −6 Original line number Original line Diff line number Diff line Loading @@ -6208,7 +6208,7 @@ static void ivas_param_mc_dequantize_cov_fx( tmp_e = Cp_buf_e[add( k, imult1616( nY_int, k ) )]; tmp_e = Cp_buf_e[add( k, imult1616( nY_int, k ) )]; move16(); move16(); IF( NE_32( Cproto_fx[add( k, imult1616( nY_int, k ) )], 0 ) ) IF( Cproto_fx[add( k, imult1616( nY_int, k ) )] != 0 ) { { L_tmp = ISqrt32( Cproto_fx[add( k, imult1616( nY_int, k ) )], &tmp_e ); L_tmp = ISqrt32( Cproto_fx[add( k, imult1616( nY_int, k ) )], &tmp_e ); } } Loading Loading @@ -6269,13 +6269,13 @@ static void ivas_param_mc_dequantize_cov_fx( Cy_state_int_e[hParamMC->hMetadataPMC->icc_mapping[param_frame_idx][k][1] + nY_int * hParamMC->hMetadataPMC->icc_mapping[param_frame_idx][k][0]] = tmp; Cy_state_int_e[hParamMC->hMetadataPMC->icc_mapping[param_frame_idx][k][1] + nY_int * hParamMC->hMetadataPMC->icc_mapping[param_frame_idx][k][0]] = tmp; move16(); move16(); #else #else Cy_state_int_fx[hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0] + nY_int * hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1]] = L_shr( L_deposit_h( icc_q_fx[k] ), tmp ); Cy_state_int_fx[add( hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0], imult1616( nY_int, hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1] ) )] = L_shr( L_deposit_h( icc_q_fx[k] ), tmp ); move32(); move32(); Cy_state_int_e[hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0] + nY_int * hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1]] = tmp; Cy_state_int_e[add( hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0], imult1616( nY_int, hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1] ) )] = tmp; move16(); move16(); Cy_state_int_fx[hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1] + nY_int * hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0]] = L_shr( L_deposit_h( icc_q_fx[k] ), tmp ); Cy_state_int_fx[add( hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1], imult1616( nY_int, hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0] ) )] = L_shr( L_deposit_h( icc_q_fx[k] ), tmp ); move32(); move32(); Cy_state_int_e[hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1] + nY_int * hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0]] = tmp; Cy_state_int_e[add( hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][1], imult1616( nY_int, hParamMC->hMetadataPMC->icc_mapping_conf->icc_mapping[k][0] ) )] = tmp; move16(); move16(); #endif #endif } } Loading Loading @@ -6339,7 +6339,7 @@ static void ivas_param_mc_dequantize_cov_fx( } } } } IF( synth_conf == PARAM_MC_SYNTH_LS_CONV_COV ) IF( EQ_32( synth_conf, PARAM_MC_SYNTH_LS_CONV_COV ) ) { { /* Cy = dmx*Cy*dmx' */ /* Cy = dmx*Cy*dmx' */ Word32 mat_mult_buffer1_fx[MAX_CICP_CHANNELS * MAX_CICP_CHANNELS]; Word32 mat_mult_buffer1_fx[MAX_CICP_CHANNELS * MAX_CICP_CHANNELS]; Loading
lib_dec/ivas_sba_rendering_internal.c +8 −5 Original line number Original line Diff line number Diff line Loading @@ -200,6 +200,7 @@ void ivas_sba2mc_cldfb_fixed( * * * MC signals transformed into SBA in TD domain * MC signals transformed into SBA in TD domain *-------------------------------------------------------------------------*/ *-------------------------------------------------------------------------*/ #ifdef IVAS_FLOAT_FIXED #ifdef IVAS_FLOAT_FIXED void ivas_mc2sba_fx( void ivas_mc2sba_fx( IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ Loading Loading @@ -233,6 +234,7 @@ void ivas_mc2sba_fx( move16(); move16(); FOR( i = 0; i < add( hIntSetup.nchan_out_woLFE, hIntSetup.num_lfe ); i++ ) FOR( i = 0; i < add( hIntSetup.nchan_out_woLFE, hIntSetup.num_lfe ); i++ ) { { test(); IF( ( hIntSetup.num_lfe > 0 ) && EQ_16( i, hIntSetup.index_lfe[idx_lfe] ) ) IF( ( hIntSetup.num_lfe > 0 ) && EQ_16( i, hIntSetup.index_lfe[idx_lfe] ) ) { { IF( gain_lfe_fx > 0 ) IF( gain_lfe_fx > 0 ) Loading @@ -245,16 +247,16 @@ void ivas_mc2sba_fx( } } } } IF( LT_16( idx_lfe, sub( hIntSetup.num_lfe, 1 ) ) ) if ( LT_16( idx_lfe, sub( hIntSetup.num_lfe, 1 ) ) ) { { idx_lfe = add( idx_lfe, 1 ); idx_lfe = add( idx_lfe, 1 ); } } } } ELSE ELSE { { azimuth = (Word16) L_shr( hIntSetup.ls_azimuth_fx[idx_in], 22 ); azimuth = extract_l( L_shr( hIntSetup.ls_azimuth_fx[idx_in], Q22 ) ); move16(); move16(); elevation = (Word16) L_shr( hIntSetup.ls_elevation_fx[idx_in], 22 ); elevation = extract_l( L_shr( hIntSetup.ls_elevation_fx[idx_in], Q22 ) ); move16(); move16(); idx_in = add( idx_in, 1 ); idx_in = add( idx_in, 1 ); ivas_dirac_dec_get_response_fx( ivas_dirac_dec_get_response_fx( Loading Loading @@ -284,7 +286,6 @@ void ivas_mc2sba_fx( return; return; } } #else #else void ivas_mc2sba( void ivas_mc2sba( IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ float *in_buffer_td[], /* i : MC signals (on input) and the HOA3 (on output) */ float *in_buffer_td[], /* i : MC signals (on input) and the HOA3 (on output) */ Loading Loading @@ -362,6 +363,7 @@ void ivas_mc2sba( } } #endif #endif /*-------------------------------------------------------------------------* /*-------------------------------------------------------------------------* * ivas_param_mc_mc2sba_cldfb() * ivas_param_mc_mc2sba_cldfb() * * Loading Loading @@ -402,6 +404,7 @@ void ivas_param_mc_mc2sba_cldfb_fx( FOR( idx_ch = 0; idx_ch < add( hTransSetup.nchan_out_woLFE, hTransSetup.num_lfe ); idx_ch++ ) FOR( idx_ch = 0; idx_ch < add( hTransSetup.nchan_out_woLFE, hTransSetup.num_lfe ); idx_ch++ ) { { test(); IF( ( hTransSetup.num_lfe > 0 ) && EQ_16( idx_ch, hTransSetup.index_lfe[idx_lfe] ) ) IF( ( hTransSetup.num_lfe > 0 ) && EQ_16( idx_ch, hTransSetup.index_lfe[idx_lfe] ) ) { { IF( gain_lfe_fx > 0 ) IF( gain_lfe_fx > 0 ) Loading @@ -413,7 +416,7 @@ void ivas_param_mc_mc2sba_cldfb_fx( move32(); move32(); } } IF( LT_16( idx_lfe, sub( hTransSetup.num_lfe, 1 ) ) ) if ( LT_16( idx_lfe, sub( hTransSetup.num_lfe, 1 ) ) ) { { idx_lfe = add( idx_lfe, 1 ); idx_lfe = add( idx_lfe, 1 ); } } Loading