Commit 5fbb7bf6 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into ci/compare-dmx-pytest

parents 760ff07a a126dbfe
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -5592,7 +5592,9 @@ void ivas_osba_stereo_add_channels(
    const float gain,                                           /* i  : gain bed value                          */
    const int16_t nchan_out,                                    /* i  : number of output channels               */
    const int16_t nchan_ism,                                    /* i  : number of ISM channels                  */
#ifndef NONBE_FIX_1262_OSBA_STEREO
    const int16_t ism_mode,                                     /* i  : ISM mode                                */
#endif
    const int16_t n_samples_to_render                           /* i  : output frame length per channel         */
);

+1 −0
Original line number Diff line number Diff line
@@ -172,6 +172,7 @@
#define NONBE_1217_OBJ_EDIT_FOA                         /* VA/Nokia: isse 1217: fix crash in object editing to FOA output in ParamISM */
#define NONBE_1215_FIX_JBM_MAX_SCALING                  /* FhG: issue 1215: Fix assert hit in a specific VoIP decoder config. Caused by integer overflow in max scaling calculation. */
#define NONBE_FIX_1255_OBJ_EDIT_JBM                     /* VA: issue 1255: restore object editing in JBM */
#define NONBE_FIX_1262_OSBA_STEREO                      /* FhG: issue 1262: Fix missing scaling factor for OSBA stereo output */
#define NONBE_FIX_1189_GSC_IVAS_OMASA                   /* VA: Fix for issue 1189: Bitstream desynchornization due to reading/writing of the GSC_IVAS_mode parameter */
#define NONBE_1214_PLC_LSF_MEMORY                       /* VA: issue 1224: reset ACELP PLC FEC memory in case of switching from MDCT stereo to TD/DFT stereo */
#define NONBE_FIX_1261_MASA_EXT_META_JBM                /* Nokia: issue #1261: MASA metadata EXT output delay buffer init in JBM */
+4 −0
Original line number Diff line number Diff line
@@ -1096,7 +1096,11 @@ ivas_error ivas_jbm_dec_render(
                ivas_ism_render_sf( st_ivas, st_ivas->renderer_type, p_output, *nSamplesRendered );

                /* add already rendered SBA part */
#ifdef NONBE_FIX_1262_OSBA_STEREO
                ivas_osba_stereo_add_channels( p_tc, p_output, st_ivas->hSbaIsmData->gain_bed, nchan_out, st_ivas->nchan_ism, *nSamplesRendered );
#else
                ivas_osba_stereo_add_channels( p_tc, p_output, st_ivas->hSbaIsmData->gain_bed, nchan_out, st_ivas->nchan_ism, st_ivas->ism_mode, *nSamplesRendered );
#endif
            }
            else if ( st_ivas->renderer_type == RENDERER_OSBA_AMBI || st_ivas->renderer_type == RENDERER_OSBA_LS || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM )
            {
+19 −6
Original line number Diff line number Diff line
@@ -314,14 +314,18 @@ void ivas_osba_stereo_add_channels(
    const float gain,        /* i  : gain bed value                    */
    const int16_t nchan_out, /* i  : number of output channels         */
    const int16_t nchan_ism, /* i  : number of ISM channels            */
#ifndef NONBE_FIX_1262_OSBA_STEREO
    const int16_t ism_mode, /* i  : ISM mode                          */
#endif
    const int16_t n_samples_to_render /* i  : output frame length per channel   */
)
{
    int16_t n;

#ifndef NONBE_FIX_1262_OSBA_STEREO
    if ( ism_mode == ISM_SBA_MODE_DISC )
    {
#endif
        if ( gain != 1.0f && gain >= 0.0f )
        {
            int16_t i;
@@ -340,6 +344,7 @@ void ivas_osba_stereo_add_channels(
                v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render );
            }
        }
#ifndef NONBE_FIX_1262_OSBA_STEREO
    }
    else
    {
@@ -348,6 +353,14 @@ void ivas_osba_stereo_add_channels(
            v_add( output_f[n], tc_f[n + nchan_ism], output_f[n], n_samples_to_render );
        }
    }
#endif
#ifdef NONBE_FIX_1262_OSBA_STEREO

    for ( n = 0; n < nchan_out; n++ )
    {
        v_multc( output_f[n], 0.5f, output_f[n], n_samples_to_render );
    }
#endif

    return;
}