Commit f81abdb6 authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

port NONBE_FIX_1262_OSBA_STEREO from float

parent 8967e2e1
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -3900,7 +3900,9 @@ void ivas_osba_stereo_add_channels_fx(
    const Word16 gain,                 /* i  : gain bed value                    */
    const Word16 nchan_out,          /* i  : number of output channels         */
    const Word16 nchan_ism,          /* i  : number of ISM channels            */
#ifndef NONBE_FIX_1262_OSBA_STEREO
    const int16_t ism_mode,           /* i  : ISM mode                          */
#endif
    const UWord16 n_samples_to_render /* i  : output frame length per channel   */
);
#endif
+1 −0
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@
#define NONBE_FIX_1174_MCMASA_LBR_LOOP_ERROR            /* Nokia: Fix issue 1174 by removing the unnecessary inner loop causing problems. */

#define FIX_1849_OBJ_EDITING_API
#define NONBE_FIX_1262_OSBA_STEREO

/* #################### End BASOP porting switches ############################ */

+5 −0
Original line number Diff line number Diff line
@@ -2231,7 +2231,12 @@ ivas_error ivas_jbm_dec_render_fx(

                /* add already rendered SBA part */
#ifdef FIX_1849_OBJ_EDITING_API

#ifdef NONBE_FIX_1262_OSBA_STEREO
                ivas_osba_stereo_add_channels_fx( p_tc_fx, p_output_fx, 1, nchan_out, st_ivas->nchan_ism, *nSamplesRendered );
#else
                ivas_osba_stereo_add_channels_fx( p_tc_fx, p_output_fx, 1, nchan_out, st_ivas->nchan_ism, st_ivas->ism_mode, *nSamplesRendered );
#endif
#else
                FOR( n = 0; n < nchan_out; n++ )
                {
+19 −0
Original line number Diff line number Diff line
@@ -343,14 +343,18 @@ void ivas_osba_stereo_add_channels_fx(
    const Word16 gain,                /* i  : gain bed value                    */
    const Word16 nchan_out,           /* i  : number of output channels         */
    const Word16 nchan_ism,           /* i  : number of ISM channels            */
#ifndef NONBE_FIX_1262_OSBA_STEREO
    const int16_t ism_mode,           /* i  : ISM mode                          */
#endif
    const UWord16 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 ( NE_16( gain, 1 ) )
        {
            assert( 0 && "Object editing is not implemented in the BASOP code!" );
@@ -362,6 +366,7 @@ void ivas_osba_stereo_add_channels_fx(
                v_add_fixed_no_hdrm( output_fx[n], tc_fx[n + nchan_ism], output_fx[n], n_samples_to_render );
            }
        }
#ifndef NONBE_FIX_1262_OSBA_STEREO
    }
    else
    {
@@ -370,6 +375,20 @@ void ivas_osba_stereo_add_channels_fx(
            v_add_fixed_no_hdrm( output_fx[n], tc_fx[n + nchan_ism], output_fx[n], n_samples_to_render );
        }
    }
#endif


#ifdef NONBE_FIX_1262_OSBA_STEREO
    FOR ( n = 0; n < nchan_out; n++ )
    {
        Word16 i;
        FOR( i=0; i < n_samples_to_render; i++)
        {
            output_fx[n][i] = L_shr( output_fx[n][i], 1);
        }
    }
#endif


    return;
}