Commit 06264cfc authored by vaclav's avatar vaclav
Browse files

Merge remote-tracking branch 'remotes/origin/main' into 2222-leftovers-from-float-fixed-conversions

parents b7e1c9be 76365ced
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -108,6 +108,9 @@
#define FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC         /* FhG: Adjust Q_real to prevent overflow in st->cldfbSyn->cldfb_state_fx scaling */
#define FIX_2211_ASSERT_IN_REND_CREND_CONVOLER               /* FhG: Add headroom to p_output_fx to prevent overflow in ivas_rend_crendProcessSubframe_fx() */

#define NONBE_FIX_2205_SATURATE_ALTERNATIVE
#define NONBE_FIX_2206_SATURATE_ALTERNATIVE

/* ################### End FIXES switches ########################### */

/* #################### Start BASOP porting switches ############################ */
@@ -152,6 +155,7 @@
#define FIX_1437_LC3PLUS_EXTREND_HIRES                  /* FhG: fix external renderer split bitstream header writing causing a crash for LC3plus High-res mode */
#define NONBE_1412_AVOID_ROUNDING_AZ_ELEV               /* FhG:  Avoid rounding when passing azimuth and elevation to efap_determine_gains() */
#define FIX_1318_ROOM_SIZE_CMD_LINE                     /* Philips/Nokia/FhG: Default room sizes support */
#define NONBE_FIX_1442_MASA_EXT_REND_ORIENT_IDX         /* Nokia: Fix issue 1442 of wrong index to combinedOrientationData */

// object-editing feature porting
#define TMP_FIX_SPLIT_REND                              // temporary fix to split-rendering (it follows the later state of the framework but it is needed now because of current test-conditions)
+5 −1
Original line number Diff line number Diff line
@@ -826,9 +826,13 @@ ivas_error ivas_cpe_enc_fx(
        move16();

        stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, sts[0]->input32_fx, &out_start_ind, &out_end_ind, 0, input_Fs, input_Fs, 0, NULL );

#ifdef NONBE_FIX_2205_SATURATE_ALTERNATIVE
        Scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer
        Scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) );       // scaling initial part of the input buffer
#else
        scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer
        scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) );       // scaling initial part of the input buffer
#endif
        sts[0]->q_inp32 = Q15;
        sts[0]->q_old_inp32 = Q15;
        move16();
+4 −0
Original line number Diff line number Diff line
@@ -682,7 +682,11 @@ void stereo_switching_enc_fx(
        /* window DFT synthesis overlap memory @input_Fs, primary channel */
        FOR( i = 0; i < dft_ovl; i++ )
        {
#ifdef NONBE_FIX_2206_SATURATE_ALTERNATIVE
            hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl_sat( Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ), sub( 15, q_inp ) ); // Q15
#else
            hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl( Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ), sub( 15, q_inp ) ); // Q15
#endif
            move32();
        }
        /* reset 48kHz BWE overlap memory */
+10 −1
Original line number Diff line number Diff line
@@ -6744,6 +6744,15 @@ static void ivas_masa_ext_rend_parambin_internal_fx(
                Copy( hMasaExtRend->hDiracDecBin[0]->ChCrossRe_e, hDiracDecBin->ChCrossRe_e, hSpatParamRendCom->num_freq_bands );
                Copy( hMasaExtRend->hDiracDecBin[0]->ChCrossIm_e, hDiracDecBin->ChCrossIm_e, hSpatParamRendCom->num_freq_bands );

#ifdef NONBE_FIX_1442_MASA_EXT_REND_ORIENT_IDX
                ivas_dirac_dec_binaural_formulate_target_covariance_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, Rmat_local, subframe,
                                                                                 hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[hCombinedOrientationData->subframe_idx] > 0,
                                                                                 subFrameTotalEne_fx, subFrameTotalEne_e, IIReneLimiter_fx, NULL );

                ivas_dirac_dec_binaural_determine_processing_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, max_band_decorr, Rmat_local, subframe,
                                                                          hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[hCombinedOrientationData->subframe_idx] > 0,
                                                                          0, NULL );
#else
                ivas_dirac_dec_binaural_formulate_target_covariance_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, Rmat_local, subframe,
                                                                                 hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[subframe] > 0,
                                                                                 subFrameTotalEne_fx, subFrameTotalEne_e, IIReneLimiter_fx, NULL );
@@ -6751,7 +6760,7 @@ static void ivas_masa_ext_rend_parambin_internal_fx(
                ivas_dirac_dec_binaural_determine_processing_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, max_band_decorr, Rmat_local, subframe,
                                                                          hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[subframe] > 0,
                                                                          0, NULL );

#endif

                q_mat = hDiracDecBin->q_processMtx;
                move16();
+1 −1
Original line number Diff line number Diff line
@@ -55,7 +55,7 @@ the United Nations Convention on Contracts on the International Sales of Goods.

#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA
#define OBJ_EDIT_RADIUS_MAX    15.75f /* Max radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */
#define OBJ_EDIT_RADIUS_MAX_FX 8064   /* Q9, 15.75f (15.75  512 = 8064) */
#define OBJ_EDIT_RADIUS_MAX_FX 8064   /* Q9, 15.75f (15.75 * 512 = 8064) */
#define OBJ_EDIT_RADIUS_MIN_FX 0
#endif