Commit 4fd6e767 authored by vaclav's avatar vaclav
Browse files
parents 856a7330 fdd55e9a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -198,6 +198,7 @@
#define NONBE_FIX_770_PLANAR_SBA_JBM                          /* FhG  : Issue #770: Crash in planar FOA decoding with JBM caused by uninitialized value */
#define NONBE_FIX_760_COHERENCE_MASA                          /* Nokia: Issue 760: fixes decoder crash for some cases when all energy ratios are 1 */
#define NONBE_FIX_752_OSBA_MISCONFIG_MCT                      /* FhG: issue 752: misconfiguration of MCT causes crashes for coding with sampling rate under 48kHz at 256kbps*/
#define NONBE_FIX_787_PARAM_UPMIX_LEVEL                       /* Dlb: issue 787: fix level of Mono/Stereo for ParamUpmix mode */
#define NONBE_FIX_727_MC_PARAMUPMIX_HEADROTATION              /* Dlb : issue 727 : headrotation in MC paramupmix mode*/
#define NONBE_FIX_779_ISM_FREE_REVERB_HANDLE                  /* VA: issue 779: fix Crash in ISM rate switching with BINAURAL_ROOM_REVERB */

@@ -207,6 +208,7 @@
#define NONBE_FIX_738_SBA_BR_SW_ASAN                          /* FhG: issue 738: fixes bug when switching to an MCT bitrate and previous frame was ACELP */
#define NONBE_CR_FIX_735_SBA_HP20_BRATE_SWITCHING             /* VA: Issue 735: Resolve "HP20 filtering bug in SBA/OSBA bitrate switching" */
#define NONBE_FIX_588_UPDATE_FASTCONV_SD                      /* FhG: issue 588: update FastConv SD HRTFs in CLDFB domain with new conversion method */
#define NONBE_FIX_802_PARAMUPMIX_HIGHPASS                     /* Dlb: issue 802: Move HighPass filter operation for ParamUpmix */
#define NONBE_FIX_778_TNS_UNFIED_STEREO_MSAN                  /* FhG: Issue 778: MSAN error due to uninitialized TNS configuration */
#define NONBE_FIX_797_OMASA_INACTIVE_SEP_OBJ                 /* VA: issue 797:  fix of crash when the separated object is inactive and the MASA metadata is using very few bits */
#define NONBE_FIX_798_OSBA_MC_DEC_CRASH
+11 −3
Original line number Diff line number Diff line
@@ -879,9 +879,17 @@ ivas_error ivas_dec(
            {
                return error;
            }

#ifdef NONBE_FIX_802_PARAMUPMIX_HIGHPASS
            for ( n = 0; n < st_ivas->nchan_transport; n++ )
            {
                if ( n != LFE_CHANNEL )
                {
                    hp20( p_output[n], output_frame, st_ivas->mem_hp20_out[n], output_Fs );
                }
            }
#endif
            ivas_mc_paramupmix_dec( st_ivas, p_output );

#ifndef NONBE_FIX_802_PARAMUPMIX_HIGHPASS
            /* HP filtering */
            if ( st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV && st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV_ROOM )
            {
@@ -893,7 +901,7 @@ ivas_error ivas_dec(
                    }
                }
            }

#endif
            if ( st_ivas->transport_config != st_ivas->intern_config && ( st_ivas->intern_config == IVAS_AUDIO_CONFIG_FOA || st_ivas->intern_config == IVAS_AUDIO_CONFIG_HOA2 || st_ivas->intern_config == IVAS_AUDIO_CONFIG_HOA3 ) )
            {
                ivas_mc2sba( st_ivas->hTransSetup, p_output, p_output, output_frame, st_ivas->hIntSetup.ambisonics_order, GAIN_LFE );
+22 −1
Original line number Diff line number Diff line
@@ -467,6 +467,25 @@ ivas_error ivas_jbm_dec_tc(
                return error;
            }

#ifdef NONBE_FIX_802_PARAMUPMIX_HIGHPASS
            /* HP filtering */
            for ( n = 0; n < st_ivas->nchan_transport; n++ )
            {
                if ( n != LFE_CHANNEL )
                {
                    hp20( p_output[n], output_frame, st_ivas->mem_hp20_out[n], output_Fs );
                }
            }

            /* Rendering */
            if ( ( st_ivas->renderer_type == RENDERER_MC ) && ( output_config == IVAS_AUDIO_CONFIG_MONO || output_config == IVAS_AUDIO_CONFIG_STEREO ) )
            {
                if ( output_config == IVAS_AUDIO_CONFIG_MONO || output_config == IVAS_AUDIO_CONFIG_STEREO )
                {
                    ivas_ls_setup_conversion( st_ivas, audioCfg2channels( IVAS_AUDIO_CONFIG_5_1_2 ), output_frame, p_output, p_output );
                }
            }
#else
            /* Rendering */
            if ( st_ivas->renderer_type == RENDERER_MC )
            {
@@ -483,6 +502,7 @@ ivas_error ivas_jbm_dec_tc(
                    ivas_ls_setup_conversion( st_ivas, audioCfg2channels( IVAS_AUDIO_CONFIG_5_1_2 ), output_frame, p_output, p_output );
                }
            }
#endif
        }
        else if ( st_ivas->mc_mode == MC_MODE_PARAMMC )
        {
@@ -1051,6 +1071,7 @@ ivas_error ivas_jbm_dec_render(
        {
            ivas_mc_paramupmix_dec_render( st_ivas, nSamplesAskedLocal, nSamplesRendered, nSamplesAvailableNext, p_tc, p_output );

#ifndef NONBE_FIX_802_PARAMUPMIX_HIGHPASS
            /* HP filtering */
#ifdef SPLIT_REND_WITH_HEAD_ROT
            /*no HPF when rendering is already done*/
@@ -1065,7 +1086,7 @@ ivas_error ivas_jbm_dec_render(
                    }
                }
            }

#endif
            if ( st_ivas->transport_config != st_ivas->intern_config && ( st_ivas->intern_config == IVAS_AUDIO_CONFIG_FOA || st_ivas->intern_config == IVAS_AUDIO_CONFIG_HOA2 || st_ivas->intern_config == IVAS_AUDIO_CONFIG_HOA3 ) )
            {
                ivas_mc2sba( st_ivas->hTransSetup, p_output, p_output, *nSamplesRendered, st_ivas->hIntSetup.ambisonics_order, GAIN_LFE );
+7 −0
Original line number Diff line number Diff line
@@ -229,6 +229,13 @@ void ivas_mc_paramupmix_dec(
    if ( ( output_config == IVAS_AUDIO_CONFIG_STEREO ) || ( output_config == IVAS_AUDIO_CONFIG_MONO ) )
    {
        first_empty_channel = 8; /* Don't upmix */
#ifdef NONBE_FIX_787_PARAM_UPMIX_LEVEL
        /* Compensate loudness for not doing full upmix */
        for ( i = 4; i < 8; i++ )
        {
            v_multc( output_f[i], 2.0f, output_f[i], L_FRAME48k );
        }
#endif
    }
    else
    {