Commit 7bf0e408 authored by vaillancour's avatar vaillancour
Browse files

merge main

parents 7d747298 fbcb3376
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -109,6 +109,8 @@
#define FIX_FLOAT_1501_UNIT_VALUE_IN_OMASA              /* Nokia: Fix float issue 1501, uninitialized value in ivas_masa_combine_directions for OMASA */
#define FIX_BASOP_2323_DIRAC_ENC_WRONG_INIT             /* Nokia/FhG: basop issue 2323: Use correct init size */
#define FIX_BASOP_2324_MISSING_SET_TO_ZERO              /* Nokia: basop issue 2324: Fix issue by setting the exponent to zero where it should be */
#define FIX_BASOP_2326_WRONG_SIG_LENGTH                 /* Nokia: basop issue 2326: Fix issue by using correct signal length in multiple places */
#define FIX_BASOP_2327_WRONG_LOOP_END                   /* Nokia: basop inssue 2327: Correct loop end to solve MSAN error */
#define FIX_2349_HARM_FIND_UV                           /* VA: basop issue 2349 : harmonizing find_uv function */

/* #################### End BE switches ################################## */
+8 −0
Original line number Diff line number Diff line
@@ -719,7 +719,11 @@ static void ivas_omasa_dmx_fx(
                    }
                    max_e = in_e[0];
                    move16();
#ifdef FIX_BASOP_2327_WRONG_LOOP_END
                    FOR( l = 1; l < input_frame; l++ )
#else
                    FOR( l = 1; l < L_FRAME48k; l++ )
#endif
                    {
                        IF( LT_16( max_e, in_e[l] ) )
                        {
@@ -728,7 +732,11 @@ static void ivas_omasa_dmx_fx(
                        }
                    }

#ifdef FIX_BASOP_2327_WRONG_LOOP_END
                    FOR( l = 0; l < input_frame; l++ )
#else
                    FOR( l = 0; l < L_FRAME48k; l++ )
#endif
                    {
                        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();
+21 −0
Original line number Diff line number Diff line
@@ -9112,8 +9112,15 @@ static ivas_error renderInputMasa(
            }

            copyMasaMetadataToDiracRenderer_fx( &masaInput->masaMetadata, masaInput->hMasaExtRend->hSpatParamRendCom, maxBin );
#ifdef FIX_BASOP_2326_WRONG_SIG_LENGTH
            FOR( ch = 0; ch < inAudio.config.numChannels; ch++ )
            {
                Scale_sig32( tmpBuffer_buff_fx[ch], inAudio.config.numSamplesPerChannel, sub( Q11, *outAudio.pq_fact ) ); /* Q11 */
            }
#else
            Scale_sig32( tmpBuffer_buff_fx[0], L_FRAME48k, sub( Q11, *outAudio.pq_fact ) ); /* Q11 */
            Scale_sig32( tmpBuffer_buff_fx[1], L_FRAME48k, sub( Q11, *outAudio.pq_fact ) ); /* Q11 */
#endif
            // scale_sig32( outAudio.data_fx, i_mult( outAudio.config.numChannels, outAudio.config.numSamplesPerChannel ), sub( Q11, *outAudio.pq_fact ) );

            ivas_masa_ext_rend_parambin_render_fx( masaInput->hMasaExtRend, *masaInput->base.ctx.pCombinedOrientationData, tmpBuffer_fx, num_subframes, masaInput->base.ctx.pSplitRendWrapper, Cldfb_RealBuffer_Binaural, Cldfb_ImagBuffer_Binaural );
@@ -9137,10 +9144,17 @@ static ivas_error renderInputMasa(
                        masaInput->hMasaExtRend->cldfbAnaRend[0]->Q_cldfb_state = Q11;
                        move16();
                    }
#ifdef FIX_BASOP_2326_WRONG_SIG_LENGTH
                    FOR( ch = 0; ch < inAudio.config.numChannels; ch++ )
                    {
                        Scale_sig32( tmpBuffer_buff_fx[ch], inAudio.config.numSamplesPerChannel, sub( Q11, *outAudio.pq_fact ) ); /* Q11 */
                    }
#else
                    FOR( ch = 0; ch < MAX_OUTPUT_CHANNELS; ch++ )
                    {
                        Scale_sig32( tmpBuffer_buff_fx[ch], L_FRAME48k, sub( Q11, *outAudio.pq_fact ) ); /* Q11 */
                    }
#endif

                    scale_sig32( outAudio.data_fx, i_mult( outAudio.config.numChannels, outAudio.config.numSamplesPerChannel ), sub( Q11, *outAudio.pq_fact ) ); /* Q11 */

@@ -9164,8 +9178,15 @@ static ivas_error renderInputMasa(

                    copyMasaMetadataToDiracRenderer_fx( &masaInput->masaMetadata, masaInput->hMasaExtRend->hSpatParamRendCom, maxBin );

#ifdef FIX_BASOP_2326_WRONG_SIG_LENGTH
                    FOR( ch = 0; ch < inAudio.config.numChannels; ch++ )
                    {
                        Scale_sig32( tmpBuffer_buff_fx[ch], inAudio.config.numSamplesPerChannel, sub( Q11, *outAudio.pq_fact ) ); /* Q11 */
                    }
#else
                    Scale_sig32( tmpBuffer_buff_fx[0], L_FRAME48k, sub( Q11, *outAudio.pq_fact ) ); /* Q11 */
                    Scale_sig32( tmpBuffer_buff_fx[1], L_FRAME48k, sub( Q11, *outAudio.pq_fact ) ); /* Q11 */
#endif

                    scale_sig32( outAudio.data_fx, i_mult( outAudio.config.numChannels, outAudio.config.numSamplesPerChannel ), sub( Q11, *outAudio.pq_fact ) );