Commit 9c12fb8b authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'float-pc' into 1552_ref_sba_msan_fix

parents a81d963f f34818ef
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -187,6 +187,8 @@
#define NONBE_FIX_967_ISM_MONO_DMX                            /* FhG: issue 967: accumulating energies in ISM mono DMX */
#define NONBE_FIX_968_ISM_BRIR_WITH_HEADROTATION_5MS_FIX      /* FhG : issue #968: differences between 5ms and 20ms rendering for discrete ISM with BRIR and head rotation*/
#define NONBE_FIX_935_SBA_REVERB                              /* FhG: issue 935: fix MSAN error for SBA related to BINAURAL_ROOM_REVERB */
#define FIX_969_USAN_IGF_ARITH                          /* FhG: issue 969: fix USAN error in igf_sce_dec; same issue as #962 */
#define FIX_959_MASA_LINEAR_REND                        /* VA: issue 959: remove unused calling of ivas_sba_linear_renderer() in MASA rendering */

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

+10 −0
Original line number Diff line number Diff line
@@ -211,7 +211,12 @@ static void decode_sfe_vector(
       |    c b
       |      e  --> t
    */
#ifdef FIX_969_USAN_IGF_ARITH
    int16_t pred;
    uint16_t pred_tmp;
#else
    uint16_t pred;
#endif
    int16_t f, ctx, ctx_f, ctx_t;

    for ( f = 0; f < length; f++ )
@@ -221,7 +226,12 @@ static void decode_sfe_vector(
            if ( f == 0 )
            {
                /* decode one of the IGF_SYMBOLS_IN_TABLE == 27 alphabet symbols using the new raw AC function */
#ifdef FIX_969_USAN_IGF_ARITH
                ari_decode_14bits_s27_ext( st, &pred_tmp, &hPrivateData->acState, hPrivateData->cf_se00 );
                pred = (int16_t) pred_tmp;
#else
                ari_decode_14bits_s27_ext( st, &pred, &hPrivateData->acState, hPrivateData->cf_se00 );
#endif
                x[f] = pred << 2;
                x[f] += arith_decode_bits( &hPrivateData->acState, st, 2 ); /* LSBs as 2 bit raw */
            }
+4 −0
Original line number Diff line number Diff line
@@ -1139,6 +1139,7 @@ ivas_error ivas_jbm_dec_render(
        }
        else if ( st_ivas->ivas_format == MASA_FORMAT )
        {
#ifndef FIX_959_MASA_LINEAR_REND
            if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC )
            {
                *nSamplesRendered = min( st_ivas->hTcBuffer->n_samples_available, nSamplesAskedLocal );
@@ -1153,6 +1154,9 @@ ivas_error ivas_jbm_dec_render(
                }
            }
            else if ( st_ivas->renderer_type == RENDERER_DIRAC )
#else
            if ( st_ivas->renderer_type == RENDERER_DIRAC )
#endif
            {
                ivas_dirac_dec_render( st_ivas, nchan_remapped, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, p_output );
            }
+4 −0
Original line number Diff line number Diff line
@@ -372,7 +372,11 @@ void ivas_renderer_select(
            {
                *internal_config = IVAS_AUDIO_CONFIG_HOA3;
            }
#ifdef FIX_959_MASA_LINEAR_REND
            *renderer_type = RENDERER_SBA_LINEAR_DEC;
#else
            st_ivas->renderer_type = RENDERER_SBA_LINEAR_DEC;
#endif
        }
        else if ( ( ivas_format == MASA_FORMAT && output_config == IVAS_AUDIO_CONFIG_MONO && st_ivas->nchan_transport == 1 ) ||
                  ( ivas_format == SBA_FORMAT && ( output_config == IVAS_AUDIO_CONFIG_STEREO || output_config == IVAS_AUDIO_CONFIG_MONO ) ) )