From ffca3ff61e17128a38939ed569cb02791be29b38 Mon Sep 17 00:00:00 2001 From: vaclav Date: Tue, 21 Oct 2025 09:39:36 +0200 Subject: [PATCH] port NONBE_FIX_1255_OBJ_EDIT_JBM --- apps/decoder.c | 28 +++++++++++++++++++++++----- lib_com/options.h | 1 + lib_dec/lib_dec_fx.c | 8 +++++++- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 049b000f0..d5ef6b1ae 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -2812,7 +2812,7 @@ static ivas_error decodeVoIP( int16_t nOutSamples = 0; bool bitstreamReadDone = false; #ifdef OBJ_EDITING_API - bool parameterAvailableForEditing = false; + bool parametersAvailableForEditing = false; #endif uint16_t nSamplesRendered; @@ -3046,7 +3046,11 @@ static ivas_error decodeVoIP( } #ifdef FIX_1217_OBJECT_EDIT_FILE_INTERFACE +#ifdef NONBE_FIX_1255_OBJ_EDIT_JBM + if ( arg.objEditEnabled && arg.objEditFileName != NULL && vec_pos_update == 0 ) +#else if ( arg.objEditEnabled && ( arg.objEditFileName != NULL ) ) +#endif { if ( ( error = ObjectEditFileReader_readNextFrame( objectEditFileReader ) ) != IVAS_ERR_OK ) { @@ -3111,13 +3115,13 @@ static ivas_error decodeVoIP( { #ifdef SUPPORT_JBM_TRACEFILE #ifdef OBJ_EDITING_API - if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, systemTime_ms ) ) != IVAS_ERR_OK ) #endif #else #ifdef OBJ_EDITING_API - if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, &bitstreamReadDone, ¶meterAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, &bitstreamReadDone, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, &bitstreamReadDone, systemTime_ms ) ) != IVAS_ERR_OK ) #endif @@ -3153,7 +3157,7 @@ static ivas_error decodeVoIP( #ifdef OBJ_EDITING_API /* Object metadata editing */ - if ( arg.objEditEnabled && parameterAvailableForEditing == true ) + if ( arg.objEditEnabled && parametersAvailableForEditing == true ) { IVAS_EDITABLE_PARAMETERS editableParameters; @@ -3304,11 +3308,15 @@ static ivas_error decodeVoIP( } } +#ifdef NONBE_FIX_1255_OBJ_EDIT_JBM + vec_pos_update = ( vec_pos_update + 1 ) % vec_pos_len; +#else // frame++; if ( !arg.quietModeEnabled ) { fprintf( stdout, "%-8d\b\b\b\b\b\b\b\b", frame ); } +#endif vec_pos_update = ( vec_pos_update + 1 ) % vec_pos_len; frame++; if ( vec_pos_update == 0 ) @@ -3316,13 +3324,23 @@ static ivas_error decodeVoIP( systemTime_ms += vec_pos_len * systemTimeInc_ms; } +#ifdef NONBE_FIX_1255_OBJ_EDIT_JBM + if ( vec_pos_update == 0 ) + { + frame++; + if ( !arg.quietModeEnabled ) + { + fprintf( stdout, "%-8d\b\b\b\b\b\b\b\b", frame ); + } + } +#endif + #ifdef WMOPS update_mem(); update_wmops(); #endif } - int16_t nSamplesFlushed = 0; /* decode and get samples */ diff --git a/lib_com/options.h b/lib_com/options.h index 53ed5eb38..a6ba3a9cf 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -142,6 +142,7 @@ #endif #define FIX_1217_OBJECT_EDIT_FILE_INTERFACE /* Nokia: issue #1217: add decoder functionality to read object edit instructions from a file */ #define NONBE_1217_OBJ_EDIT_FOA /* VA/Nokia: isse 1217: fix crash in object editing to FOA output in ParamISM */ +#define NONBE_FIX_1255_OBJ_EDIT_JBM /* VA: issue 1255: restore object editing in JBM */ /* #################### End BASOP porting switches ############################ */ diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c index 091c2779d..653d9adba 100644 --- a/lib_dec/lib_dec_fx.c +++ b/lib_dec/lib_dec_fx.c @@ -5023,7 +5023,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #endif move16(); } - +#ifndef NONBE_FIX_1255_OBJ_EDIT_JBM #ifdef OBJ_EDITING_API IF( hIvasDec->hasBeenFedFirstGoodFrame ) { @@ -5032,6 +5032,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( return IVAS_ERR_OK; } +#endif #endif } @@ -5081,6 +5082,11 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #endif *bitstreamReadDone = false; move16(); +#ifdef NONBE_FIX_1255_OBJ_EDIT_JBM + *parametersAvailableForEditing = true; + move16(); + return IVAS_ERR_OK; +#endif } } -- GitLab