Loading apps/decoder.c +1 −1 Original line number Diff line number Diff line Loading @@ -1583,7 +1583,6 @@ static ivas_error decodeG192( } } /* Write current frame */ if ( decodedGoodFrame ) { Loading Loading @@ -1669,6 +1668,7 @@ static ivas_error decodeG192( *------------------------------------------------------------------------------------------*/ memset( pcmBuf, 0, delayNumSamples_orig[0] * nOutChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, delayNumSamples_orig[0] * nOutChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError writing output file: %s\n", ivas_error_to_string( error ) ); Loading lib_com/delay_comp.c +12 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,12 @@ int32_t get_delay( { delay = 0; /* All delay is compensated in the decoder with MASA */ } #ifdef FIX_356_ISM_METADATA_SYNC if (ivas_format == ISM_FORMAT) { delay = 0; /* All delay is compensated in the decoder with ISM */ } #endif } if ( ivas_format == SBA_FORMAT ) Loading Loading @@ -109,6 +115,12 @@ int32_t get_delay( { delay += IVAS_ENC_DELAY_NS; /* Compensate also the encoder delay in the decoder with MASA */ } #ifdef FIX_356_ISM_METADATA_SYNC if (ivas_format == ISM_FORMAT) { delay += IVAS_ENC_DELAY_NS; /* Compensate also the encoder delay in the decoder with ISM */ } #endif } } Loading lib_com/ivas_stat_com.h +11 −4 Original line number Diff line number Diff line Loading @@ -57,10 +57,10 @@ typedef struct int16_t last_ism_metadata_flag; /* last frame ism_metadata_flag */ float azimuth; /* azimuth value read from the input metadata file */ float elevation; /* azimuth value read from the input metadata file */ float radius; float yaw; /* azimuth orientation value read from the input metadata file */ float pitch; /* elevation orientation value read from the input metadata file */ float elevation; /* elevation value read from the input metadata file */ float radius; /* radius value read from the input metadata file */ float yaw; /* yaw value read from the input metadata file */ float pitch; /* pitch value read from the input metadata file */ ISM_METADATA_ANGLE position_angle; /* Angle structs for azimuth and elevation */ ISM_METADATA_ANGLE orientation_angle; /* Angle structs for yaw and pitch */ int16_t last_radius_idx; /* last frame index of coded radius */ Loading @@ -78,6 +78,13 @@ typedef struct #ifdef FIX_435_ISM_MERGE_BUG float last_true_radius; /* last true Q radius value */ #endif #ifdef FIX_356_ISM_METADATA_SYNC float prev_azimuth; float prev_elevation; float prev_radius; float prev_yaw; float prev_pitch; #endif } ISM_METADATA_FRAME, *ISM_METADATA_HANDLE; Loading lib_dec/ivas_ism_metadata_dec.c +16 −1 Original line number Diff line number Diff line Loading @@ -244,6 +244,14 @@ ivas_error ivas_ism_metadata_dec( /* Read ISM present flags (one per object) */ for ( ch = 0; ch < *nchan_transport; ch++ ) { #ifdef FIX_356_ISM_METADATA_SYNC hIsmMeta[ch]->prev_azimuth = hIsmMeta[ch]->azimuth; hIsmMeta[ch]->prev_elevation = hIsmMeta[ch]->elevation; hIsmMeta[ch]->prev_radius = hIsmMeta[ch]->radius; hIsmMeta[ch]->prev_yaw = hIsmMeta[ch]->yaw; hIsmMeta[ch]->prev_pitch = hIsmMeta[ch]->pitch; #endif ism_imp[ch] = get_next_indice( st0, ISM_METADATA_FLAG_BITS ); if ( ism_imp[ch] > ISM_NO_META ) Loading Loading @@ -548,7 +556,14 @@ ivas_error ivas_ism_metadata_dec_create( st_ivas->hIsmMetaData[ch]->last_true_azimuth = 0; st_ivas->hIsmMetaData[ch]->last_true_elevation = 0; #ifdef FIX_356_ISM_METADATA_SYNC // st_ivas->hIsmMetaData[ch]->last_true_radius = 1.0f; st_ivas->hIsmMetaData[ch]->prev_azimuth = 0.0f; st_ivas->hIsmMetaData[ch]->prev_elevation = 0.0f; st_ivas->hIsmMetaData[ch]->prev_radius = 1.0f; st_ivas->hIsmMetaData[ch]->prev_yaw = 0.0f; st_ivas->hIsmMetaData[ch]->prev_pitch = 0.0f; #endif ivas_ism_reset_metadata( st_ivas->hIsmMetaData[ch] ); } Loading lib_dec/ivas_objectRenderer_internal.c +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ ivas_error ivas_td_binaural_renderer( st_ivas->transport_config, st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format, #ifdef FIX_356_ISM_METADATA_SYNC st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_delay_comp, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_delay_comp, st_ivas->hRenderConfig->directivity, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, #else st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, #endif Loading Loading
apps/decoder.c +1 −1 Original line number Diff line number Diff line Loading @@ -1583,7 +1583,6 @@ static ivas_error decodeG192( } } /* Write current frame */ if ( decodedGoodFrame ) { Loading Loading @@ -1669,6 +1668,7 @@ static ivas_error decodeG192( *------------------------------------------------------------------------------------------*/ memset( pcmBuf, 0, delayNumSamples_orig[0] * nOutChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, delayNumSamples_orig[0] * nOutChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError writing output file: %s\n", ivas_error_to_string( error ) ); Loading
lib_com/delay_comp.c +12 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,12 @@ int32_t get_delay( { delay = 0; /* All delay is compensated in the decoder with MASA */ } #ifdef FIX_356_ISM_METADATA_SYNC if (ivas_format == ISM_FORMAT) { delay = 0; /* All delay is compensated in the decoder with ISM */ } #endif } if ( ivas_format == SBA_FORMAT ) Loading Loading @@ -109,6 +115,12 @@ int32_t get_delay( { delay += IVAS_ENC_DELAY_NS; /* Compensate also the encoder delay in the decoder with MASA */ } #ifdef FIX_356_ISM_METADATA_SYNC if (ivas_format == ISM_FORMAT) { delay += IVAS_ENC_DELAY_NS; /* Compensate also the encoder delay in the decoder with ISM */ } #endif } } Loading
lib_com/ivas_stat_com.h +11 −4 Original line number Diff line number Diff line Loading @@ -57,10 +57,10 @@ typedef struct int16_t last_ism_metadata_flag; /* last frame ism_metadata_flag */ float azimuth; /* azimuth value read from the input metadata file */ float elevation; /* azimuth value read from the input metadata file */ float radius; float yaw; /* azimuth orientation value read from the input metadata file */ float pitch; /* elevation orientation value read from the input metadata file */ float elevation; /* elevation value read from the input metadata file */ float radius; /* radius value read from the input metadata file */ float yaw; /* yaw value read from the input metadata file */ float pitch; /* pitch value read from the input metadata file */ ISM_METADATA_ANGLE position_angle; /* Angle structs for azimuth and elevation */ ISM_METADATA_ANGLE orientation_angle; /* Angle structs for yaw and pitch */ int16_t last_radius_idx; /* last frame index of coded radius */ Loading @@ -78,6 +78,13 @@ typedef struct #ifdef FIX_435_ISM_MERGE_BUG float last_true_radius; /* last true Q radius value */ #endif #ifdef FIX_356_ISM_METADATA_SYNC float prev_azimuth; float prev_elevation; float prev_radius; float prev_yaw; float prev_pitch; #endif } ISM_METADATA_FRAME, *ISM_METADATA_HANDLE; Loading
lib_dec/ivas_ism_metadata_dec.c +16 −1 Original line number Diff line number Diff line Loading @@ -244,6 +244,14 @@ ivas_error ivas_ism_metadata_dec( /* Read ISM present flags (one per object) */ for ( ch = 0; ch < *nchan_transport; ch++ ) { #ifdef FIX_356_ISM_METADATA_SYNC hIsmMeta[ch]->prev_azimuth = hIsmMeta[ch]->azimuth; hIsmMeta[ch]->prev_elevation = hIsmMeta[ch]->elevation; hIsmMeta[ch]->prev_radius = hIsmMeta[ch]->radius; hIsmMeta[ch]->prev_yaw = hIsmMeta[ch]->yaw; hIsmMeta[ch]->prev_pitch = hIsmMeta[ch]->pitch; #endif ism_imp[ch] = get_next_indice( st0, ISM_METADATA_FLAG_BITS ); if ( ism_imp[ch] > ISM_NO_META ) Loading Loading @@ -548,7 +556,14 @@ ivas_error ivas_ism_metadata_dec_create( st_ivas->hIsmMetaData[ch]->last_true_azimuth = 0; st_ivas->hIsmMetaData[ch]->last_true_elevation = 0; #ifdef FIX_356_ISM_METADATA_SYNC // st_ivas->hIsmMetaData[ch]->last_true_radius = 1.0f; st_ivas->hIsmMetaData[ch]->prev_azimuth = 0.0f; st_ivas->hIsmMetaData[ch]->prev_elevation = 0.0f; st_ivas->hIsmMetaData[ch]->prev_radius = 1.0f; st_ivas->hIsmMetaData[ch]->prev_yaw = 0.0f; st_ivas->hIsmMetaData[ch]->prev_pitch = 0.0f; #endif ivas_ism_reset_metadata( st_ivas->hIsmMetaData[ch] ); } Loading
lib_dec/ivas_objectRenderer_internal.c +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ ivas_error ivas_td_binaural_renderer( st_ivas->transport_config, st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format, #ifdef FIX_356_ISM_METADATA_SYNC st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_delay_comp, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_delay_comp, st_ivas->hRenderConfig->directivity, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, #else st_ivas->hIsmMetaData, st_ivas->hDecoderConfig->Opt_Headrotation, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->Quaternions : NULL, #endif Loading