Commit 7bf46032 authored by emerit's avatar emerit
Browse files

Merge branch 'main-pc' into 1582_basop_port_fl1280

parents e90663ed 26e87d1f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -681,7 +681,11 @@ int main(
        {
            if ( ( error = JbmFileReader_readCAconfig( jbmReader, &caConfig ) ) != IVAS_ERR_OK )
            {
#ifdef FIX_699_FILE_READER_JBM_TSM
                fprintf( stderr, "\nError (%s) while reading Channel-Aware Config. from: %s\n\n", IVAS_ENC_GetErrorMessage( error ), JbmFileReader_getFilePath( jbmReader ) );
#else
                fprintf( stderr, "JbmFileReader_readCAconfig() failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) );
#endif
                goto cleanup;
            }

+3 −0
Original line number Diff line number Diff line
@@ -1318,6 +1318,9 @@ enum
#define MASA_BIT_REDUCT_PARAM                   10
#define MASA_MAXIMUM_TWO_DIR_BANDS              24
#define NBITS_HR_COH                            4
#ifdef NONBE_FIX_982_OMASA_DELAY_COMP_5MS
#define OMASA_TDREND_MATCHING_GAIN_FX 26026
#endif

#define MASA_INV_ANGLE_AT_EQUATOR_DEG_Q30       (1453366656l)

lib_com/options.h

100644 → 100755
+15 −3
Original line number Diff line number Diff line
@@ -117,13 +117,25 @@

#endif

#define NONBE_FIX_947_STEREO_DMX_EVS_POC                /* Orange: Fix clicks on POC */  
#define NONBE_FIX_947_STEREO_DMX_EVS_PHA                /* Orange: Fix issues on PHA */      
#define NONBE_FIX_951_MCMASA_5MS_RENDERING              /* Nokia: issue #951: Differences for 5ms and 20ms rendering for McMASA at 13.2 kbps to BINAURAL */
#define NONBE_FIX_979_OSBA_STEREO_5MS                   /* FhG : issue #979 : 5ms and 20ms output different for OSBA and stereo */
#define FIX_983_DISC_ISM_DIGEST_NUM_OBJS                /* FhG: issue #983: the discrete ISM digest function uses the wrong number of objects */

#define NONBE_FIX_974_OSBA_JBM_MONO_RS_USAN             /* FhG : issue #974: usan in mono and stereo output in OSBA JBM RS */
#define NONBE_FIX_982_OMASA_DELAY_COMP_5MS              /* FhG : issue #982 : 5ms and 20ms output different for OMASA */
#define FIX_ACCESS_WITHIN_NULL_STRUCT_MC_BW_SWITCHING   /* FhG: fix usan error in MCT with bw swicthing */
#define NONBE_FIX_986_MC_BW_SWITCHING                   /* FhG: fix crash in bw and br switching with MC */
#define NONBE_FIX_975_JBM_USAN                          /* FhG: Fix issue #975, USAN in JBM decoding ad 13.2kbps */
#define FIX_699_FILE_READER_JBM_TSM                     /* VA: issue 699: complement FileReader_getFilePath() logic for TSM and JBM */

#define NONBE_FIX_947_STEREO_DMX_EVS_POC                      /* Orange: Fix clicks on POC */
#ifdef NONBE_FIX_947_STEREO_DMX_EVS_POC
#define NONBE_FIX_947_STEREO_DMX_ROMOPT                       /* Orange: ROM optimisation for POC*/  
#endif
#define NONBE_FIX_947_STEREO_DMX_EVS_PHA                      /* Orange: Fix issues on PHA */
#ifdef NONBE_FIX_947_STEREO_DMX_EVS_PHA
#define NONBE_FIX_947_STEREO_DMX_FADOPT                       /* Orange: Fading optimisation */  
#endif     

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

+2 −0
Original line number Diff line number Diff line
@@ -611,6 +611,7 @@ void ivas_omasa_separate_object_render_jbm_fx(
    FOR( obj = 0; obj < num_objects; obj++ )
    {
        /* Delay the signal to match CLDFB delay. Delay the whole buffer with the first rendering call of the stretched buffer. */
#ifndef NONBE_FIX_982_OMASA_DELAY_COMP_5MS
        IF( slots_rendered == 0 )
        {
            Word16 tcBufferSize;
@@ -618,6 +619,7 @@ void ivas_omasa_separate_object_render_jbm_fx(
            tcBufferSize = i_mult( hSpatParamRendCom->num_slots, hSpatParamRendCom->slot_size );
            delay_signal32_fx( input_fx[obj], tcBufferSize, st_ivas->hMasaIsmData->delayBuffer_fx[obj], st_ivas->hMasaIsmData->delayBuffer_size );
        }
#endif
        offsetSamples = 0;
        move16();

+26 −0
Original line number Diff line number Diff line
@@ -1728,6 +1728,32 @@ void ivas_jbm_dec_feed_tc_to_renderer_fx(
        {
            ivas_ism_dec_digest_tc_fx( st_ivas );
        }

#ifdef NONBE_FIX_982_OMASA_DELAY_COMP_5MS
        if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_DIRAC )
        {
            int16_t num_objects;

            /* Delay the signal to match CLDFB delay. Delay the whole buffer. */
            num_objects = 0;
            IF( ( st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ ) && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC )
            {
                num_objects = 1;
            }
            ELSE IF( EQ_16( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) )
            {
                num_objects = st_ivas->nchan_ism;
            }
            FOR( n = 0; n < num_objects; n++ )
            {
                if ( st_ivas->ism_mode == ISM_MASA_MODE_DISC && st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC )
                {
                    v_multc_fixed_16( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], OMASA_TDREND_MATCHING_GAIN_FX, st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available );
                }
                delay_signal32_fx( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available, st_ivas->hMasaIsmData->delayBuffer_fx[n], st_ivas->hMasaIsmData->delayBuffer_size );
            }
        }
#endif
    }
    ELSE IF( EQ_16( st_ivas->ivas_format, MC_FORMAT ) )
    {
Loading