Commit b0d052d7 authored by multrus's avatar multrus
Browse files

Merge branch...

Merge branch 'basop-2440-osba-br-switching-decoding-large-diffs-between-float-and-basop' into 'main'

[allow-regression][non-BE] Resolve "OSBA BR Switching Decoding: Large diffs between float and BASOP"

See merge request !2855
parents 3b8868f2 58db2184
Loading
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -5173,7 +5173,7 @@ Word16 ivas_is_res_channel(

void ivas_spar_dec_agc_pca_fx(
    Decoder_Struct *st_ivas,                                    /* i/o: IVAS decoder handle                             */
    Word32 *output[],                                           /* i/o: input/output audio channels                 */
    Word32 *output[],                                           /* i/o: input/output audio channels, Qin=Q14 -> Qout=Q11*/
    const Word16 output_frame                                   /* i  : output frame length                             */
);

+1 −0
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@
#define FIX_2448_RENDERER_MSAN_ERROR                    /* FhG: basop issue 2448: fix MSAN error with MSA rendering */
#define FIX_2283_ISM_MD_DELAY                           /* Dolby: Fix ISM metadata delay round-off */
#define FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING      /* FhG: basop issue 2262: correct buffer update for FD-CNG buffer in case of BR switching */
#define FIX_2440_AGC_PRESCALING                         /* FhG: basop issue 2440: Fix loop bounds when scaling p_output_fx before ivas_spar_dec_agc_pca_fx() */

/* ##################### End NON-BE switches ########################### */

+6 −0
Original line number Diff line number Diff line
@@ -629,7 +629,13 @@ ivas_error ivas_dec_fx(
        ELSE IF( NE_32( st_ivas->renderer_type, RENDERER_DISABLE ) && st_ivas->sba_dirac_stereo_flag == 0 )
        {
            Word16 size = add( st_ivas->hSpar->hMdDec->spar_md_cfg.nchan_transport, sba_ch_idx );
#ifdef FIX_2440_AGC_PRESCALING
            // For nchan_transport = 3, the fourth input audio channel in ivas_spar_dec_agc_pca_fx() is also used,
            // so one additional channel must be aligned to Q14.
            if ( EQ_16( st_ivas->hSpar->hMdDec->spar_md_cfg.nchan_transport, 3 ) )
#else
            if ( EQ_16( size, 3 ) )
#endif
            {
                size = add( size, 1 );
            }
+3 −3
Original line number Diff line number Diff line
@@ -1443,7 +1443,7 @@ static void ivas_spar_calc_smooth_facs_fx(

void ivas_spar_dec_agc_pca_fx(
    Decoder_Struct *st_ivas,  /* i/o: IVAS decoder handle                             */
    Word32 *output[],         /* i/o: input/output audio channels             Q14*/
    Word32 *output[],         /* i/o: input/output audio channels, Qin=Q14 -> Qout=Q11*/
    const Word16 output_frame /* i  : output frame length                           Q0*/
)
{