Loading lib_com/ivas_prot.h +5 −0 Original line number Diff line number Diff line Loading @@ -5551,6 +5551,11 @@ ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); void ivas_mono_dmx_renderer_close( MONO_DOWNMIX_RENDERER_HANDLE *hMonoDmxRenderer /* i/ i/o: Mono downmix structure */ ); void ivas_mono_downmix_render_passive( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[], /* i/o: synthesized core-coder transport channels/mono output */ Loading lib_dec/ivas_dec.c +1 −7 Original line number Diff line number Diff line Loading @@ -465,7 +465,6 @@ ivas_error ivas_dec( int16_t nchan_ism, nchan_transport_ism; int16_t dirac_bs_md_write_idx; st = st_ivas->hCPE[0]->hCoreCoder[0]; set_s( nb_bits_metadata, 0, MAX_SCE + 1 ); /* Set the number of objects for the parametric rendering */ Loading @@ -482,7 +481,7 @@ ivas_error ivas_dec( } /* MASA metadata decoding */ if ( ( error = ivas_masa_decode( st_ivas, st, &nb_bits_metadata[0] ) ) != IVAS_ERR_OK ) if ( ( error = ivas_masa_decode( st_ivas, st_ivas->hCPE[0]->hCoreCoder[0], &nb_bits_metadata[0] ) ) != IVAS_ERR_OK ) { return error; } Loading @@ -490,8 +489,6 @@ ivas_error ivas_dec( /* Configuration of combined-format bit-budget distribution */ ivas_set_surplus_brate_dec( st_ivas, &ism_total_brate ); st->bit_stream = &( st_ivas->bit_stream[( ism_total_brate / FRAMES_PER_SEC )] ); /* set ISM parameters and decode ISM metadata in OMASA format */ if ( ( error = ivas_omasa_ism_metadata_dec( st_ivas, ism_total_brate, &nchan_ism, &nchan_transport_ism, dirac_bs_md_write_idx, &nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { Loading Loading @@ -595,7 +592,6 @@ ivas_error ivas_dec( /* core-decoding of transport channels */ if ( st_ivas->nSCE == 1 ) { st = st_ivas->hSCE[0]->hCoreCoder[0]; if ( ( error = ivas_sce_dec( st_ivas, 0, &p_output[0], output_frame, nb_bits_metadata[0] + nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { return error; Loading @@ -603,7 +599,6 @@ ivas_error ivas_dec( } else if ( st_ivas->nCPE == 1 ) { st = st_ivas->hCPE[0]->hCoreCoder[0]; if ( ( error = ivas_cpe_dec( st_ivas, 0, p_output, output_frame, nb_bits_metadata[0] + nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { return error; Loading @@ -611,7 +606,6 @@ ivas_error ivas_dec( } else if ( st_ivas->nCPE > 1 ) { st = st_ivas->hCPE[0]->hCoreCoder[0]; if ( ( error = ivas_mct_dec( st_ivas, p_output, output_frame, nb_bits_metadata[0] + nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { return error; Loading lib_dec/ivas_init_dec.c +2 −6 Original line number Diff line number Diff line Loading @@ -2682,12 +2682,8 @@ void ivas_destroy_dec( st_ivas->hLsSetupCustom = NULL; } /* Downmix structure */ if ( st_ivas->hMonoDmxRenderer != NULL ) { free( st_ivas->hMonoDmxRenderer ); st_ivas->hMonoDmxRenderer = NULL; } /* Mono downmix structure */ ivas_mono_dmx_renderer_close( &st_ivas->hMonoDmxRenderer ); /* OSBA structure */ ivas_osba_data_close( &st_ivas->hSbaIsmData ); Loading lib_dec/ivas_mono_dmx_renderer.c +22 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,28 @@ ivas_error ivas_mono_dmx_renderer_open( } /*------------------------------------------------------------------------- * ivas_mono_dmx_renderer_close() * * Close decoder downmix handle *-------------------------------------------------------------------------*/ void ivas_mono_dmx_renderer_close( MONO_DOWNMIX_RENDERER_HANDLE *hMonoDmxRenderer /* i/ i/o: Mono downmix structure */ ) { if ( hMonoDmxRenderer == NULL || *hMonoDmxRenderer == NULL ) { return; } free( *hMonoDmxRenderer ); *hMonoDmxRenderer = NULL; return; } /*------------------------------------------------------------------------- * ivas_mono_downmix_render_passive() * Loading lib_dec/ivas_omasa_dec.c +1 −5 Original line number Diff line number Diff line Loading @@ -308,11 +308,7 @@ ivas_error ivas_omasa_dec_config( } else { if ( st_ivas->hMonoDmxRenderer != NULL ) { free( st_ivas->hMonoDmxRenderer ); st_ivas->hMonoDmxRenderer = NULL; } ivas_mono_dmx_renderer_close( &st_ivas->hMonoDmxRenderer ); } } Loading Loading
lib_com/ivas_prot.h +5 −0 Original line number Diff line number Diff line Loading @@ -5551,6 +5551,11 @@ ivas_error ivas_mono_dmx_renderer_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); void ivas_mono_dmx_renderer_close( MONO_DOWNMIX_RENDERER_HANDLE *hMonoDmxRenderer /* i/ i/o: Mono downmix structure */ ); void ivas_mono_downmix_render_passive( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[], /* i/o: synthesized core-coder transport channels/mono output */ Loading
lib_dec/ivas_dec.c +1 −7 Original line number Diff line number Diff line Loading @@ -465,7 +465,6 @@ ivas_error ivas_dec( int16_t nchan_ism, nchan_transport_ism; int16_t dirac_bs_md_write_idx; st = st_ivas->hCPE[0]->hCoreCoder[0]; set_s( nb_bits_metadata, 0, MAX_SCE + 1 ); /* Set the number of objects for the parametric rendering */ Loading @@ -482,7 +481,7 @@ ivas_error ivas_dec( } /* MASA metadata decoding */ if ( ( error = ivas_masa_decode( st_ivas, st, &nb_bits_metadata[0] ) ) != IVAS_ERR_OK ) if ( ( error = ivas_masa_decode( st_ivas, st_ivas->hCPE[0]->hCoreCoder[0], &nb_bits_metadata[0] ) ) != IVAS_ERR_OK ) { return error; } Loading @@ -490,8 +489,6 @@ ivas_error ivas_dec( /* Configuration of combined-format bit-budget distribution */ ivas_set_surplus_brate_dec( st_ivas, &ism_total_brate ); st->bit_stream = &( st_ivas->bit_stream[( ism_total_brate / FRAMES_PER_SEC )] ); /* set ISM parameters and decode ISM metadata in OMASA format */ if ( ( error = ivas_omasa_ism_metadata_dec( st_ivas, ism_total_brate, &nchan_ism, &nchan_transport_ism, dirac_bs_md_write_idx, &nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { Loading Loading @@ -595,7 +592,6 @@ ivas_error ivas_dec( /* core-decoding of transport channels */ if ( st_ivas->nSCE == 1 ) { st = st_ivas->hSCE[0]->hCoreCoder[0]; if ( ( error = ivas_sce_dec( st_ivas, 0, &p_output[0], output_frame, nb_bits_metadata[0] + nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { return error; Loading @@ -603,7 +599,6 @@ ivas_error ivas_dec( } else if ( st_ivas->nCPE == 1 ) { st = st_ivas->hCPE[0]->hCoreCoder[0]; if ( ( error = ivas_cpe_dec( st_ivas, 0, p_output, output_frame, nb_bits_metadata[0] + nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { return error; Loading @@ -611,7 +606,6 @@ ivas_error ivas_dec( } else if ( st_ivas->nCPE > 1 ) { st = st_ivas->hCPE[0]->hCoreCoder[0]; if ( ( error = ivas_mct_dec( st_ivas, p_output, output_frame, nb_bits_metadata[0] + nb_bits_metadata[1] ) ) != IVAS_ERR_OK ) { return error; Loading
lib_dec/ivas_init_dec.c +2 −6 Original line number Diff line number Diff line Loading @@ -2682,12 +2682,8 @@ void ivas_destroy_dec( st_ivas->hLsSetupCustom = NULL; } /* Downmix structure */ if ( st_ivas->hMonoDmxRenderer != NULL ) { free( st_ivas->hMonoDmxRenderer ); st_ivas->hMonoDmxRenderer = NULL; } /* Mono downmix structure */ ivas_mono_dmx_renderer_close( &st_ivas->hMonoDmxRenderer ); /* OSBA structure */ ivas_osba_data_close( &st_ivas->hSbaIsmData ); Loading
lib_dec/ivas_mono_dmx_renderer.c +22 −0 Original line number Diff line number Diff line Loading @@ -81,6 +81,28 @@ ivas_error ivas_mono_dmx_renderer_open( } /*------------------------------------------------------------------------- * ivas_mono_dmx_renderer_close() * * Close decoder downmix handle *-------------------------------------------------------------------------*/ void ivas_mono_dmx_renderer_close( MONO_DOWNMIX_RENDERER_HANDLE *hMonoDmxRenderer /* i/ i/o: Mono downmix structure */ ) { if ( hMonoDmxRenderer == NULL || *hMonoDmxRenderer == NULL ) { return; } free( *hMonoDmxRenderer ); *hMonoDmxRenderer = NULL; return; } /*------------------------------------------------------------------------- * ivas_mono_downmix_render_passive() * Loading
lib_dec/ivas_omasa_dec.c +1 −5 Original line number Diff line number Diff line Loading @@ -308,11 +308,7 @@ ivas_error ivas_omasa_dec_config( } else { if ( st_ivas->hMonoDmxRenderer != NULL ) { free( st_ivas->hMonoDmxRenderer ); st_ivas->hMonoDmxRenderer = NULL; } ivas_mono_dmx_renderer_close( &st_ivas->hMonoDmxRenderer ); } } Loading