diff --git a/lib_com/options.h b/lib_com/options.h old mode 100644 new mode 100755 index 66b72cfdf9c045e6b2ee80db00a1e999c533ef44..42c8854aedcc3dbe5e9667375db2540327dfff12 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -158,6 +158,8 @@ #define NONBE_FIX_984_OMASA_EXT_OUTPUT /* Nokia: issue #984: complete the OMASA EXT output implementation */ #define USE_NEW_HRTF_BINARY_FILE_FORMAT /* Orange: to activate when decided to change the hrtf binary file format */ +#define FIX_1043_JBM_MD_BUFFER /* VA: issue 1043: JBM MD handle allocation is avoided in non-JBM EXT operations */ + #define FIX_WARNING_RENDER_CONFIG /* Orange: fix warning on windows build */ #define NONBE_FIX_991_PARAMBIN_BINARY_HRTF /* Nokia: issue #991: fix using of binary file HRTF in ParamBin (to activate when USE_NEW_HRTF_BINARY_FILE_FORMAT and FIX_777_COMBI_RENDER_CONFIG_FILE are on ) */ #define FIX_1741_REVERB_TIMES_Q_FORMAT /* Philips: reverberation times in Q26 format instead of Q31 */ diff --git a/lib_dec/ivas_init_dec_fx.c b/lib_dec/ivas_init_dec_fx.c index 8b9d77e38f2f872c873ba90188988ef39b73afea..60a9aecb7e592ed29263201695613691ee3d4bd8 100644 --- a/lib_dec/ivas_init_dec_fx.c +++ b/lib_dec/ivas_init_dec_fx.c @@ -2671,8 +2671,12 @@ ivas_error ivas_init_decoder_fx( return error; } } - +#ifdef FIX_1043_JBM_MD_BUFFER + test(); + IF( st_ivas->hJbmMetadata == NULL && st_ivas->hDecoderConfig->Opt_tsm ) +#else IF( st_ivas->hJbmMetadata == NULL ) +#endif { IF( EQ_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) ) { diff --git a/lib_dec/ivas_jbm_dec_fx.c b/lib_dec/ivas_jbm_dec_fx.c index f4c6619508cf5082146d692d26f56fc836d35b39..48aeda1a4ffd09edd415e47bbb99301c995e055e 100644 --- a/lib_dec/ivas_jbm_dec_fx.c +++ b/lib_dec/ivas_jbm_dec_fx.c @@ -288,7 +288,12 @@ ivas_error ivas_jbm_dec_tc_fx( return error; } +#ifdef FIX_1043_JBM_MD_BUFFER + test(); + IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) && st_ivas->hDecoderConfig->Opt_tsm ) +#else IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) ) +#endif { ivas_jbm_dec_copy_masa_meta_to_buffer( st_ivas ); } @@ -830,8 +835,12 @@ ivas_error ivas_jbm_dec_tc_fx( ivas_omasa_rearrange_channels_fx( p_output_fx, nchan_transport_ism, output_frame ); #endif - - ivas_jbm_dec_copy_masa_meta_to_buffer( st_ivas ); +#ifdef FIX_1043_JBM_MD_BUFFER + IF( st_ivas->hDecoderConfig->Opt_tsm ) +#endif + { + ivas_jbm_dec_copy_masa_meta_to_buffer( st_ivas ); + } } IF( NE_16( output_q, Q11 ) ) { @@ -1618,7 +1627,12 @@ void ivas_jbm_dec_feed_tc_to_renderer_fx( test(); test(); +#ifdef FIX_1043_JBM_MD_BUFFER + test(); + IF( ( EQ_16( st_ivas->ivas_format, MASA_FORMAT ) || EQ_16( st_ivas->ivas_format, MASA_ISM_FORMAT ) ) && EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) && st_ivas->hDecoderConfig->Opt_tsm ) +#else IF( ( EQ_16( st_ivas->ivas_format, MASA_FORMAT ) || EQ_16( st_ivas->ivas_format, MASA_ISM_FORMAT ) ) && EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) ) +#endif { ivas_jbm_masa_sf_to_slot_map( st_ivas, n_render_timeslots ); } @@ -1739,7 +1753,12 @@ void ivas_jbm_dec_feed_tc_to_renderer_fx( IF( EQ_32( st_ivas->renderer_type, RENDERER_OMASA_MIX_EXT ) || EQ_32( st_ivas->renderer_type, RENDERER_OMASA_OBJECT_EXT ) ) { ivas_jbm_dec_td_renderers_adapt_subframes( st_ivas ); - ivas_jbm_masa_sf_to_slot_map( st_ivas, n_render_timeslots ); +#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 {