Commit 7dc2f5ac authored by vaclav's avatar vaclav
Browse files

port MR

parent 32e10900
Loading
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -138,6 +138,7 @@
#define NONBE_1240_FIX_CORE_SELECTION_ISM_SW            /* VA: issue 1240: Remove the forcing of the TCX core in ISM when switching from a high bitarte to a low one */
#define FIX_1101_CLEANING_JBM_CALL                      /* VA: issue 1101: remove obsolete call of ivas_jbm_dec_tc_buffer_open() */
#define NONBE_FIX_1337_MISSING_DIRECTIVITY_DISTATT_EXTREND /* Eri: issue 1337: Missing directivity setting and distance attenuation in external renderer IVAS_rend */
#define NONBE_1220_OMASA_JBM_BRATE_SW_FLUSH             /* VA: issue 1220: fix bug in renderer flush in OMASA 1ISM JBM bitrate switching */

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

+12 −1
Original line number Diff line number Diff line
@@ -2688,7 +2688,7 @@ ivas_error ivas_jbm_dec_render_fx(
}

/*--------------------------------------------------------------------------*
 * ivas_jbm_dec_dec_flush_renderer()
 * ivas_jbm_dec_flush_renderer()
 *
 * Flush samples if renderer granularity changes on a bitrate change
 *--------------------------------------------------------------------------*/
@@ -2887,7 +2887,11 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
        {
            IF( EQ_16( ism_mode_old, ISM_MASA_MODE_DISC ) )
            {
#ifdef NONBE_1220_OMASA_JBM_BRATE_SW_FLUSH
                Word32 *tc_local_fx[MAX_NUM_OBJECTS];
#else
                Word32 *tc_local_fx[MAX_TRANSPORT_CHANNELS];
#endif

                move16();
                FOR( ch_idx = 0; ch_idx < st_ivas->nchan_ism; ch_idx++ )
@@ -2896,6 +2900,12 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
                    Copy32( st_ivas->hMasaIsmData->delayBuffer_fx[ch_idx], tc_local_fx[ch_idx], st_ivas->hMasaIsmData->delayBuffer_size ); /*Q11*/
                }

#ifdef NONBE_1220_OMASA_JBM_BRATE_SW_FLUSH
                IF( NE_32( ( error = ivas_td_binaural_renderer_sf_fx( st_ivas, p_output_fx, hTcBuffer->n_samples_granularity ) ), IVAS_ERR_OK ) )
                {
                    return error;
                }
#else
                IF( st_ivas->nchan_ism > 0 )
                {
                    IF( NE_32( ( error = ivas_td_binaural_renderer_sf_fx( st_ivas, p_output_fx, hTcBuffer->n_samples_granularity ) ), IVAS_ERR_OK ) )
@@ -2914,6 +2924,7 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
                    move16();
                    move16();
                }
#endif
            }
        }
        ELSE IF( EQ_16( st_ivas->ivas_format, SBA_ISM_FORMAT ) )
+6 −0
Original line number Diff line number Diff line
@@ -97,7 +97,13 @@ ivas_error ivas_td_binaural_renderer_sf_fx(
    Word16 enableCombinedOrientation;

    /* Set the number of ISMs */
#ifdef NONBE_1220_OMASA_JBM_BRATE_SW_FLUSH
    test();
    test();
    IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) || ( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && GT_16( st_ivas->nchan_ism, 0 ) ) )
#else
    IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) )
#endif
    {
        nchan_ism_internal = st_ivas->nchan_ism;
        move16();
+11 −2
Original line number Diff line number Diff line
@@ -1233,17 +1233,24 @@ ivas_error ivas_omasa_dirac_td_binaural_jbm_fx(
)
{
    Word16 n;
    move16();
    ivas_error error;
#ifdef NONBE_1220_OMASA_JBM_BRATE_SW_FLUSH
    Word32 *p_sepobj_fx[BINAURAL_CHANNELS]; // Q11
    Word32 data_separated_objects_fx[BINAURAL_CHANNELS][L_FRAME48k];
#else
    Word32 *p_sepobj_fx[MAX_NUM_OBJECTS]; // Q11
    Word32 data_separated_objects_fx[MAX_NUM_OBJECTS][L_FRAME48k];
    move16();
#endif
    Word16 slot_idx_start;

    slot_idx_start = st_ivas->hSpatParamRendCom->slots_rendered;
    move16();

#ifdef NONBE_1220_OMASA_JBM_BRATE_SW_FLUSH
    FOR( n = 0; n < BINAURAL_CHANNELS; n++ )
#else
    FOR( n = 0; n < MAX_NUM_OBJECTS; n++ )
#endif
    {
        p_sepobj_fx[n] = &data_separated_objects_fx[n][0];
    }
@@ -1281,6 +1288,7 @@ ivas_error ivas_omasa_dirac_td_binaural_jbm_fx(
        {
            return error;
        }

        st_ivas->nchan_transport = nchan_transport_orig;
        move16();
        cldfb_slots = *nSamplesRendered / num_cldfb_bands;
@@ -1321,6 +1329,7 @@ ivas_error ivas_omasa_dirac_td_binaural_jbm_fx(
    return IVAS_ERR_OK;
}


/*--------------------------------------------------------------------------*
 * ivas_omasa_rearrange_channels()
 *