From 93859eb22812cb0b45be37a985feedc030973fbc Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 17:06:46 +0200 Subject: [PATCH 1/8] [cleanup] accept FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN --- lib_com/options.h | 1 - lib_dec/ivas_svd_dec.c | 50 ------------------------------------------ 2 files changed, 51 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index bc8a6178e..3d273a726 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -162,7 +162,6 @@ #define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */ #define NONBE_1122_KEEP_EVS_MODE_UNCHANGED /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR. */ #define FIX_FLOAT_1539_G192_FORMAT_SWITCH /* Nokia: reintroduce format switching for g192 bitstreams */ -#define FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN /* FhG: float issue 1560: Avoid optimizing the division on the result of maxWithSign() with -funsafe-math-optimizations */ #define FIX_2095_REMOVE_UNUSED_ISAR_TABLES /* Dolby: remove unused ISAR */ #define FIX_FLOAT_1582_STEREO_DFT_QUANTIZE_ITD /* FhG: float issue 1582: Remove unncessary statement from stereo_dft_quantize_itd() */ #define FIX_1585_ASAN_FORMAT_SW_ALT /* VA: float issue 1585: alternative fix memory leaks with format switching */ diff --git a/lib_dec/ivas_svd_dec.c b/lib_dec/ivas_svd_dec.c index 409971529..a11022a7e 100644 --- a/lib_dec/ivas_svd_dec.c +++ b/lib_dec/ivas_svd_dec.c @@ -272,12 +272,8 @@ static int16_t BidagonalDiagonalisation( ) { int16_t kCh, nCh, iCh, jCh, split; -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN volatile float c, s; float f1, f2; -#else - float c, s, f1, f2; -#endif float g = 0.0f; int16_t convergence, iteration, found_split; int16_t error = 0; @@ -390,14 +386,8 @@ static void ApplyQRTransform( ) { int16_t ch, split; -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN float d = 0.0f, g = 0.0f, r = 0.0f, x_ii = 0.0f, x_split = 0.0f, x_kk = 0.0f, aux = 0.0f; volatile float mu = 0.0f, c = 1.0f, s = 1.0f; -#else - float d = 0.0f, g = 0.0f, r = 0.0f, x_ii = 0.0f, x_split = 0.0f, x_kk = 0.0f, mu = 0.0f, aux = 0.0f; - float c = 1.0f; - float s = 1.0f; -#endif x_kk = singularValues[currentIndex]; x_ii = singularValues[startIndex]; @@ -535,20 +525,12 @@ static void biDiagonalReductionLeft( float *g ) { int16_t iCh, jCh; -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN volatile float norm_x, r; volatile float f; volatile float g_loc; -#else - float norm_x, f, r; -#endif /* Setting values to 0 */ -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN g_loc = 0.0f; -#else - ( *g ) = 0.0f; -#endif if ( currChannel < nChannelsL ) /* i <= m */ { @@ -561,15 +543,9 @@ static void biDiagonalReductionLeft( if ( ( norm_x ) ) /*(fabsf(*sig_x) > EPSILON * fabsf(*sig_x)) { */ { -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN g_loc = -( singularVectors[currChannel][currChannel] >= 0 ? 1 : ( -1 ) ) * sqrtf( norm_x ); r = g_loc * singularVectors[currChannel][currChannel] - norm_x; singularVectors[currChannel][currChannel] = ( singularVectors[currChannel][currChannel] - g_loc ); -#else - ( *g ) = -( singularVectors[currChannel][currChannel] >= 0 ? 1 : ( -1 ) ) * sqrtf( norm_x ); - r = ( *g ) * singularVectors[currChannel][currChannel] - norm_x; - singularVectors[currChannel][currChannel] = ( singularVectors[currChannel][currChannel] - ( *g ) ); -#endif for ( iCh = currChannel + 1; iCh < nChannelsC; iCh++ ) /* nChannelsC */ { @@ -590,9 +566,7 @@ static void biDiagonalReductionLeft( } } -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN *g = g_loc; -#endif return; } @@ -612,19 +586,11 @@ static void biDiagonalReductionRight( float *g ) { int16_t iCh, jCh, idx; -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN volatile float norm_x, r; volatile float g_loc; -#else - float norm_x, r; -#endif /* Setting values to 0 */ -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN g_loc = 0.0f; -#else - ( *g ) = 0.0f; -#endif if ( currChannel < nChannelsL && currChannel != ( nChannelsC - 1 ) ) /* i <=m && i !=n */ { @@ -639,15 +605,9 @@ static void biDiagonalReductionRight( if ( norm_x ) /*(fabsf(*sig_x) > EPSILON * fabsf(*sig_x)) { */ { -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN g_loc = -( singularVectors[currChannel][idx] >= 0 ? 1 : ( -1 ) ) * sqrtf( norm_x ); r = g_loc * singularVectors[currChannel][idx] - norm_x; singularVectors[currChannel][idx] = ( singularVectors[currChannel][idx] - g_loc ); -#else - ( *g ) = -( singularVectors[currChannel][idx] >= 0 ? 1 : ( -1 ) ) * sqrtf( norm_x ); - r = ( *g ) * singularVectors[currChannel][idx] - norm_x; - singularVectors[currChannel][idx] = ( singularVectors[currChannel][idx] - ( *g ) ); -#endif for ( iCh = currChannel + 1; iCh < nChannelsL; iCh++ ) /* nChannelsL */ { @@ -665,9 +625,7 @@ static void biDiagonalReductionRight( } } -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN *g = g_loc; -#endif return; } @@ -687,12 +645,8 @@ static void singularVectorsAccumulationLeft( { int16_t nCh, iCh, k; int16_t nChannels; -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN float norm_y; volatile float t_jj, t_ii; -#else - float norm_y, t_jj, t_ii; -#endif /* Processing */ nChannels = min( nChannelsL, nChannelsC ); /* min(nChannelsL,ChannelsC) */ @@ -760,12 +714,8 @@ static void singularVectorsAccumulationRight( { int16_t nCh, iCh, k; int16_t nChannels; -#ifdef FIX_FLOAT_1560_SVD_NO_OPT_MAX_W_SIGN float norm_y, t_ii; volatile float ratio; -#else - float norm_y, t_ii, ratio; -#endif /* Processing */ nChannels = nChannelsC; /* nChannelsC */ -- GitLab From fc0fdd845474bc30cf869a7238b4e1a6bba48cc4 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 17:07:44 +0200 Subject: [PATCH 2/8] [cleanup] accept USE_RTPDUMP --- lib_com/options.h | 1 - lib_util/ivas_rtp_file.c | 55 ---------------------------------------- lib_util/rtpdump.c | 2 -- lib_util/rtpdump.h | 2 -- 4 files changed, 60 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 3d273a726..473817fdb 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -172,7 +172,6 @@ /* #################### Start NON-BE switches ############################ */ /* any switch which is non-be wrt. TS 26.258 V3.0 */ -#define USE_RTPDUMP /* FhG: RTPDUMP format (rtptools standard) instead of custom format */ #define FIX_1521_SBA_LOUDNESS_STEREO /* FhG: issue 1521: Fix loudness for SBA to stereo rendering */ #define FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API /* Expose Payload Type setting in RTP Header */ #define FIX_2500_RENDCONF_REFACTOR /* Eri: Basop issue #2500: Renderer configuration range check before conversion to fixed point. Harmonize between BASOP/float */ diff --git a/lib_util/ivas_rtp_file.c b/lib_util/ivas_rtp_file.c index 969e205d8..d911f4fde 100644 --- a/lib_util/ivas_rtp_file.c +++ b/lib_util/ivas_rtp_file.c @@ -36,7 +36,6 @@ #include // bool type #include "ivas_rtp_file.h" #include "ivas_error_utils.h" -#ifdef USE_RTPDUMP #include "rtpdump.h" struct IVAS_RTP_FILE @@ -46,13 +45,6 @@ struct IVAS_RTP_FILE uint32_t offset_ms; }; -#else // USE_RTPDUMP -struct IVAS_RTP_FILE -{ - bool isFileWriter; - FILE *f_rtpstream; -}; -#endif // USE_RTPDUMP static ivas_error IvasRtpFile_Open( const char *filePath, /* i : path to CA config file */ @@ -60,7 +52,6 @@ static ivas_error IvasRtpFile_Open( IVAS_RTP_FILE_HANDLE *phRtpFile /* o : pointer to an IVAS file reader handle */ ) { -#ifdef USE_RTPDUMP RTPDUMP_HANDLE f_rtpstream; RTPDUMP_ERROR rderr; if ( isFileWriter ) @@ -75,17 +66,6 @@ static ivas_error IvasRtpFile_Open( { return IVAS_ERROR( IVAS_ERR_FAILED_FILE_OPEN, "rtpdump open error %d", rderr ); } -#else // USE_RTPDUMP - FILE *f_rtpstream; - char *mode = isFileWriter ? "wb" : "rb"; - - f_rtpstream = fopen( filePath, mode ); - if ( f_rtpstream == NULL ) - { - return IVAS_ERROR( IVAS_ERR_FAILED_FILE_OPEN, "could not open: %s\n", filePath ); - } - -#endif // USE_RTPDUMP *phRtpFile = calloc( 1, sizeof( struct IVAS_RTP_FILE ) ); if ( *phRtpFile != NULL ) { @@ -104,11 +84,7 @@ static ivas_error IvasRtpFile_Close( { if ( ( *phReader )->f_rtpstream != NULL ) { -#ifdef USE_RTPDUMP RTPDUMP_Close( &( *phReader )->f_rtpstream, 1 ); -#else // USE_RTPDUMP - fclose( ( *phReader )->f_rtpstream ); -#endif // USE_RTPDUMP ( *phReader )->f_rtpstream = NULL; } free( *phReader ); @@ -126,7 +102,6 @@ static ivas_error IvasRtpFile_Write( ivas_error error = IVAS_ERR_OK; if ( hRtpFile->isFileWriter ) { -#ifdef USE_RTPDUMP RTPDUMP_RTPPACKET pkt; RTPDUMP_SetDefaultRtpPacketHeader( &pkt ); numBytes = ( numBytes > sizeof( pkt.data ) ) ? sizeof( pkt.data ) : numBytes; @@ -135,11 +110,6 @@ static ivas_error IvasRtpFile_Write( pkt.payloadSize = (unsigned short) ( numBytes - pkt.headerSize ); /* compute time offset in ms from RTP timestamp (16kHz clock) */ error = ( RTPDUMP_WritePacket( hRtpFile->f_rtpstream, &pkt, pkt.timeStamp / 16 ) != RTPDUMP_NO_ERROR ) ? IVAS_ERR_FAILED_FILE_WRITE : IVAS_ERR_OK; -#else // USE_RTPDUMP - uint32_t length = (uint32_t) numBytes; /* Max packet length is < 32 bits*/ - fwrite( &length, sizeof( uint32_t ), 1, hRtpFile->f_rtpstream ); - fwrite( packet, sizeof( uint8_t ), numBytes, hRtpFile->f_rtpstream ); -#endif // USE_RTPDUMP } else { @@ -156,15 +126,11 @@ static ivas_error IvasRtpFile_Read( ) { size_t nread = 0; -#ifndef USE_RTPDUMP - uint32_t length = 0; -#endif // USE_RTPDUMP if ( hRtpFile->isFileWriter ) { return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "File open for writing cannot be read" ); } -#ifdef USE_RTPDUMP RTPDUMP_RTPPACKET pd; RTPDUMP_ERROR rderr = RTPDUMP_ReadPacket( hRtpFile->f_rtpstream, &pd, &hRtpFile->offset_ms ); if ( rderr == RTPDUMP_READ_ENDOFFILE ) @@ -184,27 +150,6 @@ static ivas_error IvasRtpFile_Read( } memcpy( packet, pd.data, nread ); *numBytes = nread; -#else // USE_RTPDUMP - nread = fread( &length, sizeof( uint32_t ), 1, hRtpFile->f_rtpstream ); /* Read Packet Length */ - if ( nread == 0 ) - { - return IVAS_ERR_END_OF_FILE; - } - - *numBytes = length; - if ( ( *numBytes ) > capacity ) - { - fprintf( stderr, "RTP packet > buffer capacity %lu bytes\n", capacity ); - return IVAS_ERR_INVALID_OUTPUT_BUFFER_SIZE; - } - - nread = fread( packet, sizeof( uint8_t ), ( *numBytes ), hRtpFile->f_rtpstream ); /* Read Packet */ - if ( nread < ( *numBytes ) ) - { - return IVAS_ERR_END_OF_FILE; - } - -#endif // USE_RTPDUMP return IVAS_ERR_OK; } diff --git a/lib_util/rtpdump.c b/lib_util/rtpdump.c index 4e6b2e58d..786b4eb2a 100644 --- a/lib_util/rtpdump.c +++ b/lib_util/rtpdump.c @@ -281,7 +281,6 @@ RTPDUMP_OpenForWriting( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ) return RTPDUMP_NO_ERROR; } -#ifdef USE_RTPDUMP RTPDUMP_ERROR RTPDUMP_SetHeaderInfo( RTPDUMP_HANDLE hRTPDUMP, uint32_t source, @@ -352,7 +351,6 @@ RTPDUMP_GetHeaderInfo( RTPDUMP_HANDLE hRTPDUMP, return RTPDUMP_NO_ERROR; } -#endif RTPDUMP_ERROR RTPDUMP_ReadPacket( RTPDUMP_HANDLE hRTPDUMP, diff --git a/lib_util/rtpdump.h b/lib_util/rtpdump.h index 4264ed03c..ec9c37a64 100644 --- a/lib_util/rtpdump.h +++ b/lib_util/rtpdump.h @@ -85,7 +85,6 @@ extern "C" RTPDUMP_ERROR RTPDUMP_OpenForWriting( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ); -#ifdef USE_RTPDUMP RTPDUMP_ERROR RTPDUMP_SetHeaderInfo( RTPDUMP_HANDLE hRTPDUMP, uint32_t source, @@ -99,7 +98,6 @@ extern "C" uint16_t *port, uint32_t *startSeconds, uint32_t *startMicroSeconds ); -#endif RTPDUMP_ERROR RTPDUMP_ReadPacket( RTPDUMP_HANDLE hRTPDUMP, -- GitLab From e49c4306bb938f0306c12106fd18cc24f5987b43 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 17:08:26 +0200 Subject: [PATCH 3/8] [cleanup] accept FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API --- apps/decoder.c | 6 ------ apps/encoder.c | 6 ------ lib_com/common_api_types.h | 2 -- lib_com/options.h | 1 - lib_util/ivas_rtp_api.h | 13 ------------- lib_util/ivas_rtp_file.c | 14 -------------- lib_util/ivas_rtp_file.h | 4 ---- lib_util/ivas_rtp_payload.c | 15 --------------- 8 files changed, 61 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 71933ddeb..e226ba245 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1991,9 +1991,7 @@ static ivas_error initOnFirstGoodFrame( uint16_t rtpDecSeed = RANDOM_INITSEED_DEC; uint32_t ssrc = ( (uint32_t) IVAS_RTP_OwnRandom( &rtpDecSeed ) & 0x0000FFFF ) | ( (uint32_t) IVAS_RTP_OwnRandom( &rtpDecSeed ) << 16 ); uint16_t seqNumInitVal = IVAS_RTP_OwnRandom( &rtpDecSeed ); -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API uint8_t payloadType = DEFAULT_IVAS_PAYLOAD_TYPE; /* Dynamic PT are in range [96, 127] */ -#endif if ( ( error = IVAS_DEC_GetDelay( hIvasDec, delayNumSamples_temp, &delayTimeScale_temp ) ) != IVAS_ERR_OK ) { @@ -2030,11 +2028,7 @@ static ivas_error initOnFirstGoodFrame( /* Split Rendering RTPDump Output file */ -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API if ( ( error = IVAS_RTP_WRITER_Init( srRtp, arg.outputWavFilename, 1000 / ( IVAS_NUM_FRAMES_PER_SEC * splitRendCodecFrameSizeMs ), payloadType, ssrc, seqNumInitVal ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_RTP_WRITER_Init( srRtp, arg.outputWavFilename, 1000 / ( IVAS_NUM_FRAMES_PER_SEC * splitRendCodecFrameSizeMs ), ssrc, seqNumInitVal ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError: Can't open SR output bitstream file for RTP output %s \n\n", arg.outputWavFilename ); return error; diff --git a/apps/encoder.c b/apps/encoder.c index 592edb557..7e03d18bc 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -233,9 +233,7 @@ int main( uint16_t rtpEncSeed = RANDOM_INITSEED_ENC; uint32_t ssrc = ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) & 0x0000FFFF ) | ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) << 16 ); uint16_t seqNumInitVal = IVAS_RTP_OwnRandom( &rtpEncSeed ); -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API uint8_t payloadType = DEFAULT_IVAS_PAYLOAD_TYPE; /* Dynamic PT are in range [96, 127] */ -#endif /*------------------------------------------------------------------------------------------* * Parse command-line arguments @@ -651,11 +649,7 @@ int main( if ( arg.rtpdumpOutput ) { -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API if ( ( error = IVAS_RTP_WRITER_Init( &ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket, payloadType, ssrc, seqNumInitVal ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_RTP_WRITER_Init( &ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket, ssrc, seqNumInitVal ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError: Can't open output bitstream file for RTP output %s \n\n", arg.outputBitstreamFilename ); goto cleanup; diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index 1e88b7fd5..cbf7af998 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -70,10 +70,8 @@ #define IVAS_TIME_SCALE_MIN 50 /* min. time-scaling [%] */ #define IVAS_TIME_SCALE_MAX 150 /* max. time-scaling [%] */ -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API /* RTP constants */ #define DEFAULT_IVAS_PAYLOAD_TYPE ( 96 ) -#endif /*----------------------------------------------------------------------------------* * Common API enum for output audio configurations diff --git a/lib_com/options.h b/lib_com/options.h index 473817fdb..c7823567d 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -173,7 +173,6 @@ /* any switch which is non-be wrt. TS 26.258 V3.0 */ #define FIX_1521_SBA_LOUDNESS_STEREO /* FhG: issue 1521: Fix loudness for SBA to stereo rendering */ -#define FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API /* Expose Payload Type setting in RTP Header */ #define FIX_2500_RENDCONF_REFACTOR /* Eri: Basop issue #2500: Renderer configuration range check before conversion to fixed point. Harmonize between BASOP/float */ #define FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Eri: Basop issue 2023: Distance attenuation scaling, synch with BASOP updates and adding clamping of distance att input and listener position */ #define FIX_1574_EFAP_CODE_LINT /* FhG: issue 1574: Code quality fixes in ivas_efap.c */ diff --git a/lib_util/ivas_rtp_api.h b/lib_util/ivas_rtp_api.h index 98e65c033..c40a512ed 100644 --- a/lib_util/ivas_rtp_api.h +++ b/lib_util/ivas_rtp_api.h @@ -306,7 +306,6 @@ void IVAS_RTP_PACK_Close( ); /* Update the RTP Header structure */ -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API ivas_error IVAS_RTP_PACK_UpdateHeader( IVAS_RTP_PACK_HANDLE hIvasPack, /* i/o: pointer to an IVAS rtp packer handle to be opened */ uint8_t payloadType, /* i : 7-bit payload type indication, negotiated via sdp */ @@ -318,18 +317,6 @@ ivas_error IVAS_RTP_PACK_UpdateHeader( uint16_t numExtensionBytes, /* i : length of the extension data */ uint8_t *extData /* i : extension data pointer */ ); -#else -ivas_error IVAS_RTP_PACK_UpdateHeader( - IVAS_RTP_PACK_HANDLE hIvasPack, /* i/o: pointer to an IVAS rtp packer handle to be opened */ - uint16_t seqNumInitVal, /* i : Initial sequence number to be used for 1st packet */ - uint32_t ssrc, /* i : Unique 32-bit Source ID as negotiated during SDP */ - uint8_t numCC, /* i : numCC indicates no. of contributing sources */ - uint32_t *csrc, /* i : SSRCs of contributing Sources for a mixed stream */ - uint16_t extHeaderId, /* i : extension header ID */ - uint16_t numExtensionBytes, /* i : length of the extension data */ - uint8_t *extData /* i : extension data pointer */ -); -#endif /* Add requests for remote sender using a key value pair api * each key must be provided with a corresponding value type diff --git a/lib_util/ivas_rtp_file.c b/lib_util/ivas_rtp_file.c index d911f4fde..eb85a7e7f 100644 --- a/lib_util/ivas_rtp_file.c +++ b/lib_util/ivas_rtp_file.c @@ -829,7 +829,6 @@ void IVAS_RTP_Term( } } -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API ivas_error IVAS_RTP_WRITER_Init( IVAS_RTP *rtp, /* i/o : IVAS RTP File writer handle */ const char *outputBitstreamFilename, /* i : RTP Dump filename */ @@ -838,15 +837,6 @@ ivas_error IVAS_RTP_WRITER_Init( uint32_t SSRC, /* i : SSRC for RTP Header */ uint16_t seqNumInitVal /* i : Initial seq number in rtp header */ ) -#else -ivas_error IVAS_RTP_WRITER_Init( - IVAS_RTP *rtp, /* i/o : IVAS RTP File writer handle */ - const char *outputBitstreamFilename, /* i : RTP Dump filename */ - uint32_t numFramesPerPacket, /* i : No. of frames per packet desired */ - uint32_t SSRC, /* i : SSRC for RTP Header */ - uint16_t seqNumInitVal /* i : Initial seq number in rtp header */ -) -#endif { ivas_error error = IVAS_ERR_OK; @@ -867,11 +857,7 @@ ivas_error IVAS_RTP_WRITER_Init( } /* initialize RTP packer header sequence only in file-based mode */ -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API error = IVAS_RTP_PACK_UpdateHeader( rtp->hPack, payloadType, seqNumInitVal, SSRC, 0, NULL, 0, 0, NULL ); -#else - error = IVAS_RTP_PACK_UpdateHeader( rtp->hPack, seqNumInitVal, SSRC, 0, NULL, 0, 0, NULL ); -#endif if ( error != IVAS_ERR_OK ) { fprintf( stderr, "error in IVAS_RTP_PACK_UpdateHeader(): %d\n", error ); diff --git a/lib_util/ivas_rtp_file.h b/lib_util/ivas_rtp_file.h index cb7dd26ec..0c2b08081 100644 --- a/lib_util/ivas_rtp_file.h +++ b/lib_util/ivas_rtp_file.h @@ -69,11 +69,7 @@ typedef struct IVAS_RTP_SR_INFO srInfo; } IVAS_RTP; -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API ivas_error IVAS_RTP_WRITER_Init( IVAS_RTP *rtp, const char *outputBitstreamFilename, uint32_t numFramesPerPacket, uint8_t payloadType, uint32_t SSRC, uint16_t seqNumInitVal ); -#else -ivas_error IVAS_RTP_WRITER_Init( IVAS_RTP *rtp, const char *outputBitstreamFilename, uint32_t numFramesPerPacket, uint32_t SSRC, uint16_t seqNumInitVal ); -#endif ivas_error IVAS_RTP_READER_Init( IVAS_RTP *rtp, const char *inputBitstreamFilename, const char *piOutputFilename, bool isExtOutput, const char *outputWavFilename ); void IVAS_RTP_Term( IVAS_RTP *rtp ); ivas_error IVAS_RTP_WriteNextFrame( IVAS_RTP *rtp, uint8_t *au, const IVAS_RTP_SR_INFO *srInfo, int16_t auSizeBits, bool isMono, bool forcePacket ); diff --git a/lib_util/ivas_rtp_payload.c b/lib_util/ivas_rtp_payload.c index 7b8a3c7e6..4184a0cbe 100644 --- a/lib_util/ivas_rtp_payload.c +++ b/lib_util/ivas_rtp_payload.c @@ -174,7 +174,6 @@ static const uint32_t amrWBIOFrameSizeInBits[] = { /* Update the RTP Header structure */ -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API ivas_error IVAS_RTP_PACK_UpdateHeader( IVAS_RTP_PACK_HANDLE hPack, /* i/o: pointer to an IVAS rtp packer handle to be opened */ uint8_t payloadType, /* i : 7-bit payload type indication, negotiated via sdp */ @@ -186,18 +185,6 @@ ivas_error IVAS_RTP_PACK_UpdateHeader( uint16_t numExtensionBytes, /* i : length of the extension data */ uint8_t *extData /* i : extension data pointer */ ) -#else -ivas_error IVAS_RTP_PACK_UpdateHeader( - IVAS_RTP_PACK_HANDLE hPack, /* i/o: pointer to an IVAS rtp packer handle to be opened */ - uint16_t seqNumInitVal, /* i : Initial sequence number to be used for 1st packet */ - uint32_t ssrc, /* i : Unique 32-bit Source ID as negotiated during SDP */ - uint8_t numCC, /* i : numCC indicates no. of contributing sources */ - uint32_t *csrc, /* i : SSRCs of contributing Sources for a mixed stream */ - uint16_t extHeaderId, /* i : extension header ID */ - uint16_t numExtensionBytes, /* i : length of the extension data */ - uint8_t *extData /* i : extension data pointer */ -) -#endif { RTP_HEADER *header = &hPack->header; @@ -206,9 +193,7 @@ ivas_error IVAS_RTP_PACK_UpdateHeader( return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "CC must be less than 16" ); } -#ifdef FIX_1540_EXPOSE_PT_IN_RTP_HEADER_API header->payloadType = payloadType; -#endif header->seqNumber = seqNumInitVal; header->ssrc = ssrc; header->CC = numCC; -- GitLab From 7977fbe605a4a5327a0997baa50cbc7e88fb87e1 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 17:09:13 +0200 Subject: [PATCH 4/8] [cleanup] accept FIX_1574_EFAP_CODE_LINT --- lib_com/options.h | 1 - lib_rend/ivas_allrad_dec.c | 2 - lib_rend/ivas_efap.c | 76 -------------------------------------- 3 files changed, 79 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index c7823567d..ac03cbfe6 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,7 +175,6 @@ #define FIX_1521_SBA_LOUDNESS_STEREO /* FhG: issue 1521: Fix loudness for SBA to stereo rendering */ #define FIX_2500_RENDCONF_REFACTOR /* Eri: Basop issue #2500: Renderer configuration range check before conversion to fixed point. Harmonize between BASOP/float */ #define FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Eri: Basop issue 2023: Distance attenuation scaling, synch with BASOP updates and adding clamping of distance att input and listener position */ -#define FIX_1574_EFAP_CODE_LINT /* FhG: issue 1574: Code quality fixes in ivas_efap.c */ #define FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS /* Nokia: float issue 1569: fix render config checks in renderer */ #define FIX_1571_BFI_COPY_ARRAY_CORRECT_LEN /* FhG: issue 1571: use correct channel signal length for copying signal to buffer */ #define FIX_FLOAT_1573_POSITION_UPDATE /* Eri: Float issue 1573: For static orientation and listener movement, the PoseUpdated flag is cleared and prevents 5 ms update rate. */ diff --git a/lib_rend/ivas_allrad_dec.c b/lib_rend/ivas_allrad_dec.c index 5b27c04cb..f24c53415 100644 --- a/lib_rend/ivas_allrad_dec.c +++ b/lib_rend/ivas_allrad_dec.c @@ -144,10 +144,8 @@ ivas_error ivas_sba_get_hoa_dec_matrix( else if ( hOutSetup.is_loudspeaker_setup ) { /* init EFIP */ -#ifdef FIX_1574_EFAP_CODE_LINT /* ensure the handle is NULL before passing, otherwise efap_init_data will think this is allocated memory and return an error */ hEFAP = NULL; -#endif if ( ( error = efap_init_data( &( hEFAP ), hOutSetup.ls_azimuth, hOutSetup.ls_elevation, num_spk, EFAP_MODE_EFIP ) ) != IVAS_ERR_OK ) { return error; diff --git a/lib_rend/ivas_efap.c b/lib_rend/ivas_efap.c index c889957cd..6fd9f03f0 100644 --- a/lib_rend/ivas_efap.c +++ b/lib_rend/ivas_efap.c @@ -39,9 +39,6 @@ #include "ivas_prot.h" #include "ivas_prot_rend.h" #include "ivas_rom_rend.h" -#ifndef FIX_1574_EFAP_CODE_LINT -#include "ivas_stat_dec.h" -#endif #ifdef DEBUGGING #include "debug.h" #endif @@ -54,9 +51,7 @@ #define EFAP_MAX_SIZE_TMP_BUFF 30 #define EFAP_MAX_GHOST_LS 5 /* Maximum number of ghost Loudspeakers, for memory allocation purpose */ #define POLY_THRESH 1e-4f -#ifdef FIX_1574_EFAP_CODE_LINT #define MAX_AZI_GAP ( 1.f / 160.f ) /* Max azimuth tolerance to extend the LS setup in the horizontal plane */ -#endif #ifdef DEBUG_EFAP_POLY_TOFILE #define PANNING_AZI_RESOLUTION 2 #define PANNING_ELE_RESOLUTION 5 @@ -102,11 +97,7 @@ static void get_poly_select( EFAP_POLYSET_DATA *polyData ); * EFAP Utils *-----------------------------------------------------------------------*/ -#ifdef FIX_1574_EFAP_CODE_LINT static void add_vertex( EFAP_VERTEX *vtxArray, const float azi, const float ele, const int16_t pos, const EFAP_VTX_DMX_TYPE dmxType ); -#else -static void add_vertex( EFAP_VERTEX *vtxArray, const float azi, const float ele, const int16_t pos, const EFAP_VTX_DMX_TYPE ); -#endif static void efap_sort_s( int16_t *x, int16_t *idx, const int16_t len ); @@ -128,11 +119,7 @@ static void matrix_times_row( float mat[EFAP_MAX_SIZE_TMP_BUFF][EFAP_MAX_SIZE_TM static void tri_to_poly( const EFAP_VERTEX *vtxArray, const EFAP_LS_TRIANGLE *triArray, const int16_t numVtx, const int16_t numTri, int16_t sortedChan[EFAP_MAX_POLY_SET][EFAP_MAX_CHAN_NUM], int16_t *outLengthPS, int16_t outLengthSorted[EFAP_MAX_POLY_SET] ); -#ifdef FIX_1574_EFAP_CODE_LINT static int16_t compare_poly( int16_t *old_poly, int16_t lenOld, int16_t *new_poly, int16_t lenNew ); -#else -static int16_t compare_poly( int16_t *old, int16_t lenOld, int16_t *new, int16_t lenNew ); -#endif static void sort_channels_vertex( const EFAP_VERTEX *vtxArray, const EFAP_LS_TRIANGLE *triArray, int16_t channels[EFAP_MAX_CHAN_NUM], const int16_t lengthChannels, int16_t idxTri ); @@ -172,7 +159,6 @@ ivas_error efap_init_data( error = IVAS_ERR_OK; /* Basic init checks */ -#ifdef FIX_1574_EFAP_CODE_LINT if ( hEFAPdata == NULL ) { return IVAS_ERROR( IVAS_ERR_UNEXPECTED_NULL_POINTER, "pointer to EFAP handle is NULL" ); @@ -181,12 +167,8 @@ ivas_error efap_init_data( { return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "EFAP handle must be NULL before initialization" ); } -#endif if ( !speaker_node_azi_deg || !speaker_node_ele_deg ) { -#ifndef FIX_1574_EFAP_CODE_LINT - hEFAPdata = NULL; -#endif return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "EFAP requires arrays of speaker azimuths and elevations" ); } @@ -227,21 +209,13 @@ ivas_error efap_init_data( /* Memory allocation for the polyset array */ if ( ( efap->polyData.polysetArray = (EFAP_POLYSET *) malloc( polyset_size * sizeof( EFAP_POLYSET ) ) ) == NULL ) { -#ifdef FIX_1574_EFAP_CODE_LINT return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP polygon array\n" ) ); -#else - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP bufferS\n" ) ); -#endif } /* Memory allocation for the triangle array */ if ( ( efap->polyData.triArray = (EFAP_LS_TRIANGLE *) malloc( polyset_size * sizeof( EFAP_LS_TRIANGLE ) ) ) == NULL ) { -#ifdef FIX_1574_EFAP_CODE_LINT return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP triangle array\n" ) ); -#else - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP bufferS\n" ) ); -#endif } /*-----------------------------------------------------------------* @@ -388,18 +362,10 @@ void efap_free_data( ( *hEFAPdata )->vtxData.vtxOrder = NULL; free( ( *hEFAPdata )->polyData.polysetArray ); -#ifdef FIX_1574_EFAP_CODE_LINT ( *hEFAPdata )->polyData.polysetArray = NULL; -#else - ( *hEFAPdata )->vtxData.vtxOrder = NULL; -#endif free( ( *hEFAPdata )->polyData.triArray ); -#ifdef FIX_1574_EFAP_CODE_LINT ( *hEFAPdata )->polyData.triArray = NULL; -#else - ( *hEFAPdata )->vtxData.vtxOrder = NULL; -#endif free( ( *hEFAPdata )->bufferLong ); ( *hEFAPdata )->bufferLong = NULL; @@ -684,15 +650,10 @@ static void initial_polyeder( } /* 2. attempt to create a triangle with nonzero area */ -#ifndef FIX_1574_EFAP_CODE_LINT - tmp = 0.0f; -#endif v_sub( vtxData->vertexArray[tetrahedron[1]].pos, vtxData->vertexArray[tetrahedron[0]].pos, tmp1, 3 ); while ( tetrahedron[2] < numVtx ) { -#ifdef FIX_1574_EFAP_CODE_LINT // should be reset every loop iteration; happens to be BE tmp = 0.0f; -#endif v_sub( vtxData->vertexArray[tetrahedron[2]].pos, vtxData->vertexArray[tetrahedron[0]].pos, tmp2, 3 ); efap_crossp( tmp1, tmp2, tmpCross ); for ( i = 0; i < 3; i++ ) @@ -783,9 +744,6 @@ static void add_ghost_speakers( int16_t lengthHorGhst; /* Nb of Horizontal Ghost */ int16_t i, j, k, a; /* Integer for loops */ int16_t num_new; /* Number of new vertices to add */ -#ifndef FIX_1574_EFAP_CODE_LINT // use a static constant instead - float maxAngle; /* Max azimuth tolerance for extend the LS setup horizontaly */ -#endif float newDiff; /* Angle differences that will help us set the extended LS setup */ float newAzi; /* New azimuth for the new horizontal LS */ float ele[EFAP_MAX_SIZE_TMP_BUFF]; @@ -797,9 +755,6 @@ static void add_ghost_speakers( vtxDmxType = EFAP_DMX_INTENSITY; numVertex = *numVtx; -#ifndef FIX_1574_EFAP_CODE_LINT - maxAngle = 1.f / 160.0f; -#endif /* Extracting Azi and Ele for computation purposes */ for ( i = 0; i < numVertex; ++i ) @@ -882,11 +837,7 @@ static void add_ghost_speakers( a += 2; lengthHorGhst += 2; } -#ifdef FIX_1574_EFAP_CODE_LINT else /* fill gaps greater than MAX_AZI_GAP */ -#else - else /* fill gaps greater than maxAngle */ -#endif { /* Here, k correspond to the number of LS whose ele is < 45 deg, should be = numVertex */ v_sort( tmpAzi, 0, k - 1 ); @@ -895,11 +846,7 @@ static void add_ghost_speakers( for ( i = 0; i < k - 1; ++i ) { tmpAngleDiff[i] = tmpAzi[i + 1] - tmpAzi[i]; -#ifdef FIX_1574_EFAP_CODE_LINT sectors[i] = ceilf( tmpAngleDiff[i] * MAX_AZI_GAP ); -#else - sectors[i] = ceilf( tmpAngleDiff[i] * maxAngle ); -#endif if ( sectors[i] > 1 ) { @@ -908,11 +855,7 @@ static void add_ghost_speakers( } tmpAngleDiff[k - 1] = tmpAzi[0] + 360 - tmpAzi[k - 1]; -#ifdef FIX_1574_EFAP_CODE_LINT sectors[k - 1] = ceilf( tmpAngleDiff[k - 1] * MAX_AZI_GAP ); -#else - sectors[k - 1] = ceilf( tmpAngleDiff[k - 1] * maxAngle ); -#endif if ( sectors[k - 1] > 1 ) { @@ -1243,11 +1186,7 @@ static void remap_ghosts( { if ( triArray[i].LS[j] > g ) { -#ifdef FIX_1574_EFAP_CODE_LINT // g is the index being removed; happens to work since ghosts are always at the end of the array triArray[i].LS[j]--; -#else - triArray[i].LS[j] = g - 1; -#endif } } } @@ -1991,11 +1930,7 @@ static void tri_to_poly( /* Output */ *outLengthPS = lenPolySet; -#ifdef FIX_1574_EFAP_CODE_LINT // only move initialised members mvs2s( sortedLengths, outLengthSorted, lenPolySet ); -#else - mvs2s( sortedLengths, outLengthSorted, EFAP_MAX_POLY_SET ); -#endif return; } @@ -2008,17 +1943,10 @@ static void tri_to_poly( *-------------------------------------------------------------------------*/ static int16_t compare_poly( -#ifdef FIX_1574_EFAP_CODE_LINT // avoid the variable name "new" int16_t *old_poly, /* i : Existing polygon */ int16_t lenOld, /* i : Length of existing polygon */ int16_t *new_poly, /* i : New polygon */ int16_t lenNew /* i : Length of new polygon */ -#else - int16_t *old, /* i : Existing polygon */ - int16_t lenOld, /* i : Length of existing polygon */ - int16_t *new, /* i : New polygon */ - int16_t lenNew /* i : Length of new polygon */ -#endif ) { int16_t i, j; @@ -2030,11 +1958,7 @@ static int16_t compare_poly( { for ( j = count; j < lenNew; ++j ) { -#ifdef FIX_1574_EFAP_CODE_LINT if ( old_poly[i] == new_poly[j] ) -#else - if ( old[i] == new[j] ) -#endif { ++count; break; -- GitLab From 75345657a00914d20824b425b4f7814787c3b190 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 17:09:59 +0200 Subject: [PATCH 5/8] [cleanup] accept FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS --- lib_com/options.h | 1 - lib_rend/lib_rend.c | 12 ------------ 2 files changed, 13 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index ac03cbfe6..f09b7d5ad 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,7 +175,6 @@ #define FIX_1521_SBA_LOUDNESS_STEREO /* FhG: issue 1521: Fix loudness for SBA to stereo rendering */ #define FIX_2500_RENDCONF_REFACTOR /* Eri: Basop issue #2500: Renderer configuration range check before conversion to fixed point. Harmonize between BASOP/float */ #define FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Eri: Basop issue 2023: Distance attenuation scaling, synch with BASOP updates and adding clamping of distance att input and listener position */ -#define FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS /* Nokia: float issue 1569: fix render config checks in renderer */ #define FIX_1571_BFI_COPY_ARRAY_CORRECT_LEN /* FhG: issue 1571: use correct channel signal length for copying signal to buffer */ #define FIX_FLOAT_1573_POSITION_UPDATE /* Eri: Float issue 1573: For static orientation and listener movement, the PoseUpdated flag is cleared and prevents 5 ms update rate. */ #define FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE /* Dolby: float issue 1576: fix for crash in LCLD mode when codec frame size is less than isar frame size */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 6c093e478..2203e2628 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -4112,13 +4112,8 @@ ivas_error IVAS_REND_AddInput( setMaxGlobalDelayNs( hIvasRend ); /* select default reverb size after adding an input */ -#ifdef FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS if ( hIvasRend->outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB && hIvasRend->selectedRoomReverbSize == DEFAULT_REVERB_UNSET ) -#else - if ( hIvasRend->selectedRoomReverbSize == DEFAULT_REVERB_UNSET ) -#endif { -#ifdef FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS if ( ( error = IVAS_REND_SetReverbRoomSize( hIvasRend, getDefaultReverbSize( hIvasRend->inputsIsm, hIvasRend->inputsMasa, hIvasRend->inputsMc, @@ -4126,13 +4121,6 @@ ivas_error IVAS_REND_AddInput( { return error; } -#else - IVAS_REND_SetReverbRoomSize( hIvasRend, - getDefaultReverbSize( hIvasRend->inputsIsm, - hIvasRend->inputsMasa, - hIvasRend->inputsMc, - hIvasRend->inputsSba ) ); -#endif } return IVAS_ERR_OK; -- GitLab From 13c2f904a47c2cff963ea5dda2a5d09aad4d2f70 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 17:10:39 +0200 Subject: [PATCH 6/8] [cleanup] accept FIX_1571_BFI_COPY_ARRAY_CORRECT_LEN --- lib_com/options.h | 1 - lib_dec/ivas_mdct_core_dec.c | 4 ---- 2 files changed, 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index f09b7d5ad..63b06e667 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,7 +175,6 @@ #define FIX_1521_SBA_LOUDNESS_STEREO /* FhG: issue 1521: Fix loudness for SBA to stereo rendering */ #define FIX_2500_RENDCONF_REFACTOR /* Eri: Basop issue #2500: Renderer configuration range check before conversion to fixed point. Harmonize between BASOP/float */ #define FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Eri: Basop issue 2023: Distance attenuation scaling, synch with BASOP updates and adding clamping of distance att input and listener position */ -#define FIX_1571_BFI_COPY_ARRAY_CORRECT_LEN /* FhG: issue 1571: use correct channel signal length for copying signal to buffer */ #define FIX_FLOAT_1573_POSITION_UPDATE /* Eri: Float issue 1573: For static orientation and listener movement, the PoseUpdated flag is cleared and prevents 5 ms update rate. */ #define FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE /* Dolby: float issue 1576: fix for crash in LCLD mode when codec frame size is less than isar frame size */ #define FIX_1452_DEFAULT_REVERB /* Nokia/Philips/FhG: Fix default room presets and their usage in renderer */ diff --git a/lib_dec/ivas_mdct_core_dec.c b/lib_dec/ivas_mdct_core_dec.c index 3cf8bfd48..e5e610b7c 100644 --- a/lib_dec/ivas_mdct_core_dec.c +++ b/lib_dec/ivas_mdct_core_dec.c @@ -551,11 +551,7 @@ void ivas_mdct_core_invQ( L_frameTCX[0] = sts[0]->L_frameTCX_past; L_frameTCX[1] = sts[1]->L_frameTCX_past; mvr2r( sts[0]->hTonalMDCTConc->lastBlockData.spectralData, tmp_ms_sig[0], L_frameTCX[0] ); -#ifdef FIX_1571_BFI_COPY_ARRAY_CORRECT_LEN mvr2r( sts[1]->hTonalMDCTConc->lastBlockData.spectralData, tmp_ms_sig[1], L_frameTCX[1] ); -#else - mvr2r( sts[1]->hTonalMDCTConc->lastBlockData.spectralData, tmp_ms_sig[1], L_frameTCX[0] ); -#endif stereo_decoder_tcx( hCPE->hStereoMdct, ms_mask, x_0[1], &sts[0]->hTonalMDCTConc->lastBlockData.spectralData, &sts[1]->hTonalMDCTConc->lastBlockData.spectralData, &hCPE->hStereoMdct->mdct_stereo_mode[0], sts[0]->core, sts[1]->core, sts[0]->igf, L_frameTCX[0], L_frameTCX[1], 0, sts[0]->last_core, sts[1]->last_core, 1 ); } -- GitLab From 425e7a52a37b68d1f9f4b2cc90ed1087aa08e9b1 Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 17:11:22 +0200 Subject: [PATCH 7/8] [cleanup] accept FIX_FLOAT_1573_POSITION_UPDATE --- lib_com/options.h | 1 - lib_rend/ivas_objectRenderer_mix.c | 7 ------- 2 files changed, 8 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 63b06e667..063f4c24f 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,7 +175,6 @@ #define FIX_1521_SBA_LOUDNESS_STEREO /* FhG: issue 1521: Fix loudness for SBA to stereo rendering */ #define FIX_2500_RENDCONF_REFACTOR /* Eri: Basop issue #2500: Renderer configuration range check before conversion to fixed point. Harmonize between BASOP/float */ #define FIX_BASOP_2023_TDREND_DISTATT_PRECISION /* Eri: Basop issue 2023: Distance attenuation scaling, synch with BASOP updates and adding clamping of distance att input and listener position */ -#define FIX_FLOAT_1573_POSITION_UPDATE /* Eri: Float issue 1573: For static orientation and listener movement, the PoseUpdated flag is cleared and prevents 5 ms update rate. */ #define FIX_1576_LCLD_CRASH_DIFFERENT_CODEC_ISAR_FRAME_SIZE /* Dolby: float issue 1576: fix for crash in LCLD mode when codec frame size is less than isar frame size */ #define FIX_1452_DEFAULT_REVERB /* Nokia/Philips/FhG: Fix default room presets and their usage in renderer */ #define FIX_1559 /* Eri/FhG: fix for Issue 1559 in FD CNG with bitrate/bw switching */ diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index 87c203492..eb201e5e9 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -107,14 +107,9 @@ ivas_error TDREND_MIX_LIST_SetOrient( /* Get listener */ List_p = hBinRendererTd->Listener_p; -#ifdef FIX_FLOAT_1573_POSITION_UPDATE /* Evaluate the normalized orientation vectors and set pose update flag */ /* Use OR since the position may have been updated in TDREND_MIX_LIST_SetPos */ List_p->PoseUpdated |= TDREND_SPATIAL_EvalOrthonormOrient( List_p->Front, List_p->Up, List_p->Right, FrontVec_p, UpVec_p ); -#else - /* Evaluate the normalized orientation vectors and set pose update flag */ - List_p->PoseUpdated = TDREND_SPATIAL_EvalOrthonormOrient( List_p->Front, List_p->Up, List_p->Right, FrontVec_p, UpVec_p ); -#endif return IVAS_ERR_OK; } @@ -201,9 +196,7 @@ ivas_error TDREND_MIX_Init( TDREND_SPATIAL_VecInit( hBinRendererTd->Listener_p->Front, 0.0f, 0.0f, -1.0f ); TDREND_SPATIAL_VecInit( hBinRendererTd->Listener_p->Up, 0.0f, 1.0f, 0.0f ); TDREND_SPATIAL_VecInit( hBinRendererTd->Listener_p->Right, 1.0f, 0.0f, 0.0f ); -#ifdef FIX_FLOAT_1573_POSITION_UPDATE hBinRendererTd->Listener_p->PoseUpdated = FALSE; -#endif /* Init HR filter set */ if ( *hHrtfTD == NULL ) -- GitLab From c7de8a9d2f2ed13bb479aa99925f42f8360a13bf Mon Sep 17 00:00:00 2001 From: Markus Multrus Date: Fri, 1 May 2026 17:15:13 +0200 Subject: [PATCH 8/8] formatting --- lib_com/options.h | 1 - lib_rend/ivas_efap.c | 22 +++++++++++----------- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 063f4c24f..c096f383c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -166,7 +166,6 @@ #define FIX_FLOAT_1582_STEREO_DFT_QUANTIZE_ITD /* FhG: float issue 1582: Remove unncessary statement from stereo_dft_quantize_itd() */ #define FIX_1585_ASAN_FORMAT_SW_ALT /* VA: float issue 1585: alternative fix memory leaks with format switching */ - /* #################### End BE switches ################################## */ /* #################### Start NON-BE switches ############################ */ diff --git a/lib_rend/ivas_efap.c b/lib_rend/ivas_efap.c index 6fd9f03f0..8b9979027 100644 --- a/lib_rend/ivas_efap.c +++ b/lib_rend/ivas_efap.c @@ -51,7 +51,7 @@ #define EFAP_MAX_SIZE_TMP_BUFF 30 #define EFAP_MAX_GHOST_LS 5 /* Maximum number of ghost Loudspeakers, for memory allocation purpose */ #define POLY_THRESH 1e-4f -#define MAX_AZI_GAP ( 1.f / 160.f ) /* Max azimuth tolerance to extend the LS setup in the horizontal plane */ +#define MAX_AZI_GAP ( 1.f / 160.f ) /* Max azimuth tolerance to extend the LS setup in the horizontal plane */ #ifdef DEBUG_EFAP_POLY_TOFILE #define PANNING_AZI_RESOLUTION 2 #define PANNING_ELE_RESOLUTION 5 @@ -740,12 +740,12 @@ static void add_ghost_speakers( ) { int16_t numVertex; - int16_t lengthVertGhst; /* Nb of vertical ghost added */ - int16_t lengthHorGhst; /* Nb of Horizontal Ghost */ - int16_t i, j, k, a; /* Integer for loops */ - int16_t num_new; /* Number of new vertices to add */ - float newDiff; /* Angle differences that will help us set the extended LS setup */ - float newAzi; /* New azimuth for the new horizontal LS */ + int16_t lengthVertGhst; /* Nb of vertical ghost added */ + int16_t lengthHorGhst; /* Nb of Horizontal Ghost */ + int16_t i, j, k, a; /* Integer for loops */ + int16_t num_new; /* Number of new vertices to add */ + float newDiff; /* Angle differences that will help us set the extended LS setup */ + float newAzi; /* New azimuth for the new horizontal LS */ float ele[EFAP_MAX_SIZE_TMP_BUFF]; float tmpEle; float tmpAzi[EFAP_MAX_SIZE_TMP_BUFF]; @@ -1943,10 +1943,10 @@ static void tri_to_poly( *-------------------------------------------------------------------------*/ static int16_t compare_poly( - int16_t *old_poly, /* i : Existing polygon */ - int16_t lenOld, /* i : Length of existing polygon */ - int16_t *new_poly, /* i : New polygon */ - int16_t lenNew /* i : Length of new polygon */ + int16_t *old_poly, /* i : Existing polygon */ + int16_t lenOld, /* i : Length of existing polygon */ + int16_t *new_poly, /* i : New polygon */ + int16_t lenNew /* i : Length of new polygon */ ) { int16_t i, j; -- GitLab