Commit 2f979d61 authored by vaclav's avatar vaclav
Browse files

Merge branch '1043-jbm-md-handle-allocated-in-non-jbm-ext-operation' into 'main'

Resolve "JBM MD handle allocated in non-JBM EXT operation"

See merge request !1475
parents e5b2dd99 7dc100b9
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -157,6 +157,8 @@
/*#define SPLIT_REND_WITH_HEAD_ROT  */                  /* Dlb,FhG: Split Rendering contributions 21 and 35 */

#define FIX_1033_MEMORY_LEAK_OMASA                      /* Nokia / Orange: issue #1033: Memory leak in OMASA to BINAURAL with HRTF with bitrate switching */
#define FIX_1043_JBM_MD_BUFFER                          /* VA: issue 1043: JBM MD handle allocation is avoided in non-JBM EXT operations */


/* #################### End BE switches ################################## */

+4 −0
Original line number Diff line number Diff line
@@ -2262,7 +2262,11 @@ ivas_error ivas_init_decoder(
        }
    }

#ifdef FIX_1043_JBM_MD_BUFFER
    if ( st_ivas->hJbmMetadata == NULL && st_ivas->hDecoderConfig->Opt_tsm )
#else
    if ( st_ivas->hJbmMetadata == NULL )
#endif
    {
        if ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL )
        {
+21 −2
Original line number Diff line number Diff line
@@ -214,7 +214,11 @@ ivas_error ivas_jbm_dec_tc(
                return error;
            }

#ifdef FIX_1043_JBM_MD_BUFFER
            if ( output_config == IVAS_AUDIO_CONFIG_EXTERNAL && st_ivas->hDecoderConfig->Opt_tsm )
#else
            if ( output_config == IVAS_AUDIO_CONFIG_EXTERNAL )
#endif
            {
                ivas_jbm_dec_copy_masa_meta_to_buffer( st_ivas );
            }
@@ -413,9 +417,14 @@ ivas_error ivas_jbm_dec_tc(
                ivas_omasa_render_objects_from_mix( st_ivas, p_output, st_ivas->nchan_ism, output_frame );
            }

#ifdef FIX_1043_JBM_MD_BUFFER
            if ( st_ivas->hDecoderConfig->Opt_tsm )
#endif
            {
                ivas_jbm_dec_copy_masa_meta_to_buffer( st_ivas );
            }
        }
    }
    else if ( st_ivas->ivas_format == SBA_ISM_FORMAT )
    {
        int16_t nchan_ism, sba_ch_idx;
@@ -812,7 +821,11 @@ void ivas_jbm_dec_feed_tc_to_renderer(
    {
        ivas_jbm_dec_td_renderers_adapt_subframes( st_ivas );

#ifdef FIX_1043_JBM_MD_BUFFER
        if ( ( st_ivas->ivas_format == MASA_FORMAT || st_ivas->ivas_format == MASA_ISM_FORMAT ) && st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL && st_ivas->hDecoderConfig->Opt_tsm )
#else
        if ( ( st_ivas->ivas_format == MASA_FORMAT || st_ivas->ivas_format == MASA_ISM_FORMAT ) && st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_EXTERNAL )
#endif
        {
            ivas_jbm_masa_sf_to_slot_map( st_ivas, n_render_timeslots );
        }
@@ -897,8 +910,14 @@ void ivas_jbm_dec_feed_tc_to_renderer(
        if ( st_ivas->renderer_type == RENDERER_OMASA_MIX_EXT || st_ivas->renderer_type == RENDERER_OMASA_OBJECT_EXT )
        {
            ivas_jbm_dec_td_renderers_adapt_subframes( st_ivas );

#ifdef FIX_1043_JBM_MD_BUFFER
            if ( st_ivas->hDecoderConfig->Opt_tsm )
#endif
            {
                ivas_jbm_masa_sf_to_slot_map( st_ivas, n_render_timeslots );
            }
        }
        else
        {
            if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC && st_ivas->ism_mode == ISM_MASA_MODE_DISC )