diff --git a/Workspace_msvc/lib_debug.vcxproj b/Workspace_msvc/lib_debug.vcxproj
index ef9c58a89b4c4818ed2eef065e2e642903b850c4..f29b302f7879a38d5c6007c49e9196ab21417014 100644
--- a/Workspace_msvc/lib_debug.vcxproj
+++ b/Workspace_msvc/lib_debug.vcxproj
@@ -102,14 +102,9 @@
-
-
-
-
-
diff --git a/apps/ambi_converter.c b/apps/ambi_converter.c
index 816f96619e0eee30a04a7a61f8afe62ce22faf09..2621c61fb0c939a38bbbad4a1b0dc3b78c33a727 100644
--- a/apps/ambi_converter.c
+++ b/apps/ambi_converter.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
#include
diff --git a/apps/decoder.c b/apps/decoder.c
index 1310ef4d865b0f14d65e4fa942a1e53a51897b62..955319586fe71228bcbe6e0995efd24da5adfd84 100644
--- a/apps/decoder.c
+++ b/apps/decoder.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "lib_dec.h"
#include "options.h"
@@ -44,17 +16,13 @@
#include "masa_file_writer.h"
#include "render_config_reader.h"
#include "rotation_file_reader.h"
-#ifdef FIX_1053_REVERB_RECONFIGURATION
#include "aeid_file_reader.h"
-#endif
#include "split_render_file_read_write.h"
#include "obj_edit_file_reader.h"
#include "vector3_pair_file_reader.h"
#include "wmc_auto.h"
#include "stl.h"
-#ifdef IVAS_RTPDUMP
#include "ivas_rtp_file.h"
-#endif
#define WMC_TOOL_SKIP
@@ -63,23 +31,12 @@
* Local constants
*------------------------------------------------------------------------------------------*/
-#if !defined( DEBUGGING ) && !defined( WMOPS )
+#if !defined( WMOPS )
static
#endif
int32_t frame = 0; /* Counter of frames */
-#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
#define RANDOM_INITSEED_DEC ( 0xFADE )
-#else
-#ifdef FIXED_RTP_SEQUENCE_NUM
-#define RANDOM_INITSEED_DEC ( 0xFEEDFADE )
-#endif
-#endif
-
-#ifdef DEBUGGING
-#define MIN_NUM_BITS_ACTIVE_FRAME 56
-#define NUM_BITS_SID_IVAS_5K2 104
-#endif
/*------------------------------------------------------------------------------------------*
@@ -140,17 +97,11 @@ typedef struct
uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS];
bool objEditEnabled;
char *objEditFileName;
-#ifdef IVAS_RTPDUMP
bool applyPiData;
char *piOutputFilename;
bool rtpOutSR;
-#endif
-#ifdef FIX_1419_MONO_STEREO_UMX
bool evsMode;
-#endif
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
IVAS_ROOM_SIZE_T roomSize;
-#endif
} DecArguments;
@@ -189,23 +140,13 @@ static ivas_error decodeVoIP(
RotFileReader *refRotReader,
Vector3PairFileReader *referenceVectorReader,
ObjectEditFileReader *objectEditFileReader,
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ISAR_SPLIT_REND_BITS_DATA *splitRendBits,
-#endif
-#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART
IVAS_RENDER_CONFIG_DATA *renderConfig,
-#endif
-#ifdef DECODER_FORMAT_SWITCHING
IVAS_DEC_HANDLE *phIvasDec,
-#else
- IVAS_DEC_HANDLE hIvasDec,
-#endif
int16_t *pcmBuf );
static ivas_error load_hrtf_from_file( IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, IVAS_DEC_HANDLE hIvasDec, const IVAS_AUDIO_CONFIG OutputConfig, const int32_t output_Fs );
static void do_object_editing_fx( IVAS_EDITABLE_PARAMETERS *editableParameters, ObjectEditFileReader *objectEditFileReader );
-#ifdef DECODER_FORMAT_SWITCHING
static ivas_error restartDecoder( IVAS_DEC_HANDLE *phIvasDec, const IVAS_DEC_MODE decMode, DecArguments *arg, IVAS_RENDER_CONFIG_DATA *renderConfig, IVAS_CUSTOM_LS_DATA *hLsCustomData );
-#endif
/*------------------------------------------------------------------------------------------*
@@ -238,13 +179,9 @@ int main(
IVAS_RENDER_FRAMESIZE asked_frame_size;
IVAS_DEC_HRTF_BINARY_WRAPPER hHrtfBinary;
ObjectEditFileReader *objectEditFileReader = NULL;
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
IVAS_ROOM_ACOUSTICS_CONFIG_DATA **pAE = NULL;
uint32_t aeCount = 0;
-#endif
-#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART
IVAS_RENDER_CONFIG_DATA renderConfig = { 0 };
-#endif
#ifdef WMOPS
reset_wmops();
reset_mem( USE_BYTES );
@@ -455,25 +392,13 @@ int main(
*------------------------------------------------------------------------------------------*/
asked_frame_size = arg.renderFramesize;
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
uint16_t aeID = arg.aeSequence.count > 0 ? arg.aeSequence.pID[0] : IVAS_DEFAULT_AEID;
-#else
- uint16_t aeID = arg.aeSequence.count > 0 ? arg.aeSequence.pID[0] : 65535;
-#endif
-#ifdef IVAS_RTPDUMP
arg.enableHeadRotation = arg.enableHeadRotation || arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM;
-#endif
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.renderFramesize, arg.customLsOutputEnabled, arg.hrtfReaderEnabled,
arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.roomSize, arg.non_diegetic_pan_enabled,
arg.non_diegetic_pan_gain_fx, arg.dpidEnabled, aeID, arg.objEditEnabled, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.renderFramesize, arg.customLsOutputEnabled, arg.hrtfReaderEnabled,
- arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled,
- arg.non_diegetic_pan_enabled, arg.non_diegetic_pan_gain_fx, arg.dpidEnabled, aeID, arg.objEditEnabled, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
@@ -508,9 +433,6 @@ int main(
fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
}
-#ifndef IVAS_RTPDUMP
- arg.enableHeadRotation = true;
-#endif
}
/*------------------------------------------------------------------------------------------*
@@ -542,9 +464,6 @@ int main(
if ( arg.renderConfigEnabled )
{
-#ifndef FIX_SPLIT_RENDERING_ON_DECODER_RESTART
- IVAS_RENDER_CONFIG_DATA renderConfig;
-#endif
/* sanity check */
if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB &&
@@ -573,7 +492,6 @@ int main(
goto cleanup;
}
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
aeCount = RenderConfigReader_getAcousticEnvironmentCount( renderConfigReader );
if ( aeCount > 0 )
{
@@ -613,7 +531,6 @@ int main(
}
}
}
-#endif
if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, arg.directivityPatternId, renderConfig.directivity_fx ) ) != IVAS_ERR_OK )
{
fprintf( stderr, "Failed to get directivity patterns for one or more of IDs: %d %d %d %d\n\n", arg.directivityPatternId[0], arg.directivityPatternId[1], arg.directivityPatternId[2], arg.directivityPatternId[3] );
@@ -652,11 +569,7 @@ int main(
if ( arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
{
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
if ( ( error = IVAS_DEC_GetAcousticEnvironment( hIvasDec, aeID, &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK )
-#else
- if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, aeID, &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK )
-#endif
{
if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK )
{
@@ -746,17 +659,9 @@ int main(
if ( arg.voipMode )
{
error = decodeVoIP( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader,
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
&splitRendBits,
-#endif
-#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART
&renderConfig,
-#endif
-#ifdef DECODER_FORMAT_SWITCHING
&hIvasDec,
-#else
- hIvasDec,
-#endif
pcmBuf );
}
else
@@ -792,7 +697,6 @@ cleanup:
free( pcmBuf );
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
if ( pAE != NULL )
{
uint16_t n;
@@ -804,7 +708,6 @@ cleanup:
free( pAE );
}
-#endif
if ( arg.aeSequence.count > 0 )
{
@@ -817,14 +720,12 @@ cleanup:
destroy_td_hrtf( hHrtfBinary.hHrtfTD );
destroy_hrtf_statistics( hHrtfBinary.hHrtfStatistics );
}
-#ifdef FIX_1990_SANITIZER_IN_REVERB_LOAD
// TODO:
/* This free differs from float version.
This is needed as HRTF statistics from ROM are currently converted from Word16 values to scaled Word32 values. */
IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics = NULL;
IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics );
destroy_hrtf_statistics( hHrtfStatistics );
-#endif
IVAS_DEC_Close( &hIvasDec );
CustomLsReader_close( &hLsCustomReader );
hrtfFileReader_close( &hrtfReader );
@@ -965,9 +866,7 @@ static bool parseCmdlIVAS_dec(
arg->output_Fs = IVAS_MAX_SAMPLING_RATE;
arg->outputConfig = IVAS_AUDIO_CONFIG_MONO;
arg->decMode = IVAS_DEC_MODE_IVAS;
-#ifdef FIX_1419_MONO_STEREO_UMX
arg->evsMode = false;
-#endif
arg->quietModeEnabled = false;
arg->delayCompensationEnabled = true;
arg->voipMode = false;
@@ -982,11 +881,9 @@ static bool parseCmdlIVAS_dec(
arg->referenceVectorTrajFileName = NULL;
arg->enableExternalOrientation = false;
arg->externalOrientationTrajFileName = NULL;
-#ifdef IVAS_RTPDUMP
arg->applyPiData = false;
arg->piOutputFilename = NULL;
arg->rtpOutSR = false;
-#endif
#ifdef SUPPORT_JBM_TRACEFILE
arg->jbmTraceFilename = NULL;
@@ -1025,9 +922,7 @@ static bool parseCmdlIVAS_dec(
arg->objEditEnabled = false;
arg->objEditFileName = NULL;
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
arg->roomSize = IVAS_ROOM_SIZE_AUTO;
-#endif
/*-----------------------------------------------------------------*
* Initialization
@@ -1069,7 +964,6 @@ static bool parseCmdlIVAS_dec(
arg->inputFormat = IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF;
i++;
}
-#ifdef IVAS_RTPDUMP
else if ( strcmp( argv_to_upper, "-PIDATAFILE" ) == 0 )
{
i++;
@@ -1092,7 +986,6 @@ static bool parseCmdlIVAS_dec(
arg->rtpOutSR = true;
i++;
}
-#endif
#ifdef SUPPORT_JBM_TRACEFILE
else if ( strcmp( argv_to_upper, "-TRACEFILE" ) == 0 )
{
@@ -1372,7 +1265,6 @@ static bool parseCmdlIVAS_dec(
if ( !is_digits_only( argv[i] ) )
{
-#ifdef FIX_1053_REVERB_RECONFIGURATION
aeidFileReader *aeidReader = NULL;
if ( aeidFileReader_open( argv[i], &aeidReader ) != IVAS_ERR_OK )
{
@@ -1388,67 +1280,6 @@ static bool parseCmdlIVAS_dec(
}
aeidFileReader_close( &aeidReader );
i++;
-#else
- uint16_t k;
- char *s = argv[i];
- char *token = argv[i];
-
- for ( k = 0; s[k]; )
- {
- s[k] == ',' ? k++ : *s++;
- }
- k++;
-
- if ( k == 0 )
- {
- fprintf( stdout, "Error: Invalid acoustic environment sequence specified: %s\n\n", argv[i] );
- usage_dec();
- return false;
- }
-
- if ( NULL == ( arg->aeSequence.pID = malloc( sizeof( uint16_t ) * k ) ) ||
- NULL == ( arg->aeSequence.pValidity = malloc( sizeof( uint16_t ) * k ) ) )
- {
- fprintf( stdout, "Error: Unable to allocate memory for acoustic environment sequence: %s\n\n", argv[i] );
- usage_dec();
- return false;
- }
-
- arg->aeSequence.count = k;
-
- k = 0;
- token = strtok( argv[i++], ":" );
-
- while ( token != NULL )
- {
- if ( !is_number( token ) )
- {
- fprintf( stdout, "Error: Invalid token %s found in acoustic environment sequence: %s\n\n", token, argv[i] );
- usage_dec();
- return false;
- }
- arg->aeSequence.pID[k] = (uint16_t) atoi( token );
-
- token = strtok( NULL, "," );
- if ( !is_number( token ) )
- {
- fprintf( stdout, "Error: Invalid token %s found in acoustic environment sequence: %s\n\n", token, argv[i] );
- usage_dec();
- return false;
- }
- arg->aeSequence.pValidity[k] = (uint16_t) atoi( token );
-
- token = strtok( NULL, ":" );
- k++;
- }
-
- if ( k != arg->aeSequence.count )
- {
- fprintf( stdout, "Error while parsing acoustic environment sequence: %s\n\n", argv[i] );
- usage_dec();
- return false;
- }
-#endif
}
else
{
@@ -1527,15 +1358,12 @@ static bool parseCmdlIVAS_dec(
}
i++;
}
-#ifdef FIX_1419_MONO_STEREO_UMX
else if ( strcmp( argv_to_upper, "-EVS" ) == 0 )
{
arg->evsMode = true;
arg->decMode = IVAS_DEC_MODE_EVS;
i++;
}
-#endif
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
else if ( strcmp( argv_to_upper, "-ROOM_SIZE" ) == 0 )
{
i++;
@@ -1573,7 +1401,6 @@ static bool parseCmdlIVAS_dec(
}
i++;
}
-#endif
/*-----------------------------------------------------------------*
* Option not recognized
@@ -1624,7 +1451,6 @@ static bool parseCmdlIVAS_dec(
usage_dec();
return false;
}
-#ifdef FIX_1419_MONO_STEREO_UMX
else if ( arg->non_diegetic_pan_enabled && arg->outputConfig == IVAS_AUDIO_CONFIG_STEREO && arg->evsMode )
{
fprintf( stderr, "Error: Both non-diegetic panning and stereo output specified!\n\n" );
@@ -1632,7 +1458,6 @@ static bool parseCmdlIVAS_dec(
return false;
}
-#endif
if ( arg->outputMdFilename != NULL && arg->outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
{
fprintf( stderr, "Error: Output split rendering metadata file is supported for BINAURAL_SPLIT_PCM output config. only\n\n" );
@@ -1724,9 +1549,7 @@ static bool parseCmdlIVAS_dec(
static void usage_dec( void )
{
fprintf( stdout, "Usage for EVS: IVAS_dec.exe [Options] Fs bitstream_file output_file\n" );
-#ifdef FIX_1419_MONO_STEREO_UMX
fprintf( stdout, " OR usage for IVAS (below) with -evs option and OutputConf\n" );
-#endif
fprintf( stdout, "Usage for IVAS: IVAS_dec.exe [Options] OutputConf Fs bitstream_file output_file\n\n" );
fprintf( stdout, "Mandatory parameters:\n" );
@@ -1743,12 +1566,9 @@ static void usage_dec( void )
fprintf( stdout, "Options:\n" );
fprintf( stdout, "--------\n" );
-#ifdef FIX_1419_MONO_STEREO_UMX
fprintf( stdout, "-evs : Specify that the supplied bitstream is an EVS bitstream\n" );
-#endif
fprintf( stdout, "-VOIP : VoIP mode: RTP in G192\n" );
fprintf( stdout, "-VOIP_hf_only=0 : VoIP mode: EVS RTP Payload Format hf_only=0 in rtpdump\n" );
-#ifdef IVAS_RTPDUMP
fprintf( stdout, "-VOIP_hf_only=1 : VoIP mode: EVS or IVAS RTP Payload Format hf_only=1 in rtpdump\n" );
fprintf( stdout, " The decoder may read rtpdump files containing TS26.445 Annex A.2.2\n" );
fprintf( stdout, " EVS RTP Payload Format or rtpdump files containing TS26.253 Annex A\n" );
@@ -1757,12 +1577,6 @@ static void usage_dec( void )
fprintf( stdout, "-PiDataFile PF Log the timestampped PI data.\n" );
fprintf( stdout, "-ApplyPiData Apply the PI data found in the rtp packet.\n" );
fprintf( stdout, "-rtpOutSR : Split Rendering bitstream RTPDump output \n" );
-#else
- fprintf( stdout, "-VOIP_hf_only=1 : VoIP mode: EVS RTP Payload Format hf_only=1 in rtpdump\n" );
- fprintf( stdout, " The decoder may read rtpdump files containing TS26.445 Annex A.2.2\n" );
- fprintf( stdout, " EVS RTP Payload Format. The SDP parameter hf_only is required.\n" );
- fprintf( stdout, " Reading RFC4867 AMR/AMR-WB RTP payload format is not supported.\n" );
-#endif
#ifdef SUPPORT_JBM_TRACEFILE
fprintf( stdout, "-Tracefile TF : VoIP mode: Generate trace file named TF. Requires -no_delay_cmp to\n" );
fprintf( stdout, " be enabled so that trace contents remain in sync with audio output.\n" );
@@ -1787,10 +1601,8 @@ static void usage_dec( void )
fprintf( stdout, "-rvf File : Reference vector specified by external trajectory File\n" );
fprintf( stdout, " works only in combination with '-otr ref_vec' and 'ref_vec_lev' modes\n" );
fprintf( stdout, "-render_config File : Renderer configuration File\n" );
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
fprintf( stdout, "-room_size (S|M|L) : Selects default reverb based on a room size (S - small | M - medium | L - large)\n" );
fprintf( stdout, " for BINAURAL_ROOM_REVERB output configuration,\n" );
-#endif
fprintf( stdout, "-om File : Metadata output File for BINAURAL_SPLIT_PCM OutputConf (only for Fs = 48 kHz)\n" );
fprintf( stdout, "-non_diegetic_pan P : panning mono non-diegetic sound to stereo with panning P, -90<= P <=90,\n" );
fprintf( stdout, " left or l or 90->left, right or r or -90->right, center or c or 0->middle\n" );
@@ -1837,9 +1649,7 @@ static ivas_error initOnFirstGoodFrame(
IsmFileWriter *ismWriters[IVAS_MAX_NUM_OBJECTS], /* o : */
int16_t *pNumOutChannels, /* o : */
uint16_t *pNumObj, /* o : */
-#ifdef IVAS_RTPDUMP
- IVAS_RTP *srRtp, /* o : */
-#endif
+ IVAS_RTP *srRtp, /* o : */
SplitFileReadWrite **splitRendWriter )
{
int16_t isSplitRend, isSplitCoded;
@@ -1892,23 +1702,12 @@ static ivas_error initOnFirstGoodFrame(
int16_t splitRendIsarFrameSizeMs;
int16_t lc3plusHighRes;
-#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
/* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
use fixed seed for random num generator for regression based tests. Any realtime
application should implement this initialization seperately */
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 );
-#else
-#ifdef FIXED_RTP_SEQUENCE_NUM
- /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
- use fixed seed for random num generator for regression based tests. Any realtime
- application should implement this initialization seperately */
- srand( RANDOM_INITSEED_DEC );
- uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 );
- uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF );
-#endif
-#endif
if ( ( error = IVAS_DEC_GetDelay( hIvasDec, delayNumSamples_temp, &delayTimeScale_temp ) ) != IVAS_ERR_OK )
{
@@ -1922,7 +1721,6 @@ static ivas_error initOnFirstGoodFrame(
return error;
}
-#ifdef IVAS_RTPDUMP
/* Split Rendering RTPDump Output file */
if ( arg.rtpOutSR && srRtp != NULL )
{
@@ -1935,36 +1733,20 @@ static ivas_error initOnFirstGoodFrame(
fParamsSR = fopen( srParamsFile, "w" );
if ( NULL != fParamsSR )
{
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
fprintf( fParamsSR, "DOF = %d;\nLC3PLUS_HIGHRES = %d;\n", poseCorrection, lc3plusHighRes );
-#else
- fprintf( fParamsSR, "CODEC = %s;\nDOF = %d;\nFRAMESIZE = %d;\nRENDERSIZE = %d;\nLC3PLUS_HIGHRES = %d;\n",
- splitRendCodec == ISAR_SPLIT_REND_CODEC_LC3PLUS ? "LC3PLUS" : "LCLD",
- poseCorrection,
- splitRendCodecFrameSizeMs,
- splitRendIsarFrameSizeMs,
- lc3plusHighRes );
-#endif
fclose( fParamsSR );
fParamsSR = NULL;
}
/* Split Rendering RTPDump Output file */
-#ifdef FIXED_RTP_SEQUENCE_NUM
if ( ( error = IVAS_RTP_WRITER_Init( srRtp, arg.outputWavFilename, 1000 / ( IVAS_NUM_FRAMES_PER_SEC * splitRendCodecFrameSizeMs ), ssrc, seqNumInitVal ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_RTP_WRITER_Init( srRtp, arg.outputWavFilename, 1000 / ( IVAS_NUM_FRAMES_PER_SEC * splitRendCodecFrameSizeMs ) ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nError: Can't open SR output bitstream file for RTP output %s \n\n", arg.outputWavFilename );
return error;
}
}
else if ( isSplitCoded )
-#else
- if ( isSplitCoded )
-#endif
{
if ( ( error = split_rend_writer_open( splitRendWriter, arg.outputWavFilename, delayNumSamples_temp[0], delayTimeScale_temp, splitRendCodec, poseCorrection, splitRendCodecFrameSizeMs, splitRendIsarFrameSizeMs, arg.output_Fs, lc3plusHighRes ) ) != IVAS_ERR_OK )
{
@@ -1998,7 +1780,6 @@ static ivas_error initOnFirstGoodFrame(
}
}
-#ifdef IVAS_RTPDUMP
if ( !arg.rtpOutSR )
{
int16_t pcmFrameSize;
@@ -2018,11 +1799,7 @@ static ivas_error initOnFirstGoodFrame(
for ( int16_t i = 0; i < numInitialBadFrames; ++i )
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
if ( isSplitRend )
-#else
- if ( *splitRendWriter != NULL )
-#endif
{
ISAR_SPLIT_REND_BITS_DATA splitRendBitsZero;
splitRendBitsZero.bits_buf = NULL;
@@ -2040,12 +1817,8 @@ static ivas_error initOnFirstGoodFrame(
return error;
}
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
if ( !isSplitCoded )
-#else
- else
-#endif
{
if ( *pRemainingDelayNumSamples < *numOutSamples )
{
@@ -2065,71 +1838,6 @@ static ivas_error initOnFirstGoodFrame(
free( zeroBuf );
}
-#else
- int16_t pcmFrameSize;
- if ( ( error = IVAS_DEC_GetOutputBufferSize( hIvasDec, &pcmFrameSize ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nError in IVAS_DEC_GetOutputBufferSize, error code: %d\n", error );
- return error;
- }
-
- /* Write zeros to the output audio buffer */
- int16_t *zeroBuf = calloc( pcmFrameSize, sizeof( int16_t ) );
- if ( zeroBuf == NULL )
- {
- fprintf( stdout, "Error: Unable to allocate memory for output buffer.\n" );
- return IVAS_ERR_FAILED_ALLOC;
- }
-
- for ( int16_t i = 0; i < numInitialBadFrames; ++i )
- {
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
- if ( isSplitRend )
-#else
- if ( *splitRendWriter != NULL )
-#endif
- {
- ISAR_SPLIT_REND_BITS_DATA splitRendBitsZero;
- splitRendBitsZero.bits_buf = NULL;
- splitRendBitsZero.bits_read = 0;
- splitRendBitsZero.bits_written = 0;
- splitRendBitsZero.buf_len = 0;
- splitRendBitsZero.codec = ISAR_SPLIT_REND_CODEC_DEFAULT;
- splitRendBitsZero.pose_correction = ISAR_SPLIT_REND_POSE_CORRECTION_MODE_NONE;
- splitRendBitsZero.codec_frame_size_ms = 0;
- splitRendBitsZero.isar_frame_size_ms = 20;
-
- if ( split_rend_write_bitstream_to_file( *splitRendWriter, splitRendBitsZero.bits_buf, &splitRendBitsZero.bits_read, &splitRendBitsZero.bits_written ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nUnable to write to bitstream file!\n" );
- return error;
- }
- }
-
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
- if ( !isSplitCoded )
-#else
- else
-#endif
- {
- if ( *pRemainingDelayNumSamples < *numOutSamples )
- {
- if ( ( error = AudioFileWriter_write( *ppAfWriter, zeroBuf, *numOutSamples * *pNumOutChannels - ( *pRemainingDelayNumSamples * *pNumOutChannels ) ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nOutput audio file writer error\n" );
- return error;
- }
- *pRemainingDelayNumSamples = 0;
- }
- else
- {
- *pRemainingDelayNumSamples -= *numOutSamples;
- }
- }
- }
-
- free( zeroBuf );
-#endif
/* Open other output files if EXT output config - now details about ISM or MASA are known */
if ( arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL )
@@ -2223,11 +1931,7 @@ static ivas_error initOnFirstGoodFrame(
}
}
-#ifdef IVAS_RTPDUMP
if ( arg.rtpOutSR || *splitRendWriter != NULL )
-#else
- if ( *splitRendWriter != NULL )
-#endif
{
if ( numOutSamples == NULL || vec_pos_len == NULL )
{
@@ -2298,30 +2002,17 @@ static ivas_error decodeG192(
IVAS_RENDER_CONFIG_DATA renderConfig;
RenderConfigReader *renderConfigReader = NULL;
-#ifdef VARIABLE_SPEED_DECODING
- if ( arg.tsmEnabled )
- {
- if ( ( error = IVAS_DEC_EnableTsm( hIvasDec ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nError in IVAS_DEC_EnableTsm, code: %d\n", error );
- return error;
- }
- }
-
-#endif
if ( ( error = IVAS_DEC_is_split_rendering_enabled( hIvasDec, &isSplitRend ) ) != IVAS_ERR_OK )
{
fprintf( stderr, "\nError in IVAS_DEC_is_split_rendering_enabled, code: %d\n", error );
return error;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
if ( !isSplitRend )
{
/* Ensure split rendering output struct is not used when not outputting to a split rendering output configuration */
splitRendBits = NULL;
}
-#endif
if ( ( error = IVAS_DEC_is_split_rendering_coded_out( hIvasDec, &isSplitCoded ) ) != IVAS_ERR_OK )
{
@@ -2584,11 +2275,7 @@ static ivas_error decodeG192(
}
/* decode transport channels, do TSM and feed to renderer */
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
if ( ( error = IVAS_DEC_GetSamplesDecoder( hIvasDec, splitRendBits ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_DEC_GetSamplesDecoder( hIvasDec, isSplitRend, splitRendBits ) ) != IVAS_ERR_OK )
-#endif
{
return error;
}
@@ -2682,11 +2369,7 @@ static ivas_error decodeG192(
/* Once good frame decoded, catch up */
if ( decodedGoodFrame )
{
-#ifdef IVAS_RTPDUMP
if ( ( error = initOnFirstGoodFrame( hIvasDec, arg, numInitialBadFrames, &nOutSamples, &vec_pos_len, delayNumSamples_orig, &delayNumSamples, &delayTimeScale, &bsFormat, &afWriter, &masaWriter, ismWriters, &nOutChannels, &numObj, NULL, &splitRendWriter ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = initOnFirstGoodFrame( hIvasDec, arg, numInitialBadFrames, &nOutSamples, &vec_pos_len, delayNumSamples_orig, &delayNumSamples, &delayTimeScale, &bsFormat, &afWriter, &masaWriter, ismWriters, &nOutChannels, &numObj, &splitRendWriter ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "Error in initOnFirstGoodFrame(): %s\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
@@ -3034,17 +2717,9 @@ static ivas_error decodeVoIP(
RotFileReader *refRotReader,
Vector3PairFileReader *referenceVectorReader,
ObjectEditFileReader *objectEditFileReader,
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ISAR_SPLIT_REND_BITS_DATA *splitRendBits,
-#endif
-#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART
IVAS_RENDER_CONFIG_DATA *renderConfig,
-#endif
-#ifdef DECODER_FORMAT_SWITCHING
IVAS_DEC_HANDLE *phIvasDec,
-#else
- IVAS_DEC_HANDLE hIvasDec,
-#endif
int16_t *pcmBuf )
{
bool decodingFailed = true; /* Assume failure until cleanup is reached without errors */
@@ -3076,29 +2751,13 @@ static ivas_error decodeVoIP(
int16_t delayNumSamples = -1;
int32_t delayTimeScale = -1;
int16_t i;
-#ifdef DECODER_FORMAT_SWITCHING
IVAS_DEC_HANDLE hIvasDec = *phIvasDec;
bool restartNeeded;
-#endif
-#ifdef IVAS_RTPDUMP
IVAS_RTP ivasRtp = { 0 };
IVAS_RTP srRtp = { 0 };
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
IVAS_RTP_SR_INFO srInfo = { true, false, 0, 20, IVAS_SR_TRANSPORT_LCLD };
-#else
- IVAS_RTP_SR_INFO srInfo = { true, false, 0, IVAS_SR_TRANSPORT_LCLD };
-#endif
int32_t initialTsOffsetSystemAndRTP = 0;
-#else
- FILE *f_rtpstream = NULL;
- EVS_RTPDUMP_DEPACKER rtpdumpDepacker;
- EVS_RTPDUMP_DEPACKER_ERROR rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_NO_ERROR;
-#endif
uint8_t *auPtr = NULL;
-#ifndef IVAS_RTPDUMP
- bool isAMRWB_IOmode;
- uint16_t frameTypeIndex;
-#endif
bool qBit;
IVAS_DEC_BS_FORMAT bsFormat = IVAS_DEC_BS_UNKOWN;
@@ -3110,7 +2769,6 @@ static ivas_error decodeVoIP(
bool parametersAvailableForEditing = false;
uint16_t nSamplesRendered;
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
SplitFileReadWrite *splitRendWriter = NULL;
int16_t isSplitRend, isSplitCoded;
@@ -3131,7 +2789,6 @@ static ivas_error decodeVoIP(
fprintf( stderr, "\nError in IVAS_DEC_is_split_rendering_coded_out, code: %d\n", error );
return error;
}
-#endif
vec_pos_update = 0;
if ( ( error = IVAS_DEC_GetRenderFramesizeMs( hIvasDec, &systemTimeInc_ms ) ) != IVAS_ERR_OK )
@@ -3157,41 +2814,15 @@ static ivas_error decodeVoIP(
delayNumSamples_orig[0] = -1;
-#ifndef IVAS_RTPDUMP
- rtpdumpDepacker.rtpdump = NULL;
-#endif
switch ( arg.inputFormat )
{
case IVAS_DEC_INPUT_FORMAT_RTPDUMP:
case IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF:
-#ifdef IVAS_RTPDUMP
-#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
-#ifdef RTP_S4_251135_CR26253_0016_REV1
- if ( ( error = IVAS_RTP_READER_Init( &ivasRtp, 0, arg.inputBitstreamFilename, arg.piOutputFilename, arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL, arg.outputWavFilename ) ) != IVAS_ERR_OK )
-#endif
-#else
if ( ( error = IVAS_RTP_READER_Init( &ivasRtp, arg.inputBitstreamFilename, arg.piOutputFilename, arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL, arg.outputWavFilename ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "error in IVAS_RTP_READER_Init(): %d\n", error );
goto cleanup;
}
-#else
- f_rtpstream = fopen( arg.inputBitstreamFilename, "r" );
-
- if ( f_rtpstream == NULL )
- {
- fprintf( stderr, "could not open: %s\n", arg.inputBitstreamFilename );
- goto cleanup;
- }
-
- rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_open( &rtpdumpDepacker, f_rtpstream, arg.inputFormat == IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF );
- if ( rtpdumpDepackerError != EVS_RTPDUMP_DEPACKER_NO_ERROR )
- {
- fprintf( stderr, "error in EVS_RTPDUMP_DEPACKER_open(): %d\n", rtpdumpDepackerError );
- goto cleanup;
- }
-#endif
break;
case IVAS_DEC_INPUT_FORMAT_G192:
auPtr = au;
@@ -3233,25 +2864,13 @@ static ivas_error decodeVoIP(
else
{
auPtr = au; /* might have been set to RTP packet in prev call */
-#ifdef IVAS_RTPDUMP
-#ifdef RTP_S4_251135_CR26253_0016_REV1
error = IVAS_RTP_ReadNextFrame( &ivasRtp, auPtr, &auSize, &rtpTimeStamp, &rtpSequenceNumber, &nextPacketRcvTime_ms, NULL, &qBit );
-#else
- error = IVAS_RTP_ReadNextFrame( &ivasRtp, auPtr, &auSize, &rtpTimeStamp, &rtpSequenceNumber, &nextPacketRcvTime_ms, &qBit );
-#endif
initialTsOffsetSystemAndRTP = rtpTimeStamp - systemTime_ms * 16; /* For time mapping */
-#else
- rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_readNextFrame( &rtpdumpDepacker, &rtpSequenceNumber, &rtpTimeStamp, &nextPacketRcvTime_ms, &isAMRWB_IOmode, &frameTypeIndex, &qBit, &auPtr, (uint16_t *) &auSize );
-#endif
/* EVS RTP payload format has timescale 16000, JBM uses 1000 internally */
rtpTimeStamp = rtpTimeStamp / 16;
}
-#ifdef IVAS_RTPDUMP
if ( error != IVAS_ERR_OK )
-#else
- if ( error != IVAS_ERR_OK || rtpdumpDepackerError != EVS_RTPDUMP_DEPACKER_NO_ERROR )
-#endif
{
fprintf( stderr, "failed to read first RTP packet\n" );
goto cleanup;
@@ -3280,7 +2899,6 @@ static ivas_error decodeVoIP(
{
nSamplesRendered = 0;
-#ifdef DECODER_FORMAT_SWITCHING
/* restart decoder in case of format switching */
if ( ivasRtp.restartNeeded )
{
@@ -3289,11 +2907,7 @@ static ivas_error decodeVoIP(
&hIvasDec,
newDecModeInPacket,
&arg,
-#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART
renderConfig,
-#else
- NULL, /* ToDo : Provide rendererConfig */
-#endif
NULL /* ToDo : Provide LS Custom Data */
) ) != IVAS_ERR_OK )
{
@@ -3304,7 +2918,6 @@ static ivas_error decodeVoIP(
*phIvasDec = hIvasDec; /* Update for main()' s free */
ivasRtp.restartNeeded = false;
}
-#endif
/* reference vector */
if ( arg.enableReferenceVectorTracking && vec_pos_update == 0 )
@@ -3448,38 +3061,17 @@ static ivas_error decodeVoIP(
else
{
auPtr = au; /* might have been set to RTP packet in prev call */
-#ifdef IVAS_RTPDUMP
-#ifdef RTP_S4_251135_CR26253_0016_REV1
error = IVAS_RTP_ReadNextFrame( &ivasRtp, au, &auSize, &rtpTimeStamp, &rtpSequenceNumber, &nextPacketRcvTime_ms, NULL, &qBit );
-#else
- error = IVAS_RTP_ReadNextFrame( &ivasRtp, au, &auSize, &rtpTimeStamp, &rtpSequenceNumber, &nextPacketRcvTime_ms, &qBit );
-#endif
/* IVAS RTP payload format has timescale 16000, JBM uses 1000 internally */
rtpTimeStamp = rtpTimeStamp / 16;
-#else
- rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_readNextFrame( &rtpdumpDepacker, &rtpSequenceNumber, &rtpTimeStamp,
- &nextPacketRcvTime_ms,
- &isAMRWB_IOmode, &frameTypeIndex, &qBit,
- &auPtr, (uint16_t *) &auSize );
- /* EVS RTP payload format has timescale 16000, JBM uses 1000 internally */
- rtpTimeStamp = rtpTimeStamp / 16;
-#endif
}
-#ifdef IVAS_RTPDUMP
if ( error == IVAS_ERR_END_OF_FILE )
-#else
- if ( error == IVAS_ERR_END_OF_FILE || rtpdumpDepackerError == EVS_RTPDUMP_DEPACKER_EOF )
-#endif
{
/* finished reading */
nextPacketRcvTime_ms = (uint32_t) -1;
}
-#ifdef IVAS_RTPDUMP
else if ( error != IVAS_ERR_OK )
-#else
- else if ( error != IVAS_ERR_OK || rtpdumpDepackerError != EVS_RTPDUMP_DEPACKER_NO_ERROR )
-#endif
{
fprintf( stderr, "\nError in BS_Reader_ReadVoipFrame_compact, error code: %d\n", error );
goto cleanup;
@@ -3503,7 +3095,6 @@ static ivas_error decodeVoIP(
/* decode and get samples */
while ( nSamplesRendered < nOutSamples )
{
-#ifdef IVAS_RTPDUMP
if ( arg.applyPiData )
{
/* Rudimentry Time Mapping to map system time to rtp timestamp */
@@ -3524,9 +3115,7 @@ static ivas_error decodeVoIP(
ivasRtp.nProcPiData += numPiData;
}
-#endif
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
if ( isSplitRend )
{
#ifdef SUPPORT_JBM_TRACEFILE
@@ -3541,19 +3130,16 @@ static ivas_error decodeVoIP(
}
else
{
-#endif
#ifdef SUPPORT_JBM_TRACEFILE
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, &bitstreamReadDone, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK )
+ if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, &bitstreamReadDone, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK )
#endif
{
fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
}
-#endif
if ( bitstreamReadDone == true )
{
@@ -3565,7 +3151,6 @@ static ivas_error decodeVoIP(
return error;
}
-#ifdef DECODER_FORMAT_SWITCHING
/* restart decoder in case of format switching */
if ( ( error = IVAS_DEC_isRestartNeeded( hIvasDec, &restartNeeded ) ) != IVAS_ERR_OK )
{
@@ -3596,7 +3181,6 @@ static ivas_error decodeVoIP(
*phIvasDec = hIvasDec; /* Update for main()' s free */
}
-#endif
/* Placeholder for memory reallocation */
/* ... */
@@ -3666,19 +3250,11 @@ static ivas_error decodeVoIP(
/* Once good frame decoded, catch up */
if ( decodedGoodFrame )
{
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- SplitFileReadWrite *splitRendWriter = NULL;
-
-#endif
if ( ( error = initOnFirstGoodFrame( hIvasDec,
arg,
numInitialBadFrames,
&nOutSamples,
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
&vec_pos_len,
-#else
- NULL,
-#endif
delayNumSamples_orig,
&delayNumSamples,
&delayTimeScale,
@@ -3688,9 +3264,7 @@ static ivas_error decodeVoIP(
ismWriters,
&nOutChannels,
&numObj,
-#ifdef IVAS_RTPDUMP
&srRtp,
-#endif
&splitRendWriter ) ) != IVAS_ERR_OK )
{
goto cleanup;
@@ -3703,13 +3277,8 @@ static ivas_error decodeVoIP(
}
/* Write current frame */
-#ifdef IVAS_RTPDUMP
if ( !srRtp.hPack && decodedGoodFrame )
-#else
- if ( decodedGoodFrame )
-#endif
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
if ( isSplitRend )
{
if ( split_rend_write_bitstream_to_file( splitRendWriter, splitRendBits->bits_buf, &splitRendBits->bits_read, &splitRendBits->bits_written ) != IVAS_ERR_OK )
@@ -3721,7 +3290,6 @@ static ivas_error decodeVoIP(
if ( !isSplitCoded )
{
-#endif
if ( delayNumSamples < nOutSamples )
{
if ( ( error = AudioFileWriter_write( afWriter, &pcmBuf[delayNumSamples * nOutChannels], nOutSamples * nOutChannels - ( delayNumSamples * nOutChannels ) ) ) != IVAS_ERR_OK )
@@ -3735,9 +3303,7 @@ static ivas_error decodeVoIP(
{
delayNumSamples -= nOutSamples;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
}
-#endif
/* Write ISM metadata to external file(s) */
if ( decodedGoodFrame && arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL )
@@ -3792,20 +3358,15 @@ static ivas_error decodeVoIP(
goto cleanup;
}
}
-#ifdef IVAS_RTPDUMP
IVAS_RTP_WriteExtPiData( ivasRtp.f_piExtOut, ivasRtp.piData, ivasRtp.nReadPiData, numObj );
-#endif
}
}
-#ifdef IVAS_RTPDUMP
else if ( decodedGoodFrame )
{
srInfo.bitrateKbps = splitRendBits->bits_written * 1000 / splitRendBits->codec_frame_size_ms;
srInfo.codec = ( splitRendBits->codec == ISAR_SPLIT_REND_CODEC_LC3PLUS ) ? IVAS_SR_TRANSPORT_LC3PLUS : IVAS_SR_TRANSPORT_LCLD;
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
srInfo.codecFrameSizeMs = (uint32_t) splitRendBits->codec_frame_size_ms;
-#endif
if ( ( error = IVAS_RTP_WriteNextFrame( &srRtp, splitRendBits->bits_buf, &srInfo, (int16_t) splitRendBits->bits_written, false, false ) ) != IVAS_ERR_OK )
{
fprintf( stderr, "\nError %s while pushing SR audio bitstream to RTP pack\n", ivas_error_to_string( error ) );
@@ -3814,7 +3375,6 @@ static ivas_error decodeVoIP(
splitRendBits->bits_written = 0;
splitRendBits->bits_read = 0;
}
-#endif
vec_pos_update = ( vec_pos_update + 1 ) % vec_pos_len;
if ( vec_pos_update == 0 )
@@ -3846,11 +3406,7 @@ static ivas_error decodeVoIP(
goto cleanup;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
if ( nSamplesFlushed && !isSplitCoded )
-#else
- if ( nSamplesFlushed )
-#endif
{
/* Write current frame */
if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, nSamplesFlushed * nOutChannels ) ) != IVAS_ERR_OK )
@@ -3912,10 +3468,8 @@ static ivas_error decodeVoIP(
goto cleanup;
}
}
-#ifdef IVAS_RTPDUMP
IVAS_RTP_WriteExtPiData( ivasRtp.f_piExtOut, ivasRtp.piData, ivasRtp.nReadPiData, numObj );
-#endif
}
}
@@ -3925,18 +3479,14 @@ static ivas_error decodeVoIP(
memset( pcmBuf, 0, delayNumSamples_orig[0] * nOutChannels * sizeof( int16_t ) );
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
if ( afWriter != NULL )
{
-#endif
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 ) );
goto cleanup;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
}
-#endif
/*------------------------------------------------------------------------------------------*
* Printouts after decoding has finished
@@ -3969,10 +3519,8 @@ static ivas_error decodeVoIP(
{
fprintf( stdout, "\nOutput MASA metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) );
}
-#ifdef IVAS_RTPDUMP
fprintf( stdout, "\nOutput PI data file: %s\n", IVAS_RTP_GetExtPiFilePath( &ivasRtp ) );
-#endif
}
/*------------------------------------------------------------------------------------------*
@@ -3983,16 +3531,10 @@ static ivas_error decodeVoIP(
cleanup:
-#ifdef IVAS_RTPDUMP
IVAS_RTP_Term( &srRtp );
IVAS_RTP_Term( &ivasRtp );
-#else
- EVS_RTPDUMP_DEPACKER_close( &rtpdumpDepacker );
-#endif
AudioFileWriter_close( &afWriter );
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
split_rend_reader_writer_close( &splitRendWriter );
-#endif
JbmOffsetFileWriter_close( &jbmOffsetWriter );
#ifdef SUPPORT_JBM_TRACEFILE
JbmTraceFileWriter_close( &jbmTraceWriter );
@@ -4043,11 +3585,7 @@ static void do_object_editing_fx(
if ( readInfo->bg_gain_edited )
{
-#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE
editableParameters->gain_bed_fx = (Word32) ( readInfo->bg_gain * 536870912 ); /* Q29 */
-#else
- editableParameters->gain_bed_fx = (Word32) readInfo->bg_gain * 536870912; /* Q29 */
-#endif
}
for ( obj_idx = 0; obj_idx < editableParameters->num_obj; obj_idx++ )
@@ -4060,19 +3598,11 @@ static void do_object_editing_fx(
if ( readInfo->obj_azi_relative[obj_idx] )
{
/* azimuth: apply relative edit + wrap */
-#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE
editableParameters->ism_metadata[obj_idx].azimuth_fx = ( ( editableParameters->ism_metadata[obj_idx].azimuth_fx + (Word32) ( readInfo->obj_azi[obj_idx] * 4194304 ) + 2264924160 ) % 1509949440 ) - 754974720; /* Q22 */
-#else
- editableParameters->ism_metadata[obj_idx].azimuth_fx = ( ( editableParameters->ism_metadata[obj_idx].azimuth_fx + (Word32) readInfo->obj_azi[obj_idx] * 4194304 + 2264924160 ) % 1509949440 ) - 754974720; /* Q22 */
-#endif
}
else
{
-#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE
editableParameters->ism_metadata[obj_idx].azimuth_fx = (Word32) ( readInfo->obj_azi[obj_idx] * 4194304 ); /* Q22 */
-#else
- editableParameters->ism_metadata[obj_idx].azimuth_fx = (Word32) readInfo->obj_azi[obj_idx] * 4194304; /* Q22 */
-#endif
}
}
if ( readInfo->obj_ele_edited[obj_idx] )
@@ -4080,22 +3610,13 @@ static void do_object_editing_fx(
if ( readInfo->obj_ele_relative[obj_idx] )
{
/* elevation: apply relative edit + saturation */
-#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE
editableParameters->ism_metadata[obj_idx].elevation_fx = L_max( L_min( editableParameters->ism_metadata[obj_idx].elevation_fx + (Word32) ( readInfo->obj_ele[obj_idx] * 4194304 ), 377487360 ), -377487360 ); /* Q22 */
-#else
- editableParameters->ism_metadata[obj_idx].elevation_fx = L_max( L_min( editableParameters->ism_metadata[obj_idx].elevation_fx + (Word32) readInfo->obj_ele[obj_idx] * 4194304, 377487360 ), -377487360 ); /* Q22 */
-#endif
}
else
{
-#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE
editableParameters->ism_metadata[obj_idx].elevation_fx = (Word32) ( readInfo->obj_ele[obj_idx] * 4194304 ); /* Q22 */
-#else
- editableParameters->ism_metadata[obj_idx].elevation_fx = (Word32) readInfo->obj_ele[obj_idx] * 4194304; /* Q22 */
-#endif
}
}
-#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA
/* object direction editing only for diegetic objects */
if ( readInfo->obj_yaw_edited[obj_idx] )
{
@@ -4145,7 +3666,6 @@ static void do_object_editing_fx(
editableParameters->ism_metadata[obj_idx].radius_fx = (Word16) ( readInfo->obj_radius[obj_idx] * 512 ); /* Q9 */
}
}
-#endif
}
/* gain editing for all objects */
@@ -4154,23 +3674,11 @@ static void do_object_editing_fx(
if ( readInfo->obj_gain_relative[obj_idx] )
{
/* gain: apply relative edit + saturation */
-#ifdef FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES
-#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE
editableParameters->ism_metadata[obj_idx].gain_fx = L_max( L_min( L_shl_sat( Mpy_32_32( editableParameters->ism_metadata[obj_idx].gain_fx, (Word32) ( readInfo->obj_gain[obj_idx] * 536870912 ) ), 2 ), OBJ_EDIT_GAIN_MAX_FX ), OBJ_EDIT_GAIN_MIN_FX ); /* Q29*Q29 -> Q27 shift back to Q29 */
-#else
- editableParameters->ism_metadata[obj_idx].gain_fx = L_max( L_min( L_shl_sat( Mpy_32_32( editableParameters->ism_metadata[obj_idx].gain_fx, (Word32) readInfo->obj_gain[obj_idx] * 536870912 ), 2 ), OBJ_EDIT_GAIN_MAX_FX ), OBJ_EDIT_GAIN_MIN_FX ); /* Q29*Q29 -> Q27 shift back to Q29 */
-#endif
-#else
- editableParameters->ism_metadata[obj_idx].gain_fx = L_max( L_min( editableParameters->ism_metadata[obj_idx].gain_fx * (Word32) readInfo->obj_gain[obj_idx] * 536870912, OBJ_EDIT_GAIN_MAX_FX ), OBJ_EDIT_GAIN_MIN_FX ); /* Q29 */
-#endif
}
else
{
-#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE
editableParameters->ism_metadata[obj_idx].gain_fx = (Word32) ( readInfo->obj_gain[obj_idx] * 536870912 ); /* Q29 */
-#else
- editableParameters->ism_metadata[obj_idx].gain_fx = (Word32) readInfo->obj_gain[obj_idx] * 536870912; /* Q29 */
-#endif
}
}
}
@@ -4379,7 +3887,6 @@ static ivas_error load_hrtf_from_file(
return IVAS_ERR_OK;
}
-#ifdef DECODER_FORMAT_SWITCHING
/*---------------------------------------------------------------------*
* restartDecoder()
@@ -4420,15 +3927,9 @@ static ivas_error restartDecoder(
uint16_t aeID = arg->aeSequence.count > 0 ? arg->aeSequence.pID[0] : 65535;
IVAS_AUDIO_CONFIG outputConfig = ( decMode == IVAS_DEC_MODE_IVAS ) ? arg->outputConfig : IVAS_AUDIO_CONFIG_MONO;
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
if ( ( error = IVAS_DEC_Configure( hIvasDec, arg->output_Fs, outputConfig, arg->renderFramesize, arg->customLsOutputEnabled, arg->hrtfReaderEnabled,
arg->enableHeadRotation, arg->enableExternalOrientation, arg->orientation_tracking, arg->renderConfigEnabled, arg->roomSize, arg->non_diegetic_pan_enabled,
arg->non_diegetic_pan_gain_fx, arg->dpidEnabled, aeID, arg->objEditEnabled, arg->delayCompensationEnabled ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_DEC_Configure( hIvasDec, arg->output_Fs, outputConfig, arg->renderFramesize, arg->customLsOutputEnabled, arg->hrtfReaderEnabled,
- arg->enableHeadRotation, arg->enableExternalOrientation, arg->orientation_tracking, arg->renderConfigEnabled, arg->non_diegetic_pan_enabled,
- arg->non_diegetic_pan_gain_fx, arg->dpidEnabled, aeID, arg->objEditEnabled, arg->delayCompensationEnabled ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
goto cleanup;
@@ -4440,24 +3941,6 @@ static ivas_error restartDecoder(
goto cleanup;
}
-#ifndef FIX_SPLIT_RENDERING_ON_DECODER_RESTART
- if ( arg->outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || arg->outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
- {
- if ( ( error = IVAS_DEC_EnableSplitRendering( hIvasDec ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nSplit rendering configure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
- goto cleanup;
- }
-
- if ( ( error = IVAS_DEC_GetRenderFramesize( hIvasDec, &arg->renderFramesize ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
- goto cleanup;
- }
-
- arg->enableHeadRotation = true;
- }
-#endif
if ( arg->voipMode )
{
@@ -4474,14 +3957,12 @@ static ivas_error restartDecoder(
goto cleanup;
}
-#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART
/* ISAR frame size is set from command line, not renderer config file.
* This will be ignored if output format is not split rendering. */
if ( renderConfig != NULL )
{
renderConfig->split_rend_config.isar_frame_size_ms = (int16_t) arg->renderFramesize /* given in number of 5ms subframes */ * 5;
}
-#endif
if ( arg->renderConfigEnabled && renderConfig != NULL )
{
@@ -4509,6 +3990,5 @@ cleanup:
return error;
}
-#endif
#undef WMC_TOOL_SKIP
diff --git a/apps/encoder.c b/apps/encoder.c
index 551eee9af4130123b654c03d93c1bab6450a4350..9b2e63d676cd03f613e5b682d9d2b6956b3296ef 100644
--- a/apps/encoder.c
+++ b/apps/encoder.c
@@ -1,40 +1,9 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#include "stl.h"
#include "lib_enc.h"
#include "cmdl_tools.h"
@@ -44,24 +13,9 @@
#include "jbm_file_reader.h"
#include "masa_file_reader.h"
#include "wmc_auto.h"
-#ifdef IVAS_RTPDUMP
#include "rotation_file_reader.h"
#include "ivas_rtp_file.h"
-#endif
-#ifdef DEBUG_FORCE_DIR
-/* Windows does not define the S_ISREG and S_ISDIR macros in stat.h, so we do.
- We have to define _CRT_INTERNAL_NONSTDC_NAMES 1 before #including sys/stat.h
- in order for Microsoft's stat.h to define names like S_IFMT, S_IFREG, and S_IFDIR,
- rather than just defining _S_IFMT, _S_IFREG, and _S_IFDIR as it normally does. */
-#include
-#if !defined( S_ISREG ) && defined( S_IFMT ) && defined( S_IFREG )
-#define S_ISREG( m ) ( ( (m) &S_IFMT ) == S_IFREG )
-#endif
-#if !defined( S_ISDIR ) && defined( S_IFMT ) && defined( S_IFDIR )
-#define S_ISDIR( m ) ( ( (m) &S_IFMT ) == S_IFDIR )
-#endif
-#endif
#define WMC_TOOL_SKIP
@@ -69,18 +23,12 @@
* Local constants, enums
*------------------------------------------------------------------------------------------*/
-#if !defined( DEBUGGING ) && !defined( WMOPS )
+#if !defined( WMOPS )
static
#endif
int32_t frame = 0; /* Counter of frames */
-#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
#define RANDOM_INITSEED_ENC ( 0xDEAF )
-#else
-#ifdef FIXED_RTP_SEQUENCE_NUM
-#define RANDOM_INITSEED_ENC ( 0xFEEDDEAF )
-#endif
-#endif
#define DEFAULT_FIXED_SID_RATE 8 /* DTX SID rate */
@@ -90,10 +38,6 @@ typedef union _EncInputFormatConfig
/* MONO details */
bool stereoToMonoDownmix;
-#ifdef DEBUGGING
- /* STEREO details */
- IVAS_ENC_STEREO_MODE stereoMode;
-#endif
/* ISM details */
struct EncIsmConfig
@@ -158,21 +102,12 @@ typedef struct
const char *ca_config_file;
bool mimeOutput;
IVAS_ENC_COMPLEXITY_LEVEL complexityLevel;
-#ifdef DEBUGGING
- IVAS_ENC_FORCED_MODE forcedMode;
- const char *forcedModeFile;
-#ifdef DEBUG_FORCE_DIR
- const char *forcedModeDir;
-#endif
-#endif
bool pca;
bool ism_extended_metadata;
-#ifdef IVAS_RTPDUMP
bool rtpdumpOutput;
uint32_t numFramesPerPacket;
char *sceneOrientationTrajFileName;
char *deviceOrientationTrajFileName;
-#endif
} EncArguments;
@@ -185,10 +120,6 @@ static bool parseCmdlIVAS_enc( int16_t argc, char *argv[], EncArguments *arg );
static void usage_enc( void );
static bool readBandwidth( FILE *file, IVAS_ENC_BANDWIDTH *bandwidth, int32_t *bandwidthFrameCounter );
static bool readBitrate( FILE *file, int32_t *bitrate );
-#ifdef DEBUGGING
-static ivas_error readForcedMode( FILE *file, IVAS_ENC_FORCED_MODE *forcedMode, int32_t *forceFrameCounter );
-static IVAS_ENC_FORCED_MODE parseForcedMode( char *forcedModeChar );
-#endif
/*------------------------------------------------------------------------------------------*
@@ -216,41 +147,23 @@ int main(
MasaFileReader *masaReader = NULL;
IsmFileReader *ismReaders[IVAS_MAX_NUM_OBJECTS] = { NULL, NULL, NULL, NULL };
int16_t *pcmBuf = NULL;
-#ifdef IVAS_RTPDUMP
RotFileReader *sceneOrientationFileReader = NULL;
RotFileReader *deviceOrientationFileReader = NULL;
-#endif
-#ifdef DEBUGGING
- FILE *f_forcedModeProfile = NULL;
-#endif
#ifdef WMOPS
reset_wmops();
reset_mem( USE_BYTES );
#endif
-#ifdef IVAS_RTPDUMP
uint8_t au[IVAS_MAX_BITS_PER_FRAME / 8];
IVAS_RTP ivasRtp = { 0 };
-#endif
-#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
/* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
use fixed seed for random num generator for regression based tests. Any realtime
application should implement this initialization seperately */
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 );
-#else
-#ifdef FIXED_RTP_SEQUENCE_NUM
- /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
- use fixed seed for random num generator for regression based tests. Any realtime
- application should implement this initialization seperately */
- srand( RANDOM_INITSEED_ENC );
- uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 );
- uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF );
-#endif
-#endif
/*------------------------------------------------------------------------------------------*
* Parse command-line arguments
@@ -278,11 +191,7 @@ int main(
const BS_WRITER_FORMAT bsWriterFormat = arg.mimeOutput ? BS_WRITER_FORMAT_MIME : BS_WRITER_FORMAT_G192;
-#ifdef IVAS_RTPDUMP
if ( !arg.rtpdumpOutput && BS_Writer_Open_filename( &hBsWriter, arg.outputBitstreamFilename, bsWriterFormat ) != IVAS_ERR_OK )
-#else
- if ( BS_Writer_Open_filename( &hBsWriter, arg.outputBitstreamFilename, bsWriterFormat ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nCan't open %s\n\n", arg.outputBitstreamFilename );
goto cleanup;
@@ -415,14 +324,6 @@ int main(
goto cleanup;
}
-#ifdef SUPPORT_FORCE_TCX10_TCX20
-#ifdef DEBUGGING
- if ( arg.forcedMode == IVAS_ENC_FORCE_TCX10 && totalBitrate < 48000 )
- {
- fprintf( stderr, "Warning: Enforcing the TCX10 mode is only supported for bitrates higher or equal than 48 kbps!\n\n" );
- }
-#endif
-#endif
/*------------------------------------------------------------------------------------------*
* Configure and initialize (allocate memory for static variables) the encoder
@@ -438,11 +339,7 @@ int main(
}
break;
case IVAS_ENC_INPUT_STEREO:
-#ifdef DEBUGGING
- if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural, arg.inputFormatConfig.stereoMode ) ) != IVAS_ERR_OK )
-#else
if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nIVAS_ENC_ConfigureForStereo failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) );
goto cleanup;
@@ -590,20 +487,6 @@ int main(
}
}
-#ifdef DEBUGGING
- IVAS_ENC_FORCED_MODE forcedMode = arg.forcedMode;
- int32_t force_profile_cnt = 0;
-
- if ( arg.forcedModeFile )
- {
- if ( ( f_forcedModeProfile = fopen( arg.forcedModeFile, "rb" ) ) == NULL )
- {
- fprintf( stderr, "\nError: Incorrect mode specification or the profile file could not be opened: %s\n\n", arg.forcedModeFile );
- usage_enc();
- goto cleanup;
- }
- }
-#endif
/*------------------------------------------------------------------------------------------*
* Allocate input data buffer
@@ -640,18 +523,13 @@ int main(
}
}
-#ifdef IVAS_RTPDUMP
/*------------------------------------------------------------------------------------------*
* RTPDump
*------------------------------------------------------------------------------------------*/
if ( arg.rtpdumpOutput )
{
-#ifdef FIXED_RTP_SEQUENCE_NUM
if ( ( error = IVAS_RTP_WRITER_Init( &ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket, ssrc, seqNumInitVal ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_RTP_WRITER_Init( &ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nError: Can't open output bitstream file for RTP output %s \n\n", arg.outputBitstreamFilename );
goto cleanup;
@@ -683,7 +561,6 @@ int main(
goto cleanup;
}
}
-#endif
/*------------------------------------------------------------------------------------------*
* Run the encoder
@@ -787,31 +664,6 @@ int main(
}
}
-#ifdef DEBUGGING
- if ( f_forcedModeProfile )
- {
- if ( ( error = readForcedMode( f_forcedModeProfile, &forcedMode, &force_profile_cnt ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nError reading from file: %s\n%s\n", arg.forcedModeFile, IVAS_ENC_GetErrorMessage( error ) );
- goto cleanup;
- }
- }
-
- /* Force mode not set when configuring, set in first frame even if not reading from file */
- if ( f_forcedModeProfile || frame == 0 )
- {
- if ( ( error = IVAS_ENC_SetForcedMode( hIvasEnc, forcedMode
-#ifdef DEBUG_FORCE_DIR
- ,
- arg.forcedModeDir
-#endif
- ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nIVAS_ENC_SetForcedMode failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) );
- goto cleanup;
- }
- }
-#endif
/* Read ISM input metadata */
for ( i = 0; i < numIsmInputs; ++i )
@@ -853,7 +705,6 @@ int main(
}
/* *** Encode one frame *** */
-#ifdef IVAS_RTPDUMP
if ( ivasRtp.hPack )
{
bool isMono = ( arg.inputFormat == IVAS_ENC_INPUT_MONO );
@@ -901,11 +752,7 @@ int main(
goto cleanup;
}
-#ifdef RTP_S4_251135_CR26253_0016_REV1
if ( ( error = IVAS_RTP_WriteNextFrame( &ivasRtp, au, NULL, numBits, isMono, forcePacket ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_RTP_WriteNextFrame( &ivasRtp, au, numBits, isMono, forcePacket ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nError %s while pushing audio frame to RTP pack\n", IVAS_ENC_GetErrorMessage( error ) );
goto cleanup;
@@ -913,7 +760,6 @@ int main(
}
else
{
-#endif
if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits ) ) != IVAS_ERR_OK )
{
fprintf( stderr, "\nencodeFrame failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) );
@@ -926,9 +772,7 @@ int main(
fprintf( stderr, "\nBS_Writer_WriteFrame_short failed, error code %d\n\n", error );
goto cleanup;
}
-#ifdef IVAS_RTPDUMP
}
-#endif
frame++;
if ( !arg.quietModeEnabled )
@@ -997,7 +841,6 @@ cleanup:
fclose( f_bitrateProfile );
}
-#ifdef IVAS_RTPDUMP
if ( sceneOrientationFileReader )
{
RotationFileReader_close( &sceneOrientationFileReader );
@@ -1009,7 +852,6 @@ cleanup:
}
IVAS_RTP_Term( &ivasRtp );
-#endif
IVAS_ENC_Close( &hIvasEnc );
@@ -1066,18 +908,9 @@ static bool parseCmdlIVAS_enc(
arg->mimeOutput = false;
arg->ism_extended_metadata = false;
arg->complexityLevel = IVAS_ENC_COMPLEXITY_LEVEL_THREE;
-#ifdef IVAS_RTPDUMP
arg->rtpdumpOutput = false;
arg->sceneOrientationTrajFileName = NULL;
arg->deviceOrientationTrajFileName = NULL;
-#endif
-#ifdef DEBUGGING
- arg->forcedMode = IVAS_ENC_FORCE_UNFORCED;
- arg->forcedModeFile = NULL;
-#ifdef DEBUG_FORCE_DIR
- arg->forcedModeDir = NULL;
-#endif
-#endif
arg->pca = false;
/*-----------------------------------------------------------------*
@@ -1190,83 +1023,6 @@ static bool parseCmdlIVAS_enc(
return false;
}
}
-#ifdef DEBUGGING
- /*-----------------------------------------------------------------*
- * Force specific mode
- *-----------------------------------------------------------------*/
-
- else if ( strcmp( argv_to_upper, "-FORCE" ) == 0 )
- {
- strncpy( stmp, argv[i + 1], sizeof( stmp ) );
-
- arg->forcedMode = parseForcedMode( stmp );
-
-#ifdef DEBUG_FORCE_DIR
- if ( arg->forcedMode < IVAS_ENC_FORCE_FILE )
- {
- fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] );
- }
- else if ( arg->forcedMode == IVAS_ENC_FORCE_FILE )
- {
- arg->forcedModeFile = argv[i + 1];
- fprintf( stdout, "Force switching file: %s\n", argv[i + 1] );
- }
- else if ( arg->forcedMode == IVAS_ENC_FORCE_DIR )
- {
- arg->forcedModeDir = argv[i + 1];
- fprintf( stdout, "Forcing switching directory: %s\n", argv[i + 1] );
- }
- else
- {
- fprintf( stderr, "\nError: The force switching profile file/dir %s does not exist or could not be opened!\n\n", argv[i + 1] );
- usage_enc();
- return false;
- }
-#else
- if ( arg->forcedMode == IVAS_ENC_FORCE_UNDEFINED )
- {
- arg->forcedModeFile = argv[i + 1];
- fprintf( stdout, "Force switching file: %s\n", argv[i + 1] );
- }
- else
- {
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- if ( arg->forcedMode == IVAS_ENC_FORCE_TCX10 )
- {
- strcpy( stmp, "TCX10" );
- }
- else if ( arg->forcedMode == IVAS_ENC_FORCE_TCX20 )
- {
- strcpy( stmp, "TCX20" );
- }
- else
- {
- strncpy( stmp, argv[i + 1], sizeof( stmp ) );
- }
-
- fprintf( stdout, "Forcing codec to: %s\n", stmp );
-#else
- fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] );
-#endif
- }
-#endif
-
- i += 2;
- }
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- /*-----------------------------------------------------------------*
- * Define additional subfolder for debug info output in ./res
- *-----------------------------------------------------------------*/
- else if ( strcmp( argv_to_upper, "-INFO" ) == 0 )
- {
- extern char infoFolder[FILENAME_MAX];
- strncpy( infoFolder, argv[i + 1], sizeof( infoFolder ) );
- i += 2;
- }
-#endif /* #ifdef DEBUG_MODE_INFO_TWEAK */
-#endif /* #ifdef DEBUG_MODE_INFO */
-#endif /* #ifdef DEBUGGING */
/*-----------------------------------------------------------------*
* deactivate delay compensation
@@ -1370,78 +1126,6 @@ static bool parseCmdlIVAS_enc(
{
i++;
arg->inputFormat = IVAS_ENC_INPUT_STEREO;
-
-#ifdef DEBUGGING
- if ( ( i < argc - 4 ) && argv[i][0] != 45 ) /* note: 45 corresponds to "-" */
- {
- if ( sscanf( argv[i], "%d", &tmp ) > 0 )
- {
- if ( tmp == 1 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_DFT;
- i++;
- }
- else if ( tmp == 2 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_TD;
- i++;
- }
- else if ( tmp == 3 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION;
-#ifdef DEBUG_FORCE_MDCT_STEREO_MODE
- i++;
-
- /* force mdct stereo mode for debugging purposes */
- if ( i < argc - 4 )
- {
- if ( sscanf( argv[i], "%d", &tmp ) > 0 )
- {
- if ( tmp == 0 )
- {
- /* keep "DECISION" */
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION;
- i++;
- }
- else if ( tmp == 1 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR;
- i++;
- }
- else if ( tmp == 2 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS;
- i++;
- }
- else
- {
- fprintf( stderr, "Error: Incorrect mdct stereo coding method (%d) specified\n\n", tmp );
- usage_enc();
- return false;
- }
- }
- }
-#endif
- }
- else
- {
- fprintf( stderr, "Error: Incorrect stereo mode (%d) specified\n\n", tmp );
- usage_enc();
- return false;
- }
- }
- else
- {
- fprintf( stderr, "Error: Stereo mode not specified.\n\n" ); /* in the debugging stage */
- usage_enc();
- return false;
- }
- }
- else
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_UNIFIED;
- }
-#endif /* DEBUGGING */
}
else if ( strcmp( argv_to_upper, "-BINAURAL" ) == 0 )
{
@@ -1849,7 +1533,6 @@ static bool parseCmdlIVAS_enc(
i++;
}
-#ifdef IVAS_RTPDUMP
/*-----------------------------------------------------------------*
* RTPDump output
*-----------------------------------------------------------------*/
@@ -1915,7 +1598,6 @@ static bool parseCmdlIVAS_enc(
i++;
}
-#endif
/*-----------------------------------------------------------------*
* Option not recognized
@@ -2115,28 +1797,14 @@ static void usage_enc( void )
fprintf( stdout, "-pca : activate PCA in SBA format FOA at 256 kbps \n" );
fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" );
fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" );
-#ifdef DEBUGGING
- fprintf( stdout, "-force T : Force specific mode, T = (speech, music, ACELP, GSC, TCX, HQ),\n" );
- fprintf( stdout, " alternatively, T can be a text file where each line contains \"nb_frames T\"\n" );
-#ifdef DEBUG_FORCE_DIR
- fprintf( stdout, " or T can be a directory containing external binary files for modes/parameters enforcement\n" );
-#endif
-#endif
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- fprintf( stdout, "-info : specify subfolder name for debug output\n" );
-#endif
-#endif
fprintf( stdout, "-q : Quiet mode, no frame counters\n" );
fprintf( stdout, " default is deactivated\n" );
-#ifdef IVAS_RTPDUMP
fprintf( stdout, "-rtpdump : RTPDump output, hf_only=1 by default. The encoder will packetize the \n" );
fprintf( stdout, " bitstream frames into TS26.253 Annex A IVAS RTP Payload Format packets and \n" );
fprintf( stdout, " writes those to the output file. In EVS mono operating mode, TS26.445 Annex A.2.2 \n" );
fprintf( stdout, " EVS RTP Payload Format is used. Optional N represents number of frames per RTP packet\n" );
fprintf( stdout, "-scene_orientation : Scene orientation trajectory file. Only used with rtpdump output.\n" );
fprintf( stdout, "-device_orientation : Device orientation trajectory file. Only used with rtpdump output.\n" );
-#endif
fprintf( stdout, "\n" );
return;
@@ -2228,170 +1896,4 @@ static bool readBitrate(
}
-#ifdef DEBUGGING
-/*---------------------------------------------------------------------*
- * parseForcedMode()
- *
- *
- *---------------------------------------------------------------------*/
-
-static IVAS_ENC_FORCED_MODE parseForcedMode(
- char *forcedModeChar )
-{
-#ifdef DEBUG_FORCE_DIR
- struct stat path_stat;
-#endif
-
- to_upper( forcedModeChar );
-
-#ifdef DEBUG_FORCE_DIR
- if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) ||
- ( strcmp( forcedModeChar, "0" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_SPEECH;
- }
- else if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_MUSIC;
- }
- else if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_ACELP;
- }
- else if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_GSC;
- }
- if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 )
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 )
-#endif
- )
- {
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- return IVAS_ENC_FORCE_TCX20;
-#else
- return IVAS_ENC_FORCE_TCX;
-#endif
- }
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_TCX10;
- }
-#endif
- else if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_HQ;
- }
- else
- {
- if ( stat( forcedModeChar, &path_stat ) != 0 )
- {
- return IVAS_ENC_FORCE_UNDEFINED;
- }
-
- /* check if the argument represents an existing file or directory */
- if ( S_ISDIR( path_stat.st_mode ) )
- {
- /* it's a directory */
- return IVAS_ENC_FORCE_DIR;
- }
- else
- {
- /* it's a file */
- return IVAS_ENC_FORCE_FILE;
- }
- }
-#else
- if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) ||
- ( strcmp( forcedModeChar, "0" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_SPEECH;
- }
- if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_MUSIC;
- }
- if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_ACELP;
- }
- if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_GSC;
- }
- if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 )
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 )
-#endif
- )
- {
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- return IVAS_ENC_FORCE_TCX20;
-#else
- return IVAS_ENC_FORCE_TCX;
-#endif
- }
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_TCX10;
- }
-#endif
- if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_HQ;
- }
-
- return IVAS_ENC_FORCE_UNDEFINED;
-#endif
-}
-
-
-/*---------------------------------------------------------------------*
- * readForcedMode()
- *
- *
- *---------------------------------------------------------------------*/
-
-static ivas_error readForcedMode(
- FILE *file,
- IVAS_ENC_FORCED_MODE *forcedMode,
- int32_t *forceFrameCounter )
-{
- int16_t res;
- char stmp[8];
-
- if ( *forceFrameCounter == 0 )
- {
- /* read next force and number of frames from the profile file */
- while ( ( res = (int16_t) fscanf( file, "%d %7s", forceFrameCounter, stmp ) ) != 2 && feof( file ) )
- {
- rewind( file );
- }
-
- *forcedMode = parseForcedMode( stmp );
-
- if ( *forcedMode == IVAS_ENC_FORCE_UNDEFINED )
- {
- fprintf( stderr, "Error: incorect mode specification or the force profile file could not be opened: %s\n\n", stmp );
- return IVAS_ERR_WRONG_PARAMS;
- }
-
- if ( res != 2 && !feof( file ) )
- {
- fprintf( stderr, "Error: incorrect format of the force profile file (please ensure that it does not contain any empty lines)\n\n" );
- return IVAS_ERR_WRONG_PARAMS;
- }
- }
-
- /* current profile still active, only decrease the counter */
- ( *forceFrameCounter )--;
-
- return IVAS_ERR_OK;
-}
-#endif
-
-
#undef WMC_TOOL_SKIP
diff --git a/apps/encoder_fmtsw.c b/apps/encoder_fmtsw.c
index 10d81fc2f8e6bdbae8eb8f3eb3a4abcab341870c..d4d33d1635bb2771743a8c378ef5d46201f0ce8a 100644
--- a/apps/encoder_fmtsw.c
+++ b/apps/encoder_fmtsw.c
@@ -1,40 +1,9 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#include "stl.h"
#include "lib_enc.h"
#include "cmdl_tools.h"
@@ -44,24 +13,9 @@
#include "jbm_file_reader.h"
#include "masa_file_reader.h"
#include "wmc_auto.h"
-#ifdef IVAS_RTPDUMP
#include "rotation_file_reader.h"
#include "ivas_rtp_file.h"
-#endif
-#ifdef DEBUG_FORCE_DIR
-/* Windows does not define the S_ISREG and S_ISDIR macros in stat.h, so we do.
- We have to define _CRT_INTERNAL_NONSTDC_NAMES 1 before #including sys/stat.h
- in order for Microsoft's stat.h to define names like S_IFMT, S_IFREG, and S_IFDIR,
- rather than just defining _S_IFMT, _S_IFREG, and _S_IFDIR as it normally does. */
-#include
-#if !defined( S_ISREG ) && defined( S_IFMT ) && defined( S_IFREG )
-#define S_ISREG( m ) ( ( (m) &S_IFMT ) == S_IFREG )
-#endif
-#if !defined( S_ISDIR ) && defined( S_IFMT ) && defined( S_IFDIR )
-#define S_ISDIR( m ) ( ( (m) &S_IFMT ) == S_IFDIR )
-#endif
-#endif
#define WMC_TOOL_SKIP
@@ -72,18 +26,12 @@
#define MAX_ARGV 20 /* maximum number of command line arguments that can be \
in one line of the format switching file */
-#if !defined( DEBUGGING ) && !defined( WMOPS )
+#if !defined( WMOPS )
static
#endif
int32_t frame = 0; /* Counter of frames */
-#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
#define RANDOM_INITSEED_ENC ( 0xDEAF )
-#else
-#ifdef FIXED_RTP_SEQUENCE_NUM
-#define RANDOM_INITSEED_ENC ( 0xFEEDDEAF )
-#endif
-#endif
#define DEFAULT_FIXED_SID_RATE 8 /* DTX SID rate */
@@ -93,10 +41,6 @@ typedef union _EncInputFormatConfig
/* MONO details */
bool stereoToMonoDownmix;
-#ifdef DEBUGGING
- /* STEREO details */
- IVAS_ENC_STEREO_MODE stereoMode;
-#endif
/* ISM details */
struct EncIsmConfig
@@ -161,21 +105,12 @@ typedef struct
const char *ca_config_file;
bool mimeOutput;
IVAS_ENC_COMPLEXITY_LEVEL complexityLevel;
-#ifdef DEBUGGING
- IVAS_ENC_FORCED_MODE forcedMode;
- const char *forcedModeFile;
-#ifdef DEBUG_FORCE_DIR
- const char *forcedModeDir;
-#endif
-#endif
bool pca;
bool ism_extended_metadata;
-#ifdef IVAS_RTPDUMP
bool rtpdumpOutput;
uint32_t numFramesPerPacket;
char *sceneOrientationTrajFileName;
char *deviceOrientationTrajFileName;
-#endif
} EncArguments;
@@ -188,16 +123,8 @@ static bool parseCmdlIVAS_enc( int16_t argc, char *argv[], EncArguments *arg );
static void usage_enc( void );
static bool readBandwidth( FILE *file, IVAS_ENC_BANDWIDTH *bandwidth, int32_t *bandwidthFrameCounter );
static bool readBitrate( FILE *file, int32_t *bitrate );
-#ifdef DEBUGGING
-static ivas_error readForcedMode( FILE *file, IVAS_ENC_FORCED_MODE *forcedMode, int32_t *forceFrameCounter );
-static IVAS_ENC_FORCED_MODE parseForcedMode( char *forcedModeChar );
-#endif
static void str2arg( char *str, int *argc_local, char *argv_local[] );
-#ifdef IVAS_RTPDUMP
static int encoder_main( int argc, char *argv[], IVAS_RTP *ivasRtp, int init_RtpWriter );
-#else
-static int encoder_main( int argc, char *argv[] );
-#endif
/*------------------------------------------------------------------------------------------*
* main()
@@ -215,11 +142,9 @@ int main(
char line[2048];
int argc_local = 0;
char *argv_local[MAX_ARGV] = { 0 };
-#ifdef IVAS_RTPDUMP
IVAS_RTP ivasRtp = { 0 };
char prev_outputBitstreamFilename[2048] = { 0 };
int rtp_term = 0;
-#endif
IVAS_ENC_PrintDisclaimer();
@@ -244,7 +169,6 @@ int main(
printf( "Processing format switching commandline: %s\n", line );
str2arg( line, &argc_local, argv_local );
-#ifdef IVAS_RTPDUMP
if ( strcmp( argv_local[argc_local - 1], (char *) prev_outputBitstreamFilename ) == 0 )
{
/* append to last Rtp file */
@@ -269,9 +193,6 @@ int main(
rtp_term = 1;
}
strcpy( (char *) prev_outputBitstreamFilename, argv_local[argc_local - 1] );
-#else
- encoder_main( argc_local, argv_local );
-#endif
}
/*------------------------------------------------------------------------------------------*
@@ -282,9 +203,7 @@ int main(
cleanup:
-#ifdef IVAS_RTPDUMP
IVAS_RTP_Term( &ivasRtp );
-#endif
if ( FmtSWFile )
{
fclose( FmtSWFile );
@@ -318,13 +237,9 @@ void str2arg(
int encoder_main(
int argc,
-#ifdef IVAS_RTPDUMP
char *argv[],
IVAS_RTP *ivasRtp,
int init_RtpWriter )
-#else
- char *argv[] )
-#endif
{
bool mainFailed = true; /* Assume main failed until cleanup is reached without errors */
EncArguments arg;
@@ -341,41 +256,23 @@ int encoder_main(
MasaFileReader *masaReader = NULL;
IsmFileReader *ismReaders[IVAS_MAX_NUM_OBJECTS] = { NULL, NULL, NULL, NULL };
int16_t *pcmBuf = NULL;
-#ifdef IVAS_RTPDUMP
RotFileReader *sceneOrientationFileReader = NULL;
RotFileReader *deviceOrientationFileReader = NULL;
-#endif
-#ifdef DEBUGGING
- FILE *f_forcedModeProfile = NULL;
-#endif
#ifdef WMOPS
reset_wmops();
reset_mem( USE_BYTES );
#endif
-#ifdef IVAS_RTPDUMP
uint8_t au[IVAS_MAX_BITS_PER_FRAME / 8];
/* IVAS_RTP ivasRtp = { 0 }; */
-#endif
-#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS
/* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
use fixed seed for random num generator for regression based tests. Any realtime
application should implement this initialization seperately */
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 );
-#else
-#ifdef FIXED_RTP_SEQUENCE_NUM
- /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we
- use fixed seed for random num generator for regression based tests. Any realtime
- application should implement this initialization seperately */
- srand( RANDOM_INITSEED_ENC );
- uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 );
- uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF );
-#endif
-#endif
/*------------------------------------------------------------------------------------------*
* Parse command-line arguments
@@ -401,11 +298,7 @@ int encoder_main(
const BS_WRITER_FORMAT bsWriterFormat = arg.mimeOutput ? BS_WRITER_FORMAT_MIME : BS_WRITER_FORMAT_G192;
-#ifdef IVAS_RTPDUMP
if ( !arg.rtpdumpOutput && BS_Writer_Open_filename( &hBsWriter, arg.outputBitstreamFilename, bsWriterFormat ) != IVAS_ERR_OK )
-#else
- if ( BS_Writer_Open_filename( &hBsWriter, arg.outputBitstreamFilename, bsWriterFormat ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nCan't open %s\n\n", arg.outputBitstreamFilename );
goto cleanup;
@@ -538,14 +431,6 @@ int encoder_main(
goto cleanup;
}
-#ifdef SUPPORT_FORCE_TCX10_TCX20
-#ifdef DEBUGGING
- if ( arg.forcedMode == IVAS_ENC_FORCE_TCX10 && totalBitrate < 48000 )
- {
- fprintf( stderr, "Warning: Enforcing the TCX10 mode is only supported for bitrates higher or equal than 48 kbps!\n\n" );
- }
-#endif
-#endif
/*------------------------------------------------------------------------------------------*
* Configure and initialize (allocate memory for static variables) the encoder
@@ -561,11 +446,7 @@ int encoder_main(
}
break;
case IVAS_ENC_INPUT_STEREO:
-#ifdef DEBUGGING
- if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural, arg.inputFormatConfig.stereoMode ) ) != IVAS_ERR_OK )
-#else
if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nIVAS_ENC_ConfigureForStereo failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) );
goto cleanup;
@@ -713,20 +594,6 @@ int encoder_main(
}
}
-#ifdef DEBUGGING
- IVAS_ENC_FORCED_MODE forcedMode = arg.forcedMode;
- int32_t force_profile_cnt = 0;
-
- if ( arg.forcedModeFile )
- {
- if ( ( f_forcedModeProfile = fopen( arg.forcedModeFile, "rb" ) ) == NULL )
- {
- fprintf( stderr, "\nError: Incorrect mode specification or the profile file could not be opened: %s\n\n", arg.forcedModeFile );
- usage_enc();
- goto cleanup;
- }
- }
-#endif
/*------------------------------------------------------------------------------------------*
* Allocate input data buffer
@@ -763,18 +630,13 @@ int encoder_main(
}
}
-#ifdef IVAS_RTPDUMP
/*------------------------------------------------------------------------------------------*
* RTPDump
*------------------------------------------------------------------------------------------*/
if ( arg.rtpdumpOutput && init_RtpWriter )
{
-#ifdef FIXED_RTP_SEQUENCE_NUM
if ( ( error = IVAS_RTP_WRITER_Init( ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket, ssrc, seqNumInitVal ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_RTP_WRITER_Init( ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nError: Can't open output bitstream file for RTP output %s \n\n", arg.outputBitstreamFilename );
goto cleanup;
@@ -806,7 +668,6 @@ int encoder_main(
goto cleanup;
}
}
-#endif
/*------------------------------------------------------------------------------------------*
* Run the encoder
@@ -910,31 +771,6 @@ int encoder_main(
}
}
-#ifdef DEBUGGING
- if ( f_forcedModeProfile )
- {
- if ( ( error = readForcedMode( f_forcedModeProfile, &forcedMode, &force_profile_cnt ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nError reading from file: %s\n%s\n", arg.forcedModeFile, IVAS_ENC_GetErrorMessage( error ) );
- goto cleanup;
- }
- }
-
- /* Force mode not set when configuring, set in first frame even if not reading from file */
- if ( f_forcedModeProfile || frame == 0 )
- {
- if ( ( error = IVAS_ENC_SetForcedMode( hIvasEnc, forcedMode
-#ifdef DEBUG_FORCE_DIR
- ,
- arg.forcedModeDir
-#endif
- ) ) != IVAS_ERR_OK )
- {
- fprintf( stderr, "\nIVAS_ENC_SetForcedMode failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) );
- goto cleanup;
- }
- }
-#endif
/* Read ISM input metadata */
for ( i = 0; i < numIsmInputs; ++i )
@@ -976,7 +812,6 @@ int encoder_main(
}
/* *** Encode one frame *** */
-#ifdef IVAS_RTPDUMP
if ( ivasRtp->hPack )
{
bool isMono = ( arg.inputFormat == IVAS_ENC_INPUT_MONO );
@@ -1024,11 +859,7 @@ int encoder_main(
goto cleanup;
}
-#ifdef RTP_S4_251135_CR26253_0016_REV1
if ( ( error = IVAS_RTP_WriteNextFrame( ivasRtp, au, NULL, numBits, isMono, forcePacket ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_RTP_WriteNextFrame( ivasRtp, au, numBits, isMono, forcePacket ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nError %s while pushing audio frame to RTP pack\n", IVAS_ENC_GetErrorMessage( error ) );
goto cleanup;
@@ -1036,7 +867,6 @@ int encoder_main(
}
else
{
-#endif
if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits ) ) != IVAS_ERR_OK )
{
fprintf( stderr, "\nencodeFrame failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) );
@@ -1049,9 +879,7 @@ int encoder_main(
fprintf( stderr, "\nBS_Writer_WriteFrame_short failed, error code %d\n\n", error );
goto cleanup;
}
-#ifdef IVAS_RTPDUMP
}
-#endif
frame++;
if ( !arg.quietModeEnabled )
@@ -1120,7 +948,6 @@ cleanup:
fclose( f_bitrateProfile );
}
-#ifdef IVAS_RTPDUMP
if ( sceneOrientationFileReader )
{
RotationFileReader_close( &sceneOrientationFileReader );
@@ -1132,7 +959,6 @@ cleanup:
}
/* IVAS_RTP_Term( &ivasRtp ); */
-#endif
IVAS_ENC_Close( &hIvasEnc );
@@ -1185,18 +1011,9 @@ static bool parseCmdlIVAS_enc(
arg->mimeOutput = false;
arg->ism_extended_metadata = false;
arg->complexityLevel = IVAS_ENC_COMPLEXITY_LEVEL_THREE;
-#ifdef IVAS_RTPDUMP
arg->rtpdumpOutput = false;
arg->sceneOrientationTrajFileName = NULL;
arg->deviceOrientationTrajFileName = NULL;
-#endif
-#ifdef DEBUGGING
- arg->forcedMode = IVAS_ENC_FORCE_UNFORCED;
- arg->forcedModeFile = NULL;
-#ifdef DEBUG_FORCE_DIR
- arg->forcedModeDir = NULL;
-#endif
-#endif
arg->pca = false;
/*-----------------------------------------------------------------*
@@ -1309,83 +1126,6 @@ static bool parseCmdlIVAS_enc(
return false;
}
}
-#ifdef DEBUGGING
- /*-----------------------------------------------------------------*
- * Force specific mode
- *-----------------------------------------------------------------*/
-
- else if ( strcmp( argv_to_upper, "-FORCE" ) == 0 )
- {
- strncpy( stmp, argv[i + 1], sizeof( stmp ) );
-
- arg->forcedMode = parseForcedMode( stmp );
-
-#ifdef DEBUG_FORCE_DIR
- if ( arg->forcedMode < IVAS_ENC_FORCE_FILE )
- {
- fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] );
- }
- else if ( arg->forcedMode == IVAS_ENC_FORCE_FILE )
- {
- arg->forcedModeFile = argv[i + 1];
- fprintf( stdout, "Force switching file: %s\n", argv[i + 1] );
- }
- else if ( arg->forcedMode == IVAS_ENC_FORCE_DIR )
- {
- arg->forcedModeDir = argv[i + 1];
- fprintf( stdout, "Forcing switching directory: %s\n", argv[i + 1] );
- }
- else
- {
- fprintf( stderr, "\nError: The force switching profile file/dir %s does not exist or could not be opened!\n\n", argv[i + 1] );
- usage_enc();
- return false;
- }
-#else
- if ( arg->forcedMode == IVAS_ENC_FORCE_UNDEFINED )
- {
- arg->forcedModeFile = argv[i + 1];
- fprintf( stdout, "Force switching file: %s\n", argv[i + 1] );
- }
- else
- {
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- if ( arg->forcedMode == IVAS_ENC_FORCE_TCX10 )
- {
- strcpy( stmp, "TCX10" );
- }
- else if ( arg->forcedMode == IVAS_ENC_FORCE_TCX20 )
- {
- strcpy( stmp, "TCX20" );
- }
- else
- {
- strncpy( stmp, argv[i + 1], sizeof( stmp ) );
- }
-
- fprintf( stdout, "Forcing codec to: %s\n", stmp );
-#else
- fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] );
-#endif
- }
-#endif
-
- i += 2;
- }
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- /*-----------------------------------------------------------------*
- * Define additional subfolder for debug info output in ./res
- *-----------------------------------------------------------------*/
- else if ( strcmp( argv_to_upper, "-INFO" ) == 0 )
- {
- extern char infoFolder[FILENAME_MAX];
- strncpy( infoFolder, argv[i + 1], sizeof( infoFolder ) );
- i += 2;
- }
-#endif /* #ifdef DEBUG_MODE_INFO_TWEAK */
-#endif /* #ifdef DEBUG_MODE_INFO */
-#endif /* #ifdef DEBUGGING */
/*-----------------------------------------------------------------*
* deactivate delay compensation
@@ -1489,78 +1229,6 @@ static bool parseCmdlIVAS_enc(
{
i++;
arg->inputFormat = IVAS_ENC_INPUT_STEREO;
-
-#ifdef DEBUGGING
- if ( ( i < argc - 4 ) && argv[i][0] != 45 ) /* note: 45 corresponds to "-" */
- {
- if ( sscanf( argv[i], "%d", &tmp ) > 0 )
- {
- if ( tmp == 1 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_DFT;
- i++;
- }
- else if ( tmp == 2 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_TD;
- i++;
- }
- else if ( tmp == 3 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION;
-#ifdef DEBUG_FORCE_MDCT_STEREO_MODE
- i++;
-
- /* force mdct stereo mode for debugging purposes */
- if ( i < argc - 4 )
- {
- if ( sscanf( argv[i], "%d", &tmp ) > 0 )
- {
- if ( tmp == 0 )
- {
- /* keep "DECISION" */
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION;
- i++;
- }
- else if ( tmp == 1 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR;
- i++;
- }
- else if ( tmp == 2 )
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS;
- i++;
- }
- else
- {
- fprintf( stderr, "Error: Incorrect mdct stereo coding method (%d) specified\n\n", tmp );
- usage_enc();
- return false;
- }
- }
- }
-#endif
- }
- else
- {
- fprintf( stderr, "Error: Incorrect stereo mode (%d) specified\n\n", tmp );
- usage_enc();
- return false;
- }
- }
- else
- {
- fprintf( stderr, "Error: Stereo mode not specified.\n\n" ); /* in the debugging stage */
- usage_enc();
- return false;
- }
- }
- else
- {
- arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_UNIFIED;
- }
-#endif /* DEBUGGING */
}
else if ( strcmp( argv_to_upper, "-BINAURAL" ) == 0 )
{
@@ -1968,7 +1636,6 @@ static bool parseCmdlIVAS_enc(
i++;
}
-#ifdef IVAS_RTPDUMP
/*-----------------------------------------------------------------*
* RTPDump output
*-----------------------------------------------------------------*/
@@ -2032,7 +1699,6 @@ static bool parseCmdlIVAS_enc(
i++;
}
-#endif
/*-----------------------------------------------------------------*
* Option not recognized
@@ -2232,28 +1898,14 @@ static void usage_enc( void )
fprintf( stdout, "-pca : activate PCA in SBA format FOA at 256 kbps \n" );
fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" );
fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" );
-#ifdef DEBUGGING
- fprintf( stdout, "-force T : Force specific mode, T = (speech, music, ACELP, GSC, TCX, HQ),\n" );
- fprintf( stdout, " alternatively, T can be a text file where each line contains \"nb_frames T\"\n" );
-#ifdef DEBUG_FORCE_DIR
- fprintf( stdout, " or T can be a directory containing external binary files for modes/parameters enforcement\n" );
-#endif
-#endif
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- fprintf( stdout, "-info : specify subfolder name for debug output\n" );
-#endif
-#endif
fprintf( stdout, "-q : Quiet mode, no frame counters\n" );
fprintf( stdout, " default is deactivated\n" );
-#ifdef IVAS_RTPDUMP
fprintf( stdout, "-rtpdump : RTPDump output, hf_only=1 by default. The encoder will packetize the \n" );
fprintf( stdout, " bitstream frames into TS26.253 Annex A IVAS RTP Payload Format packets and \n" );
fprintf( stdout, " writes those to the output file. In EVS mono operating mode, TS26.445 Annex A.2.2 \n" );
fprintf( stdout, " EVS RTP Payload Format is used. Optional N represents number of frames per RTP packet\n" );
fprintf( stdout, "-scene_orientation : Scene orientation trajectory file. Only used with rtpdump output.\n" );
fprintf( stdout, "-device_orientation : Device orientation trajectory file. Only used with rtpdump output.\n" );
-#endif
fprintf( stdout, "\n" );
return;
@@ -2345,170 +1997,4 @@ static bool readBitrate(
}
-#ifdef DEBUGGING
-/*---------------------------------------------------------------------*
- * parseForcedMode()
- *
- *
- *---------------------------------------------------------------------*/
-
-static IVAS_ENC_FORCED_MODE parseForcedMode(
- char *forcedModeChar )
-{
-#ifdef DEBUG_FORCE_DIR
- struct stat path_stat;
-#endif
-
- to_upper( forcedModeChar );
-
-#ifdef DEBUG_FORCE_DIR
- if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) ||
- ( strcmp( forcedModeChar, "0" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_SPEECH;
- }
- else if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_MUSIC;
- }
- else if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_ACELP;
- }
- else if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_GSC;
- }
- if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 )
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 )
-#endif
- )
- {
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- return IVAS_ENC_FORCE_TCX20;
-#else
- return IVAS_ENC_FORCE_TCX;
-#endif
- }
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_TCX10;
- }
-#endif
- else if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_HQ;
- }
- else
- {
- if ( stat( forcedModeChar, &path_stat ) != 0 )
- {
- return IVAS_ENC_FORCE_UNDEFINED;
- }
-
- /* check if the argument represents an existing file or directory */
- if ( S_ISDIR( path_stat.st_mode ) )
- {
- /* it's a directory */
- return IVAS_ENC_FORCE_DIR;
- }
- else
- {
- /* it's a file */
- return IVAS_ENC_FORCE_FILE;
- }
- }
-#else
- if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) ||
- ( strcmp( forcedModeChar, "0" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_SPEECH;
- }
- if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_MUSIC;
- }
- if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_ACELP;
- }
- if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_GSC;
- }
- if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 )
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 )
-#endif
- )
- {
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- return IVAS_ENC_FORCE_TCX20;
-#else
- return IVAS_ENC_FORCE_TCX;
-#endif
- }
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_TCX10;
- }
-#endif
- if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) )
- {
- return IVAS_ENC_FORCE_HQ;
- }
-
- return IVAS_ENC_FORCE_UNDEFINED;
-#endif
-}
-
-
-/*---------------------------------------------------------------------*
- * readForcedMode()
- *
- *
- *---------------------------------------------------------------------*/
-
-static ivas_error readForcedMode(
- FILE *file,
- IVAS_ENC_FORCED_MODE *forcedMode,
- int32_t *forceFrameCounter )
-{
- int16_t res;
- char stmp[8];
-
- if ( *forceFrameCounter == 0 )
- {
- /* read next force and number of frames from the profile file */
- while ( ( res = (int16_t) fscanf( file, "%d %7s", forceFrameCounter, stmp ) ) != 2 && feof( file ) )
- {
- rewind( file );
- }
-
- *forcedMode = parseForcedMode( stmp );
-
- if ( *forcedMode == IVAS_ENC_FORCE_UNDEFINED )
- {
- fprintf( stderr, "Error: incorect mode specification or the force profile file could not be opened: %s\n\n", stmp );
- return IVAS_ERR_WRONG_PARAMS;
- }
-
- if ( res != 2 && !feof( file ) )
- {
- fprintf( stderr, "Error: incorrect format of the force profile file (please ensure that it does not contain any empty lines)\n\n" );
- return IVAS_ERR_WRONG_PARAMS;
- }
- }
-
- /* current profile still active, only decrease the counter */
- ( *forceFrameCounter )--;
-
- return IVAS_ERR_OK;
-}
-#endif
-
-
#undef WMC_TOOL_SKIP
diff --git a/apps/isar_post_rend.c b/apps/isar_post_rend.c
index a2933f432deafac4f5f3f60ee48d33870def260c..e64726a6050045e07841ef8ec7e867fc55d4ee57 100644
--- a/apps/isar_post_rend.c
+++ b/apps/isar_post_rend.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "lib_isar_post_rend.h"
#include
@@ -42,14 +14,9 @@
#include "rotation_file_reader.h"
#include "split_render_file_read_write.h"
#include "split_rend_bfi_file_reader.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#include "stl.h"
#include "wmc_auto.h"
-#ifdef RTP_S4_251135_CR26253_0016_REV1
#include "ivas_rtp_file.h"
-#endif
#define WMC_TOOL_SKIP
@@ -65,7 +32,7 @@
#define ISAR_MAX16B_FX 32767
#define ISAR_MIN16B_FX ( -32768 )
-#if !defined( DEBUGGING ) && !defined( WMOPS )
+#if !defined( WMOPS )
static
#endif
int32_t frame = 0;
@@ -82,9 +49,7 @@ static
typedef struct
{
-#ifdef RTP_S4_251135_CR26253_0016_REV1
bool srRtp;
-#endif
IVAS_AUDIO_CONFIG audioConfig;
int32_t inputChannelIndex;
float gain_dB;
@@ -106,9 +71,7 @@ typedef struct
char executableName[POST_REND_MAX_CLI_ARG_LENGTH];
char inputFilePath[POST_REND_MAX_CLI_ARG_LENGTH];
char outputFilePath[POST_REND_MAX_CLI_ARG_LENGTH];
-#ifdef RTP_S4_251135_CR26253_0016_REV1
char srParamsFilePath[POST_REND_MAX_CLI_ARG_LENGTH];
-#endif
int32_t sampleRate;
InputConfig inConfig;
OutputConfig outConfig;
@@ -138,9 +101,7 @@ typedef enum
CmdLnOptionId_listFormats,
CmdLnOptionId_SplitRendBFIFile,
CmdLnOptionId_framing,
-#ifdef RTP_S4_251135_CR26253_0016_REV1
CmdLnOptionId_srParamsFile,
-#endif
} CmdLnOptionId;
static const CmdLnParser_Option cliOptions[] = {
@@ -216,14 +177,12 @@ static const CmdLnParser_Option cliOptions[] = {
.matchShort = "fr",
.description = "Set Render audio framing.",
},
-#ifdef RTP_S4_251135_CR26253_0016_REV1
{
.id = CmdLnOptionId_srParamsFile,
.match = "sr_params",
.matchShort = "s",
.description = "Path to the split rendering init params file",
},
-#endif
};
@@ -235,11 +194,7 @@ static const int32_t numCliOptions = sizeof( cliOptions ) / sizeof( CmdLnParser_
static void printSupportedAudioConfigs( void );
-#ifdef RTP_S4_251135_CR26253_0016_REV1
static IVAS_AUDIO_CONFIG parseAudioConfig( const char *configString, bool *srRtp );
-#else
-static IVAS_AUDIO_CONFIG parseAudioConfig( const char *configString );
-#endif
static void convertOutputBuffer( const Word32 *fixedBuffer, Word16 q, const int16_t numSamplesPerChannel, const int16_t numChannels, int16_t *intBuffer );
@@ -327,20 +282,14 @@ static bool parseInConfig(
}
/* Check for single-format inputs. The given string should map to a member of AUDIO_CONFIG enum. */
-#ifdef RTP_S4_251135_CR26253_0016_REV1
bool srRtp = false;
IVAS_AUDIO_CONFIG audioConfig = parseAudioConfig( inFormatStr, &srRtp );
-#else
- IVAS_AUDIO_CONFIG audioConfig = parseAudioConfig( inFormatStr );
-#endif
switch ( audioConfig )
{
case IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED:
case IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM:
inConfig->numBinBuses = 1;
-#ifdef RTP_S4_251135_CR26253_0016_REV1
inConfig->binBuses[0].srRtp = srRtp;
-#endif
inConfig->binBuses[0].audioConfig = audioConfig;
inConfig->binBuses[0].inputChannelIndex = 0;
inConfig->binBuses[0].gain_dB = 0.0f;
@@ -391,19 +340,13 @@ static bool parseRenderFramesize(
static IVAS_AUDIO_CONFIG parseAudioConfig(
-#ifdef RTP_S4_251135_CR26253_0016_REV1
const char *configString,
bool *srRtp )
-#else
- const char *configString )
-#endif
{
char charBuf[25];
charBuf[24] = '\0';
-#ifdef RTP_S4_251135_CR26253_0016_REV1
*srRtp = false;
-#endif
strncpy( charBuf, configString, sizeof( charBuf ) - 1 );
charBuf[sizeof( charBuf ) - 1] = '\0';
to_upper( charBuf );
@@ -420,13 +363,11 @@ static IVAS_AUDIO_CONFIG parseAudioConfig(
{
return IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED;
}
-#ifdef RTP_S4_251135_CR26253_0016_REV1
if ( strcmp( charBuf, "RTPDUMP" ) == 0 )
{
*srRtp = true;
return IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED;
}
-#endif
return IVAS_AUDIO_CONFIG_INVALID;
}
@@ -483,9 +424,7 @@ static CmdlnArgs defaultArgs(
strncpy( args.executableName, executableName, POST_REND_MAX_CLI_ARG_LENGTH );
clearString( args.inputFilePath );
clearString( args.outputFilePath );
-#ifdef RTP_S4_251135_CR26253_0016_REV1
clearString( args.srParamsFilePath );
-#endif
args.sampleRate = 0;
args.outConfig.audioConfig = IVAS_AUDIO_CONFIG_INVALID;
@@ -593,12 +532,10 @@ static void parseOption(
}
break;
-#ifdef RTP_S4_251135_CR26253_0016_REV1
case CmdLnOptionId_srParamsFile:
assert( numOptionValues == 1 );
strncpy( args->srParamsFilePath, optionValues[0], POST_REND_MAX_CLI_ARG_LENGTH - 1 );
break;
-#endif
default:
assert( 0 && "This should be unreachable - all command line options should be explicitly handled." );
break;
@@ -635,9 +572,7 @@ static void printSupportedAudioConfigs( void )
"BINAURAL (output only)",
"BINAURAL_SPLIT_PCM",
"BINAURAL_SPLIT_CODED",
-#ifdef RTP_S4_251135_CR26253_0016_REV1
"RTPDUMP",
-#endif
};
fprintf( stdout, "Supported audio formats:\n" );
@@ -729,7 +664,6 @@ static void convertOutputBuffer(
return;
}
-#ifdef RTP_S4_251135_CR26253_0016_REV1
static void trim( char *str )
{
char c;
@@ -749,9 +683,7 @@ static void trim( char *str )
static ivas_error parseSRParamsFile(
const char *srParamsFilePath,
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
const char *rtpFilePath,
-#endif
ISAR_SPLIT_REND_CODEC *codec,
ISAR_SPLIT_REND_POSE_CORRECTION_MODE *poseCorrection,
int16_t *codec_frame_size_ms,
@@ -778,7 +710,6 @@ static ivas_error parseSRParamsFile(
trim( key );
trim( value );
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
if ( 0 == strncmp( key, "DOF", 3 ) )
{
int val = atoi( value );
@@ -795,51 +726,11 @@ static ivas_error parseSRParamsFile(
*lc3plusHighRes = (int16_t) val;
}
}
-#else
- if ( 0 == strncmp( key, "CODEC", 5 ) )
- {
- *codec = ( 0 == strncmp( value, "LCLD", 4 ) ) ? ISAR_SPLIT_REND_CODEC_LCLD : *codec;
- *codec = ( 0 == strncmp( value, "LC3PLUS", 7 ) ) ? ISAR_SPLIT_REND_CODEC_LC3PLUS : *codec;
- }
- else if ( 0 == strncmp( key, "DOF", 3 ) )
- {
- int val = atoi( value );
- if ( val == 0 || val == 1 )
- {
- *poseCorrection = ( val == 0 ) ? ISAR_SPLIT_REND_POSE_CORRECTION_MODE_NONE : ISAR_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB;
- }
- }
- else if ( 0 == strncmp( key, "FRAMESIZE", 9 ) )
- {
- int val = atoi( value );
- if ( val == 5 || val == 10 || val == 20 )
- {
- *codec_frame_size_ms = (int16_t) val;
- }
- }
- else if ( 0 == strncmp( key, "RENDERSIZE", 9 ) )
- {
- int val = atoi( value );
- if ( val == 5 || val == 10 || val == 20 )
- {
- *isar_frame_size_ms = (int16_t) val;
- }
- }
- else if ( 0 == strncmp( key, "LC3PLUS_HIGHRES", 15 ) )
- {
- int val = atoi( value );
- if ( val == 0 || val == 1 )
- {
- *lc3plusHighRes = (int16_t) val;
- }
- }
-#endif
}
}
fclose( fParamSR );
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
{
/* Peek the RTP stream to ascertain the codec and codec_frame_size */
ivas_error error = IVAS_ERR_OK;
@@ -877,11 +768,9 @@ static ivas_error parseSRParamsFile(
}
IVAS_RTP_Term( &srRtp );
}
-#endif
return IVAS_ERR_OK;
}
-#endif
/*------------------------------------------------------------------------------------------*
@@ -923,9 +812,7 @@ int main(
int16_t i, numChannels;
ivas_error error = IVAS_ERR_OK;
bool splitBinNeedsNewFrame = true;
-#ifdef RTP_S4_251135_CR26253_0016_REV1
IVAS_RTP srRTP = { 0 };
-#endif
#ifdef WMOPS
reset_wmops();
@@ -955,9 +842,7 @@ int main(
convert_backslash( args.inputFilePath );
convert_backslash( args.outputFilePath );
convert_backslash( args.headRotationFilePath );
-#ifdef RTP_S4_251135_CR26253_0016_REV1
convert_backslash( args.srParamsFilePath );
-#endif
/*------------------------------------------------------------------------------------------*
* Open head-rotation file
@@ -1008,13 +893,10 @@ int main(
}
}
-#ifdef RTP_S4_251135_CR26253_0016_REV1
if ( ( args.inConfig.numBinBuses > 0 ) && ( args.inConfig.binBuses[0].srRtp ) )
{
error = parseSRParamsFile( args.srParamsFilePath,
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
args.inputFilePath,
-#endif
&bitsBuffer.config.codec,
&bitsBuffer.config.poseCorrection,
&bitsBuffer.config.codec_frame_size_ms,
@@ -1026,28 +908,18 @@ int main(
goto cleanup;
}
-#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
- if ( ( error = IVAS_RTP_READER_Init( &srRTP, (uint32_t) bitsBuffer.config.codec_frame_size_ms, args.inputFilePath, NULL, false, NULL ) ) != IVAS_ERR_OK )
-#else
if ( ( error = IVAS_RTP_READER_Init( &srRTP, args.inputFilePath, NULL, false, NULL ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "error in IVAS_RTP_READER_Init(): %d\n", error );
goto cleanup;
}
audioReader = NULL;
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
/* Force owerwrite of command line provided rendersize to align with codec frame size */
args.render_framesize = bitsBuffer.config.isar_frame_size_ms / 5;
-#endif
}
/*if split renderer is running in post renderer mode*/
else if ( ( args.inConfig.numBinBuses > 0 ) && ( args.inConfig.binBuses[0].audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) )
-#else
- /*if split renderer is running in post renderer mode*/
- if ( ( args.inConfig.numBinBuses > 0 ) && ( args.inConfig.binBuses[0].audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) )
-#endif
{
error = split_rend_reader_open( &hSplitRendFileReadWrite,
args.inputFilePath,
@@ -1254,7 +1126,6 @@ int main(
num_in_channels = inBuffer.config.numChannels;
numSamplesRead = 0;
-#ifdef RTP_S4_251135_CR26253_0016_REV1
if ( srRTP.hRtpFile && splitBinNeedsNewFrame )
{
IVAS_RTP_SR_INFO srInfo = { 0 };
@@ -1277,9 +1148,7 @@ int main(
if ( error == IVAS_ERR_END_OF_FILE )
{
numSamplesRead = 0;
-#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE
break;
-#endif
}
else
{
@@ -1301,9 +1170,6 @@ int main(
}
}
else if ( ( hSplitRendFileReadWrite != NULL ) && splitBinNeedsNewFrame )
-#else
- if ( ( hSplitRendFileReadWrite != NULL ) && splitBinNeedsNewFrame )
-#endif
{
ivas_error error_tmp;
numSamplesRead = (int16_t) inBufferSize;
@@ -1416,7 +1282,6 @@ int main(
goto cleanup;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
/* Set BFI if frame is empty */
int16_t frameEmpty = (int16_t) ( bitsBuffer.config.bitsWritten == 0 );
if ( frameEmpty )
@@ -1427,7 +1292,6 @@ int main(
goto cleanup;
}
}
-#endif
}
}
@@ -1531,17 +1395,6 @@ int main(
fprintf( stdout, "\n\nRendering of %d frames finished\n\n", frame );
-#ifdef DEBUGGING
- int32_t cnt_frames_limited, noClipping;
- if ( ( cnt_frames_limited = ISAR_POST_REND_GetCntFramesLimited( hIsarPostRend ) ) > 0 )
- {
- fprintf( stdout, "Limiter applied in %d frames.\n\n", cnt_frames_limited );
- }
- if ( ( noClipping = ISAR_POST_REND_GetNoCLipping( hIsarPostRend ) ) > 0 )
- {
- fprintf( stdout, "Clipping (saturation) detected: %d samples clipped!!!\n\n", noClipping );
- }
-#endif
/*------------------------------------------------------------------------------------------*
* Close files and deallocate resources
@@ -1573,9 +1426,6 @@ cleanup:
ISAR_POST_REND_Close( &hIsarPostRend );
-#ifdef DEBUGGING
- dbgclose();
-#endif
#ifdef WMOPS
print_wmops();
print_mem( NULL );
diff --git a/apps/renderer.c b/apps/renderer.c
index 8256f1e467ba927f5fd9c46fdf1250ac3395db6c..12b96f4b1065e3f87fe1db6e2dc34b548c6525c6 100644
--- a/apps/renderer.c
+++ b/apps/renderer.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "lib_rend.h"
#include "typedef.h"
@@ -46,9 +18,7 @@
#include "masa_file_writer.h"
#include "render_config_reader.h"
#include "rotation_file_reader.h"
-#ifdef FIX_1053_REVERB_RECONFIGURATION
#include "aeid_file_reader.h"
-#endif
#include "split_render_file_read_write.h"
#include "split_rend_bfi_file_reader.h"
#include "vector3_pair_file_reader.h"
@@ -78,7 +48,7 @@
#define OMASA_TDREND_MATCHING_GAIN_DB ( -2.0f )
-#if !defined( DEBUGGING ) && !defined( WMOPS )
+#if !defined( WMOPS )
static
#endif
int32_t frame = 0;
@@ -198,9 +168,7 @@ typedef struct
IVAS_RENDER_FRAMESIZE render_framesize;
uint16_t directivityPatternId[RENDERER_MAX_ISM_INPUTS];
AcousticEnvironmentSequence aeSequence;
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
IVAS_ROOM_SIZE_T reverbRoomSize;
-#endif
} CmdlnArgs;
typedef enum
@@ -231,12 +199,8 @@ typedef enum
CmdLnOptionId_framing,
CmdLnOptionId_syncMdDelay,
CmdLnOptionId_directivityPatternId,
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
CmdLnOptionId_acousticEnvironmentId,
CmdLnOptionId_roomSize,
-#else
- CmdLnOptionId_acousticEnvironmentId
-#endif
} CmdLnOptionId;
static const CmdLnParser_Option cliOptions[] = {
@@ -400,20 +364,14 @@ static const CmdLnParser_Option cliOptions[] = {
.id = CmdLnOptionId_acousticEnvironmentId,
.match = "acoustic_environment_id",
.matchShort = "aeid",
-#ifdef FIX_1053_REVERB_RECONFIGURATION
.description = "Acoustic environment ID (number > 0) alternatively, it can be a text file where each line contains \"ID duration\" for BINAURAL_ROOM_REVERB output configuration.",
-#else
- .description = "Acoustic environment ID( number > 0 ) or a sequence thereof in the format [ID1:duration1,ID2:duration2...] without braces and spaces, with ':' character separating ID from duration and ',' separating ID and duration pairs, where duration is specified in frames for BINAURAL_ROOM_REVERB output configuration.",
-#endif
},
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
{
.id = CmdLnOptionId_roomSize,
.match = "room_size",
.matchShort = "rsz",
.description = "Selects default reverb based on a room size (S - small | M - medium | L - large)",
}
-#endif
};
@@ -729,9 +687,6 @@ static int16_t get_cldfb_in_flag(
cldfb_in_flag = 0;
if ( renderConfig->split_rend_config.rendererSelection == IVAS_BIN_RENDERER_TYPE_FASTCONV )
{
-#ifdef DEBUGGING
- cldfb_in_flag = 1;
-#endif
if ( audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED )
{
cldfb_in_flag = 1;
@@ -818,9 +773,7 @@ int main(
int32_t delayTimeScale = 0;
int16_t i, numChannels;
uint16_t aeID;
-#ifdef FIX_1053_REVERB_RECONFIGURATION
IVAS_RENDER_CONFIG_DATA renderConfig;
-#endif
ivas_error error = IVAS_ERR_OK;
#ifdef WMOPS
@@ -1184,9 +1137,6 @@ int main(
if ( args.renderConfigFilePath[0] != '\0' )
{
-#ifndef FIX_1053_REVERB_RECONFIGURATION
- IVAS_RENDER_CONFIG_DATA renderConfig;
-#endif
/* sanity check */
if ( ( args.outConfig.audioConfig != IVAS_AUDIO_CONFIG_BINAURAL ) &&
@@ -1258,7 +1208,6 @@ int main(
goto cleanup;
}
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
/* Set reverb room size if specified */
if ( args.reverbRoomSize != IVAS_ROOM_SIZE_AUTO )
@@ -1269,7 +1218,6 @@ int main(
goto cleanup;
}
}
-#endif
/* Set up output custom layout configuration */
if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM )
@@ -1354,15 +1302,11 @@ int main(
{
masaIds[i] = 0u;
}
-#ifdef FIX_1377_HANDLE_ERROR_CODE
if ( ( error = IVAS_REND_SetObjectIDs( hIvasRend ) ) != IVAS_ERR_OK )
{
fprintf( stderr, "\nIVAS_REND_SetObjectIDs: %s\n", ivas_error_to_string( error ) );
goto cleanup;
}
-#else
- IVAS_REND_SetObjectIDs( hIvasRend );
-#endif
for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i )
{
@@ -1556,16 +1500,12 @@ int main(
audioWriter = NULL;
}
-#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES
if ( ( error = IVAS_REND_GetSplitRendBitstreamHeader( hIvasRend,
&bitsBuffer.config.codec,
&bitsBuffer.config.poseCorrection,
&bitsBuffer.config.codec_frame_size_ms,
&bitsBuffer.config.isar_frame_size_ms,
&bitsBuffer.config.lc3plus_highres ) ) != IVAS_ERR_OK )
-#else
- if ( ( error = IVAS_REND_GetSplitRendBitstreamHeader( hIvasRend, &bitsBuffer.config.codec, &bitsBuffer.config.poseCorrection, &bitsBuffer.config.codec_frame_size_ms, &bitsBuffer.config.isar_frame_size_ms ) ) != IVAS_ERR_OK )
-#endif
{
fprintf( stderr, "\nError in IVAS_REND_GetSplitRendBitstreamHeader(): %s!\n", ivas_error_to_string( error ) );
goto cleanup;
@@ -1690,9 +1630,6 @@ int main(
{
if ( ++args.aeSequence.frameCounter >= args.aeSequence.pValidity[args.aeSequence.selected] )
{
-#ifndef FIX_1053_REVERB_RECONFIGURATION
- IVAS_RENDER_CONFIG_DATA renderConfig;
-#endif
if ( ++args.aeSequence.selected >= args.aeSequence.count )
{
args.aeSequence.selected = 0;
@@ -2668,7 +2605,6 @@ static bool parseAcousticEnvironmentIds(
const char *value,
AcousticEnvironmentSequence *aeSequence )
{
-#ifdef FIX_1053_REVERB_RECONFIGURATION
char config_string[RENDERER_MAX_METADATA_LINE_LENGTH];
strncpy( config_string, value, RENDERER_MAX_METADATA_LINE_LENGTH );
if ( !is_digits_only( config_string ) )
@@ -2686,72 +2622,6 @@ static bool parseAcousticEnvironmentIds(
}
aeidFileReader_close( &aeidReader );
}
-#else
- uint16_t k;
- char config_string[RENDERER_MAX_METADATA_LINE_LENGTH];
- char *s;
- char *token;
-
- strncpy( config_string, value, RENDERER_MAX_METADATA_LINE_LENGTH );
- s = config_string;
- token = config_string;
-
- if ( !is_digits_only( config_string ) )
- {
-
- for ( k = 0; s[k]; )
- {
- s[k] == ',' ? k++ : *s++;
- }
- k++;
-
- if ( k == 0 )
- {
- fprintf( stdout, "Error: Invalid acoustic environment sequence specified: %s\n\n", config_string );
- return false;
- }
-
- if ( NULL == ( aeSequence->pID = malloc( sizeof( uint16_t ) * k ) ) ||
- NULL == ( aeSequence->pValidity = malloc( sizeof( uint16_t ) * k ) ) )
- {
- fprintf( stdout, "Error: Unable to allocate memory for acoustic environment sequence: %s\n\n", config_string );
- return false;
- }
-
- aeSequence->count = k;
-
- k = 0;
-
- token = strtok( config_string, ":" );
-
- while ( token != NULL )
- {
- if ( !is_number( token ) )
- {
- fprintf( stdout, "Error: Invalid token %s found in acoustic environment sequence: %s\n\n", token, config_string );
- return false;
- }
- aeSequence->pID[k] = (uint16_t) atoi( token );
-
- token = strtok( NULL, "," );
- if ( !is_number( token ) )
- {
- fprintf( stdout, "Error: Invalid token %s found in acoustic environment sequence: %s\n\n", token, config_string );
- return false;
- }
- aeSequence->pValidity[k] = (uint16_t) atoi( token );
-
- token = strtok( NULL, ":" );
- k++;
- }
-
- if ( k != aeSequence->count )
- {
- fprintf( stdout, "Error while parsing acoustic environment sequence: %s\n\n", config_string );
- return false;
- }
- }
-#endif
else
{
/* A single acoustic environment */
@@ -2768,7 +2638,6 @@ static bool parseAcousticEnvironmentIds(
return true;
}
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
static bool parseReverbRoomSize(
@@ -2800,7 +2669,6 @@ static bool parseReverbRoomSize(
return true;
}
-#endif
static bool checkRequiredArgs(
@@ -2922,10 +2790,8 @@ static CmdlnArgs defaultArgs(
args.aeSequence.pValidity = NULL;
args.aeSequence.selected = 0;
args.aeSequence.frameCounter = 0;
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
args.reverbRoomSize = IVAS_ROOM_SIZE_AUTO;
-#endif
return args;
}
@@ -3107,7 +2973,6 @@ static void parseOption(
/* Metadata Delay to sync with audio delay in ms */
args->syncMdDelay = (int16_t) strtol( optionValues[0], NULL, 10 );
break;
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
case CmdLnOptionId_roomSize:
assert( numOptionValues == 1 );
if ( !parseReverbRoomSize( optionValues[0], &args->reverbRoomSize ) )
@@ -3116,7 +2981,6 @@ static void parseOption(
exit( -1 );
}
break;
-#endif
default:
assert( 0 && "This should be unreachable - all command line options should be explicitly handled." );
break;
@@ -3211,25 +3075,11 @@ void getMetadataFromFileReader(
fprintf( stderr, "\nError (%s) while reading ISM metadata from: %s\n\n", ivas_error_to_string( error ), IsmFileReader_getFilePath( ismReader ) );
exit( -1 );
}
-#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS
objectMetadataBuffer->positions[objIdx].azimuth_fx = ismMetadata.azimuth_fx;
objectMetadataBuffer->positions[objIdx].elevation_fx = ismMetadata.elevation_fx;
objectMetadataBuffer->positions[objIdx].radius_fx = ismMetadata.radius_fx;
objectMetadataBuffer->positions[objIdx].yaw_fx = ismMetadata.yaw_fx;
objectMetadataBuffer->positions[objIdx].pitch_fx = ismMetadata.pitch_fx;
-#else
- objectMetadataBuffer->positions[objIdx].azimuth_fx = (Word32) ( ismMetadata.azimuth * ( 1 << 22 ) );
- objectMetadataBuffer->positions[objIdx].elevation_fx = (Word32) ( ismMetadata.elevation * ( 1 << 22 ) );
- objectMetadataBuffer->positions[objIdx].radius_fx = (Word16) ( ismMetadata.radius * ( 1 << 9 ) );
- objectMetadataBuffer->positions[objIdx].yaw_fx = (Word32) ( ismMetadata.yaw * ( 1 << 22 ) );
- objectMetadataBuffer->positions[objIdx].pitch_fx = (Word32) ( ismMetadata.pitch * ( 1 << 22 ) );
-
- objectMetadataBuffer->positions[objIdx].azimuth = ismMetadata.azimuth;
- objectMetadataBuffer->positions[objIdx].elevation = ismMetadata.elevation;
- objectMetadataBuffer->positions[objIdx].radius = ismMetadata.radius;
- objectMetadataBuffer->positions[objIdx].yaw = ismMetadata.yaw;
- objectMetadataBuffer->positions[objIdx].pitch = ismMetadata.pitch;
-#endif
objectMetadataBuffer->positions[objIdx].non_diegetic_flag = ismMetadata.non_diegetic_flag;
return;
@@ -3283,25 +3133,15 @@ static void IsmPositionProvider_getNextFrame(
/* Otherwise fall back to default position */
else
{
-#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS
objectMetadataBuffer->positions[objIdx].azimuth_fx = 0;
objectMetadataBuffer->positions[objIdx].elevation_fx = 0;
objectMetadataBuffer->positions[objIdx].radius_fx = 512; // 1.f in Q9
objectMetadataBuffer->positions[objIdx].yaw_fx = 0;
objectMetadataBuffer->positions[objIdx].pitch_fx = 0;
objectMetadataBuffer->positions[objIdx].non_diegetic_flag = 0;
-#else
- objectMetadataBuffer->positions[objIdx].azimuth = 0.0f;
- objectMetadataBuffer->positions[objIdx].elevation = 0.0f;
- objectMetadataBuffer->positions[objIdx].radius = 1.0f;
- objectMetadataBuffer->positions[objIdx].yaw = 0.0f;
- objectMetadataBuffer->positions[objIdx].pitch = 0.0f;
- objectMetadataBuffer->positions[objIdx].non_diegetic_flag = 0;
-#endif
}
/* Wrap azimuth to lie within (-180, 180] range */
-#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS
while ( LT_32( objectMetadataBuffer->positions[objIdx].azimuth_fx, 0 ) )
{
objectMetadataBuffer->positions[objIdx].azimuth_fx = L_add( objectMetadataBuffer->positions[objIdx].azimuth_fx, DEG_360_IN_Q22 );
@@ -3326,35 +3166,6 @@ static void IsmPositionProvider_getNextFrame(
/* Clamp pitch to lie within [-90, 90] range (can't be wrapped easily) */
objectMetadataBuffer->positions[objIdx].pitch_fx = L_min( L_max( objectMetadataBuffer->positions[objIdx].pitch_fx, -DEG_90_IN_Q22 ), DEG_90_IN_Q22 );
-#else
- while ( objectMetadataBuffer->positions[objIdx].azimuth < 0.0f )
- {
- objectMetadataBuffer->positions[objIdx].azimuth += 360.0f;
- }
- while ( objectMetadataBuffer->positions[objIdx].azimuth >= 360.0f )
- {
- objectMetadataBuffer->positions[objIdx].azimuth -= 360.0f;
- }
-
- /* Clamp elevation to lie within [-90, 90] range (can't be wrapped easily) */
- objectMetadataBuffer->positions[objIdx].elevation = min( max( objectMetadataBuffer->positions[objIdx].elevation, -90 ), 90 );
- objectMetadataBuffer->positions[objIdx].azimuth_fx = (Word32) ( objectMetadataBuffer->positions[objIdx].azimuth * ( 1 << 22 ) );
- objectMetadataBuffer->positions[objIdx].elevation_fx = (Word32) ( objectMetadataBuffer->positions[objIdx].elevation * ( 1 << 22 ) );
- /* Wrap yaw to lie within (-180, 180] range */
- while ( objectMetadataBuffer->positions[objIdx].yaw < 0.0f )
- {
- objectMetadataBuffer->positions[objIdx].yaw += 360.0f;
- }
- while ( objectMetadataBuffer->positions[objIdx].yaw >= 360.0f )
- {
- objectMetadataBuffer->positions[objIdx].yaw -= 360.0f;
- }
-
- /* Clamp pitch to lie within [-90, 90] range (can't be wrapped easily) */
- objectMetadataBuffer->positions[objIdx].pitch = min( max( objectMetadataBuffer->positions[objIdx].pitch, -90 ), 90 );
- objectMetadataBuffer->positions[objIdx].yaw_fx = (Word32) ( ( objectMetadataBuffer->positions[objIdx].yaw ) * ( 1 << Q22 ) );
- objectMetadataBuffer->positions[objIdx].pitch_fx = (Word32) ( ( objectMetadataBuffer->positions[objIdx].pitch ) * ( 1 << Q22 ) );
-#endif
}
++positionProvider->frameCounter;
@@ -3660,23 +3471,12 @@ static void parseObjectPosition(
exit( -1 );
}
-#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS
position->azimuth_fx = (Word32) ( meta_prm[0] * ( 1 << Q22 ) ); /* Q22 */
position->elevation_fx = (Word32) ( meta_prm[1] * ( 1 << Q22 ) ); /* Q22 */
position->radius_fx = (Word16) ( meta_prm[2] * ( 1 << Q9 ) ); /* Q9 */
position->yaw_fx = (Word32) ( meta_prm[5] * ( 1 << Q22 ) ); /* Q22 */
position->pitch_fx = (Word32) ( meta_prm[6] * ( 1 << Q22 ) ); /* Q22 */
position->non_diegetic_flag = (Word16) meta_prm[7];
-#else
- position->azimuth = meta_prm[0];
- position->elevation = meta_prm[1];
- position->azimuth_fx = (Word32) ( meta_prm[0] * ( 1 << 22 ) );
- position->elevation_fx = (Word32) ( meta_prm[1] * ( 1 << 22 ) );
- position->radius = meta_prm[2];
- position->yaw = meta_prm[5];
- position->pitch = meta_prm[6];
- position->non_diegetic_flag = (int16_t) meta_prm[7];
-#endif
return;
}
diff --git a/lib_basop/basop32.c b/lib_basop/basop32.c
index eebc1684915ccba9a062a49f561a112f2208d36d..f5104b90dcaf8d846a275da074bd31dbae6d80ed 100644
--- a/lib_basop/basop32.c
+++ b/lib_basop/basop32.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/* v.2.3 - 30.Nov.2009
=============================================================================
diff --git a/lib_basop/basop32.h b/lib_basop/basop32.h
index 9bbf24f1c52e1c5159ad4ff22fa6720f3bfcd60a..5f3655529872aca9a200f24d822a021b04a4583c 100644
--- a/lib_basop/basop32.h
+++ b/lib_basop/basop32.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
===========================================================================
diff --git a/lib_basop/complex_basop.c b/lib_basop/complex_basop.c
index cf3b40154acf5119739354e855db0e55a78822cd..46324efe0e7fe6fc07f7d7cdeb94f8912d1afb9d 100644
--- a/lib_basop/complex_basop.c
+++ b/lib_basop/complex_basop.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*****************************************************************************
*
diff --git a/lib_basop/complex_basop.h b/lib_basop/complex_basop.h
index bf1641e749960b5fdf2c9ee4130ebce852f39c81..b8879bbba3e9b58ce1b11f1f404f3df5d79dbe05 100644
--- a/lib_basop/complex_basop.h
+++ b/lib_basop/complex_basop.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*****************************************************************************
*
diff --git a/lib_basop/enh1632.c b/lib_basop/enh1632.c
index f397c3432b9dc63b6a376cfb394e3efb50a82bc0..0021ca6d6b84d6a814c77ba6d776985b1d910af6 100644
--- a/lib_basop/enh1632.c
+++ b/lib_basop/enh1632.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
===========================================================================
File: ENH1632.C v.2.3 - 30.Nov.2009
diff --git a/lib_basop/enh1632.h b/lib_basop/enh1632.h
index f91494fb137d799d461cca6afa5bbfa5b160ba39..182625183297d228c2d8f0f7958fdd84e0fcce1e 100644
--- a/lib_basop/enh1632.h
+++ b/lib_basop/enh1632.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
===========================================================================
File: ENH1632.H v.2.3 - 30.Nov.2009
diff --git a/lib_basop/enh32.c b/lib_basop/enh32.c
index d2931dd5da697b0410a425adf4163018800cd5bf..67e97923ff42651e254977e0f98b01f21adcf901 100644
--- a/lib_basop/enh32.c
+++ b/lib_basop/enh32.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*****************************************************************************
*
* Enhanced 32 bit operators :
diff --git a/lib_basop/enh32.h b/lib_basop/enh32.h
index 1d275cdd26834f7c04572763575f65c1d7bf00d6..d53273e28ab973a5ea549973debda0ec70909de0 100644
--- a/lib_basop/enh32.h
+++ b/lib_basop/enh32.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef _ENH32_H
#define _ENH32_H
diff --git a/lib_basop/enh40.c b/lib_basop/enh40.c
index 570f4b211ab675c8fd924a2b0d4786ddec25c679..2dfa4ffb5874bcf0fc298994f95d97d5358a50bc 100644
--- a/lib_basop/enh40.c
+++ b/lib_basop/enh40.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
===========================================================================
diff --git a/lib_basop/enh40.h b/lib_basop/enh40.h
index 9c3742f3ef23b24bced88e87e71b85a8ac83baca..06d309a9d4b5af827a13eb39bcf5934c07a171cd 100644
--- a/lib_basop/enh40.h
+++ b/lib_basop/enh40.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
===========================================================================
diff --git a/lib_basop/enh64.c b/lib_basop/enh64.c
index 8bffb620cc8dfb0b2164e718b83fa365fb048430..70b08bd3920cb4ea34bb971d09c63c9a394fe119 100644
--- a/lib_basop/enh64.c
+++ b/lib_basop/enh64.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*****************************************************************************
*
* Enhanced 64 bit operators :
diff --git a/lib_basop/enh64.h b/lib_basop/enh64.h
index c3896bb0d257aa053df48da5c84948b8255e0401..0ecd52a9e9491a0770bdfb3668d0d73f0a65f496 100644
--- a/lib_basop/enh64.h
+++ b/lib_basop/enh64.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef _ENH64_H
#define _ENH64_H
diff --git a/lib_basop/enhUL32.c b/lib_basop/enhUL32.c
index 5650821200a63bc8404fbb31286f78d2d60c27ef..76c6cfd3b601f172ff508cf3028aaeef3a97fb53 100644
--- a/lib_basop/enhUL32.c
+++ b/lib_basop/enhUL32.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
============================================================================
File: ENHUL32.C v.1.0 - 01.July.2018
diff --git a/lib_basop/enhUL32.h b/lib_basop/enhUL32.h
index d200342b4b24e054ba0e5b92fea5b34d3ed37718..cb57f387b7d252d1154fddb30aa3b846a8bd0281 100644
--- a/lib_basop/enhUL32.h
+++ b/lib_basop/enhUL32.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
============================================================================
File: ENHUL32.H v.1.0 - 01.July.2018
diff --git a/lib_basop/move.h b/lib_basop/move.h
index 8f97ad49ec895c1f8425dc8f53ab79eded6c45c3..8665f64b1956432a84b8d90e213c5d486b5711e1 100644
--- a/lib_basop/move.h
+++ b/lib_basop/move.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_basop/stl.h b/lib_basop/stl.h
index f27c6892a65f6380f6c53fd86ba80a6638d5590b..bba9e3e66dde4f4c912f6ccadd2274212ce027db 100644
--- a/lib_basop/stl.h
+++ b/lib_basop/stl.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_basop/typedef.h b/lib_basop/typedef.h
index 867ed71ca77cf51afff82dccb5fdeb671c6085bb..7d8c6d3c54983a06cecbadd7bf0da7e5d7f21986 100644
--- a/lib_basop/typedef.h
+++ b/lib_basop/typedef.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_basop/typedefs.h b/lib_basop/typedefs.h
index ed38603911cecf6c9cfaefaad4d9132214a64ae7..c7259f965cdb180c009c8134e4668a48b939831b 100644
--- a/lib_basop/typedefs.h
+++ b/lib_basop/typedefs.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
===========================================================================
File: TYPEDEFS.H v.2.3 - 30.Nov.2009
diff --git a/lib_com/ACcontextMapping_fx.c b/lib_com/ACcontextMapping_fx.c
index ee51f0ca3ed48bb9c5c4c3963835b134ff0639db..c64359e6ab8ff35136dbfdae77e5a87c320229fd 100644
--- a/lib_com/ACcontextMapping_fx.c
+++ b/lib_com/ACcontextMapping_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/ari_fx.c b/lib_com/ari_fx.c
index aef9a6635e32836e7b3a52f505db4cb9c05584a4..aa9342e81bc299781a54720725a084b5a718c8cf 100644
--- a/lib_com/ari_fx.c
+++ b/lib_com/ari_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/ari_hm_fx.c b/lib_com/ari_hm_fx.c
index 46f8ecea1e78f01164d1acc083f29d3c26b145b6..7cd04047efbb9ff128d23cffdf919acca3f16a52 100644
--- a/lib_com/ari_hm_fx.c
+++ b/lib_com/ari_hm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/arith_coder_fx.c b/lib_com/arith_coder_fx.c
index 58ff0047c492066bcb8e0ab640e2466e4481698a..cf00e4019d9f0d3004402ee0dcedacc683d74413 100644
--- a/lib_com/arith_coder_fx.c
+++ b/lib_com/arith_coder_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/basop_com_lpc.c b/lib_com/basop_com_lpc.c
index 0c6754371ae8eae03fe70b1ed256835b2977e6e0..0b0da150f0a726d4d49afc9b0a5b2ab261f3da5c 100644
--- a/lib_com/basop_com_lpc.c
+++ b/lib_com/basop_com_lpc.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/basop_lsf_tools.c b/lib_com/basop_lsf_tools.c
index 74f35bb0a1a37921398f37b099e518f18fe02902..26364b7ffc699cdd6535bccbd38b920666b2497d 100644
--- a/lib_com/basop_lsf_tools.c
+++ b/lib_com/basop_lsf_tools.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/basop_proto_func.h b/lib_com/basop_proto_func.h
index 55c15f29107dbeb67291ed4b950b7569a6ca8b75..be8a2f1f384d6d5c97a249a5c61dc816be53f951 100644
--- a/lib_com/basop_proto_func.h
+++ b/lib_com/basop_proto_func.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/basop_settings.h b/lib_com/basop_settings.h
index a23491a2635dbf9792836a176efe1ba432c19bdf..ef4da241680eff7dbceafee410d7715b9a2d13bb 100644
--- a/lib_com/basop_settings.h
+++ b/lib_com/basop_settings.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/basop_tcx_utils.c b/lib_com/basop_tcx_utils.c
index 7c3ec835625dd45cd3f4a188c1c3623bfb9a37ad..78fa371b44886c620466c3df96187a8bd9305efc 100644
--- a/lib_com/basop_tcx_utils.c
+++ b/lib_com/basop_tcx_utils.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/basop_util.c b/lib_com/basop_util.c
index bd55e59b689079f8ddb9241bee234173229763b4..71dd5158563c75e4cec27cb552d66a3e40fd073a 100644
--- a/lib_com/basop_util.c
+++ b/lib_com/basop_util.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -987,59 +959,6 @@ Word32 div_w( Word32 L_num, Word32 L_den )
}
}
-#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
-Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, Word32 y, Word16 *s )
-{
- Word32 z;
- Word16 sx;
- Word16 sy;
- Word32 sign;
-
- /* assert (x >= (Word32)0); */
- assert( y != (Word32) 0 );
-
- sign = 0;
- move16();
-
- IF( x < 0 )
- {
- x = L_negate( x );
- sign = L_xor( sign, 1 );
- }
-
- IF( y < 0 )
- {
- y = L_negate( y );
- sign = L_xor( sign, 1 );
- }
-
- IF( x == (Word32) 0 )
- {
- *s = 0;
- return ( (Word32) 0 );
- }
-
- sx = norm_l( x );
- x = L_shl( x, sx );
- x = L_shr( x, 1 );
- move16();
- *s = sub( 1, sx );
-
- sy = norm_l( y );
- y = L_shl( y, sy );
- move16();
- *s = add( *s, sy );
-
- z = div_w( x, y );
-
- if ( sign != 0 )
- {
- z = L_negate( z );
- }
-
- return z;
-}
-#endif
Word32 div_w_newton( Word32 num, Word32 den );
/*
@@ -2565,7 +2484,6 @@ Word16 BASOP_Util_Cmp_Mant32Exp /*!< o: flag: result of comparison */
headroom is introduced into acc
*/
-#ifdef OPT_2146_BASOP_UTIL_ADD_MANT32EXP
Word32 BASOP_Util_Add_Mant32Exp /* o : normalized result mantissa */
( Word32 a_m, /* i : Mantissa of 1st operand a */
Word16 a_e, /* i : Exponent of 1st operand a */
@@ -2629,65 +2547,6 @@ Word32 BASOP_Util_Add_Mant32Exp /* o : normalized result mantissa */
return ( a_m );
}
-#else
-Word32 BASOP_Util_Add_Mant32Exp /* o : normalized result mantissa */
- ( Word32 a_m, /* i : Mantissa of 1st operand a */
- Word16 a_e, /* i : Exponent of 1st operand a */
- Word32 b_m, /* i : Mantissa of 2nd operand b */
- Word16 b_e, /* i : Exponent of 2nd operand b */
- Word16 *ptr_e ) /* o : exponent of result */
-{
- Word32 L_tmp;
- Word16 shift;
-
- /* Compare exponents: the difference is limited to +/- 30
- The Word32 mantissa of the operand with lower exponent is shifted right by the exponent difference.
- Then, the unshifted mantissa of the operand with the higher exponent is added. The addition result
- is normalized and the result represents the mantissa to return. The returned exponent takes into
- account all shift operations.
- */
- if ( !a_m )
- {
- a_e = b_e;
- move16();
- }
-
- if ( !b_m )
- {
- b_e = a_e;
- move16();
- }
-
- shift = sub( a_e, b_e );
- shift = s_max( -31, shift );
- shift = s_min( 31, shift );
- if ( shift < 0 )
- {
- /* exponent of b is greater than exponent of a, shr a_m */
- a_m = L_shl( a_m, shift );
- }
- if ( shift > 0 )
- {
- /* exponent of a is greater than exponent of b */
- b_m = L_shr( b_m, shift );
- }
- a_e = add( s_max( a_e, b_e ), 1 );
- L_tmp = L_add( L_shr( a_m, 1 ), L_shr( b_m, 1 ) );
- shift = norm_l( L_tmp );
- if ( shift )
- L_tmp = L_shl( L_tmp, shift );
- if ( L_tmp == 0 )
- {
- a_e = 0;
- move16();
- }
- if ( L_tmp != 0 )
- a_e = sub( a_e, shift );
- *ptr_e = a_e;
-
- return ( L_tmp );
-}
-#endif
static const Word16 shift_lc[] = { 9, 10 };
diff --git a/lib_com/basop_util.h b/lib_com/basop_util.h
index 3ef5cf664a244490e845819569656c8dc9667db6..74843bac17f580ad47c65d1682723f946519e03b 100644
--- a/lib_com/basop_util.h
+++ b/lib_com/basop_util.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -328,12 +300,6 @@ Word16 BASOP_Util_Divide3232_Scale( Word32 x, /*!< i : Numerator*/
Word32 y, /*!< i : Denominator*/
Word16 *s ); /*!< o : Additional scalefactor difference*/
-#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence
-Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, /*!< i : Numerator*/
- Word32 y, /*!< i : Denominator*/
- Word16 *s ); /*!< o : Additional scalefactor difference*/
-#endif
-
Word32 BASOP_Util_Divide3232_Scale_newton( Word32 x, /*!< i : Numerator*/
Word32 y, /*!< i : Denominator*/
diff --git a/lib_com/bitalloc_fx.c b/lib_com/bitalloc_fx.c
index 4d9c587994ed297a34d8b739e1658dca1805e154..7365159487e276861238ba16376a191b20da24c9 100644
--- a/lib_com/bitalloc_fx.c
+++ b/lib_com/bitalloc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/bitallocsum_fx.c b/lib_com/bitallocsum_fx.c
index fa71c92f88fc5ed4ba28841385395be2a1b3e37f..93ce3e1374fb44a56e584d99d79bc9dfe4dd2f24 100644
--- a/lib_com/bitallocsum_fx.c
+++ b/lib_com/bitallocsum_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/bits_alloc_fx.c b/lib_com/bits_alloc_fx.c
index 5aea2c790268184b5b8ccb460abdc8cdb91ab442..267fe38d75dc7c2546e4ce859def50a2933e949b 100644
--- a/lib_com/bits_alloc_fx.c
+++ b/lib_com/bits_alloc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -1750,9 +1753,6 @@ static Word16 allocate_unused(
}
ELSE
{
-#ifdef DEBUG_MODE_TD
- IVAS_ERROR( IVAS_ERR_WRONG_MODE, "unknown mode in bit_alloc.c" );
-#endif
}
max_bit_per_pos = s_min( unused_bits, sub( max_bit_per_pos, prm_bit_mode[subfr] ) );
diff --git a/lib_com/bitstream_fx.c b/lib_com/bitstream_fx.c
index ea576255a6642b622038be557aac1e0c25671b0c..3dd883cbaa7edb97e636d1de212a308987c82496 100644
--- a/lib_com/bitstream_fx.c
+++ b/lib_com/bitstream_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -48,23 +20,7 @@
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#ifdef DBG_BITSTREAM_ANALYSIS
-#include
-#endif
-#endif
-
-#ifdef DEBUGGING
-
-#define FEC_SEED 12558
-
-/*-------------------------------------------------------------------*
- * Global variables
- *--------------------------------------------------------------------*/
-FILE *FEC_pattern = NULL; /* FEC pattern file (for simulation of FEC) */
-#endif
#define STEP_MAX_NUM_INDICES 100 /* increase the maximum number of allowed indices in the list by this amount */
@@ -359,9 +315,6 @@ ivas_error ind_list_realloc(
{
new_ind_list[i].id = old_ind_list[i].id;
new_ind_list[i].value = old_ind_list[i].value;
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 );
-#endif
move16();
move16();
}
@@ -373,9 +326,6 @@ ivas_error ind_list_realloc(
FOR( ; i < max_num_indices; i++ )
{
new_ind_list[i].nb_bits = -1;
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- sprintf( new_ind_list[i].function_name, "RESET in ind_list_realloc" );
-#endif
move16();
}
@@ -971,9 +921,6 @@ void move_indices(
move16();
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 );
-#endif
old_ind_list[i].nb_bits = -1;
move16();
}
@@ -988,15 +935,9 @@ void move_indices(
move16();
move16();
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 );
-#endif
old_ind_list[i].nb_bits = -1;
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- sprintf( old_ind_list[i].function_name, "RESET in move_indices" );
-#endif
}
}
@@ -1058,1892 +999,13 @@ ivas_error check_ind_list_limits(
}
ELSE
{
-#ifdef DEBUGGING
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Buffer of indices corrupted in frame %d! Attempt to overwrite indice ID = %d (value: %d, bits: %d)!\n", frame, hBstr->ind_list[hBstr->nb_ind_tot].id, hBstr->ind_list[hBstr->nb_ind_tot].value, hBstr->ind_list[hBstr->nb_ind_tot].nb_bits );
-#else
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Buffer of indices corrupted! Attempt to overwrite indice ID = %d (value: %d, bits: %d)!\n", hBstr->ind_list[hBstr->nb_ind_tot].id, hBstr->ind_list[hBstr->nb_ind_tot].value, hBstr->ind_list[hBstr->nb_ind_tot].nb_bits );
-#endif
}
}
return error;
}
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-const char *named_indices_table[] = {
- "IND_IVAS_FORMAT",
- "IND_SMODE_OMASA",
- "IND_SMODE",
- "IND_SID_TYPE",
- "IND_BWIDTH",
- "IND_CORE",
- "IND_PPP_NELP_MODE",
- "IND_ACELP_16KHZ",
- "IND_ACELP_SIGNALLING",
- "IND_SHARP_FLAG",
- "IND_MDCT_CORE",
- "IND_TCX_CORE",
- "IND_BWE_FLAG",
- "IND_HQ_SWITCHING_FLG",
- "IND_LAST_L_FRAME",
- "IND_VAD_FLAG",
- "IND_HQ_BWIDTH",
- "IND_TC_SUBFR",
- "IND_TC_SUBFR",
- "IND_TC_SUBFR",
- "IND_TC_SUBFR",
- "IND_GSC_IVAS_SP",
- "IND_LSF_PREDICTOR_SELECT_BIT",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_LSF",
- "IND_MID_FRAME_LSF_INDEX",
- "IND_ISF_0_0",
- "IND_ISF_0_1",
- "IND_ISF_0_2",
- "IND_ISF_0_3",
- "IND_ISF_0_4",
- "IND_ISF_1_0",
- "IND_ISF_1_1",
- "IND_ISF_1_2",
- "IND_ISF_1_3",
- "IND_ISF_1_4",
- "IND_IC_LSF_PRED",
- "IND_GSC_ATTACK",
- "IND_GSC_SWB_SPEECH",
- "IND_NOISE_LEVEL",
- "IND_HF_NOISE",
- "IND_PIT_CONTR_IDX",
- "IND_FEC_CLAS",
- "IND_FEC_ENR",
- "IND_FEC_POS",
- "IND_ES_PRED",
- "IND_HARM_FLAG_ACELP",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "IND_ALG_CDBK_4T64_2_24KBIT",
- "TAG_ALG_CDBK_4T64_24KBIT_END",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "IND_HF_GAIN_MODIFICATION",
- "TAG_ACELP_SUBFR_LOOP_END",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_MEAN_GAIN2",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_TMP",
- "IND_Y_GAIN_HF",
- "IND_HQ_VOICING_FLAG",
- "IND_HQ_SWB_CLAS",
- "IND_NF_IDX",
- "IND_LC_MODE",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_YNRM",
- "IND_SWB_FENV_HQ",
- "IND_SWB_FENV_HQ",
- "IND_SWB_FENV_HQ",
- "IND_SWB_FENV_HQ",
- "IND_SWB_FENV_HQ",
- "IND_FB_FENV_HQ",
- "IND_FB_FENV_HQ",
- "IND_FB_FENV_HQ",
- "IND_FB_FENV_HQ",
- "IND_FB_FENV_HQ",
- "IND_DELTA_ENV_HQ",
- "IND_HVQ_BWE_NL",
- "IND_HVQ_BWE_NL",
- "IND_NUM_PEAKS",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_POS_IDX",
- "IND_FLAGN",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_PG_IDX",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_PEAKS",
- "IND_HVQ_NF_GAIN",
- "IND_HVQ_NF_GAIN",
- "IND_HQ2_SWB_CLAS",
- "IND_HQ2_DENG_MODE",
- "IND_HQ2_DENG_8SMODE",
- "IND_HQ2_DENG_8SMODE_N0",
- "IND_HQ2_DENG_8SMODE_N1",
- "IND_HQ2_DENG_8SPOS",
- "IND_HQ2_DENG_8SDEPTH",
- "IND_HQ2_DENG_HMODE",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_DIFF_ENERGY",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_P2A_FLAGS",
- "IND_HQ2_LAST_BA_MAX_BAND",
- "IND_HQ2_LAST_BA_MAX_BAND",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_START",
- "IND_RC_END",
- "IND_HVQ_PVQ_GAIN",
- "IND_HVQ_PVQ_GAIN",
- "IND_HVQ_PVQ_GAIN",
- "IND_HVQ_PVQ_GAIN",
- "IND_HVQ_PVQ_GAIN",
- "IND_HVQ_PVQ_GAIN",
- "IND_HVQ_PVQ_GAIN",
- "IND_HVQ_PVQ_GAIN",
- "IND_NOISINESS",
- "IND_ENERGY",
- "IND_CNG_HO",
- "IND_SID_BW",
- "IND_CNG_ENV1",
- "IND_WB_FENV",
- "IND_WB_CLASS",
- "IND_IG1",
- "IND_IG2A",
- "IND_IG2B",
- "IND_NELP_FID",
- "IND_DELTALAG",
- "IND_POWER",
- "IND_AMP0",
- "IND_AMP1",
- "IND_GLOBAL_ALIGNMENT",
- "IND_PVQ_FINE_GAIN",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_UV_FLAG",
- "IND_SHB_SUBGAIN",
- "IND_SHB_FRAMEGAIN",
- "IND_STEREO_ICBWE_MSFLAG",
- "IND_SHB_ENER_SF",
- "IND_SHB_RES_GS",
- "IND_SHB_RES_GS",
- "IND_SHB_RES_GS",
- "IND_SHB_RES_GS",
- "IND_SHB_RES_GS",
- "IND_SHB_VF",
- "IND_SHB_LSF",
- "IND_SHB_LSF",
- "IND_SHB_LSF",
- "IND_SHB_LSF",
- "IND_SHB_LSF",
- "IND_SHB_MIRROR",
- "IND_SHB_GRID",
- "IND_SWB_CLASS",
- "IND_SWB_TENV",
- "IND_SWB_TENV",
- "IND_SWB_TENV",
- "IND_SWB_TENV",
- "IND_SWB_FENV",
- "IND_SWB_FENV",
- "IND_SWB_FENV",
- "IND_SWB_FENV",
- "IND_SHB_CNG_GAIN",
- "IND_DITHERING",
- "IND_FB_SLOPE",
- "IND_HQ2_SPT_SHORTEN",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_TCQ",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_SUBBAND_GAIN",
- "IND_HQ2_DUMMY",
- "IND_LAGINDICES",
- "IND_NOISEG",
- "IND_AUDIO_GAIN",
- "IND_AUDIO_DELAY",
- "IND_AUDIO_DELAY",
- "IND_AUDIO_DELAY",
- "IND_AUDIO_DELAY",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "IND_NQ2",
- "TAG_HR_BWE_LOOP_END",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_CELP_SUBFRAME",
- "IND_CORE_SWITCHING_AUDIO_DELAY",
- "IND_CORE_SWITCHING_AUDIO_GAIN",
- "IND_STEREO_ICBWE_REF",
- "IND_STEREO_ICBWE_SP",
- "IND_STEREO_ICBWE_GS",
- "IND_STEREO_REFCHAN",
- "IND_STEREO_CORRSTATS",
- "IND_STEREO_GD",
- "IND_STEREO_LRTD_FLAG",
- "IND_STEREO_LPC_REUSE",
- "IND_STEREO_TD_ALPHA",
- "IND_STEREO_2ND_CODER_T",
- "IND_UNUSED"
-};
-#endif
-
/*-------------------------------------------------------------------*
* push_indice()
@@ -2968,11 +1030,7 @@ ivas_error push_indice(
/* check the limits of the list of indices */
IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) )
{
-#ifdef DEBUGGING
- return IVAS_ERROR( error, "Error occured in push_indice() while re-allocating the list of indices (frame %d) !\n", frame );
-#else
return IVAS_ERROR( error, "Error occured in push_indice() while re-allocating the list of indices!\n" );
-#endif
}
/* find the location in the list of indices based on ID */
@@ -2993,9 +1051,6 @@ ivas_error push_indice(
hBstr->ind_list[j].id = hBstr->ind_list[j - 1].id;
hBstr->ind_list[j].nb_bits = hBstr->ind_list[j - 1].nb_bits;
hBstr->ind_list[j].value = hBstr->ind_list[j - 1].value;
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[j - 1].function_name, 100 );
-#endif
move16();
move16();
move16();
@@ -3007,9 +1062,6 @@ ivas_error push_indice(
hBstr->ind_list[i].id = id;
hBstr->ind_list[i].value = value;
hBstr->ind_list[i].nb_bits = nb_bits;
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( hBstr->ind_list[i].function_name, named_indices_table[id], 100 );
-#endif
move16();
move16();
move16();
@@ -3028,12 +1080,7 @@ ivas_error push_indice(
*
* Push a new indice into the buffer at the next position
*-------------------------------------------------------------------*/
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-ivas_error push_next_indice_(
- const char *caller,
-#else
ivas_error push_next_indice(
-#endif
BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
UWord16 value, /* i : value of the quantized indice */
Word16 nb_bits /* i : number of bits used to quantize the indice */
@@ -3071,9 +1118,6 @@ ivas_error push_next_indice(
move16();
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( hBstr->ind_list[hBstr->nb_ind_tot].function_name, caller, 100 );
-#endif
/* updates */
hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 );
@@ -3090,12 +1134,7 @@ ivas_error push_next_indice(
* Push a bit buffer into the buffer at the next position
*-------------------------------------------------------------------*/
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-ivas_error push_next_bits_(
- const char *caller,
-#else
ivas_error push_next_bits(
-#endif
BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */
const Word16 nb_bits /* i : number of bits to pack */
@@ -3132,20 +1171,13 @@ ivas_error push_next_bits(
/* check the limits of the list of indices */
IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) )
{
-#ifdef DEBUGGING
- return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices (frame %d) !\n", frame );
-#else
return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices!\n" );
-#endif
}
ptr = &hBstr->ind_list[hBstr->nb_ind_tot];
ptr->value = code;
ptr->nb_bits = 16;
ptr->id = prev_id;
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( ptr->function_name, caller, 100 );
-#endif
hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 );
move16();
move16();
@@ -3160,20 +1192,13 @@ ivas_error push_next_bits(
/* check the limits of the list of indices */
IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) )
{
-#ifdef DEBUGGING
- return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices (frame %d) !\n", frame );
-#else
return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices!\n" );
-#endif
}
ptr = &hBstr->ind_list[hBstr->nb_ind_tot];
ptr->value = bits[i];
ptr->nb_bits = 1;
ptr->id = prev_id;
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( ptr->function_name, caller, 100 );
-#endif
hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 );
move16();
move16();
@@ -3253,9 +1278,6 @@ UWord16 delete_indice(
move16();
move16();
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[i].function_name, 100 );
-#endif
}
j++;
@@ -3268,9 +1290,6 @@ UWord16 delete_indice(
/* reset the shifted indices at the end of the list */
hBstr->ind_list[j].nb_bits = -1;
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- sprintf( hBstr->ind_list[j].function_name, "RESET in delete_indice" );
-#endif
}
return i - j;
@@ -3692,72 +1711,6 @@ static ivas_error write_indices_element_fx(
}
}
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- if ( is_SCE ) /* EVS and SCE */
- {
- static FILE *f1 = 0;
-
- if ( f1 == 0 )
- f1 = fopen( "bitstream_text", "w" );
-
- for ( int16_t i = 0; i < sts[0]->hBstr->nb_ind_tot; i++ )
- {
- Indice *ind_list = sts[0]->hBstr->ind_list;
- int16_t value = ind_list[i].value;
- int16_t nb_bits = ind_list[i].nb_bits;
- char *function_name = ind_list[i].function_name;
-
- fprintf( f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value );
- }
-
- if ( st_ivas->hSCE[element_id]->hMetaData != NULL )
- {
- for ( int16_t i = 0; i < st_ivas->hSCE[element_id]->hMetaData->nb_ind_tot; i++ )
- {
- Indice *ind_list = st_ivas->hSCE[element_id]->hMetaData->ind_list;
- int16_t value = ind_list[i].value;
- int16_t nb_bits = ind_list[i].nb_bits;
- char *function_name = ind_list[i].function_name;
-
- fprintf( f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value );
- }
- }
- }
- else
- {
- static FILE *f1 = 0;
-
- if ( f1 == 0 )
- f1 = fopen( "bitstream_text", "w" );
-
-
- for ( n = 0; n < n_channels; n++ )
- {
- for ( int16_t i = 0; i < sts[n]->hBstr->nb_ind_tot; i++ )
- {
- Indice *ind_list = sts[n]->hBstr->ind_list;
- int16_t value = ind_list[i].value;
- int16_t nb_bits = ind_list[i].nb_bits;
- char *function_name = ind_list[i].function_name;
-
- fprintf( f1, "%d %d %d %d %s %d %d\n", frame, element_id, n, i, function_name, nb_bits, value );
- }
- }
-
- if ( st_ivas->hCPE[element_id]->hMetaData != NULL )
- {
- for ( int16_t i = 0; i < st_ivas->hCPE[element_id]->hMetaData->nb_ind_tot; i++ )
- {
- Indice *ind_list = st_ivas->hCPE[element_id]->hMetaData->ind_list;
- int16_t value = ind_list[i].value;
- int16_t nb_bits = ind_list[i].nb_bits;
- char *function_name = ind_list[i].function_name;
-
- fprintf( f1, "%d %d %d %d %s %d %d\n", frame, element_id, -1, i, function_name, nb_bits, value );
- }
- }
- }
-#endif
/*----------------------------------------------------------------*
* Clearing of indices
@@ -3839,7 +1792,6 @@ ivas_error write_indices_ivas_fx(
return error;
}
-#ifdef IVAS_RTPDUMP
/*---------------------------------------------------------------------*
@@ -3856,10 +1808,6 @@ void convertSerialToBytestream_fx(
{
Word16 i, ia7, isr3;
UWord8 bit, bitinbyte;
-#ifdef DEBUGGING
- UWord8 bitinbyte2, bytestream_tmp;
- assert( num_bits <= MAX_16 ); /* 512 kbps = 10240 bits, num_bits should always fits Word16 */
-#endif
FOR( i = 0; i < num_bits; ++i )
{
@@ -3877,30 +1825,18 @@ void convertSerialToBytestream_fx(
ia7 = s_and( i, 0x7 );
isr3 = shr( i, 3 );
bitinbyte = (UWord8) shl( (Word16) bit, sub( 7, ia7 ) );
-#ifdef DEBUGGING
- bitinbyte2 = bit << ( 7 - ( i & 0x7 ) );
- assert( bitinbyte2 == bitinbyte );
-#endif
IF( !( ia7 ) )
{
bytestream[isr3] = 0;
move16();
}
/*bytestream[i >> 3] |= bitinbyte;*/
-#ifdef DEBUGGING
- bytestream_tmp = bytestream[isr3];
- bytestream_tmp |= bitinbyte2;
-#endif
bytestream[isr3] = (Word8) s_or( bytestream[isr3], bitinbyte );
-#ifdef DEBUGGING
- assert( bytestream_tmp == bytestream[isr3] );
-#endif
move16();
}
return;
}
-#endif
/*-------------------------------------------------------------------*
@@ -4437,58 +2373,6 @@ void ivas_set_bitstream_pointers(
return;
}
-#ifdef DEBUGGING
-
-/*-------------------------------------------------------------------*
- * file_read_FECpattern()
- *
- * Simulate packet losses by reading FEC pattern from external file
- *-------------------------------------------------------------------*/
-
-static ivas_error file_read_FECpattern(
- Word16 *bfi )
-{
- ivas_error error;
-
- error = IVAS_ERR_OK;
- *bfi = 0;
-
- /* FEC pattern file provided */
- if ( FEC_pattern != NULL )
- {
- Word16 tmp = 0;
- if ( fread( &tmp, sizeof( Word16 ), 1, FEC_pattern ) != 1 )
- {
- if ( feof( FEC_pattern ) != 0 )
- {
-#ifdef WRAP_AS_EIDXOR
- fseek( FEC_pattern, 0L, SEEK_SET );
- fread( &tmp, sizeof( Word16 ), 1, FEC_pattern );
-#else
- tmp = 0;
- fseek( FEC_pattern, 0L, SEEK_SET );
-#endif
- }
- else
- {
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error reading the FEC pattern file !" );
- }
- }
-
- if ( tmp == 2609 || tmp == 1 || tmp == (UWord16) 0x6B20 /* == G192_SYNC_BAD_FRAME */ )
- {
- *bfi = 1;
- }
- else
- {
- *bfi = 0;
- }
- }
-
- return error;
-}
-
-#endif
/*-------------------------------------------------------------------*
* read_indices()
@@ -4525,21 +2409,8 @@ ivas_error read_indices_fx(
move16();
sts = reset_elements( st_ivas );
-#ifdef DEBUGGING
- file_read_FECpattern( &st_ivas->bfi );
- st_ivas->bfi |= bfi;
-
- if ( bfi == FRAMEMODE_MISSING )
- {
- for ( k = 0; k < num_bits; k++ )
- {
- bit_stream[k] = 0;
- }
- }
-#else
st_ivas->bfi = bfi;
move16();
-#endif
/* convert the frame length to total bitrate */
total_brate = imult3216( num_bits, FRAMES_PER_SEC );
@@ -5296,23 +3167,3 @@ void evs_dec_previewFrame(
return;
}
-
-#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
-void dtx_read_padding_bits_fx(
- DEC_CORE_HANDLE st,
- const Word16 num_bits )
-{
- /* TODO: temporary hack, need to decide what to do with core-coder bitrate */
- Word32 tmp;
-
- tmp = st->total_brate;
- move32();
- st->total_brate = L_add( st->total_brate, L_mult0( num_bits, FRAMES_PER_SEC ) );
- move32();
- get_next_indice_fx( st, num_bits );
- st->total_brate = tmp;
- move32();
-
- return;
-}
-#endif
diff --git a/lib_com/cb_shape_fx.c b/lib_com/cb_shape_fx.c
index 56d645ce087d5b54b9eef1509cc3a0009abc43d5..2509865ad46dd77c2d57938d30a487a1e0a36867 100644
--- a/lib_com/cb_shape_fx.c
+++ b/lib_com/cb_shape_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/cldfb_evs_fx.c b/lib_com/cldfb_evs_fx.c
index 74f53f5e6aa670c3570e0d97fd591dc442da8c36..daddd722d28cc89e6c445bdf77fd9551e2dd5f75 100644
--- a/lib_com/cldfb_evs_fx.c
+++ b/lib_com/cldfb_evs_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c
index e6f77e731754822ecff4b06e136afe95cf410df8..e19bbdd83417e9ec5068ec65de1ae7206d9ea46f 100644
--- a/lib_com/cldfb_fx.c
+++ b/lib_com/cldfb_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/cng_exc_fx.c b/lib_com/cng_exc_fx.c
index f23ef505c946ff2e687a3c0243b48488754f0e7e..61fcf0c51422013c52171d3ba6a7c90aa76a0d56 100644
--- a/lib_com/cng_exc_fx.c
+++ b/lib_com/cng_exc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/cnst.h b/lib_com/cnst.h
index 8aecbedaf00a635ff07b64fbaa177a673b85e423..e2318a2c31bfbff21db743c137983ca4dec4b49a 100644
--- a/lib_com/cnst.h
+++ b/lib_com/cnst.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -189,22 +161,6 @@
#define DEC_IVAS 2 /* Index for IVAS decoder */
#define OUTPUT_Q 11
-#ifdef DEBUGGING
-#define FORCE_SPEECH 100 /* debugging - force speech on the command line */
-#define FORCE_MUSIC 101 /* debugging - force music on the command line */
-#define FORCE_ACELP 102 /* debugging - force ACELP core on the command line */
-#define FORCE_GSC 103 /* debugging - force GSC core on the command line */
-#ifdef SUPPORT_FORCE_TCX10_TCX20
-#define FORCE_TCX10 104 /* debugging - force TCX10 core on the command line */
-#define FORCE_TCX20 105 /* debugging - force TCX20 core on the command line */
-#define FORCE_HQ 106 /* debugging - force HQ core on the command line */
-#else
-#define FORCE_TCX 104 /* debugging - force TCX core on the command line */
-#define FORCE_HQ 105 /* debugging - force HQ core on the command line */
-#endif
-#define FORCE_TD_RENDERER 201
-#define FORCE_CLDFB_RENDERER 202
-#endif
enum{
NB = 0, /* Indicator of 4 kHz bandwidth */
@@ -2790,9 +2746,7 @@ enum
#define LOG2_10 27213 /* log base 2 of 10 in Q12 */
#define LOG2_10_Q29 1783446566 /* log base 2 of 10 in Q12 */
#define LOG10_2_Q31 646456993 /* inverse log base 10 of 2 in Q31 */
-#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA
#define INV_LOG2_10 9864 /* 1/log2(10), Q15*/
-#endif
#define MU_MA_FX 10923 /* original prediction factor for the AMR WB tables (Q15) */
#define E_MIN_FXQ15 115 /* Q15*/
diff --git a/lib_com/codec_tcx_common_fx.c b/lib_com/codec_tcx_common_fx.c
index 515a1a43e75cd9389f7348cce804990c1d427fcf..cccfe9c79f7bee69d4bc63f95edc3df381ae16ba 100644
--- a/lib_com/codec_tcx_common_fx.c
+++ b/lib_com/codec_tcx_common_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h
index 27290eb18a741f71e6957e070cfcf9a7f227797f..ebe29847a2463da2d74e19f8e755068492eca519 100644
--- a/lib_com/common_api_types.h
+++ b/lib_com/common_api_types.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef COMMON_API_TYPES_H
#define COMMON_API_TYPES_H
@@ -62,9 +34,7 @@
#define IVAS_REVERB_PREDELAY_MAX 20 /* Max input delay for reverb module */
#define IVAS_ER_LIST_HEIGHT 1.6f
#define IVAS_ER_LIST_HEIGHT_FX 6710886 /* 1.6f in Q.22 */
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
-#define IVAS_DEFAULT_AEID 65535
-#endif
+#define IVAS_DEFAULT_AEID 65535
/* JBM constants for adaptive-playout */
#define IVAS_TIME_SCALE_MIN 50 /* min. time-scaling [%] */
@@ -135,15 +105,6 @@ typedef struct _IVAS_ISM_METADATA
Word32 gainFactor_fx; /* Q29 */
Word32 yaw_fx; /* Q22 */
Word32 pitch_fx; /* Q22 */
-#ifndef FIX_2084_FLOATING_POINT_LEFTOVERS
- float azimuth;
- float elevation;
- float radius;
- float spread;
- float gainFactor;
- float yaw;
- float pitch;
-#endif
Word16 non_diegetic_flag;
Word32 gain_fx; /* Q29 */
@@ -192,7 +153,6 @@ typedef enum
} IVAS_RENDER_FRAMESIZE;
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
typedef enum
{
IVAS_ROOM_SIZE_AUTO = -1,
@@ -200,7 +160,6 @@ typedef enum
IVAS_ROOM_SIZE_MEDIUM,
IVAS_ROOM_SIZE_LARGE
} IVAS_ROOM_SIZE_T;
-#endif
typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE;
typedef struct ivas_masa_decoder_ext_out_meta_struct *IVAS_MASA_DECODER_EXT_OUT_META_HANDLE;
@@ -331,21 +290,9 @@ typedef struct _ISAR_SPLIT_REND_CONFIG
* Renderer API structures and enums
*----------------------------------------------------------------------------------*/
-#ifdef DEBUGGING
-typedef enum
-{
- IVAS_RENDER_TYPE_OVERRIDE_NONE,
- IVAS_RENDER_TYPE_OVERRIDE_CREND,
- IVAS_RENDER_TYPE_OVERRIDE_FASTCONV
-
-} IVAS_RENDER_TYPE_OVERRIDE;
-
-#endif
typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG
{
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
- UWord16 aeID; /* Acoustic environment ID */
-#endif
+ UWord16 aeID; /* Acoustic environment ID */
Word16 nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */
Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q16 Center frequencies for which following values are provided: */
Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q26 - The room's T60 per center frequency */
@@ -365,9 +312,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG
typedef struct _IVAS_RENDER_CONFIG
{
-#ifdef DEBUGGING
- IVAS_RENDER_TYPE_OVERRIDE renderer_type_override;
-#endif
IVAS_ROOM_ACOUSTICS_CONFIG_DATA roomAcoustics;
ISAR_SPLIT_REND_CONFIG_DATA split_rend_config;
float directivity[IVAS_MAX_NUM_OBJECTS * 3];
diff --git a/lib_com/core_com_config_fx.c b/lib_com/core_com_config_fx.c
index 744dafa695a6c70e26ea12d3f03cef9794ed77ac..a9d37207adcb068062c02f66e2746005a677886c 100644
--- a/lib_com/core_com_config_fx.c
+++ b/lib_com/core_com_config_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/deemph_fx.c b/lib_com/deemph_fx.c
index d801362728c09f1435b384059df931f92e71656b..d4e7c4424d909c47313fd6006d9e78ddc8b819e9 100644
--- a/lib_com/deemph_fx.c
+++ b/lib_com/deemph_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/delay_comp_fx.c b/lib_com/delay_comp_fx.c
index aff51ac2d9e68c6f017eb902a5abc929894849eb..efd893a4e7c710dc57ddd736d861381a222033b3 100644
--- a/lib_com/delay_comp_fx.c
+++ b/lib_com/delay_comp_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/disclaimer.c b/lib_com/disclaimer.c
index 53210b9fe68764e1432438f2781ee4ccad778dbd..e0e18df5d7854e493930e451c20af39234394293 100644
--- a/lib_com/disclaimer.c
+++ b/lib_com/disclaimer.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/dlpc_bfi_fx.c b/lib_com/dlpc_bfi_fx.c
index 2d6b1126862da9bd153687b0194c73b13ef165bb..74507082f4327b1b11f5f59bbd130ae34491e2ff 100644
--- a/lib_com/dlpc_bfi_fx.c
+++ b/lib_com/dlpc_bfi_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/edct_fx.c b/lib_com/edct_fx.c
index 86a8ad268b57c74982476ea5ab364fa2a7df9cc5..ed8994bad53580f337ecb6827ac08a95bf48d880 100644
--- a/lib_com/edct_fx.c
+++ b/lib_com/edct_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/enhancer_fx.c b/lib_com/enhancer_fx.c
index 620904d08e6f6a299b6ae0adcb5e1f0ceeea078c..7760a601bc30ef32db0eca4bf56ed6d39196e59b 100644
--- a/lib_com/enhancer_fx.c
+++ b/lib_com/enhancer_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/enr_1_az_fx.c b/lib_com/enr_1_az_fx.c
index afcd5b83821a83cf092a765114284cb4f0e8f311..b7dac537f64d9ec63f983ce36fb3dd4c208424d7 100644
--- a/lib_com/enr_1_az_fx.c
+++ b/lib_com/enr_1_az_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/env_adj_fx.c b/lib_com/env_adj_fx.c
index 07cddb0cd1022770cf1dafda2f74cd81513de013..fc732563922e67ca584dbaf7f4df191fcfbf69c6 100644
--- a/lib_com/env_adj_fx.c
+++ b/lib_com/env_adj_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/env_stab_fx.c b/lib_com/env_stab_fx.c
index 033417ce6c0869706aa05cd3bb20eec877beae0e..535d3f3443f730ab48ead7873c601ba15fb5c1d9 100644
--- a/lib_com/env_stab_fx.c
+++ b/lib_com/env_stab_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/env_stab_trans_fx.c b/lib_com/env_stab_trans_fx.c
index ccab6f2c196468e08effb36a56340946a62aea05..bcefa02a91d09dc32ffc3f3a0532cc67f05f71c4 100644
--- a/lib_com/env_stab_trans_fx.c
+++ b/lib_com/env_stab_trans_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/est_tilt_fx.c b/lib_com/est_tilt_fx.c
index f3a30403f189517a6edbc97e89e5f462e0443653..a3d3abb86b654639d27aa2a308d5f7fbaa0d3618 100644
--- a/lib_com/est_tilt_fx.c
+++ b/lib_com/est_tilt_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/fd_cng_com_fx.c b/lib_com/fd_cng_com_fx.c
index 390afbd005b0c3590004d65cbe454a1ee08fb35d..deb1ac2c7f80beb7032ee07458dce1a96aee915c 100644
--- a/lib_com/fd_cng_com_fx.c
+++ b/lib_com/fd_cng_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -162,12 +165,7 @@ void ivas_initFdCngCom_fx( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale )
hFdCngCom->exp_cldfb_periodog = 0;
move16();
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
set16_fx( hFdCngCom->coherence_fx, 16384 /* 0.5 in Q15 */, MDCT_ST_DTX_NUM_COHERENCE_BANDS );
-#else
- hFdCngCom->coherence_fx = 16384; /* 0.5 in Q15 */
- move16();
-#endif
set32_fx( hFdCngCom->olapBufferSynth_fx, 0, FFTLEN );
set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN );
diff --git a/lib_com/fft_cldfb_fx.c b/lib_com/fft_cldfb_fx.c
index d522751fe8b2b8d6ceecfc19b384b515c636bc2d..8bdd87d9cb26b5268d713d84834b5bd575411abe 100644
--- a/lib_com/fft_cldfb_fx.c
+++ b/lib_com/fft_cldfb_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/fft_evs.c b/lib_com/fft_evs.c
index 94c2dea8ff0a7df4fc62fb898eb379e5d2d31a79..c76c4bf23ba2db729b2f05eca241d95a42ddd211 100644
--- a/lib_com/fft_evs.c
+++ b/lib_com/fft_evs.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/fft_fx.c b/lib_com/fft_fx.c
index 018020cbed36c64ca5bc85d21147afdd3f4a6de2..bebca8dd108060f70fa131bee1f58539c389f82a 100644
--- a/lib_com/fft_fx.c
+++ b/lib_com/fft_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/fft_fx_evs.c b/lib_com/fft_fx_evs.c
index 77d8bdd34d7e470198c5806338809657a11e2eb0..325a88672468cfa1e0b13fdd8afb8098af031e59 100644
--- a/lib_com/fft_fx_evs.c
+++ b/lib_com/fft_fx_evs.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -2322,36 +2325,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
l = sub( shr( n, 3 ), 1 ); /* (3*m/8) - 1 = (n/8) - 1 */
FOR( i = 0; i < l; i++ )
{
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0++, 15 ); /* Align with the following non-fractional mode so as to gain 1 more bit headroom. Q15 + Qx*/
acc = L_mac0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
acc = L_mac0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0++, 15 ); /* Align with the following non-fractional mode so as to gain 1 more bit headroom. Q15 + Qx*/
- acc = L_mac0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
- acc = L_mac0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#endif
- *RY++ = round_fx( acc ); /* bit growth = 1 (compensated by non-fractional mode MAC). Qx - 1*/
+ *RY++ = round_fx( acc ); /* bit growth = 1 (compensated by non-fractional mode MAC). Qx - 1*/
move16();
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *IZ0--, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *IZ0--, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *IY-- = round_fx( acc ); // Qx - 1
+ *IY-- = round_fx( acc ); // Qx - 1
move16();
c1_ind = add( c1_ind, c1_step );
@@ -2364,36 +2351,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
l = shr( m, 3 ); /* (4*m/8) - (3*m/8) = m/8 */
FOR( i = 0; i < l; i++ )
{
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0++, 15 ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
acc = L_mac0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0++, 15 ); // Q15 + Qx
- acc = L_mac0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
- acc = L_mac0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#endif
- *RY++ = round_fx( acc ); // Qx - 1
+ *RY++ = round_fx( acc ); // Qx - 1
move16();
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *IZ0--, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *IZ0--, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *IY-- = round_fx( acc ); // Qx - 1
+ *IY-- = round_fx( acc ); // Qx - 1
move16();
c1_ind = add( c1_ind, c1_step );
@@ -2403,16 +2374,10 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
}
/* special case: i = m/2 i.e. 1/3 */
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0--, 15 ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0--, 15 ); // Q15 + Qx
- acc = L_mac0( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *RY++ = round_fx( acc ); // Qx - 1
+ *RY++ = round_fx( acc ); // Qx - 1
move16();
acc = 0;
@@ -2434,35 +2399,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
l = sub( shr( m, 2 ), 1 ); /* (6*m/8) - ((m/2)+1) = m/4 - 1 */
FOR( i = 0; i < l; i++ )
{
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0--, 15 ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
acc = L_msu0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0--, 15 ); // Q15 + Qx
- acc = L_mac0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
- acc = L_msu0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#endif
- *RY++ = round_fx( acc ); // Qx - 1
- move16();
-
- acc = L_mult0( *IZ0++, -32768 ); // Q15 + Qx
-#ifdef FIX_2170_ASSERT_IN_FFT3
+ *RY++ = round_fx( acc ); // Qx - 1
+ move16();
+
+ acc = L_mult0( *IZ0++, -32768 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1--, t_sin[s1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *IZ1++, t_sin[c1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2--, t_sin[s2_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ2++, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_msu0( acc, *RZ1--, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *IZ1++, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2--, t_sin[s2_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ2++, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *IY-- = round_fx( acc ); // Qx - 1
+ *IY-- = round_fx( acc ); // Qx - 1
move16();
c1_ind = add( c1_ind, c1_step );
@@ -2476,35 +2426,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
l = shr( m, 2 );
FOR( i = 0; i < l; i++ )
{
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0--, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
acc = L_msu0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0--, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
- acc = L_msu0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#endif
- *RY++ = round_fx( acc ); // Qx - 1
- move16();
-
- acc = L_mult0( *IZ0++, -32768 ); // Q15 + Qx
-#ifdef FIX_2170_ASSERT_IN_FFT3
+ *RY++ = round_fx( acc ); // Qx - 1
+ move16();
+
+ acc = L_mult0( *IZ0++, -32768 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1--, t_sin[s1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ1++, t_sin[c1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ2--, t_sin[s2_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ2++, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_msu0( acc, *RZ1--, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ1++, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *RZ2--, t_sin[s2_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ2++, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *IY-- = round_fx( acc ); // Qx - 1
+ *IY-- = round_fx( acc ); // Qx - 1
move16();
c1_ind = sub( c1_ind, c1_step );
@@ -2514,27 +2449,16 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
}
/* special case: i = m, i.e 2/3 */
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0++, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0++, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *RY++ = round_fx( acc ); // Qx - 1
+ *RY++ = round_fx( acc ); // Qx - 1
move16();
acc = L_deposit_l( 0 );
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
-#else
- acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
-#endif
- *IY-- = round_fx( acc ); // Qx - 1
+ *IY-- = round_fx( acc ); // Qx - 1
move16();
IZ0--; /* Just decrement the address counter */
IZ1--;
@@ -2549,36 +2473,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
l = sub( shr( m, 3 ), 1 ); /* (9*m/8) - (m +1) = m/8 - 1 */
FOR( i = 0; i < l; i++ )
{
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0++, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
acc = L_mac0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0++, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
- acc = L_mac0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#endif
- *RY++ = round_fx( acc ); // Qx - 1
+ *RY++ = round_fx( acc ); // Qx - 1
move16();
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *IZ0--, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *IZ0--, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *IY-- = round_fx( acc ); // Qx - 1
+ *IY-- = round_fx( acc ); // Qx - 1
move16();
c1_ind = sub( c1_ind, c1_step );
@@ -2591,36 +2499,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
l = shr( n, 3 ); /* (12*m/8) - (9*m/8) = 3*m/8 = n/8 */
FOR( i = 0; i < l; i++ )
{
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0++, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
acc = L_mac0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0++, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/
- acc = L_mac0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx
-#endif
- *RY++ = round_fx( acc ); // Qx - 1
+ *RY++ = round_fx( acc ); // Qx - 1
move16();
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *IZ0--, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
acc = L_msu0_sat( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *IZ0--, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx
- acc = L_msu0( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *IY-- = round_fx( acc ); // Qx - 1
+ *IY-- = round_fx( acc ); // Qx - 1
move16();
c1_ind = sub( c1_ind, c1_step );
@@ -2630,16 +2522,10 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n )
}
/* special case: i = 3*m/2 */
-#ifdef FIX_2170_ASSERT_IN_FFT3
acc = L_shl_sat( *RZ0, 15 ); // Q15 + Qx
acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx
acc = L_mac0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
-#else
- acc = L_shl( *RZ0, 15 ); // Q15 + Qx
- acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx
- acc = L_mac0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx
-#endif
- *RY = round_fx( acc ); // Qx - 1
+ *RY = round_fx( acc ); // Qx - 1
move16();
return;
diff --git a/lib_com/fft_rel_fx.c b/lib_com/fft_rel_fx.c
index b3fcc967ae7a272a4a1b404aa9de971884cf105f..c394b34a682dedb9521021870225f4a04194ae9b 100644
--- a/lib_com/fft_rel_fx.c
+++ b/lib_com/fft_rel_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/fill_spectrum_fx.c b/lib_com/fill_spectrum_fx.c
index 84d3127077201edd0c41ec9daacdf25850a91254..dde70105cd764ae1c2e93d2d15d6f883939882db 100644
--- a/lib_com/fill_spectrum_fx.c
+++ b/lib_com/fill_spectrum_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/findpulse_fx.c b/lib_com/findpulse_fx.c
index 7e0f535b37e9262d84da0a8592f3dd87401a306f..b4a17c65ca1405721be1ca04d20690b48b363b5d 100644
--- a/lib_com/findpulse_fx.c
+++ b/lib_com/findpulse_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/fine_gain_bits_fx.c b/lib_com/fine_gain_bits_fx.c
index dd306f872344a86753e2db927bbd45c662389805..f911346f29618ac846c75baac4c409fcbd2259f6 100644
--- a/lib_com/fine_gain_bits_fx.c
+++ b/lib_com/fine_gain_bits_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/frame_ener_fx.c b/lib_com/frame_ener_fx.c
index 1ba05337caf20f13b8ad1494daf9aedb809cf03f..660e748cfcc3422b86dd2c909446ce3a855d6d2f 100644
--- a/lib_com/frame_ener_fx.c
+++ b/lib_com/frame_ener_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/gain_inov_fx.c b/lib_com/gain_inov_fx.c
index cd0d34290986934dfef02fd158202ad6c2dfe685..02da8264ec23a95f385a65bb2e01404c157fc92b 100644
--- a/lib_com/gain_inov_fx.c
+++ b/lib_com/gain_inov_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/get_gain_fx.c b/lib_com/get_gain_fx.c
index 69d18b600c2396544fa6e013dfc246dcbc442936..16c5ff403d17de06b8f15e87e8648d8c7378b264 100644
--- a/lib_com/get_gain_fx.c
+++ b/lib_com/get_gain_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/gs_bitallocation_fx.c b/lib_com/gs_bitallocation_fx.c
index ee2c3f98ce1b1ea05e1ced73cb1f14bf78cc5824..f72d200ed5907e631bd0d46a6038bcb126cdacd3 100644
--- a/lib_com/gs_bitallocation_fx.c
+++ b/lib_com/gs_bitallocation_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/gs_bitallocation_ivas_fx.c b/lib_com/gs_bitallocation_ivas_fx.c
index 549edd34516730e8ac68c60dba09d3f231843913..9c797fbdf1abedf11adfefbb3f135e6545bd7cb6 100644
--- a/lib_com/gs_bitallocation_ivas_fx.c
+++ b/lib_com/gs_bitallocation_ivas_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -869,9 +872,6 @@ static Word32 Find_bit_frac_fx(
}
ELSE
{
-#ifdef DEBUGGING
- printf( "1/%d NOT DEFINED in Find_bit_frac\n", nb_band );
-#endif
}
L_out = L_mult( inv_bandQ15, shl( remaining_bits, 2 ) ); /*Q18*/
diff --git a/lib_com/gs_gains_fx.c b/lib_com/gs_gains_fx.c
index b1c20904028ea87f87d92bb1ca9770049d4d3455..7cc2ed1779a947fd296354b18f30506947289fcc 100644
--- a/lib_com/gs_gains_fx.c
+++ b/lib_com/gs_gains_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/gs_inact_switching_fx.c b/lib_com/gs_inact_switching_fx.c
index 9ad4241021d84cd0bbe6c58c6cf9cc8f02b7b57b..592e6dc37e364bfe0588c56e2df60e7638d77446 100644
--- a/lib_com/gs_inact_switching_fx.c
+++ b/lib_com/gs_inact_switching_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/gs_noisefill_fx.c b/lib_com/gs_noisefill_fx.c
index 3668c3d77c08ab1245727deea349de7ec7e9acdc..f65da7301d7dc7c98dded34391e3580d42e1ee5e 100644
--- a/lib_com/gs_noisefill_fx.c
+++ b/lib_com/gs_noisefill_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/gs_preech_fx.c b/lib_com/gs_preech_fx.c
index 3b4c4f2a83a74aea508d987f5e1d64ff69358c97..0df8db0b69074ca8ed52080de7c3bed8e155c825 100644
--- a/lib_com/gs_preech_fx.c
+++ b/lib_com/gs_preech_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/guided_plc_util_fx.c b/lib_com/guided_plc_util_fx.c
index 7f5e4488105366e416f7ba90baa464c2c56302cb..63a87e4435c3a1a40960c86173b12cc9e26328d5 100644
--- a/lib_com/guided_plc_util_fx.c
+++ b/lib_com/guided_plc_util_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/hp50_fx.c b/lib_com/hp50_fx.c
index 26cc777940b510fd64b2289ad1743540febf0197..93e115f7bc9ab791b115f5e4ea0f6fa9768c3468 100644
--- a/lib_com/hp50_fx.c
+++ b/lib_com/hp50_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -316,12 +288,8 @@ void hp20_fx_32_opt(
prescale = s_min( prescale, diff );
prescale = sub( 1 + HP20_FX_COEFF_SCALE, prescale );
-#ifdef FIX_2086_ENABLE_HP20_OPT_FOR_ENC
if ( EQ_16( prescale_current_frame, 1 + HP20_FX_COEFF_SCALE - 31 ) || // signal_fx buffer contains only zeros, so use the mem_fx scale_factor instead
LT_16( prescale_current_frame, prescale ) ) // To avoid overflow in the subsequent shr() scaling for W_y1, W_y2, x2, and x1 calculations before the for loop.
-#else
- if ( EQ_16( prescale_current_frame, 1 + HP20_FX_COEFF_SCALE - 31 ) ) // signal_fx buffer contains only zeros, so use the mem_fx scale_factor instead
-#endif
{
prescale_current_frame = prescale;
}
diff --git a/lib_com/hq2_bit_alloc_fx.c b/lib_com/hq2_bit_alloc_fx.c
index e4c671a74c7b65877dd9facc121b2c9dcd644d4a..d225579c9622a8057dad39e24abb5140744f3ce2 100644
--- a/lib_com/hq2_bit_alloc_fx.c
+++ b/lib_com/hq2_bit_alloc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/hq2_core_com_fx.c b/lib_com/hq2_core_com_fx.c
index 78f60d4659b3eb2e3d64e98c2904dd75eccfc1ee..e1a3bb8e6fcdeff503e58a845e0ea814b8929fa8 100644
--- a/lib_com/hq2_core_com_fx.c
+++ b/lib_com/hq2_core_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
diff --git a/lib_com/hq2_noise_inject_fx.c b/lib_com/hq2_noise_inject_fx.c
index 76efad10e991b289bd73e343153f8440468cc7b5..53a760224d86406729bbe14d4d244ed6477e824b 100644
--- a/lib_com/hq2_noise_inject_fx.c
+++ b/lib_com/hq2_noise_inject_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/hq_bit_allocation_fx.c b/lib_com/hq_bit_allocation_fx.c
index c3fc6a3a59ca8ff21dd5fedbf9c52095ffb6463f..89d806b480ee0246f9a84909c0cc8d8d16cbbfcd 100644
--- a/lib_com/hq_bit_allocation_fx.c
+++ b/lib_com/hq_bit_allocation_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/hq_conf_fx.c b/lib_com/hq_conf_fx.c
index b400624487bfbb9c5b3bd897c1d88f791382cbb2..b95d9e66df33d03e0ded43c2b97a9778793758cd 100644
--- a/lib_com/hq_conf_fx.c
+++ b/lib_com/hq_conf_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/hq_tools_fx.c b/lib_com/hq_tools_fx.c
index df36099a4fa057a7395ccf118873179e30755823..dc06f1cb6d11fe9b4e75e8b73bf03555500ca567 100644
--- a/lib_com/hq_tools_fx.c
+++ b/lib_com/hq_tools_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/hvq_pvq_bitalloc_fx.c b/lib_com/hvq_pvq_bitalloc_fx.c
index bc15fe2660fdeea5d42264efee3fcb4e5eb14c1f..5c61f8e6ab48a270dde0614327d176fe8f46db7c 100644
--- a/lib_com/hvq_pvq_bitalloc_fx.c
+++ b/lib_com/hvq_pvq_bitalloc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/ifft_rel_fx.c b/lib_com/ifft_rel_fx.c
index f404a10c8f72d25c02b3d00260226591f0399cad..5792f08d50cdd1373de3cc0573d511fcfb523962 100644
--- a/lib_com/ifft_rel_fx.c
+++ b/lib_com/ifft_rel_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/igf_base_fx.c b/lib_com/igf_base_fx.c
index ae2e9c51bd168a96b6229eb421d5438425568a83..dd559c56b88c2e92846149f387af78a18986b9f1 100644
--- a/lib_com/igf_base_fx.c
+++ b/lib_com/igf_base_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/index_pvq_opt_fx.c b/lib_com/index_pvq_opt_fx.c
index e2d2690cea7f5236548ad13365125b6f6ebb7db8..e8fa48f6a8fe27a8923cedfd069952db3532652e 100644
--- a/lib_com/index_pvq_opt_fx.c
+++ b/lib_com/index_pvq_opt_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/int_lsp_fx.c b/lib_com/int_lsp_fx.c
index 0404a2f618d7453a82c9cd9627abbd6da55fd16c..9539e8dcd4a97b5745e8e65898065762bbc8d97f 100644
--- a/lib_com/int_lsp_fx.c
+++ b/lib_com/int_lsp_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/interleave_spectrum_fx.c b/lib_com/interleave_spectrum_fx.c
index 3dc1672ec86a746cd74d1f2d8ee3fe59fe4ab094..a969b7e2ec04792f0a44ac616dd9557c580a7119 100644
--- a/lib_com/interleave_spectrum_fx.c
+++ b/lib_com/interleave_spectrum_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/interpol_fx.c b/lib_com/interpol_fx.c
index 7d4c2208de4c78c372e870f16da623948d69fa93..5b92284638f11caf13fc094aa2ea7d15b0c30611 100644
--- a/lib_com/interpol_fx.c
+++ b/lib_com/interpol_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/isf_dec_amr_wb_fx.c b/lib_com/isf_dec_amr_wb_fx.c
index 5ab82ee6dc158e877fd24f908e16cd20545f4f5c..7c08f7a43ab17881f666d454a61a08eb6d313450 100644
--- a/lib_com/isf_dec_amr_wb_fx.c
+++ b/lib_com/isf_dec_amr_wb_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h" /* Compilation switches */
diff --git a/lib_com/ivas_agc_com_fx.c b/lib_com/ivas_agc_com_fx.c
index 3f6e181efb2154cf8fc2ce949321b0959c1dab90..d83d96662cd6c15ec28929fb9f1726103b5642bd 100644
--- a/lib_com/ivas_agc_com_fx.c
+++ b/lib_com/ivas_agc_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_arith_fx.c b/lib_com/ivas_arith_fx.c
index c708976dac8552562abb21fd47637ec18a9eb61f..4c4877c5fde8a7c2c26d1dc5ab6c2ecd7007a2ca 100644
--- a/lib_com/ivas_arith_fx.c
+++ b/lib_com/ivas_arith_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_avq_pos_reorder_com_fx.c b/lib_com/ivas_avq_pos_reorder_com_fx.c
index 25f8be3ad2ae64b4b05bc88bfc19b22043377621..d7de0584cc4a6130f5f574cac7ea08878627a26f 100644
--- a/lib_com/ivas_avq_pos_reorder_com_fx.c
+++ b/lib_com/ivas_avq_pos_reorder_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h
index b8415b7fd28d70214bf80f153a9130b0d2428291..332cd40c1dcb83dc8ef7417dd789ef27ceb1dd52 100644
--- a/lib_com/ivas_cnst.h
+++ b/lib_com/ivas_cnst.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef IVAS_CNST_H
#define IVAS_CNST_H
@@ -197,12 +169,10 @@ typedef enum
#define MAX_SPAR_INTERNAL_CHANNELS IVAS_SPAR_MAX_CH
#define MAX_CLDFB_DIGEST_CHANNELS 3 /* == maximum of ParamISM TCs and ParamMC TCs */
-#ifdef FIX_GAIN_EDIT_LIMITS
#define EDIT_GAIN_MIN_Q29 33874260 /* Minimum allowed object gain edit with parametric modes in Q29: 0.0630957f, -24 dB */
#define EDIT_GAIN_MAX_Q29 2137321728 /* Maximum allowed object gain edit in Q29: 3.9810719f, +12 dB */
#define EDIT_GAIN_MIN_Q12 258 /* Minimum allowed object gain edit with parametric modes in Q12: 0.0630957f, -24 dB */
#define EDIT_GAIN_MAX_Q12 16306 /* Maximum allowed object gain edit in Q12: 3.9810719f, +12 dB */
-#endif
@@ -258,9 +228,7 @@ typedef enum
/* format signaling in SID frames */
#define SID_FORMAT_NBITS 3 /* Bit 0 | Bit 1 | Bit 2 */
/*-------|-------|------ */
-#ifdef FIX_1384_MSAN_ivas_spar_dec_open
#define SID_FORMAT_NONE (-0x1) /* n/a| n/a| n/a*/
-#endif
#define SID_DFT_STEREO 0x0 /* 0| 0| 0 */
#define SID_MDCT_STEREO 0x1 /* 1| 0| 0 */
#define SID_ISM 0x2 /* 0| 1| 0 */
@@ -854,10 +822,6 @@ enum fea_names
/* MDCT stereo modes */
#define SMDCT_MS_DECISION 0
-#ifdef DEBUG_FORCE_MDCT_STEREO_MODE
-#define SMDCT_FORCE_LR 1
-#define SMDCT_FORCE_MS 2
-#endif
#define MAX_SFB 70 /* Maximum number of stereo frequency bands = 64 + 6 for TCX after ACELP */
@@ -893,10 +857,8 @@ enum fea_names
#define MDCT_ST_PLC_FADEOUT_TO_ZERO_LEN 20
#define MDCT_ST_PLC_FADEOUT_DELAY_4_LSP_FADE 3
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
#define MDCT_ST_DTX_NUM_COHERENCE_BANDS 5
#define MDCT_ST_DTX_FIRST_BAND_OFFSET 2
-#endif
typedef enum {
NOISE_GEN_MODE_UNDEF = -1,
@@ -1299,11 +1261,7 @@ typedef enum
*----------------------------------------------------------------------------------*/
#define MC_LS_SETUP_BITS 3 /* number of bits for writing the MC LS configuration */
-#ifdef FIX_1419_MONO_STEREO_UMX
#define LS_SETUP_CONVERSION_NUM_MAPPINGS 41 /* number of mappings for LS setup conversion */
-#else
-#define LS_SETUP_CONVERSION_NUM_MAPPINGS 35 /* number of mappings for LS setup conversion */
-#endif
typedef enum
{
@@ -1656,18 +1614,13 @@ typedef enum
#define RV_LENGTH_NR_FC ( RV_FILTER_MAX_FFT_SIZE / 2 ) + 1
#define RV_LENGTH_NR_FC_16KHZ ( RV_FILTER_MAX_FFT_SIZE / 4 ) + 1
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
#define IVAS_REVERB_DEFAULT_L_N_BANDS 31
#define IVAS_REVERB_DEFAULT_M_N_BANDS 31
#define IVAS_REVERB_DEFAULT_S_N_BANDS 60
-#else
-#define IVAS_REVERB_DEFAULT_N_BANDS 31
-#endif
#define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC )
#define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ )
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
typedef enum
{
DEFAULT_REVERB_UNSET = -1,
@@ -1675,7 +1628,6 @@ typedef enum
DEFAULT_REVERB_MEDIUM,
DEFAULT_REVERB_LARGE
} IVAS_DefaultReverbSize;
-#endif
/*----------------------------------------------------------------------------------*
diff --git a/lib_com/ivas_cov_smooth_fx.c b/lib_com/ivas_cov_smooth_fx.c
index 9a8de3c1f055c1e3a119181c3c404a3a903242a7..684864a12b85911e6ed601b8273b77e2c26f2897 100644
--- a/lib_com/ivas_cov_smooth_fx.c
+++ b/lib_com/ivas_cov_smooth_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_dirac_com_fx.c b/lib_com/ivas_dirac_com_fx.c
index cba992070911995e986aa23a6637d2802d189c5f..93a80953d6f36ae52845fb4c3cf46f96f383705a 100644
--- a/lib_com/ivas_dirac_com_fx.c
+++ b/lib_com/ivas_dirac_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_entropy_coder_common_fx.c b/lib_com/ivas_entropy_coder_common_fx.c
index f52d59859e7833964f125b0837b23a7d18c91dce..d79b7d456536f1b056e4e14557ddbbeb30d60c3c 100644
--- a/lib_com/ivas_entropy_coder_common_fx.c
+++ b/lib_com/ivas_entropy_coder_common_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h
index 563fdeb367b47f902fe2777819ab69832515aee6..232b670f6ba9055600d4761e910309dfbf6dd63d 100644
--- a/lib_com/ivas_error.h
+++ b/lib_com/ivas_error.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -93,9 +65,6 @@ typedef enum
IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED,
IVAS_ERR_TSM_NOT_ENABLED,
IVAS_ERR_FETCH_SIZE_NO_MULTIPLE_OF_5MS,
-#ifdef DEBUGGING
- IVAS_ERR_INVALID_FORCE_MODE,
-#endif
/*----------------------------------------*
* input data errors *
@@ -145,7 +114,6 @@ typedef enum
IVAS_ERR_LC3PLUS_INVALID_BITRATE,
IVAS_ERR_INVALID_SPLIT_REND_CONFIG,
-#ifdef IVAS_RTPDUMP
/*----------------------------------------*
* rtp errors *
*----------------------------------------*/
@@ -153,7 +121,6 @@ typedef enum
IVAS_ERR_RTP_INSUFFICIENT_OUTPUT_SIZE,
IVAS_ERR_RTP_UNPACK_PI_DATA,
IVAS_ERR_RTP_UNSUPPORTED_FRAME,
-#endif
/*----------------------------------------*
* unknown error *
@@ -232,10 +199,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code )
return "Unexpected NULL pointer";
case IVAS_ERR_METADATA_NOT_EXPECTED:
return "Metadata input not expected for current configuration";
-#ifdef DEBUGGING
- case IVAS_ERR_INVALID_FORCE_MODE:
- return "Invalid force mode";
-#endif
case IVAS_ERR_NOT_IMPLEMENTED:
return "Not implemented";
case IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT:
@@ -292,7 +255,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code )
{
return "data error";
}
-#ifdef IVAS_RTPDUMP
if ( ( error_code & 0x7000 ) == 0x7000 )
{
switch ( error_code )
@@ -309,7 +271,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code )
return "rtp error";
}
}
-#endif
return "Unknown error";
}
diff --git a/lib_com/ivas_error_utils.h b/lib_com/ivas_error_utils.h
index 0c3d5ce042d74d7b9ea0c4be32729f5c161889de..8e015039e0acc192fbe01197c32a1d84a03754de 100644
--- a/lib_com/ivas_error_utils.h
+++ b/lib_com/ivas_error_utils.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
diff --git a/lib_com/ivas_fb_mixer_fx.c b/lib_com/ivas_fb_mixer_fx.c
index c860b354e27a271e5a6384bde2e3e15f9512408e..412669a73445bdb639d15e68f6b7ce84b9c5d56e 100644
--- a/lib_com/ivas_fb_mixer_fx.c
+++ b/lib_com/ivas_fb_mixer_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_filters_fx.c b/lib_com/ivas_filters_fx.c
index 02e7b272a4beb7759335c88421067918f710763f..f435f8b78c28595580ee5a8d6693b0f1011072b5 100644
--- a/lib_com/ivas_filters_fx.c
+++ b/lib_com/ivas_filters_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_ism_com_fx.c b/lib_com/ivas_ism_com_fx.c
index ea276c944920f227648b8d0fccf79076571f0806..efefaa89dbffd13e1aa2b23b2b2ee82277c07365 100644
--- a/lib_com/ivas_ism_com_fx.c
+++ b/lib_com/ivas_ism_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_lfe_com_fx.c b/lib_com/ivas_lfe_com_fx.c
index d515cc5fbc77ce306b43d6d8607a430a74c3f5b7..99ba08cbfc85b9bbda167a05fec39ac4e94c2173 100644
--- a/lib_com/ivas_lfe_com_fx.c
+++ b/lib_com/ivas_lfe_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "math.h"
diff --git a/lib_com/ivas_limiter_fx.c b/lib_com/ivas_limiter_fx.c
index a293b629c189f7cedfff46ed6caf5e6b4213873d..9f8ed4fa026fb2c94f7edb1048df86103cf0d9df 100644
--- a/lib_com/ivas_limiter_fx.c
+++ b/lib_com/ivas_limiter_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_masa_com_fx.c b/lib_com/ivas_masa_com_fx.c
index 9c706bc74a1dc6bfdeefea66b3835ef25fe0f2bd..078292db4430b6fbd65c715ca081dc3fd1284523 100644
--- a/lib_com/ivas_masa_com_fx.c
+++ b/lib_com/ivas_masa_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_mc_com_fx.c b/lib_com/ivas_mc_com_fx.c
index 8201037a1a5f89eb53acb0e81787b0a87f68da5c..a292d59a3d1726b1c18c5a03df00ea629581479f 100644
--- a/lib_com/ivas_mc_com_fx.c
+++ b/lib_com/ivas_mc_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_mc_param_com_fx.c b/lib_com/ivas_mc_param_com_fx.c
index e3827c5685d146777de8975f73bd52b7b5791873..b072798f589a0ddbe10ff109395c722304aa10c5 100644
--- a/lib_com/ivas_mc_param_com_fx.c
+++ b/lib_com/ivas_mc_param_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_mcmasa_com_fx.c b/lib_com/ivas_mcmasa_com_fx.c
index 23a3800fb792ba9eeee06ef4cd26001a9b54d5e6..75984111e7649ffe1113c7d4e2e1771aa5263d8f 100644
--- a/lib_com/ivas_mcmasa_com_fx.c
+++ b/lib_com/ivas_mcmasa_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "ivas_cnst.h"
#include "options.h"
diff --git a/lib_com/ivas_mct_com_fx.c b/lib_com/ivas_mct_com_fx.c
index 81a56df146d9ba7378dbcadacb6aeb39b98f28b0..e83a0f8cdc8f56065b80ae80ef4948c6882c1714 100644
--- a/lib_com/ivas_mct_com_fx.c
+++ b/lib_com/ivas_mct_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_mdct_core_com_fx.c b/lib_com/ivas_mdct_core_com_fx.c
index fe313eecdd7c3be915f9d9aa73c37081e79b61ac..8f4b75f4b48fe5ffce6270a13065b667ca9700c5 100644
--- a/lib_com/ivas_mdct_core_com_fx.c
+++ b/lib_com/ivas_mdct_core_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_mdct_imdct_fx.c b/lib_com/ivas_mdct_imdct_fx.c
index 960b823ae605a2c890c6b77a3e305039fe0af208..9479830dfce4767d9005bc5aa1d18640832621be 100644
--- a/lib_com/ivas_mdct_imdct_fx.c
+++ b/lib_com/ivas_mdct_imdct_fx.c
@@ -1,43 +1,12 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
#include "prot_fx.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_com.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#include "ivas_stat_com.h"
#include "wmc_auto.h"
diff --git a/lib_com/ivas_mdft_imdft_fx.c b/lib_com/ivas_mdft_imdft_fx.c
index 1d07ab13356e8b5b418e841bd302a6dd002df1dd..336f4c8563b5b61c898e15f4532b6536eb0a8577 100644
--- a/lib_com/ivas_mdft_imdft_fx.c
+++ b/lib_com/ivas_mdft_imdft_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -39,7 +11,6 @@
#include "wmc_auto.h"
#include
#include
-#include "debug.h"
#include "ivas_prot_fx.h"
/*-----------------------------------------------------------------------------------------*
diff --git a/lib_com/ivas_omasa_com_fx.c b/lib_com/ivas_omasa_com_fx.c
index 1c1d4bf6cb6ca87def78b29f60c793547d2f3e4d..5b23ebc89adfc28e8d823601ff20d1bb2e632557 100644
--- a/lib_com/ivas_omasa_com_fx.c
+++ b/lib_com/ivas_omasa_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
#include
diff --git a/lib_com/ivas_osba_com_fx.c b/lib_com/ivas_osba_com_fx.c
index 79ce8443ace24e625bd32134f6817c56bd34b78c..702b6205c8bdfa56acffca6e1c3559625b7c6697 100644
--- a/lib_com/ivas_osba_com_fx.c
+++ b/lib_com/ivas_osba_com_fx.c
@@ -1,43 +1,12 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
#include "ivas_cnst.h"
#include "ivas_prot_fx.h"
#include "prot_fx.h"
#include "ivas_rom_com.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*! r : ISM format mode */
ISM_MODE ivas_osba_ism_mode_select(
diff --git a/lib_com/ivas_pca_tools_fx.c b/lib_com/ivas_pca_tools_fx.c
index e0d42e4040cd90a6dc4f59c0d193d7c2d6d1022a..dada21a76617fdfa3d98bbc36f57642a704af5de 100644
--- a/lib_com/ivas_pca_tools_fx.c
+++ b/lib_com/ivas_pca_tools_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_prot_fx.h b/lib_com/ivas_prot_fx.h
index b75b3813733be9bd945bc824afe53d0c7ff2c9f0..06dd3c8f44a680fe4c1bc79f5c63d748786cb184 100644
--- a/lib_com/ivas_prot_fx.h
+++ b/lib_com/ivas_prot_fx.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef IVAS_PROT_FX_H
#define IVAS_PROT_FX_H
@@ -1490,13 +1462,6 @@ ivas_error ivas_dirac_config_fx(
void *st_ivas, /* i/o: IVAS encoder/decoder state structure */
const Word16 enc_dec /* i : encoder or decoder flag */
);
-#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
-
-void dtx_read_padding_bits_fx(
- DEC_CORE_HANDLE st,
- const Word16 num_bits
-);
-#endif
void FdCngEncodeMDCTStereoSID_fx(
CPE_ENC_HANDLE hCPE /* i/o: CPE encoder state structure */
@@ -5997,10 +5962,6 @@ ivas_error pre_proc_front_ivas_fx(
const Word32 last_ivas_total_brate, /* i : last IVAS total bitrate Q0*/
const Word32 ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX Q0*/
Word16 *Q_new
-#ifdef DEBUG_MODE_INFO
- ,
- const Word16 ch_idx
-#endif
);
ivas_error pre_proc_ivas_fx(
@@ -6695,7 +6656,6 @@ void ivas_binaural_hrtf_close_fx(
HRTFS_FASTCONV_HANDLE *hHrtfFastConv /* i/o: decoder binaural hrtf handle */
);
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
/*---------------------------------------------------------------------------------*
* Multi-pose ring buffer Prototypes
@@ -6731,7 +6691,6 @@ void ivas_CLDFB_RINGBUF_GetByIdx(
const Word16 idx
);
-#endif
/*----------------------------------------------------------------------------------*
* renderer prototypes
@@ -6824,10 +6783,6 @@ ivas_error ivas_osba_enc_reconfig(
void ivas_set_surplus_brate_enc(
Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */
-#ifdef DEBUG_MODE_INFO
- ,
- const int16_t *nb_bits_metadata /* i : number of metadata bits */
-#endif
);
void ivas_set_surplus_brate_dec(
diff --git a/lib_com/ivas_qmetadata_com_fx.c b/lib_com/ivas_qmetadata_com_fx.c
index 906277f54294d732a576187b64c798e8e375c836..3f4cf46930c38714281b78361b69a87b0563000a 100644
--- a/lib_com/ivas_qmetadata_com_fx.c
+++ b/lib_com/ivas_qmetadata_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_qspherical_com_fx.c b/lib_com/ivas_qspherical_com_fx.c
index 7d7c159b365ed4e89520a51b472381c25d7b7c8a..76ec9d610a57db95d60d296d43954621fbb8a9e7 100644
--- a/lib_com/ivas_qspherical_com_fx.c
+++ b/lib_com/ivas_qspherical_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_rom_com.h b/lib_com/ivas_rom_com.h
index 9773d0715db6cd47bb27636649ea460ce60daf37..ddc1a7a8abc77220127e65d77055b3b7113c87fd 100644
--- a/lib_com/ivas_rom_com.h
+++ b/lib_com/ivas_rom_com.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef IVAS_ROM_COM_H
#define IVAS_ROM_COM_H
@@ -133,10 +105,8 @@ extern const SpectrumWarping sw32000Hz[]; /* PsychLPC */
extern const MDCTStereoBands_config mdctStereoBands_32000_640[];
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
extern const Word16 mdct_stereo_dtx_coherence_bandlengths[MDCT_ST_DTX_NUM_COHERENCE_BANDS];
extern const Word16 get_next_index_4_by_15[16];
-#endif
/*----------------------------------------------------------------------------------*
@@ -300,9 +270,7 @@ extern const Word32 diffuseness_thresholds_hr_fx[HR_MASA_ER_LEVELS + 1];
extern const Word32 no_phi_masa_inv_fx[NO_SPHERICAL_GRIDS][MAX_NO_THETA];
extern const Word32 azimuth_cb_fx[8];
extern const Word32 delta_theta_masa_fx[NO_SPHERICAL_GRIDS - 2];
-#ifdef OBJ_EDIT_BASOP
extern const Word32 delta_theta_masa_inv_fx[NO_SPHERICAL_GRIDS - 2];
-#endif
extern const Word16 coherence_cb0_masa_Q14[DIRAC_DIFFUSE_LEVELS * 2 * MASA_NO_CV_COH];
extern const Word32 coherence_cb0_masa_fx[DIRAC_DIFFUSE_LEVELS * 2 * MASA_NO_CV_COH];
extern const Word16 coherence_cb1_masa_Q15[MASA_NO_CV_COH1 * MASA_MAXIMUM_CODING_SUBBANDS]; /* 25 */
diff --git a/lib_com/ivas_rom_com_fx.c b/lib_com/ivas_rom_com_fx.c
index a5af89655248c5f0066fd6c0fb6f5df4a39c823b..3f608daa7e9b02ad99dda0444ec05aefad988224 100644
--- a/lib_com/ivas_rom_com_fx.c
+++ b/lib_com/ivas_rom_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -546,7 +518,6 @@ const MDCTStereoBands_config mdctStereoBands_32000_640[] =
{33, 29, 26, 18}/*number of bands for frame lengths 480, 320, 256, 160 respectively*/
}};
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
const Word16 mdct_stereo_dtx_coherence_bandlengths[MDCT_ST_DTX_NUM_COHERENCE_BANDS] = {
6, /* 8 - MDCT_ST_DTX_FIRST_BAND_OFFSET */ 8, 16, 16, 80
};
@@ -554,7 +525,6 @@ const Word16 mdct_stereo_dtx_coherence_bandlengths[MDCT_ST_DTX_NUM_COHERENCE_BAN
const Word16 get_next_index_4_by_15[16] = {
0, 2184, 4369, 6553, 8738, 10922, 13107, 15291, 17476, 19660, 21845, 24029, 26214, 28398, 30583, 32767
};
-#endif
const Word16 dft_cng_coh_u2i[9] = { 4, 5, 3, 6, 2, 7, 1, 8, 0 }; /* Coherence unary codeword -> residual codeword conversion table */
@@ -4416,12 +4386,10 @@ const Word32 delta_theta_masa_fx[NO_SPHERICAL_GRIDS - 2] = {
188743680, 188743680, 150994944, 106954752, 83886080, 62914560, 45214596, 28101836, 20971520
};
-#ifdef OBJ_EDIT_BASOP
// Q31
const Word32 delta_theta_masa_inv_fx[NO_SPHERICAL_GRIDS - 2] = {
47721859, 47721859, 59652324, 84215045, 107374182, 143165577, 199209986, 320519947, 429496730
};
-#endif
// q = 14
const Word16 coherence_cb0_masa_Q14[DIRAC_DIFFUSE_LEVELS * 2 * MASA_NO_CV_COH] = {
diff --git a/lib_com/ivas_rotation_com_fx.c b/lib_com/ivas_rotation_com_fx.c
index d399c6a660e352ebd6ad625d8d13753c88d432a0..e5948e642985dd5c79f3fa99541887015a2da657 100644
--- a/lib_com/ivas_rotation_com_fx.c
+++ b/lib_com/ivas_rotation_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "ivas_cnst.h"
#include
@@ -38,9 +10,6 @@
#include "cnst.h"
#include "prot_fx.h"
#include "ivas_prot_fx.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#include "wmc_auto.h"
#include "basop_util.h"
#include "enh64.h"
diff --git a/lib_com/ivas_sba_config_fx.c b/lib_com/ivas_sba_config_fx.c
index 4caa22da2a0b258d80f3dcc3068db56af2c80911..002aa78a2897b856e13b18b2148c566a6088ac83 100644
--- a/lib_com/ivas_sba_config_fx.c
+++ b/lib_com/ivas_sba_config_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_sns_com_fx.c b/lib_com/ivas_sns_com_fx.c
index 48be0cfd083000e5f134b7d50633a61a12d5ab67..44cf874a88e0f729085b29453973ea4e27e7dc42 100644
--- a/lib_com/ivas_sns_com_fx.c
+++ b/lib_com/ivas_sns_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_spar_com_fx.c b/lib_com/ivas_spar_com_fx.c
index afb639ef00c92528308d8e5ceabf7085007fd8c4..8064468bcef6999bcc8bd9a2dd9bc9cda7157c75 100644
--- a/lib_com/ivas_spar_com_fx.c
+++ b/lib_com/ivas_spar_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "math.h"
diff --git a/lib_com/ivas_spar_com_quant_util_fx.c b/lib_com/ivas_spar_com_quant_util_fx.c
index 8e84e4e374273d2b97988a01283fac18405d859d..d732efc22be5d9be9f0e739320b1239875a52a13 100644
--- a/lib_com/ivas_spar_com_quant_util_fx.c
+++ b/lib_com/ivas_spar_com_quant_util_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h
index 65a081c9c9884c49cda797f81a9889a55959c056..ceb91b3abfc1b9a722f1a2df75cd8b0334916153 100644
--- a/lib_com/ivas_stat_com.h
+++ b/lib_com/ivas_stat_com.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef IVAS_STAT_COM
#define IVAS_STAT_COM
diff --git a/lib_com/ivas_stereo_dft_com_fx.c b/lib_com/ivas_stereo_dft_com_fx.c
index 6d63bc6d1565160d0a3a3edb4f84b812077e882e..83885304bbe3c54887d7d5b8ccd7724740b26543 100644
--- a/lib_com/ivas_stereo_dft_com_fx.c
+++ b/lib_com/ivas_stereo_dft_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_stereo_eclvq_com_fx.c b/lib_com/ivas_stereo_eclvq_com_fx.c
index 958781473910ff0f164ad50b9eb076fd3e0796e3..a9f815d07bc7a0f35525ba26ae2f480a3af9cb81 100644
--- a/lib_com/ivas_stereo_eclvq_com_fx.c
+++ b/lib_com/ivas_stereo_eclvq_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_stereo_ica_com_fx.c b/lib_com/ivas_stereo_ica_com_fx.c
index 11f16d0a5fde3f8b3f14e48230b90860028650ce..019836592bc7c3965877c82ce993020517ab9848 100644
--- a/lib_com/ivas_stereo_ica_com_fx.c
+++ b/lib_com/ivas_stereo_ica_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively FOR experts who have experience with such software and
- solely FOR the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness FOR a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_stereo_mdct_bands_com_fx.c b/lib_com/ivas_stereo_mdct_bands_com_fx.c
index 43f2f16c7efc13d125717975cc63064027644d3d..48881491a0d28534d07d5116fc65c21863821288 100644
--- a/lib_com/ivas_stereo_mdct_bands_com_fx.c
+++ b/lib_com/ivas_stereo_mdct_bands_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_stereo_mdct_stereo_com_fx.c b/lib_com/ivas_stereo_mdct_stereo_com_fx.c
index 0a773169d07313155482bed27f0613b1cccb7a40..e32fd0c27c9c9dbb8113bb5211223672a30e79a4 100644
--- a/lib_com/ivas_stereo_mdct_stereo_com_fx.c
+++ b/lib_com/ivas_stereo_mdct_stereo_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_stereo_psychlpc_com_fx.c b/lib_com/ivas_stereo_psychlpc_com_fx.c
index df514089560c440dde31ff103bf87fd0b1ff740f..e19a16e84544fb09db96efc304552e8bc3f215ac 100644
--- a/lib_com/ivas_stereo_psychlpc_com_fx.c
+++ b/lib_com/ivas_stereo_psychlpc_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_stereo_td_bit_alloc_fx.c b/lib_com/ivas_stereo_td_bit_alloc_fx.c
index fe18e7bad6caea89ed7c019b09a57943b5499eeb..220f5be0bd265feec18239e179b7388e48623464 100644
--- a/lib_com/ivas_stereo_td_bit_alloc_fx.c
+++ b/lib_com/ivas_stereo_td_bit_alloc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_tools_fx.c b/lib_com/ivas_tools_fx.c
index bc080f2f832a86c95ef4ee01a7b709ee6492da90..8ff35e2237e30c7b82b397234cf50615b025dedc 100644
--- a/lib_com/ivas_tools_fx.c
+++ b/lib_com/ivas_tools_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_transient_det_fx.c b/lib_com/ivas_transient_det_fx.c
index 39dee9314d95f5acf0175589995418fc9918d52f..3a413bc21d0aa4f4f747efb14ebac3dd2b4c061c 100644
--- a/lib_com/ivas_transient_det_fx.c
+++ b/lib_com/ivas_transient_det_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/lag_wind_fx.c b/lib_com/lag_wind_fx.c
index fd203805baabbe835078cf1125729b97e1ee6e04..d0d7024fc2b17c4884d346105d2f04a60fd38fa9 100644
--- a/lib_com/lag_wind_fx.c
+++ b/lib_com/lag_wind_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/lerp_fx.c b/lib_com/lerp_fx.c
index e35814b12b18064be9cfbc9d996509398609833d..75c7e86d1588836dbc20d8faddd46b9640057344 100644
--- a/lib_com/lerp_fx.c
+++ b/lib_com/lerp_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/limit_t0_fx.c b/lib_com/limit_t0_fx.c
index d3cff10d9733e7170b05ce287534cbfa63406be2..9fb12872cb96bdb9d4e02e15f291986b7d63fd1e 100644
--- a/lib_com/limit_t0_fx.c
+++ b/lib_com/limit_t0_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/log2.c b/lib_com/log2.c
index 70e6b93c00dd2b1203eee6c8e9801c05d3a0aadb..83d8ca6971aacec60f83e5a9975c17dd799d438d 100644
--- a/lib_com/log2.c
+++ b/lib_com/log2.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/********************************************************************************
*
* File : log2.c
diff --git a/lib_com/log2.h b/lib_com/log2.h
index d87f677b550d0a38a80aa71387582a498620799c..ed6ea9788401756ebe8540b3f238e1dccaab5716 100644
--- a/lib_com/log2.h
+++ b/lib_com/log2.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/********************************************************************************
*
* File : log2.h
diff --git a/lib_com/logqnorm_fx.c b/lib_com/logqnorm_fx.c
index 833ff03fb572f67dff94fca968c9136a5baec042..9b631b52173017681d81a1502b316bfa06082cb2 100644
--- a/lib_com/logqnorm_fx.c
+++ b/lib_com/logqnorm_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h" /* Compilation switches */
diff --git a/lib_com/longarith.c b/lib_com/longarith.c
index 5983c11f8a7730be0ecb9eb469831d04f8fff361..df88ac5a02d55095b6238ba2c0f2a771441e4287 100644
--- a/lib_com/longarith.c
+++ b/lib_com/longarith.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/low_rate_band_att_fx.c b/lib_com/low_rate_band_att_fx.c
index f0fbf9bd67327f65120c8506261167690e7a75e6..5cc22ad1adb4fc74c8428dbc5cf7bba53fc3b9b6 100644
--- a/lib_com/low_rate_band_att_fx.c
+++ b/lib_com/low_rate_band_att_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/lpc_tools_fx.c b/lib_com/lpc_tools_fx.c
index a5aee205d0d15c8c7dd833ce858cc9749881d56a..f60b337e13d2f80fe1ade438ddacafc23d878513 100644
--- a/lib_com/lpc_tools_fx.c
+++ b/lib_com/lpc_tools_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/lsf_dec_bfi_fx.c b/lib_com/lsf_dec_bfi_fx.c
index 33de5d9ac09d01ac656426a142cbec602cb610c9..af163a66fe32d540a8c428cd551281f08b977858 100644
--- a/lib_com/lsf_dec_bfi_fx.c
+++ b/lib_com/lsf_dec_bfi_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/lsf_msvq_ma_fx.c b/lib_com/lsf_msvq_ma_fx.c
index 6f8ea44c2866d7d545400846520d544efc8415ed..fc7562277c818f54ebee1d170105a7eb10d25e10 100644
--- a/lib_com/lsf_msvq_ma_fx.c
+++ b/lib_com/lsf_msvq_ma_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/lsf_tools_fx.c b/lib_com/lsf_tools_fx.c
index e4dbd7e2a9530e465ca94197dd625124167ee4ae..f6d59e1ebb91fa8263f9c083746d51770950e418 100644
--- a/lib_com/lsf_tools_fx.c
+++ b/lib_com/lsf_tools_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -2065,12 +2037,6 @@ ivas_error lsf_allocate_fx(
move16();
}
}
-#ifdef DEBUGGING
- ELSE
- {
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "lsf_allocate(): invalid number of bits in used predictive mode\n" );
- }
-#endif
}
return error;
@@ -2154,12 +2120,6 @@ ivas_error find_pred_mode(
}
}
}
-#ifdef DEBUGGING
- if ( *predmode == -1 )
- {
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "\nfind_pred_mode(): incorrect coder_type specification: %d\n", coder_type );
- }
-#endif
return error;
diff --git a/lib_com/lsp_conv_poly_fx.c b/lib_com/lsp_conv_poly_fx.c
index e9b4a559b8ebee99b86abef60ea53dd8fbae1fbc..c5fca021a113396f0244bfd021c91acab7f5d7bc 100644
--- a/lib_com/lsp_conv_poly_fx.c
+++ b/lib_com/lsp_conv_poly_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/math_32.h b/lib_com/math_32.h
index aa3bc1f2713e0cfdb86137287ad380c3a15ca327..e62eeb8839374650174e8bf4101ae304c0696ea8 100644
--- a/lib_com/math_32.h
+++ b/lib_com/math_32.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef _MATH_32_H_
#define _MATH_32_H_
diff --git a/lib_com/math_op.c b/lib_com/math_op.c
index 12d14ca6a0d1fe86141d377ef7907d0150aa6f4e..2a62e4bad510f340a290319df14b014463765b84 100644
--- a/lib_com/math_op.c
+++ b/lib_com/math_op.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*___________________________________________________________________________
| |
| This file contains mathematic operations in fixed point. |
diff --git a/lib_com/math_op.h b/lib_com/math_op.h
index d4eca9f2bad2b0664c9fec0e26f7896c22a887e2..6c7bb5dc7d70c5973916b4e9237d699dbb8391f1 100644
--- a/lib_com/math_op.h
+++ b/lib_com/math_op.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*--------------------------------------------------------------------------*
* MATH_OP.H *
*--------------------------------------------------------------------------*
diff --git a/lib_com/mime.h b/lib_com/mime.h
index 5a6eb8fee6fa6d13cc0b0d558ad994cc63542ccf..ae4ac18ce356269e60a63edb126d7b4f5c66d6dc 100644
--- a/lib_com/mime.h
+++ b/lib_com/mime.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/modif_fs_fx.c b/lib_com/modif_fs_fx.c
index 1a73578ae33a691767d221a05108462d956fce20..c76e96bda87831ea0a7f3c5dbf9a2ff9ac968e09 100644
--- a/lib_com/modif_fs_fx.c
+++ b/lib_com/modif_fs_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/mslvq_com_fx.c b/lib_com/mslvq_com_fx.c
index bbca861591070cc59549d592ad221314cc7ebfd9..8a1a220e03aa9907b2568934ef7e0adfe4b23f1f 100644
--- a/lib_com/mslvq_com_fx.c
+++ b/lib_com/mslvq_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/nelp_fx.c b/lib_com/nelp_fx.c
index 39d57299e7dad568f0bf2d5c65e1f454d250f127..37e2080976504bf6bd45995fd19461b186fe17b1 100644
--- a/lib_com/nelp_fx.c
+++ b/lib_com/nelp_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/oper_32b.c b/lib_com/oper_32b.c
index cb8c773004d605c06b6b3b595db70639be814a36..53bb877878c537a7886fb02c9fb6c7ca49dc040f 100644
--- a/lib_com/oper_32b.c
+++ b/lib_com/oper_32b.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*****************************************************************************
* $Id: oper_32b.c 1094 2014-02-10 17:12:11Z jdr $
*
diff --git a/lib_com/oper_32b.h b/lib_com/oper_32b.h
index d68fb5d6836bcfd8106384bd837ba67c8d866956..3cc0307cca64c9c8664122eec29c0a7bce0789fb 100644
--- a/lib_com/oper_32b.h
+++ b/lib_com/oper_32b.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/* Double precision operations */
/* $Id: oper_32b.h 1094 2014-02-10 17:12:11Z jdr $ */
#ifndef _OPER_32b_H
diff --git a/lib_com/options.h b/lib_com/options.h
index b1d98931d142e92bc91c4ee518d947dfef8b8788..9f75cb9a301b8bb7b324414bf7eb2dbbd72da7d6 100644
--- a/lib_com/options.h
+++ b/lib_com/options.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -41,17 +13,6 @@
/* ################### Start DEBUGGING switches ######################## */
-/*#define DEBUGGING*/ /* Allows debugging message to be printed out during runtime */
-#ifdef DEBUGGING
-/*#define DBG_BITSTREAM_ANALYSIS*/ /* Write bitstream with annotations to a text file */
-#define DEBUG_MODE_INFO /* Define to output most important parameters to the subdirectory "res/" */
-#define DEBUG_MODE_INFO_TWEAK /* Enable command line switch to specify subdirectory for debug info output inside "./res/" */
-#define DEBUG_FORCE_MDCT_STEREO_MODE /* Force stereo mode decision for MDCT stereo: -stereo 3 1 forces L/R coding and -stereo 3 2 forces full M/S coding */
-/*#define DEBUG_FORCE_DIR*/ /* Force modes/parameters by reading from external binary files */
-/*#define DBG_WAV_WRITER*/ /* Enable dbgwrite_wav() function for generating ".wav" files */
-#define SUPPORT_FORCE_TCX10_TCX20 /* VA: Enable -force tcx10|tcx20 command-line option */
-/*#define DEBUG_MODE_JBM */ /* define to output JBM relevant parameters */
-#endif
#define SUPPORT_JBM_TRACEFILE /* Support for JBM tracefile, which is needed for 3GPP objective/subjective testing, but not relevant for real-world implementations */
@@ -63,108 +24,10 @@
/*define MEM_COUNT_DETAILS*/ /* Output detailed memory analysis for the worst-case frame (writes to the file "mem_analysis.csv") */
#endif
-/*#define DISABLE_LIMITER*/
-/*#define DEBUG_APA_SILENCE_NON_SCALED*/ /* Switch APA into mode that replaces contents of non-scaled frames with silence. Useful for identifying scaled regions in the audio output of the decoder */
/* #################### End DEBUGGING switches ############################ */
-/* ################### Start FIXES switches ########################### */
-/*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */
-#define REMOVE_BASOP_Util_Divide3232_Scale_cadence /* remove this division variant */
-#define FIX_1990_SANITIZER_IN_REVERB_LOAD /* Nokia: Fix issue part of issue 1990 by introducing missing free of structure - keep until #2059 is addressed */
-#define FIX_1999_TEMPORARY_DISABLE_DIST_ATT_CHECK /* Eri: Issue 1999: Range check on float values of distance attenuation, while the float values are not propagated to this function. The test is not correct, but configurable distance attenuation is not used in Characterization.*/
-#define TEMP_FIX_2088_MSAN_INIT_ERROR /* Eri: Temporary fix for Issue 2088 - MSAN error. Will come with later port of JBM+Split rendering update */
-#define FIX_2092_ASSERT_IN_OMASA_RENDER /* FhG, Nokia: Fix LTV crash due to overflow in OMASA EXT output */
-#define FIX_2084_FLOATING_POINT_LEFTOVERS /* FhG: convert floating-point leftovers in IVAS_ENC_FeedObjectMetadata() */
-#define FIX_2141_ASSERT_IN_OMASA_BITRATE_SWITSCHING /* FhG: Replace L_shl with L_shl_sat to prevent overflow when calculating scale factors for very small numbers in the logarithmic domain */
-#define FIX_APA_EXECS_SCALING /* VA: fix scaling of JBM APA buffer */
-#define FIX_2164_ASSERT_IN_OMASA_PREPROC_FOR_EDIT /* Nokia: Issue 2164: Prevent overflow when calculating equalization coefficient for editing before clamping to safe range */
-#define FIX_BASOP_ASSERT_IN_TONAL_MDCT_PLC /* FhG: fix for issue 2165 - using saturating addition in tonal MDCT PLC function */
-#define OPT_2146_BASOP_UTIL_ADD_MANT32EXP /* Dlb: optimized version of BASOP_Util_Add_Mant32Exp() */
-#define FIX_2166_ASSERT_OSBA_PLC_STEREO_OUT /* FhG: fix for issue 2166 - add missing averaging factor 0.5 in for the sum of energies in function stereo_dft_dmx_swb_nrg_fx()*/
-#define FIX_2086_ENABLE_HP20_OPT_FOR_ENC /* FhG: Enable hp20_fx_32_opt() for Encoder */
-#define FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE /* FhG: Use dynamic Q factor for synth_fx and synthFB_fx to prevent overflow */
-#define FIX_2170_ASSERT_IN_FFT3 /* Eri: Assert in fft3_fx from EVS, adding _sat */
-#define FIX_2082_FP_LEFTOVERS_OMASA_DEC /* Nokia: fix for issue 2082, cleaning remaining floating point code */
-#define FIX_2174_JBM_BASOP_ALIGNMENT /* VoiceAge, Nokia: Fixes to JBM BASOP implementation and alignment to float */
-#define FIX_GAIN_EDIT_LIMITS /* Harmonize gain edit limits for all opertation points. For all modes, limit to max +12dB. For parametric modes, limit to min -24dB. */
-
-#define FIX_2176_ASSERT_DEC_MAP_PARAMS_DIRAC2STEREO /* FhG: Reduce hStereoDft->q_smooth_buf_fx by one to prevent overflow in the subframe_band_nrg[][] calculation */
-#define FIX_2015_PREMPH_SAT_ALT /* VA: saturation can happen during preemphasis filtering due to a too aggressive scaling factor, allows preemphis to get 1 more bit headroom */
-#define FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE /* Nokia: Fixes float to fx conversion in decoder app with object edit file interface */
-#define FIX_2070_JBM_TC_CHANNEL_RESCALING_ISSUE /* Eri/Orange: scale_sig32 problem on p_tc_fx[] */
-
-#define FIX_2173_UBSAN_IN_JBM_PCMDSP_APA /* FhG: Fix UBSAN problems in jbm_pcmdsp_apa_fx.c */
-#define FIX_1947_DEC_HIGH_MLD_FOR_STEREO2MONO /* FhG: Make Q-factor of synth_16_fx and output_16_fx dynamic to prevent overflow in HQ_CORE mode */
-
-#define FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING /* Orange: Fix for issue 2184 - to prevent one channel from becoming inaudible in the mono downmix output */
-#define FIX_2148_OBJ_EDIT_ISSUE_WITH_OSBA /* Nokia: Add missing code to solve issue */
-#define FIX_2200_ISAR_PLC_CRASH /* Dolby: Fix for ISAR PLC crash observed with newly added BASOP tests */
-#define FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA /* FhG: Resolve overflow by swapping the order of addition and multiplication */
-#define FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC /* FhG: Adjust Q_real to prevent overflow in st->cldfbSyn->cldfb_state_fx scaling */
-#define FIX_2211_ASSERT_IN_REND_CREND_CONVOLER /* FhG: Add headroom to p_output_fx to prevent overflow in ivas_rend_crendProcessSubframe_fx() */
-
-#define NONBE_FIX_2205_SATURATE_ALTERNATIVE
-#define NONBE_FIX_2206_SATURATE_ALTERNATIVE
-#define FIX_2226_ISAR_PRE_CRASH_CLDFB_NO_CHANNELS /* Dolby: Fix crash of ISAR pre-renderer due to an attempt of re-scaling uninitialized values in the CLDFB filter bank */
-#define RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE /* Dolby: CR for split rendering codec framesize signalling in Toc Byte */
-
-
-#define NONBE_FIX_ISSUE_2232_CHECK_CLDFB_STATES /* FhG: Adjust scaleFactor according to st->cldfbSyn->cldfb_state_fx too to avoid overflow in cldfbSynthesis_ivas_fx() */
-
-#define NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS /* Nokia: fix basop issue 2233: Fix differing rtpdump streams */
-
-/* ################### End FIXES switches ########################### */
-
-/* #################### Start BASOP porting switches ############################ */
-
-#define NONBE_1244_FIX_SWB_BWE_MEMORY /* VA: issue 1244: fix to SWB BWE memory in case of switching from FB coding - pending a review by Huawei */
-#define NONBE_1328_FIX_NON_LINEARITY /* VA: Fix possible issue when computing bwe_exc_extended and previous frame were almost 0, float issue 1328 */
-#define FIX_1377_HANDLE_ERROR_CODE /* Eri: Add missing error code handling from IVAS_REND_SetObjectIDs */
-#define FIX_1053_REVERB_RECONFIGURATION
-#define FIX_1119_SPLIT_RENDERING_VOIP /* FhG: Add split rendering support to decoder in VoIP mode */
-#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_1385_INIT_IGF_STOP_FREQ /* FhG: Initialize infoIGFStopFreq in init_igf_dec() */
-#define FIX_1387_INIT_PRM_SQQ /* FhG: initialize pointer prm_sqQ, which might be uninitialized in case of bfi == 1 */
-#define FIX_1349_TNS_CRASH /* FhG: Fix crash in TNS entropy coding, in case order of joint TNS coding is reduced to 0 */
-#define FIX_1384_MSAN_stereo_tcx_core_enc /* VA: issue 1384: fix use-of-uninitialized value in stereo_tcx_core_enc() */
-#define FIX_1384_MSAN_ivas_spar_dec_open /* VA: issue 1386: fix use-of-uninitialized value in ivas_spar_dec_open() */
-#define FIX_1388_MSAN_ivas_init_decoder /* VA: issue 1388: fix use-of-uninitialized value in ivas_init_decoder() */
-#define FIX_1413_IGF_INIT_PRINTOUT /* FhG: use correct variable for IGF initiliazation */
-#define FIX_1383_HEAD_TRACK_SANITIZER /* Nok: issue 1383: Fix head tracking struc values reading in renderer */
-#define FIX_1330_JBM_MEMORY_FIX /* VA: basop issue: 2179 fix non-BE difference in FIX_1330_JBM_MEMORY */
-#define FIX_1411_IGF_CRASH_BW_SWITCHING /* FhG: Fix for issue 1411: fixes crash that can happen for IGF with BW switching and DTX*/
-#define FIX_1419_MONO_STEREO_UMX /* FhG: fix for issue 1419 : support upmix to all output formats for mono and stereo */
-#define NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG /* FhG: Fix MDCT-Stereo comfort noise for certain noise types */
-#define NONBE_1344_REND_MASA_LOW_FS /* Nokia: Issue 1344: Fix sanitizer errors when using IVAS_rend to render MASA with lower sampling rates */
-#define FIX_1437_LC3PLUS_EXTREND_HIRES /* FhG: fix external renderer split bitstream header writing causing a crash for LC3plus High-res mode */
-#define NONBE_1412_AVOID_ROUNDING_AZ_ELEV /* FhG: Avoid rounding when passing azimuth and elevation to efap_determine_gains() */
-#define FIX_1318_ROOM_SIZE_CMD_LINE /* Philips/Nokia/FhG: Default room sizes support */
-#define NONBE_FIX_1442_MASA_EXT_REND_ORIENT_IDX /* Nokia: Fix issue 1442 of wrong index to combinedOrientationData */
-#define BE_FIX_1391_COVERAGE_SPAR_DYN__CHANNEL /* Dolby: Fix coverage of SBA SPAR Dynamic active W not getting hit by the tests */
-
-// object-editing feature porting
-#define TMP_FIX_SPLIT_REND // temporary fix to split-rendering (it follows the later state of the framework but it is needed now because of current test-conditions)
-/*#define TMP_FIX_OMASA_SR_BE*/ // temporary fix to keep OMASA split-rendering BE - mul, 20251112: disabled, since this causes diffs to ivas-codec/main
-#define NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES // Nokia: Fix 1399_1400 issue in float, this is essential for the BASOP porting
-#define OBJ_EDIT_BASOP
-#define FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES /* Nokia: Issue 2140, fixes three different sanitizer issues persisting in object editing code. */
-#define FIX_2193_ISM_GAINS_WITH_OE /* FhG: fix issue 2193: use edited angles in ISM gain calculation */
-#define FIX_2192_OBJ_EDITING_EXT_METADATA /* Eri: Add support for extended metadata in object editing */
-
-// RTPDUMP porting
-#define RTP_S4_251135_CR26253_0016_REV1 /* RTP Pack/Unpack API corresponding to CR 26253 */
-#define IVAS_RTPDUMP /* RTPDUMP writing and reading for IVAS payloads */
-#define FIXED_RTP_SEQUENCE_NUM /* Remove random sequence number initialization */
-#define IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT /* RTPDUMP acoustic environment */
-#define ISM_PI_DATA /* Add reading and packing/unpacking of ISM PI data */
-#define REVERSE_ISM_PI_DATA /* Add reading and packing/unpacking of reverse ISM PI data */
-#define PI_LATENCY /* Support for PI latency */
-#define DECODER_FORMAT_SWITCHING /* Re-initialize the decoder when the format/subformat of the incoming stream is changed */
-#define FIX_SPLIT_RENDERING_ON_DECODER_RESTART /* Re-configure split rendering on decoder restart */
-/* #################### End BASOP porting switches ############################ */
#endif
diff --git a/lib_com/parameter_bitmaping_fx.c b/lib_com/parameter_bitmaping_fx.c
index 92387209012c8cd2dfd7a6bacdb30ab3903715ad..1579265d16a292327d72182dd60027b3f215caed 100644
--- a/lib_com/parameter_bitmaping_fx.c
+++ b/lib_com/parameter_bitmaping_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
#include "options.h"
diff --git a/lib_com/phase_dispersion_fx.c b/lib_com/phase_dispersion_fx.c
index ce4f70e5a5c98944957ecbbc0f8f785090a471fb..7f4b394987833c18d9916055ea0ae924fc325f7d 100644
--- a/lib_com/phase_dispersion_fx.c
+++ b/lib_com/phase_dispersion_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/ppp_fx.c b/lib_com/ppp_fx.c
index 2f44e1081feb6c81b81d336b92bfe37b088fb00d..775ac59a703fb5b874bc47c3c75561e762ec5f86 100644
--- a/lib_com/ppp_fx.c
+++ b/lib_com/ppp_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/pred_lt4_fx.c b/lib_com/pred_lt4_fx.c
index 0da3c2742fcc30082a2599c65a0a3ec022ca9032..f5aeae26c6454436659db362f5d62f6f2c09e019 100644
--- a/lib_com/pred_lt4_fx.c
+++ b/lib_com/pred_lt4_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/preemph_fx.c b/lib_com/preemph_fx.c
index 52ee865323d1bd8f2419e5d055846f78f3b1ad18..3fae436ed5da82a6f07a76126b1c630f5d4f86b6 100644
--- a/lib_com/preemph_fx.c
+++ b/lib_com/preemph_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -39,34 +42,6 @@ void preemph_copy_fx(
return;
}
-#ifndef FIX_2015_PREMPH_SAT_ALT
-void preemph_copy_32fx(
- const Word16 x[], /* i : input signal Qx */
- Word32 y[], /* o : output signal Qx */
- const Word16 mu, /* i : preemphasis coefficient Q15 */
- const Word16 lg, /* i : vector size Q0 */
- Word16 *mem /* i/o: memory (x[-1]) Qx */
-)
-{
- Word16 i, temp;
-
- temp = x[lg - 1]; /* Qx */
- move16();
-
- FOR( i = lg - 1; i > 0; i-- )
- {
- y[i] = L_msu_sat( L_deposit_h( x[i] ), x[i - 1], mu ); /* Qx+16 */
- move16();
- }
- y[0] = L_msu_sat( L_deposit_h( x[0] ), *mem, mu ); /* Qx+16 */
- move16();
-
- *mem = temp; /* Qx */
- move16();
-
- return;
-}
-#else
void preemph_copy_32fx2(
const Word16 x[], /* i : input signal Qx */
Word32 y[], /* o : output signal Qx-1*/
@@ -93,7 +68,6 @@ void preemph_copy_32fx2(
return;
}
-#endif
/*-------------------------------------------------------------*
* preemph_ivas_fx()
*
diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h
index 624d5aeface1b8cbd2584c19dd4297c89d6b90e0..56d2f8935c0de17fcae4b4b6942d82fe4382ce47 100644
--- a/lib_com/prot_fx.h
+++ b/lib_com/prot_fx.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef PROT_FX2_H
#define PROT_FX2_H
@@ -2687,12 +2659,8 @@ void lag_wind_32(
);
// preemp_fx.c
-#define PREEMPH_FX( signal, mu, L, mem ) preemph_copy_fx( ( signal ), ( signal ), ( mu ), ( L ), ( mem ) )
-#ifndef FIX_2015_PREMPH_SAT_ALT
-#define PREEMPH_32FX( signal, signal_out, mu, L, mem ) preemph_copy_32fx( ( signal ), ( signal_out ), ( mu ), ( L ), ( mem ) )
-#else
+#define PREEMPH_FX( signal, mu, L, mem ) preemph_copy_fx( ( signal ), ( signal ), ( mu ), ( L ), ( mem ) )
#define PREEMPH_32FX( signal, signal_out, mu, L, mem ) preemph_copy_32fx2( ( signal ), ( signal_out ), ( mu ), ( L ), ( mem ) )
-#endif
void preemph_copy_fx(
const Word16 x[], /* i : i signal Qx */
Word16 y[], /* o : output signal Qx */
@@ -2701,15 +2669,6 @@ void preemph_copy_fx(
Word16 *mem /* i/o: memory (x[-1]) Qx */
);
-#ifndef FIX_2015_PREMPH_SAT_ALT
-void preemph_copy_32fx(
- const Word16 x[], /* i : i signal Qx */
- Word32 y[], /* o : output signal Qx */
- const Word16 mu, /* i : preemphasis coefficient Q15 */
- const Word16 lg, /* i : vector size Q0 */
- Word16 *mem /* i/o: memory (x[-1]) Qx */
-);
-#else
void preemph_copy_32fx2(
const Word16 x[], /* i : i signal Qx */
Word32 y[], /* o : output signal Qx */
@@ -2717,7 +2676,6 @@ void preemph_copy_32fx2(
const Word16 lg, /* i : vector size Q0 */
Word16 *mem /* i/o: memory (x[-1]) Qx */
);
-#endif
void E_UTIL_f_preemph2(
Word16 shift, /* Q0 */
@@ -9029,9 +8987,7 @@ void decoder_tcx_ivas_fx(
Word16 Aind[],
Word16 synth_fx[],
Word16 synthFB_fx[],
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Word16 *synth_q,
-#endif
const Word16 bfi,
const Word16 frame_cnt,
const Word16 sba_dirac_stereo_flag );
@@ -10680,28 +10636,14 @@ ivas_error config_acelp1_fx(
const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */
);
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-#define push_next_indice( ... ) push_next_indice_( __func__, __VA_ARGS__ )
-#define push_next_bits( ... ) push_next_bits_( __func__, __VA_ARGS__ );
-#endif
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-ivas_error push_next_indice_(
- const char *caller,
-#else
ivas_error push_next_indice(
-#endif
BSTR_ENC_HANDLE hBstr,
UWord16 value, /* i : value of the quantized indice */
Word16 nb_bits /* i : number of bits used to quantize the indice */
);
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-ivas_error push_next_bits_(
- const char *caller,
-#else
ivas_error push_next_bits(
-#endif
BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */
const Word16 nb_bits /* i : number of bits to pack */
@@ -10986,18 +10928,12 @@ ivas_error push_indice(
);
ivas_error push_next_indice_(
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- const char *caller,
-#endif
BSTR_ENC_HANDLE hBstr,
UWord16 value, /* i : value of the quantized indice */
Word16 nb_bits /* i : number of bits used to quantize the indice */
);
ivas_error push_next_bits_(
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- const char *caller,
-#endif
BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */
const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */
const Word16 nb_bits /* i : number of bits to pack */
@@ -11082,14 +11018,12 @@ void ivas_set_bitstream_pointers(
Decoder_State **reset_elements(
Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */
);
-#ifdef IVAS_RTPDUMP
void convertSerialToBytestream_fx(
const UWord16 *const serial, /* i : input serial bitstream with values 0 and 1 */
const UWord16 num_bits, /* i : number of bits in the input bitstream */
UWord8 *const bytestream /* o : output compact bitstream (bytestream) */
);
-#endif
void mdct_switching_dec_fx(
Decoder_State *st /* i/o: decoder state structure */
@@ -11130,13 +11064,6 @@ Word32 Mult_32_32(
Word32 a,
Word32 b );
-#ifdef DEBUGGING
-void read_next_force(
- int16_t *force, /* i/o: force value (0/1, 0 = speech, 1 = music)*/
- FILE *f_force, /* i : force switching profile (0 if N/A) */
- int32_t *force_profile_cnt /* i/o: counter of frames for force switching profile file */
-);
-#endif
ivas_error init_encoder_fx(
Encoder_State *st, /* i/o: state structure */
diff --git a/lib_com/pvq_com_fx.c b/lib_com/pvq_com_fx.c
index 7bb7dbb8d2981a106f9e7964cf6a4c008b4da685..08e3d6bb0f0255f33db38be85d0da3a7f48f68b9 100644
--- a/lib_com/pvq_com_fx.c
+++ b/lib_com/pvq_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/range_com_fx.c b/lib_com/range_com_fx.c
index 23eeaea17bf177e3688953fb595bfde178dced60..dbc7ae5278f1234a1b9ad561ea272b1c88934bd5 100644
--- a/lib_com/range_com_fx.c
+++ b/lib_com/range_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/re8_ppv_fx.c b/lib_com/re8_ppv_fx.c
index 9a09e02d12c4efd2bcc6185ea33311c4f5c74ebf..388eb4e2294abd551b62bbdee8ff534c4cf06c81 100644
--- a/lib_com/re8_ppv_fx.c
+++ b/lib_com/re8_ppv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/re8_util_fx.c b/lib_com/re8_util_fx.c
index d18a9577de6488d22420ff824af7e216f28de5c8..cb18823c4fe55dfefe0c9563841ebfaa1a88ec94 100644
--- a/lib_com/re8_util_fx.c
+++ b/lib_com/re8_util_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/recovernorm_fx.c b/lib_com/recovernorm_fx.c
index 695ad424f1b224de854c959bf59f2e155e2f05be..56eaed62d72a1f636039437a2af5352ac781d69d 100644
--- a/lib_com/recovernorm_fx.c
+++ b/lib_com/recovernorm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/reordvct_fx.c b/lib_com/reordvct_fx.c
index 62eb2f352665c97f24322207fc2092e4ac2e5c64..6dcdc84a9215c0bd5dde5fb4cb9bc90e4abd76c9 100644
--- a/lib_com/reordvct_fx.c
+++ b/lib_com/reordvct_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h" /* Compilation switches */
diff --git a/lib_com/residu_fx.c b/lib_com/residu_fx.c
index b7923a3ecf17cd7fccce27327b608a2d7696c04b..410478a989d8e5f2c606415ea256bbc72b722d7c 100644
--- a/lib_com/residu_fx.c
+++ b/lib_com/residu_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/rom_basic_math.c b/lib_com/rom_basic_math.c
index 5899352544450ff5fbe73354ca6a3af250d8eb34..b8c28c9cc273335c4afb21afdd369df385fb8f9a 100644
--- a/lib_com/rom_basic_math.c
+++ b/lib_com/rom_basic_math.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Decoder static structure */
#include "stl.h"
diff --git a/lib_com/rom_basic_math.h b/lib_com/rom_basic_math.h
index 0f4826d0c5178e73d4642d00ad93e2a0d81d3f8e..4edd49e08fb8ae5c5a590a4257c121132ead8155 100644
--- a/lib_com/rom_basic_math.h
+++ b/lib_com/rom_basic_math.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h" /* Compilation switches */
#include "cnst.h" /* Decoder static structure */
#include "stl.h"
diff --git a/lib_com/rom_basop_util.c b/lib_com/rom_basop_util.c
index eb79cc02648c67df6dbd075f3da2a9704142e2f8..0412b6c27a9778e0b99338c6b0faccf1926394f8 100644
--- a/lib_com/rom_basop_util.c
+++ b/lib_com/rom_basop_util.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "rom_basop_util.h"
#include "stl.h"
diff --git a/lib_com/rom_basop_util.h b/lib_com/rom_basop_util.h
index e7811db89fa50d2dce8a529ae386ae1654dd03bc..85a61cf48e399499a2d449d20b753f9c981e371b 100644
--- a/lib_com/rom_basop_util.h
+++ b/lib_com/rom_basop_util.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/rom_com.h b/lib_com/rom_com.h
index 75950a7a3c426057faf7bf30d5ddc674752124ff..17c9c9fc24bfe171a6326d1581d6454c72773ddc 100644
--- a/lib_com/rom_com.h
+++ b/lib_com/rom_com.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/rom_com_fx.c b/lib_com/rom_com_fx.c
index 2102ae86f05289e6b099e9f0c4c1b955c65bbf06..941ca947bb8d3c902330fbb0fbaae6f629e3767c 100644
--- a/lib_com/rom_com_fx.c
+++ b/lib_com/rom_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/scale_mem_fx.c b/lib_com/scale_mem_fx.c
index 168a96011ce4b8e8affb9cc6a16d3b900b946526..9256f45e071c63cd9844debf89a56bc71e7979ac 100644
--- a/lib_com/scale_mem_fx.c
+++ b/lib_com/scale_mem_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/stab_est_fx.c b/lib_com/stab_est_fx.c
index 15cd254dfb9fbb09fc2dcacf3828682921c94baf..85f7b6101236c1330e7d14b3f959bc12e6820d46 100644
--- a/lib_com/stab_est_fx.c
+++ b/lib_com/stab_est_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h
index eab0aa77bfc2fa6e55d71c0291ea26dcd6c12e17..6e7b57e7516ff0655d48ce8e0ed02260ac2895d2 100644
--- a/lib_com/stat_com.h
+++ b/lib_com/stat_com.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -443,13 +415,9 @@ typedef struct
Word16 CngBandwidth;
Word16 flag_noisy_speech;
- Word16 likelihood_noisy_speech; /* Q15 */
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
+ Word16 likelihood_noisy_speech; /* Q15 */
Word16 coherence_fx[MDCT_ST_DTX_NUM_COHERENCE_BANDS]; /* inter-channel coherence of noise Q15 */
-#else
- Word16 coherence_fx; /* inter-channel coherence of noise Q15 */
-#endif
- Word16 no_side_flag; /* indicates whether the side noise shape should be zeroed-out or not */
+ Word16 no_side_flag; /* indicates whether the side noise shape should be zeroed-out or not */
} FD_CNG_COM, *HANDLE_FD_CNG_COM;
diff --git a/lib_com/stat_noise_uv_mod_fx.c b/lib_com/stat_noise_uv_mod_fx.c
index 0ba901db76430e2233e7b7a8ba101f66a42c2fcd..216a6d8a8bf1d67416ca1297240a4b78050bab7c 100644
--- a/lib_com/stat_noise_uv_mod_fx.c
+++ b/lib_com/stat_noise_uv_mod_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/swb_bwe_com_fx.c b/lib_com/swb_bwe_com_fx.c
index cc8b22db64fdf8b46a65290c72a58d61667a3615..23af2e203f441b795f869f1c334e36b0a014ccbc 100644
--- a/lib_com/swb_bwe_com_fx.c
+++ b/lib_com/swb_bwe_com_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/swb_bwe_com_hr_fx.c b/lib_com/swb_bwe_com_hr_fx.c
index 7755ec697b57343c855cfa39f012147fba2cc310..f028977941f98e83310397e7b937a8f0cbca9f56 100644
--- a/lib_com/swb_bwe_com_hr_fx.c
+++ b/lib_com/swb_bwe_com_hr_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/swb_bwe_com_lr_fx.c b/lib_com/swb_bwe_com_lr_fx.c
index 1326b31a98eac391da7fa04154e79c9759448955..7bfc729cba2cb3cded5b52d9d469ec812beff0c5 100644
--- a/lib_com/swb_bwe_com_lr_fx.c
+++ b/lib_com/swb_bwe_com_lr_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/swb_tbe_com_fx.c b/lib_com/swb_tbe_com_fx.c
index 5a786c10ba987787b59e843aaaf39ca08ce62bcb..65f74434468a971c829b95a19024d908414e3703 100644
--- a/lib_com/swb_tbe_com_fx.c
+++ b/lib_com/swb_tbe_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -5901,9 +5904,7 @@ void non_linearity_ivas_fx(
Word16 nframes;
Word32 prev_scale;
Word16 length_half;
-#ifdef NONBE_1328_FIX_NON_LINEARITY
Word16 sc_factor;
-#endif
IF( EQ_16( L_frame, L_FRAME16k ) )
{
@@ -5964,15 +5965,10 @@ void non_linearity_ivas_fx(
move32(); /* Q31; 0.67 in Q31 */
}
-#ifdef NONBE_1328_FIX_NON_LINEARITY
sc_factor = s_max( sub( 13, norm_s( add( j, 1 ) ) ), 0 ); /* Adapt the scaling factor allowed depending of max position */
sc_factor = s_max( sc_factor, 1 ); /* Note: The sc_factor is the log2 of the sc_factor in the float code to simplify condition below */
test();
IF( prev_scale <= 0 || GT_32( L_shr( prev_scale, sub( sc_factor, 1 ) /*Q30 -> Q31*/ ), scale /*Q31*/ ) ) /* Since the sc_factor is the log2 of sc_factor in float, we apply it using L_shr */
-#else
- test();
- IF( prev_scale <= 0 || GT_32( Mult_32_16( prev_scale, 64 ) /*Q30 -> Q31*/, scale /*Q31*/ ) )
-#endif
{
scale_step = 16384;
move16(); /* Q14 */
@@ -6045,16 +6041,12 @@ void non_linearity_ivas_fx(
move32(); /* Q31; 0.67 in Q31 */
}
-#ifdef NONBE_1328_FIX_NON_LINEARITY
/* if ( element_mode > EVS_MONO ) */ /* element mode is not needed because the function is duplicated for IVAS */
sc_factor = s_max( sub( 12, norm_s( add( sub( j, length_half ), 1 ) ) ), 0 ); /* allowed intra frame jump is smaller */
sc_factor = s_max( sc_factor, 1 ); /* Note: The sc_factor is the log2 of the sc_factor in the float code to simplify condition below */
test();
IF( prev_scale <= 0 || GT_32( L_shr( prev_scale, sub( sc_factor, 1 ) /*Q30 -> Q31*/ ), scale /*Q31*/ ) ) /* Since the sc_factor is the log2 of sc_factor in float, we apply it using L_shr */
-#else
- IF( prev_scale <= 0 || GT_32( Mult_32_16( prev_scale, 64 ), scale ) )
-#endif
{
scale_step = 16384;
move16(); /*Q14 */
diff --git a/lib_com/syn_12k8_fx.c b/lib_com/syn_12k8_fx.c
index a69759157283aa61f74afb07143bce37aad2f4a3..d82231c8504518b7bd982cdf9417870e49d14388 100644
--- a/lib_com/syn_12k8_fx.c
+++ b/lib_com/syn_12k8_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/syn_filt_fx.c b/lib_com/syn_filt_fx.c
index cfa254042c6c823b921156e0265d369e40ffffa4..6257b9b79344c792440b9399b2fdb5cfb2fc3094 100644
--- a/lib_com/syn_filt_fx.c
+++ b/lib_com/syn_filt_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/tcq_position_arith_fx.c b/lib_com/tcq_position_arith_fx.c
index 3abd527ca8bfa8b8690066da37fd978afd1aadb9..a41688b3968c951be546a9e81187e6dcaaf1441a 100644
--- a/lib_com/tcq_position_arith_fx.c
+++ b/lib_com/tcq_position_arith_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/tcx_ltp_fx.c b/lib_com/tcx_ltp_fx.c
index 11157adc75fcf4bb9afea398372d2c8acc3fde08..0ccf9b777797fbb84772de7cc0bc18d02d2fcb4a 100644
--- a/lib_com/tcx_ltp_fx.c
+++ b/lib_com/tcx_ltp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/tcx_mdct_fx.c b/lib_com/tcx_mdct_fx.c
index 5d13d69f9c392bbe587236ad43e9c947d65a4173..08891d91841cfb54510605a2482d7196ea91cb8a 100644
--- a/lib_com/tcx_mdct_fx.c
+++ b/lib_com/tcx_mdct_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/tcx_mdct_window_fx.c b/lib_com/tcx_mdct_window_fx.c
index 576f5bef6a2dae5cff530d734f61e3ed10ebbd39..d74b9aa1fa7390874658191538cde83a2b546156 100644
--- a/lib_com/tcx_mdct_window_fx.c
+++ b/lib_com/tcx_mdct_window_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_com/tcx_utils_fx.c b/lib_com/tcx_utils_fx.c
index a6b32f31040b2c362336ad848a422d6b3b622a40..5dce3a8134c4ecdfc7e26c3199fa32dc0e77677d 100644
--- a/lib_com/tcx_utils_fx.c
+++ b/lib_com/tcx_utils_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/tec_com_fx.c b/lib_com/tec_com_fx.c
index 0a37504df957bc577c8fc9eed3c64c0b4fa17de3..f542797023472efe5dc697164576fbed2aa198b8 100644
--- a/lib_com/tec_com_fx.c
+++ b/lib_com/tec_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/tns_base.c b/lib_com/tns_base.c
index 54e6478d45df63fd6324ce70b84f20528e9523b5..9f3c8f3e4233b642a1141b681284c165989ac690 100755
--- a/lib_com/tns_base.c
+++ b/lib_com/tns_base.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/tools_fx.c b/lib_com/tools_fx.c
index 69968d5dba82b6f0371ef67363c7c06599e18169..a1ec052d4f73352625cb76f784a987692c5093b2 100644
--- a/lib_com/tools_fx.c
+++ b/lib_com/tools_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -1341,14 +1313,7 @@ void Copy_Scale_sig_16_32_DEPREC(
}
return;
}
-#ifdef DEBUGGING
- if ( exp0 >= 16 )
- {
- printf( "Issue in Copy_Scale_sig_16_32_DEPREC\n" );
- }
-#else
assert( exp0 < 16 );
-#endif
tmp = shl_sat( 1, exp0 );
FOR( i = 0; i < lg; i++ )
{
diff --git a/lib_com/trans_direct_fx.c b/lib_com/trans_direct_fx.c
index 6a3cdf108733bc3601d87d7398f6686087eae3cf..338cee003ce054ccce5fd745f82c2f54be8ad266 100644
--- a/lib_com/trans_direct_fx.c
+++ b/lib_com/trans_direct_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/trans_inv_fx.c b/lib_com/trans_inv_fx.c
index 36678487a263a9b9737b86959583bc4456ec0a83..cc81bbb9c38a77ca25e0f886d677a3c4815cf30c 100644
--- a/lib_com/trans_inv_fx.c
+++ b/lib_com/trans_inv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/vlpc_2st_com_fx.c b/lib_com/vlpc_2st_com_fx.c
index 09828330bda7f98a6033a2d792f79e0bd3a2a736..f67d71a6320f8504db7a5b00bd2925d33524f728 100644
--- a/lib_com/vlpc_2st_com_fx.c
+++ b/lib_com/vlpc_2st_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/weight_a_fx.c b/lib_com/weight_a_fx.c
index 8ebcdfcf9552d36e7284817afe00e977d008ebd5..97748204a34b5b5c9e2e4505ef1c20dd9d2947de 100644
--- a/lib_com/weight_a_fx.c
+++ b/lib_com/weight_a_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/weight_fx.c b/lib_com/weight_fx.c
index 824f6b344c0f5218a33a3a4d53f2b93375dfe14f..61fe1dc3d5c688cc9ebbeaa6c16ec98cc49d68fb 100644
--- a/lib_com/weight_fx.c
+++ b/lib_com/weight_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/wi_fx.c b/lib_com/wi_fx.c
index 171e04269dc80ca36782f20ff2b121b782bfde9e..d326f8c0c864d99a778f752a3870941e4e238dc1 100644
--- a/lib_com/wi_fx.c
+++ b/lib_com/wi_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/window_fx.c b/lib_com/window_fx.c
index b028b438a68eb735f90fb6d754aa6274ee1b871e..35d972a80f10de15f879b7b0f8d51814c1e26816 100644
--- a/lib_com/window_fx.c
+++ b/lib_com/window_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/window_ola_fx.c b/lib_com/window_ola_fx.c
index 2948e725ecdb0ca7d1add2a05b91500c4b2b8aaa..0f8fdf46e792fdcef7b1f78f3d68d508f1f436d4 100644
--- a/lib_com/window_ola_fx.c
+++ b/lib_com/window_ola_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_com/wtda_fx.c b/lib_com/wtda_fx.c
index 7943a87c5fc11a276127169b3e0dd8ee8f88895a..a4bda5dc0a85c57be295cab7930e192e4f41e593 100644
--- a/lib_com/wtda_fx.c
+++ b/lib_com/wtda_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_debug/debug.c b/lib_debug/debug.c
deleted file mode 100644
index f9b0e34c3d44bbbfc4c40ae16464fc3dfa83caac..0000000000000000000000000000000000000000
--- a/lib_debug/debug.c
+++ /dev/null
@@ -1,997 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include "options.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#include
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
-#include
-#include
-#endif
-#endif
-#endif
-#include "cnst.h"
-#include
-#include
-#include
-#ifdef _WIN32
-#include
-#else
-#endif
-#ifdef DBG_WAV_WRITER
-#include "tinywaveout_c.h"
-#endif
-#include "wmc_auto.h"
-
-
-/*-------------------------------------------------------------------*
- * Global variables used for debugging but not under DEBUGGING flag
- *--------------------------------------------------------------------*/
-
-#ifdef DEBUGGING
-uint16_t g_nPrintedLines = 0;
-
-int16_t g_verbose = 0; /* global variable for debugging */
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
-char infoFolder[FILENAME_MAX];
-#endif
-#endif
-#endif
-
-FILE *DJB_delay = NULL; /* per-frame de-jitter buffer delay dump out file */
-
-#ifdef DEBUGGING
-int16_t debug_level = 0;
-#endif
-
-/*-------------------------------------------------------------------*
- * Read/write I/O tool
- *--------------------------------------------------------------------*/
-
-#ifdef DEBUGGING
-#define N_FILEPTR 500
-#define N_DBGFLAG 100
-#define N_DBGVAL 100
-#define N_TYPES 6
-
-static FILE *in_fileptr[N_FILEPTR];
-static FILE *out_fileptr[N_FILEPTR];
-#ifdef DBG_WAV_WRITER
-static WAVEFILEOUT *out_wavfileptr[N_FILEPTR];
-#endif
-static char *in_filename[N_FILEPTR];
-static char *out_filename[N_FILEPTR];
-#ifdef DBG_WAV_WRITER
-static char *out_wavfilename[N_FILEPTR];
-#endif
-static int16_t in_count = 0;
-static int16_t out_count = 0;
-#ifdef DBG_WAV_WRITER
-static int16_t out_wav_count = 0;
-#endif
-
-static int16_t flag_count = 0;
-static char *flag_name[N_DBGFLAG];
-static int16_t val_count = 0;
-static char *val_name[N_DBGVAL];
-static char *val[N_DBGVAL];
-
-static char *type_list[N_TYPES] = { "char", "short", "int", "long", "float", "double" };
-
-static void setvalue(
- const char *value_name, /* i : Value name */
- const char *value /* i : Value as string */
-);
-
-static int16_t make_dirs( const char *const pathname );
-
-/*-------------------------------------------------------------------*
- * dbgwrite()
- *
- * Writes the buffer content to the specified file. If the file is not in the
- * debug file list, it is opened before write.
- *--------------------------------------------------------------------*/
-
-int16_t dbgwrite(
- const void *const buffer, /* i : Write buffer */
- const int16_t size, /* i : Element size */
- const int16_t count, /* i : Number of elements */
- const int16_t repeat, /* i : Number of times the elements are repeated */
-#ifdef DEBUG_MODE_INFO_TWEAK
- const char *filename /* i : Output file name */
-#else
- const char *const filename
-#endif
-)
-{
- int16_t index, i;
- void *tmp_buf;
-
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- char filename_mod[FILENAME_MAX];
- int16_t textmode = 0;
- int16_t x = *(const int16_t *const) buffer; /* currently the textmode is only defined with "short" as input */
- memset( filename_mod, 0, FILENAME_MAX );
- tweakdbgfolder( filename, filename_mod, &textmode );
- if ( filename_mod[0] != 0 )
- {
- filename = filename_mod;
- }
-#endif
-#endif
-
- index = lookup( filename, (const char *const *) out_filename, out_count );
-
- if ( index == -1 )
- {
- if ( make_dirs( filename ) != 0 )
- {
- fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- index = out_count;
- out_fileptr[index] = fopen( filename, "wb" );
- out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) );
- strcpy( out_filename[index], filename );
- out_count++;
- }
-
- if ( out_fileptr[index] != NULL )
- {
- tmp_buf = calloc( count * repeat, size );
- if ( buffer != NULL )
- {
- for ( i = 0; i < repeat; i++ )
- {
- memcpy( (char *) tmp_buf + i * size * count, buffer, size * count );
- }
- }
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- if ( 1 == textmode && 2 == size )
- { /* currently the textmode is only defined with "short" as input */
- fprintf( out_fileptr[index], "%d\n", x );
- }
- else
- {
-#endif
-#endif
- fwrite( tmp_buf, size * count * repeat, 1, out_fileptr[index] );
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- }
-#endif
-#endif
- free( tmp_buf );
- }
- else
- {
- fprintf( stderr, "dbgwrite: Could not write to file: %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- return 0;
-}
-
-
-/*-------------------------------------------------------------------*
- * dbgwrite_mat_repeat()
- *
- * Writes buffer a buffer containing a column-wise ordered matrix
- * to the specified file. If the file is not in the
- * debug file list, it is opened before write.
- *--------------------------------------------------------------------*/
-
-void dbgwrite_mat_repeat( float *buffer, /* i : write buffer */
- int16_t nRow, /* i : matrix size (rows) */
- int16_t mCol, /* i : matrix size (columns) */
- int16_t row_repeat, /* i : number of times rows are repeated */
- int16_t col_repeat, /* i : number of times columns are repeated */
-#ifdef DEBUG_MODE_INFO_TWEAK
- const char *filename /* i : Output file name */
-#else
- const char *const filename
-#endif
-)
-{
- float *copy_buffer = calloc( nRow * row_repeat * mCol * col_repeat, sizeof( float ) );
- int16_t r, c, rr, cc;
- float *cp = ©_buffer[0];
- float *colp;
- for ( c = 0; c < mCol; c++ )
- {
- for ( cc = 0; cc < col_repeat; cc++ )
- {
- colp = buffer + c * nRow;
- for ( r = 0; r < nRow; r++ )
- {
- for ( rr = 0; rr < row_repeat; rr++ )
- {
- *( cp++ ) = *colp;
- }
- colp++;
- }
- }
- }
-
- dbgwrite( copy_buffer, sizeof( float ), nRow * row_repeat * mCol * col_repeat, 1, filename );
- free( copy_buffer );
-}
-
-
-/*-------------------------------------------------------------------*
- * dbgappend()
- *
- * Appends the buffer content to the specified file. If the file is not in the
- * debug file list, it is opened before first write.
- *--------------------------------------------------------------------*/
-
-int16_t dbgappend(
- const void *const buffer, /* i : Append buffer */
- const int16_t size, /* i : Element size */
- const int16_t count, /* i : Number of elements */
- const int16_t repeat, /* i : Number of times the elements are repeated */
-#ifdef DEBUG_MODE_INFO_TWEAK
- const char *filename /* i : Output file name */
-#else
- const char *const filename
-#endif
-)
-{
- int16_t index, i;
-
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- char filename_mod[FILENAME_MAX];
- int16_t textmode = 0; /* textmode is only implemented in dbgwrite() currently */
- memset( filename_mod, 0, FILENAME_MAX );
- tweakdbgfolder( filename, filename_mod, &textmode );
- if ( filename_mod[0] != 0 )
- {
- filename = filename_mod;
- }
-#endif
-#endif
- index = lookup( filename, (const char *const *) out_filename, out_count );
-
- if ( index == -1 )
- {
- if ( make_dirs( filename ) != 0 )
- {
- fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- index = out_count;
- out_fileptr[index] = fopen( filename, "ab" );
- out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) );
- strcpy( out_filename[index], filename );
- out_count++;
- }
-
- if ( out_fileptr[index] != NULL )
- {
- for ( i = 0; i < repeat; i++ )
- {
- fwrite( buffer, size, count, out_fileptr[index] );
- }
- }
- else
- {
- fprintf( stderr, "dbgappend: Could not write to file: %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- return 0;
-}
-
-/*-------------------------------------------------------------------*
- * dbgread()
- *
- * Reads data from the specified file. If the file is not open, it will be
- * opened.
- *--------------------------------------------------------------------*/
-
-int16_t dbgread(
- void *const buffer, /* o : Read buffer */
- const int16_t size, /* i : Element size */
- const int16_t count, /* i : Number of elements */
-#ifdef DEBUG_MODE_INFO_TWEAK
- const char *filename /* i : Input file name */
-#else
- const char *const filename
-#endif
-)
-{
- int16_t index;
-
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
- char filename_mod[FILENAME_MAX];
- int16_t textmode = 0; /* textmode is only implemented in dbgwrite() currently */
- memset( filename_mod, 0, FILENAME_MAX );
- tweakdbgfolder( filename, filename_mod, &textmode );
- if ( filename_mod[0] != 0 )
- {
- filename = filename_mod;
- }
-#endif
-#endif
-
- index = lookup( filename, (const char *const *) in_filename, in_count );
-
- if ( index == -1 )
- {
- index = in_count;
- in_fileptr[index] = fopen( filename, "rb" );
-#ifdef DEBUG_FORCE_DIR
- if ( in_fileptr[index] == NULL )
- {
- /* file does not exist or could not be opened -> just return */
- return -1;
- }
-#endif
- in_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) );
- strcpy( in_filename[index], filename );
- in_count++;
- }
-
- if ( in_fileptr[index] != NULL )
- {
- fread( buffer, size, count, in_fileptr[index] );
- }
- else
- {
- fprintf( stderr, "dbgread: Could not read from file: %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- return 0;
-}
-
-/*-------------------------------------------------------------------*
- * dbgclose()
- *
- * Closes opened files and frees allocated memory
- *--------------------------------------------------------------------*/
-
-void dbgclose( void )
-{
- int16_t i;
-
- for ( i = 0; i < in_count; i++ )
- {
- fclose( in_fileptr[i] );
- free( in_filename[i] );
- }
-
- for ( i = 0; i < out_count; i++ )
- {
- fclose( out_fileptr[i] );
- free( out_filename[i] );
- }
-
-#ifdef DBG_WAV_WRITER
- for ( i = 0; i < out_wav_count; i++ )
- {
- CloseWav( out_wavfileptr[i] );
- free( out_wavfilename[i] );
- }
-#endif
- for ( i = 0; i < snr_count; i++ )
- {
- free( snr_name[i] );
- }
-
- for ( i = 0; i < flag_count; i++ )
- {
- free( flag_name[i] );
- }
-
- for ( i = 0; i < val_count; i++ )
- {
- free( val_name[i] );
- free( val[i] );
- }
-
- return;
-}
-
-
-/*-------------------------------------------------------------------*
- * dbgflag()
- *
- * Checks if a debug flag is set. The flag is identified with a string.
- *--------------------------------------------------------------------*/
-
-int16_t dbgflag(
- const char *flagname /* i : Flag name */
-)
-{
- int16_t result;
-
- result = lookup( flagname, (const char *const *) flag_name, flag_count );
-
- return ( result != -1 );
-}
-
-/*-------------------------------------------------------------------*
- * setflag()
- *
- * Sets the flag with the specified string
- *--------------------------------------------------------------------*/
-
-void setflag(
- const char *flagname /* i : Flag name */
-)
-{
- int16_t result;
-
- result = lookup( flagname, (const char *const *) flag_name, flag_count );
-
- if ( result == -1 )
- {
- flag_name[flag_count] = malloc( sizeof( char ) * ( strlen( flagname ) + 1 ) );
- strcpy( flag_name[flag_count], flagname );
- flag_count++;
- }
-
- return;
-}
-
-/*----------------------------------------------------------------------------*
- * dbgargs()
- *
- * N.B. Should be run before existing command line interpretation
- *
- * Command line interpreter for debug arguments. Removes the debug
- * arguments after interpretation so that existing command line interpretation
- * may be run afterwards.
- *
- * Arguments:
- * -D flag_name Sets the debug flag labelled flag_name.
- * The function dbgflag("flag_name") will return 1.
- *
- * -V val_name val Sets the debug value labelled val_name to val.
- * dbgvalue("type","val_name",&value) will retrieve the value
- *
- *-----------------------------------------------------------------------------*/
-
-/*! r: No. debug arguments */
-int16_t dbgargs(
- int32_t *argc, /* i/o: No. input arguments / No. arguments without dbg arguments */
- char *argv[] /* i/o: Input arguments / Input arguments without dbg arguments */
-)
-{
- int16_t i, j, dbgargs;
-
- i = 0;
- dbgargs = 0;
- while ( i < *argc )
- {
- if ( strcmp( argv[i], "-D" ) == 0 )
- {
- j = i;
- dbgargs++;
- i++;
- setflag( argv[i] );
- for ( ; j < *argc - 2; j++ )
- {
- argv[j] = argv[j + 2];
- }
- *argc -= 2;
- i -= 2;
- }
-
- if ( strcmp( argv[i], "-V" ) == 0 )
- {
- j = i;
- dbgargs++;
- i++;
- setvalue( argv[i], argv[i + 1] );
- for ( ; j < *argc - 3; j++ )
- {
- argv[j] = argv[j + 3];
- }
- *argc -= 3;
- i -= 3;
- }
- i++;
- }
-
- return dbgargs;
-}
-
-/*-------------------------------------------------------------------*
- * dbgvalue()
- *
- * Lookup a debug value
- *
- * Allowed typestr values:
- * "char","short","int","long","float","double"
- *
- * If the value is not set, the output value is not assigned
- *
- *-------------------------------------------------------------------*/
-
-/*! r: Returns 1 if value is assigned, otherwise 0 */
-int16_t dbgvalue(
- const char *typestr, /* i : Type as string:"int","char",... */
- const char *value_name, /* i : Value tag name given on command line */
- ... /* o : Output variable, type: pointer to "typestr" */
-)
-{
- int16_t index;
- char *value;
- int16_t assigned;
- char *c;
- int16_t *sh;
- int *i;
- int32_t *l;
- float *f;
- double *d;
- va_list ap;
- va_start( ap, value_name );
-
- index = lookup( value_name, (const char *const *) val_name, val_count );
-
- if ( index != -1 )
- {
- value = val[index];
- index = lookup( typestr, (const char *const *) type_list, N_TYPES );
- switch ( index )
- {
- case 0:
- c = va_arg( ap, char * );
- sscanf( value, "%c", c );
- break;
- case 1:
- sh = va_arg( ap, int16_t * );
- sscanf( value, "%hi", sh );
- break;
- case 2:
- i = va_arg( ap, int * );
- sscanf( value, "%i", i );
- break;
- case 3:
- l = va_arg( ap, int32_t * );
- sscanf( value, "%i", l );
- break;
- case 4:
- f = va_arg( ap, float * );
- sscanf( value, "%f", f );
- break;
- case 5:
- d = va_arg( ap, double * );
- sscanf( value, "%lf", d );
- break;
- default:
- fprintf( stderr, "dbgvalue::Unsupported type string %s. Exiting...\n", typestr );
- exit( -1 );
- }
- assigned = 1;
- }
- else
- {
- assigned = 0;
- }
-
- va_end( ap );
-
- return assigned;
-}
-
-/*-------------------------------------------------------------------*
- * lookup()
- *
- * Returns the index of the given string, or -1 if not found
- *--------------------------------------------------------------------*/
-
-/*! r: Index of string, -1 if not found */
-int16_t lookup(
- const char *const str, /* i : String to lookup */
- const char *const *const list, /* i : List of strings */
- const int16_t n_elem /* i : Number of elements */
-)
-{
- int16_t i, result;
-
- result = -1;
- i = 0;
- while ( i < n_elem && result == -1 )
- {
- if ( strcmp( str, list[i] ) == 0 )
- {
- result = i;
- }
- i++;
- }
-
- return result;
-}
-
-/*-------------------------------------------------------------------*
- * setvalue()
- *
- * Sets the debug name value pair
- *--------------------------------------------------------------------*/
-
-static void setvalue(
- const char *value_name, /* i : Value name */
- const char *value ) /* i : Value as string */
-
-{
- int16_t result;
-
- result = lookup( value_name, (const char *const *) val_name, val_count );
-
- if ( result == -1 )
- {
- val_name[val_count] = malloc( sizeof( char ) * ( strlen( value_name ) + 1 ) );
- strcpy( val_name[val_count], value_name );
- val[val_count] = malloc( sizeof( char ) * ( strlen( value ) + 1 ) );
- strcpy( val[val_count], value );
- val_count++;
- fprintf( stdout, "\nDebug value set: %s = %s\n", value_name, value );
- }
- else
- {
- fprintf( stdout, "\n*** Value %s already set: %s\n", value_name, val[result] );
- }
-
- return;
-}
-
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
-/*-------------------------------------------------------------------*
- * tweakdbgfolder()
- *
- * in: filename
- * out: filename_mod
- *
- * returns modified path to debug files for reading and writing functions.
- * creates in "./res" if given on command line
- * with switch -info .
- *
- *--------------------------------------------------------------------*/
-
-int16_t tweakdbgfolder( const char *filename, char *filename_mod, int16_t *textmode )
-{
- int16_t i, j;
- char *p_infoFolder = infoFolder;
- char *p_filename_mod = filename_mod;
- int16_t n_prefix = 0;
- char *suffix;
-
- /* if debug folder name given on command line, write debug info to sub folder */
- if ( infoFolder[0] != 0 )
- {
- if ( filename[0] == '.' )
- {
- n_prefix = 5;
- }
- else if ( filename[0] == 'r' )
- {
- n_prefix = 3;
- }
- else
- {
- fprintf( stderr, "tweakdbgfolder: Unexpected debug folder. Exiting..\n" );
- exit( -1 );
- }
- for ( i = 0; i <= n_prefix; i++ )
- {
- p_filename_mod[i] = filename[i];
- }
- j = i;
- while ( *p_infoFolder != 0 )
- {
- p_filename_mod[i] = *p_infoFolder;
- i++;
- p_infoFolder++;
- }
- p_filename_mod[i] = '/';
- i++;
-
- while ( filename[j] != 0 )
- {
- p_filename_mod[i] = filename[j];
- i++;
- j++;
- }
- /* detect textmode, only working with given debug folder name, otherwise no counter available for length of filename */
- suffix = &p_filename_mod[i - 4];
- if ( strncmp( suffix, ".txt", 4 ) == 0 )
- {
- *textmode = 1;
- }
- else
- {
- *textmode = 0;
- }
- }
-
-
- return 0;
-}
-#endif
-#endif
-
-
-#ifdef DEBUGGING
-/*-------------------------------------------------------------------*
- * fname()
- *
- * returns file name (string) that identifies - parameter/signal to be outputted
- - channel ID (0 or 1)
- - element ID (0, 1, etc.)
- *--------------------------------------------------------------------*/
-
-char debug_dir[6] = "res/";
-
-char tmp_fname[FILENAME_MAX];
-
-char *fname(
- char *dir,
- char *file,
- const int16_t n,
- const int16_t id,
- const int16_t enc_dec )
-{
- char idd[6];
-
- assert( id < 100 );
- sprintf( idd, ".id%d", id );
-
- strcpy( tmp_fname, dir );
-#ifdef DEBUG_FORCE_DIR
- size_t len;
- len = strlen( tmp_fname );
- if ( tmp_fname[len - 1] != '/' && tmp_fname[len - 1] != '\\' )
- {
- /* add trailing '/' slash */
- strcat( tmp_fname, "/" );
- }
-#endif
- strcat( tmp_fname, file );
-
- if ( enc_dec == DEC )
- strcat( tmp_fname, ".dec" );
- if ( id > 0 )
- strcat( tmp_fname, idd );
- if ( n > 0 )
- strcat( tmp_fname, ".ch2" );
-
- return tmp_fname;
-}
-#endif
-
-
-/*-------------------------------------------------------------------*
- * make_dirs()
- *
- * extract path(s) form the pathname and create them if not existing
- *--------------------------------------------------------------------*/
-
-int16_t make_dirs( const char *const pathname )
-{
- const char *p;
- char *temp;
- char sep = 0;
-#ifdef _WIN32
- struct _stat s = { 0 };
-#else
- struct stat s = { 0 };
-#endif
- /* find path separator */
- if ( strchr( pathname, '\\' ) != NULL )
- {
- sep = '\\';
- }
- else if ( strchr( pathname, '/' ) != NULL )
- {
- sep = '/';
- }
-
- if ( sep != 0 )
- {
- temp = calloc( strlen( pathname ) + 1, sizeof( char ) );
- p = pathname;
- while ( ( p = strchr( p, sep ) ) != NULL )
- {
- /* skip consecutive separators and '.', '..' symbols */
- if ( p != pathname && ( *( p - 1 ) == sep || *( p - 1 ) == '.' ) )
- {
- p++;
- continue;
- }
-
- /* put the path up to this point into a temp dir */
- memcpy( temp, pathname, p - pathname );
- temp[p - pathname] = '\0';
- p++;
-
- /* check if path exists and create it with mkdir() if not */
-#ifdef _WIN32
- if ( _stat( temp, &s ) == -1 )
- {
- if ( _mkdir( temp ) != 0 )
- {
- if ( errno != 0 )
- {
- return 1;
- }
- }
- }
-#else
- if ( stat( temp, &s ) == -1 )
- {
- if ( mkdir( temp, 0755 ) != 0 )
- {
- if ( errno != 0 )
- {
- return 1;
- }
- }
- }
-#endif
- }
-
- free( temp );
- }
-
- return 0;
-}
-
-#ifdef DBG_WAV_WRITER
-int16_t dbgwrite_wav(
- const float *buffer[], /* i : Write buffer */
- const int16_t count_per_ch, /* i : Number of elements */
- const char *const filename,
- int32_t fs,
- int16_t num_chs )
-{
- int16_t index, i;
- int16_t *tmp_buf;
-
- index = lookup( filename, (const char *const *) out_wavfilename, out_wav_count );
-
- if ( index == -1 )
- {
- if ( make_dirs( filename ) != 0 )
- {
- fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- index = out_wav_count;
- out_wavfileptr[index] = CreateWav( (const char *) filename, fs, num_chs, 16 /* const uint32_t writeWaveExt */ );
- out_wavfilename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) );
- strcpy( out_wavfilename[index], filename );
- out_wav_count++;
- }
-
- if ( out_wavfileptr[index] != NULL )
- {
- int16_t j, k;
- float tmp;
- tmp_buf = (int16_t *) calloc( count_per_ch * num_chs, sizeof( int16_t ) );
- k = 0;
- for ( j = 0; j < count_per_ch; j++ )
- {
- for ( i = 0; i < num_chs; i++, k++ )
- {
- tmp = roundf( buffer[i][j] );
- tmp_buf[k] = ( tmp > MAX16B_FLT ) ? MAX16B : ( tmp < MIN16B_FLT ) ? MIN16B
- : (short) tmp;
- }
- }
- WriteWavShort( out_wavfileptr[index], tmp_buf, count_per_ch * num_chs );
- free( tmp_buf );
- }
- else
- {
- fprintf( stderr, "dbgwrite_wav: Could not write to file: %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- return 0;
-}
-#endif
-
-
-int16_t dbgwrite_txt(
- const float *buffer, /* i : Write buffer */
- const int16_t count, /* i : Number of elements */
- const char *const filename,
- const char *const msg_opt )
-{
- int16_t index, i;
-
- index = lookup( filename, (const char *const *) out_filename, out_count );
-
- if ( index == -1 )
- {
- if ( make_dirs( filename ) != 0 )
- {
- fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- index = out_count;
- out_fileptr[index] = fopen( filename, "w" );
- out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) );
- strcpy( out_filename[index], filename );
- out_count++;
- }
-
- if ( out_fileptr[index] != NULL )
- {
- if ( buffer != NULL )
- {
- if ( msg_opt == NULL )
- {
- for ( i = 0; i < count; i++ )
- {
- fprintf( out_fileptr[index], "%f\n", buffer[i] );
- }
- }
- else
- {
- for ( i = 0; i < count; i++ )
- {
- fprintf( out_fileptr[index], "%s %f\n", msg_opt, buffer[i] );
- }
- }
- }
- }
- else
- {
- fprintf( stderr, "dbgwrite_txt: Could not write to file: %s. Exiting..\n", filename );
- exit( -1 );
- }
-
- return 0;
-}
-#endif /* DEBUGGING */
diff --git a/lib_debug/debug.h b/lib_debug/debug.h
deleted file mode 100644
index c79ff60465cf7fc043aff2930846e853c02edde2..0000000000000000000000000000000000000000
--- a/lib_debug/debug.h
+++ /dev/null
@@ -1,263 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-#ifndef DEBUG_H
-#define DEBUG_H
-
-#include "options.h"
-#include
-#include
-#ifdef DEBUG_SBA
-#include "sba_debug.h"
-#endif
-
-/*------------------------------------------------------------------------------------------*
- * Global variables used for debugging
- *------------------------------------------------------------------------------------------*/
-
-#ifdef DEBUGGING
-extern int32_t frame;
-#endif
-
-#ifdef DEBUGGING
-extern uint16_t g_nPrintedLines;
-extern int16_t g_verbose;
-#endif
-
-#ifdef DEBUGGING
-extern int16_t debug_level;
-#define DEBUG_LINE( level ) if ( ( level ) <= debug_level )
-#else
-#define DEBUG_LINE( level ) if ( 0 )
-#endif
-
-#ifdef DEBUGGING
-extern char tmp_fname[];
-extern char debug_dir[6];
-char *fname( char *dir, char *file, const int16_t n, const int16_t id, const int16_t enc_dec );
-#endif
-
-#ifdef DEBUG_FORCE_DIR
-#define FORCE_DIR_MAX_LENGTH 255 /* maximum length of the directory for modes/parameters enforcement */
-#endif
-
-/*------------------------------------------------------------------------------------------*
- * Read/write I/O tool
- *------------------------------------------------------------------------------------------*/
-
-#ifdef DEBUGGING
-
-int16_t lookup(
- const char *const str,
- const char *const *const list,
- const int16_t n_elem );
-
-#ifdef DEBUG_MODE_INFO
-#ifdef DEBUG_MODE_INFO_TWEAK
-int16_t tweakdbgfolder(
- const char *filename,
- char *filename_mod,
- int16_t *textmode );
-#endif
-#endif
-
-int16_t dbgwrite(
- const void *const buffer,
- const int16_t size,
- const int16_t count,
- const int16_t repeat,
-#ifdef DEBUG_MODE_INFO_TWEAK
- const char *filename
-#else
- const char *const filename
-#endif
-);
-
-#ifdef DBG_WAV_WRITER
-int16_t dbgwrite_wav(
- const float *buffer[], /* i : Write buffer */
- const int16_t count_per_ch, /* i : Number of elements */
- const char *const filename,
- int32_t fs,
- int16_t num_chs );
-#endif
-
-int16_t dbgwrite_txt(
- const float *buffer, /* i : Write buffer */
- const int16_t count, /* i : Number of elements */
- const char *const filename,
- const char *const msg_opt );
-
-void dbgwrite_mat_repeat(
- float *buffer, /* i : write buffer */
- int16_t nRow, /* i : matrix size (rows) */
- int16_t mCol, /* i : matrix size (columns) */
- int16_t row_repeat, /* i : number of times rows are repeated */
- int16_t col_repeat, /* i : number of times columns are repeated */
-#ifdef DEBUG_MODE_INFO_TWEAK
- const char *filename /* i : Output file name */
-#else
- const char *const filename
-#endif
-);
-
-int16_t dbgappend(
- const void *const buffer,
- const int16_t size,
- const int16_t count,
- const int16_t repeat,
-#ifdef DEBUG_MODE_INFO_TWEAK
- const char *filename
-#else
- const char *const filename
-#endif
-);
-
-int16_t dbgread(
- void *const buffer,
- const int16_t size,
- const int16_t count,
-#ifdef DEBUG_MODE_INFO_TWEAK
- const char *filename
-#else
- const char *const filename
-#endif
-);
-
-void dbgclose( void );
-
-int16_t dbgflag(
- const char *flagname );
-
-void setflag(
- const char *flagname );
-
-int16_t dbgargs(
- int32_t *argc,
- char *argv[] );
-
-int16_t dbgvalue(
- const char *typestr,
- const char *value_name,
- ... );
-
-extern FILE *DJB_delay;
-
-extern FILE *FEC_pattern;
-
-#endif /* DEBUGGING */
-
-/*------------------------------------------------------------------------------------------*
- * SNR measurement tool
- *------------------------------------------------------------------------------------------*/
-
-#ifdef DEBUGGING
-
-extern int16_t snr_count;
-extern char *snr_name[];
-
-void snr(
- const float *const signal,
- const float *const noise,
- const int16_t length,
- const char *const name );
-
-void snr_diff(
- const float *const clean,
- const float *const degraded,
- const int16_t length,
- const int16_t delay,
- const char *const name );
-
-void snr_celp(
- const int16_t L_frame,
- const int16_t L_subfr,
- const float gamma,
- const float tilt_fac,
- const int16_t vad_flag,
- const int16_t coder_type,
- const float *input,
- const float *output,
- const float *A,
- const int16_t idchan,
- const char *name );
-
-void print_snr( void );
-
-#else
-
-#define print_snr( void )
-
-#endif
-
-/*------------------------------------------------------------------------------------------*
- * SD analysis tool
- *------------------------------------------------------------------------------------------*/
-
-#ifdef DEBUGGING
-
-/*! r: SD in a given frequency range */
-float sd_range(
- const float lsf[], /* i : vector of unquantized LSF values */
- const float lsf_q[], /* i : vector of quantized LSF values */
- const int16_t order, /* i : dimension of the vectors */
- const int32_t fs, /* i : sampling frequency */
- const float min_freq, /* i : minimum frequency of interest */
- const float max_freq, /* i : maximum frequency of interest */
- const char *const name, /* i : string for SD entry in the global table */
- const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */
-);
-
-/*! r: SD respecting critical bands */
-float sd_crit(
- const float lsf[], /* i : vector of unquantized LSF values */
- const float lsf_q[], /* i : vector of quantized LSF values */
- const int16_t order, /* i : dimension of the vectors */
- const int32_t fs, /* i : sampling frequency */
- const float min_freq, /* i : minimal frequency */
- const float max_freq, /* i : maximal frequency */
- int16_t *min_band, /* o : minimal critical band */
- int16_t *max_band, /* o : maximal critical band */
- float sd_bands[], /* i/o: SD in critical bands */
- const char *const name, /* i : string for SD entry in the global table */
- const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */
-);
-
-void print_sd( void );
-
-#else
-
-#define print_sd( void )
-
-#endif
-
-#endif /* DEBUG_H */
diff --git a/lib_debug/sba_debug.c b/lib_debug/sba_debug.c
deleted file mode 100644
index c05ae96ef6279111db026a5dadff58fa2ce72045..0000000000000000000000000000000000000000
--- a/lib_debug/sba_debug.c
+++ /dev/null
@@ -1,431 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-#include "options.h"
-#include "ivas_cnst.h"
-#include "sba_debug.h"
-#include
-#include "wmc_auto.h"
-#ifdef DEBUG_SBA
-#include
-#include "tinywaveout_c.h"
-
-/*-------------------------------------------------------------------*
- * Global variables used for debugging but not under DEBUGGING flag
- *--------------------------------------------------------------------*/
-
-#define MAX_IN_FILE_LEN ( 1000 )
-#define MAX_PLUG_IN_FILE_LEN ( MAX_IN_FILE_LEN )
-#define MAX_DEBUG_TAG_LEN ( 50 )
-#define NUM_DEBUG_FILES ( 5 )
-#define MAX_TAG_LEN ( 200 )
-
-WAVEFILEOUT *spar_foa_enc_wav[3];
-WAVEFILEOUT *spar_foa_dec_wav[NUM_DEBUG_FILES];
-float max_diff = 0;
-int32_t dbg_frm_num;
-int32_t dbg_band;
-int32_t dbg_type;
-int32_t iter_max = 0;
-FILE *fFb_pcm = NULL;
-int8_t file_names[NUM_DEBUG_FILES][MAX_TAG_LEN + MAX_DEBUG_TAG_LEN];
-
-
-#ifdef DEBUG_AGC
-FILE *agcOut = NULL; /* temporary AGC bitstream */
-#endif
-
-/*-----------------------------------------------------------------------------------------*
- * Function description
- * cstrcpy() - Custom implementation of strcpy
- *
- * Inputs:
- * const char* _Source -> Source buffer
- * _SizeInBytes -> Destination buffer size in bytes
- *
- * Outputs:
- * char* _Destination -> Destination buffer
- *-----------------------------------------------------------------------------------------*/
-
-static void cstrcpy( char *_Destination, size_t _SizeInBytes, const char *_Source )
-{
- size_t SourceSizeInBytes = strlen( _Source );
- if ( _SizeInBytes > SourceSizeInBytes )
- {
- strcpy( _Destination, _Source );
- }
- else
- {
- assert( 0 );
- }
-
- return;
-}
-
-
-/*-----------------------------------------------------------------------------------------*
- * Function description
- * cstrcat() - Custom implementation of strcat
- *
- * Inputs:
- * const char* _Source -> Source buffer
- * _SizeInBytes -> Destination buffer size in bytes
- *
- * Outputs:
- * char* _Destination -> Destination buffer
- *-----------------------------------------------------------------------------------------*/
-
-static void cstrcat( char *_Destination, size_t _SizeInBytes, const char *_Source )
-{
- size_t SourceSizeInBytes = strlen( _Source );
- size_t DestSizeInBytes = _SizeInBytes - strlen( _Destination );
- if ( DestSizeInBytes > SourceSizeInBytes )
- {
- strcat( _Destination, _Source );
- }
- else
- {
- assert( 0 );
- }
-
- return;
-}
-
-
-#ifdef DEBUG_AGC
-void ivas_close_agc_debug_files( void )
-{
- if ( agcOut != NULL )
- {
- fclose( agcOut );
- agcOut = NULL;
- }
-
- return;
-}
-
-void ivas_open_agc_debug_files( int16_t agc )
-{
- /* Temporary AGC file */
- if ( agc > 0 )
- {
- char agcFilename[50] = "agcBitstream.bin";
- if ( ( agcOut = fopen( agcFilename, "wb" ) ) == NULL )
- {
- fprintf( stderr, "Error: Gain Control bitstream file %s could not be opened\n\n", agcFilename );
- exit( -1 );
- }
- fprintf( stdout, "Temporary gain control bitstream file %s is opened\n", agcFilename );
- }
-
- return;
-}
-#endif
-
-static void UpdateWave(
- const uint32_t sampleRate,
- const uint32_t numChannels,
- const uint32_t bps,
- WAVEFILEOUT *spar_wav )
-{
- uint32_t blockAlignment = 0;
- uint16_t writeValue16;
- uint32_t writeValue32;
-
- writeValue16 = LittleEndian16( (int16_t) numChannels );
- /*Fseek to number of channel writing position*/
- fseek( spar_wav->theFile, 22, SEEK_SET );
- fwrite( &writeValue16, sizeof( writeValue16 ), 1, spar_wav->theFile );
- blockAlignment = numChannels * ( bps >> 3 );
- writeValue16 = LittleEndian16( (int16_t) blockAlignment );
- fseek( spar_wav->theFile, 4, SEEK_CUR );
- writeValue32 = LittleEndian32( sampleRate * blockAlignment );
- fwrite( &writeValue32, sizeof( writeValue32 ), 1, spar_wav->theFile );
- fwrite( &writeValue16, sizeof( writeValue16 ), 1, spar_wav->theFile );
-
- return;
-}
-
-
-void ivas_spar_dump_signal_wav(
- const int16_t input_frame,
- float **ppPcm,
- float pcm_array[IVAS_SPAR_MAX_CH][L_FRAME48k],
- const int16_t no_channel,
- WAVEFILEOUT *wave_file,
- char *location )
-{
- float tmp_value;
- int16_t pcm_value, i, j, k;
- int16_t debug_tmp[IVAS_SPAR_MAX_CH * L_FRAME48k * 2];
-
- k = 0;
- int16_t Clipping = 0;
- float largest_value = 0;
- float db_value = 0;
-
- for ( j = 0; j < input_frame; j++ )
- {
- for ( i = 0; i < no_channel; i++, k++ )
- {
- if ( ppPcm )
- {
- tmp_value = roundf( ppPcm[i][j] );
- }
- else
- {
- tmp_value = roundf( pcm_array[i][j] );
- }
-
- if ( tmp_value > MAX16B_FLT )
- {
- largest_value = (float) fabs( tmp_value ) > largest_value ? (float) fabs( tmp_value ) : largest_value;
- tmp_value = MAX16B;
- Clipping++;
- }
- else if ( tmp_value < MIN16B_FLT )
- {
- largest_value = (float) fabs( tmp_value ) > largest_value ? (float) fabs( tmp_value ) : largest_value;
- tmp_value = MIN16B;
- Clipping++;
- }
- pcm_value = (int16_t) tmp_value;
- /*pcm_value = (tmp_value > MAX16B_FLT) ? MAX16B : (tmp_value < MIN16B_FLT) ? MIN16B
- : (short)tmp_value;*/
- debug_tmp[k] = pcm_value;
- }
- }
- if ( Clipping )
- {
- db_value = 20.f * (float) log( largest_value );
- fprintf( stderr, "%d\t Clipping detected ", Clipping );
- }
-
- WriteWavShort( wave_file, debug_tmp, ( no_channel * input_frame ) );
-
- if ( db_value )
- {
- fprintf( stderr, "\t In %s largest clipped sample in dB %f \n", location, db_value );
- }
-
- return;
-}
-
-
-void ivas_close_sba_decoder_debug_files(
- const int32_t fs,
- const int16_t n_ch,
- const int16_t n_transport,
- const int16_t pca_ingest_channels )
-{
- if ( spar_foa_dec_wav[0] != NULL )
- {
- UpdateWave( fs, n_transport, 32, spar_foa_dec_wav[0] );
- CloseWav( spar_foa_dec_wav[0] );
- }
- if ( spar_foa_dec_wav[1] != NULL )
- {
- UpdateWave( fs, n_transport, 16, spar_foa_dec_wav[1] );
- CloseWav( spar_foa_dec_wav[1] );
- }
- if ( spar_foa_dec_wav[2] != NULL )
- {
- UpdateWave( fs, pca_ingest_channels, 16, spar_foa_dec_wav[2] );
- CloseWav( spar_foa_dec_wav[2] );
- }
- if ( spar_foa_dec_wav[3] != NULL )
- {
- UpdateWave( fs, n_ch, 16, spar_foa_dec_wav[3] );
- CloseWav( spar_foa_dec_wav[3] );
- }
-
- if ( spar_foa_dec_wav[4] != NULL )
- {
- UpdateWave( fs, n_ch, 16, spar_foa_dec_wav[4] );
- CloseWav( spar_foa_dec_wav[4] );
- }
-
- return;
-}
-
-
-void ivas_close_sba_encoder_debug_files( void )
-{
-
- if ( spar_foa_enc_wav[0] != NULL )
- {
- CloseWav( spar_foa_enc_wav[0] );
- }
- if ( spar_foa_enc_wav[1] != NULL )
- {
- CloseWav( spar_foa_enc_wav[1] );
- }
- if ( spar_foa_enc_wav[2] != NULL )
- {
- CloseWav( spar_foa_enc_wav[2] );
- }
-
- /* Enable print max diff to a file */
-
- /* FILE *fp = fopen("max_diff.txt", "a");
- fprintf(fp, "%s\n", file_names[0]);
- fprintf(fp, "max diff = %0.15f\n frame_no = %d\n band num = %d\n coeff type %d\n", max_diff, dbg_frm_num, dbg_band, dbg_type);
- fclose(fp); */
-
- /* Enable print max eig iters to a file */
-
- /*FILE *fp = fopen("max_iters.txt", "a");
- fprintf(fp, "%s\n", file_names[0]);
- fprintf(fp, "%d\n", iter_max);
- fclose(fp); */
-
- return;
-}
-
-
-void ivas_open_sba_decoder_debug_files(
- const int32_t fs,
- const int16_t n_ch,
- const int16_t n_transport )
-{
- int8_t fb_wav_dump_path[NUM_DEBUG_FILES][MAX_PLUG_IN_FILE_LEN] = { "", "", "", "", "" };
-
- cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), "dec_out.wav" );
- spar_foa_dec_wav[0] = CreateWav( (const char *) fb_wav_dump_path[0], fs, n_ch, 32 /* const uint32_t writeWaveExt */ );
-
- cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), "agc_dec_out.wav" );
- spar_foa_dec_wav[1] = CreateWav( (const char *) fb_wav_dump_path[1], fs, n_transport, 16 /* const uint32_t writeWaveExt */ );
-
- cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), "pca_dec.wav" );
- spar_foa_dec_wav[2] = CreateWav( (const char *) fb_wav_dump_path[2], fs, n_transport, 16 /* const uint32_t writeWaveExt */ );
-
- cstrcat( (char *) fb_wav_dump_path[3], sizeof( fb_wav_dump_path[3] ), "cldfbSynthesis_ivas.wav" );
- spar_foa_dec_wav[3] = CreateWav( (const char *) fb_wav_dump_path[3], fs, n_transport, 16 /* const uint32_t writeWaveExt */ );
-
- cstrcat( (char *) fb_wav_dump_path[4], sizeof( fb_wav_dump_path[4] ), "cldfbAnalysis_ivas.wav" );
- spar_foa_dec_wav[4] = CreateWav( (const char *) fb_wav_dump_path[4], fs, n_transport, 16 /* const uint32_t writeWaveExt */ );
-
- return;
-}
-
-
-void ivas_open_sba_encoder_debug_files(
- const int32_t fs,
- const int16_t n_transport,
- const char *file_tag,
- const int32_t ivas_total_brate,
- const int16_t dtx_on )
-{
- int8_t fb_wav_dump_path[3][MAX_PLUG_IN_FILE_LEN] = { "spar_foa_enc", "spar_foa_enc", "spar_foa_enc" };
-
- if ( file_tag != NULL )
- {
- cstrcpy( (char *) file_names[0], sizeof( file_names[0] ), (const char *) file_tag );
- }
-
- /* ivas_total_brate */
- switch ( ivas_total_brate )
- {
- case IVAS_24k4:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr24k" );
- break;
- case IVAS_32k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr32k" );
- break;
- case IVAS_48k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr48k" );
- break;
- case IVAS_64k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr64k" );
- break;
- case IVAS_80k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr80k" );
- break;
- case IVAS_96k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr96k" );
- break;
- case IVAS_128k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr128k" );
- break;
- case IVAS_160k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr160k" );
- break;
- case IVAS_192k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr192k" );
- break;
- case IVAS_256k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr256k" );
- break;
- case IVAS_384k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr384k" );
- break;
- case IVAS_512k:
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr512k" );
- break;
- }
-
- /* DTX */
- if ( dtx_on )
- {
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_DTX1" );
- }
- else
- {
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_DTX0" );
- }
-
- cstrcpy( (char *) file_names[1], sizeof( file_names[1] ), (const char *) file_names[0] );
- cstrcpy( (char *) file_names[2], sizeof( file_names[2] ), (const char *) file_names[0] );
- cstrcpy( (char *) file_names[3], sizeof( file_names[3] ), (const char *) file_names[0] );
- cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_pcm.txt" );
-
- cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), (const char *) file_names[2] );
- cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), "_pca_enc.wav" );
- spar_foa_enc_wav[0] = CreateWav( (const char *) fb_wav_dump_path[0], fs, n_transport, 16 /* const uint32_t writeWaveExt */ );
-
- cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), (const char *) file_names[2] );
- cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), "_fb_mixer_enc.wav" );
- spar_foa_enc_wav[1] = CreateWav( (const char *) fb_wav_dump_path[1], fs, n_transport, 16 /* const uint32_t writeWaveExt */ );
-
- cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), (const char *) file_names[2] );
- cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), "_agc_enc.wav" );
- spar_foa_enc_wav[2] = CreateWav( (const char *) fb_wav_dump_path[2], fs, n_transport, 16 /* const uint32_t writeWaveExt */ );
-
- return;
-}
-
-#endif /* DEBUG_SBA */
diff --git a/lib_debug/sba_debug.h b/lib_debug/sba_debug.h
deleted file mode 100644
index 2be427d524e82f92deec2ab9e8c0964374474dab..0000000000000000000000000000000000000000
--- a/lib_debug/sba_debug.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-#ifndef SBA_DEBUG_H
-#define SBA_DEBUG_H
-
-#include "options.h"
-#include
-#include
-#ifdef DEBUG_SBA
-#include "cnst.h"
-#include "ivas_cnst.h"
-#include "tinywaveout_c.h"
-
-
-#ifdef DEBUG_SBA_AUDIO_DUMP
-extern WAVEFILEOUT *spar_foa_enc_wav[3];
-extern WAVEFILEOUT *spar_foa_dec_wav[5];
-#endif
-
-#ifdef DEBUG_AGC
-void ivas_close_agc_debug_files( void );
-void ivas_open_agc_debug_files( int16_t agc );
-#endif
-void ivas_spar_dump_signal_wav( const int16_t input_frame, float **ppPcm, float pcm_array[IVAS_SPAR_MAX_CH][L_FRAME48k], const int16_t no_channel, WAVEFILEOUT *wave_file, char *location );
-void ivas_close_sba_encoder_debug_files( void );
-void ivas_open_sba_encoder_debug_files( const int32_t fs, const int16_t n_transport, const char *file_tag, const int32_t ivas_total_brate, const int16_t dtx_on );
-void ivas_close_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport, const int16_t pca_ingest_channels );
-void ivas_open_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport );
-#endif
-
-#endif /* SBA_DEBUG_H */
diff --git a/lib_debug/snr.c b/lib_debug/snr.c
deleted file mode 100644
index cf15a2907b50dec0580121c2773f91191c8b4afc..0000000000000000000000000000000000000000
--- a/lib_debug/snr.c
+++ /dev/null
@@ -1,465 +0,0 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
-
-#include
-#include "options.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
-#include
-#include
-#include
-#include "wmc_auto.h"
-#include "cnst.h"
-#include "ivas_cnst.h"
-
-#ifdef DEBUGGING
-
-/*-------------------------------------------------------------------*
- * Local constants
- *--------------------------------------------------------------------*/
-
-#define N_SNRPTR 100
-#define MAX_SIGNAL_LENGTH 1024
-#define MAX_DELAY 320
-
-/*-------------------------------------------------------------------*
- * Global variables
- *--------------------------------------------------------------------*/
-
-int16_t snr_count = 0;
-char *snr_name[N_SNRPTR] = { 0 };
-
-#ifdef DEBUG_MODE_INFO
-float snr_[2][320];
-#endif
-
-/*-------------------------------------------------------------------*
- * Local variables
- *--------------------------------------------------------------------*/
-
-static double signal_energy[N_SNRPTR];
-static double noise_energy[N_SNRPTR];
-static double acc_seg_snr[N_SNRPTR];
-static int32_t seg_count[N_SNRPTR];
-static double acc_wseg_snr[N_SNRPTR];
-static double wseg_count[N_SNRPTR];
-static float *mem_delay_comp[N_SNRPTR] = { 0 };
-static float mem_deemph_x[MAX_INPUT_CHANNELS] = { 0 };
-static float mem_deemph_y[MAX_INPUT_CHANNELS] = { 0 };
-static float mem_synth_snr[MAX_INPUT_CHANNELS][M];
-
-
-/*-------------------------------------------------------------------*
- * Local functions - they are copies of functions declared in prot.h but
- here we do not want to include prot.h due to its dependencies
- *--------------------------------------------------------------------*/
-
-#ifdef DEBUG_MODE_INFO
-static void set_f(
- float y[], /* i/o: Vector to set */
- const float a, /* i : Value to set the vector to */
- const int16_t N /* i : Lenght of the vector */
-)
-{
- int16_t i;
-
- for ( i = 0; i < N; i++ )
- {
- y[i] = a;
- }
-
- return;
-}
-#endif
-
-static float sum2_f(
- const float *vec, /* i : input vector */
- const int16_t lvec /* i : length of input vector */
-)
-{
- int16_t i;
- float tmp;
-
- tmp = 0.0f;
- for ( i = 0; i < lvec; i++ )
- {
- tmp += vec[i] * vec[i];
- }
-
- return tmp;
-}
-
-
-static void mvr2r(
- const float x[], /* i : input vector */
- float y[], /* o : output vector */
- const int16_t n /* i : vector size */
-)
-{
- int16_t i;
-
- if ( n <= 0 )
- {
- /* cannot transfer vectors with size 0 */
- return;
- }
-
- if ( y < x )
- {
- for ( i = 0; i < n; i++ )
- {
- y[i] = x[i];
- }
- }
- else
- {
- for ( i = n - 1; i >= 0; i-- )
- {
- y[i] = x[i];
- }
- }
-
- return;
-}
-
-static void residu(
- const float *a, /* i : LP filter coefficients */
- const int16_t m, /* i : order of LP filter */
- const float *x, /* i : input signal (usually speech) */
- float *y, /* o : output signal (usually residual) */
- const int16_t l /* i : size of filtering */
-)
-{
- float s;
- int16_t i, j;
-
- for ( i = 0; i < l; i++ )
- {
- s = x[i];
- for ( j = 1; j <= m; j++ )
- {
- s += a[j] * x[i - j];
- }
- y[i] = s;
- }
-
- return;
-}
-
-static void deemph(
- float *signal, /* i/o: signal */
- const float mu, /* i : deemphasis factor */
- const int16_t L, /* i : vector size */
- float *mem /* i/o: memory (y[-1]) */
-)
-{
- int16_t i;
-
- signal[0] = signal[0] + mu * ( *mem );
- for ( i = 1; i < L; i++ )
- {
- signal[i] = signal[i] + mu * signal[i - 1];
- }
-
- *mem = signal[L - 1];
-
- if ( ( *mem < 1e-10 ) & ( *mem > -1e-10 ) )
- {
- *mem = 0;
- }
-
- return;
-}
-
-static void weight_a(
- const float *a, /* i : LP filter coefficients */
- float *ap, /* o : weighted LP filter coefficients */
- const float gamma, /* i : weighting factor */
- const int16_t m /* i : order of LP filter */
-)
-{
- float f;
- int16_t i;
-
- ap[0] = a[0];
- f = gamma;
-
- for ( i = 1; i <= m; i++ )
- {
- ap[i] = f * a[i];
- f *= gamma;
- }
-
- return;
-}
-
-
-/*-------------------------------------------------------------------*
- * snr()
- *
- * Calculates and accumulates SNR values for a signal specified with a
- * certain string. The signal is input in segments having certain length,
- * for which a global SNR, segmental SNR and weighted segmental SNR is computed.
- *--------------------------------------------------------------------*/
-
-void snr(
- const float *const signal,
- const float *const noise,
- const int16_t length,
- const char *const name )
-{
- int16_t index;
- double signal_sumsq, noise_sumsq, frame_snr, seg_en;
-
- index = lookup( name, (const char *const *) snr_name, snr_count );
- if ( index == -1 )
- {
- index = snr_count;
- signal_energy[index] = 0;
- noise_energy[index] = 0;
- acc_seg_snr[index] = 0;
- seg_count[index] = 0;
- acc_wseg_snr[index] = 0;
- wseg_count[index] = 0;
- snr_name[index] = malloc( sizeof( char ) * ( strlen( name ) + 1 ) );
- strcpy( snr_name[index], name );
- snr_count++;
- }
-
- signal_sumsq = sum2_f( signal, length ) + 0.001f;
- noise_sumsq = sum2_f( noise, length ) + 0.001f;
- if ( signal_sumsq < noise_sumsq )
- signal_sumsq = noise_sumsq;
- frame_snr = 10 * log10( signal_sumsq / noise_sumsq );
- seg_en = 10 * log10( signal_sumsq / length );
- if ( seg_en < 0.0 )
- seg_en = 0.0;
-
- signal_energy[index] += signal_sumsq;
- noise_energy[index] += noise_sumsq;
- acc_seg_snr[index] += frame_snr;
- seg_count[index]++;
- acc_wseg_snr[index] += frame_snr * seg_en;
- wseg_count[index] += seg_en;
-
- return;
-}
-
-
-/*-------------------------------------------------------------------*
- * snr_diff()
- *
- * Calculates and accumulates SNR values for a signal specified with a
- * certain string. The signal is input in segments having certain length,
- * for which a global SNR, segmental SNR and weighted segmental SNR is computed.
- * A delay between both signals is taken into account
- * and compensated for (positive value means degraded signal is delayed).
- *--------------------------------------------------------------------*/
-
-void snr_diff(
- const float *const clean,
- const float *const degraded,
- const int16_t length,
- const int16_t delay,
- const char *const name )
-{
- int16_t i, index;
- float noise[MAX_SIGNAL_LENGTH], comp_buf[MAX_SIGNAL_LENGTH + MAX_DELAY];
-
- if ( length > MAX_SIGNAL_LENGTH )
- {
- fprintf( stdout, "snr_diff::Input segment too long. Exiting...\n" );
- exit( -1 );
- }
-
- if ( delay < 0 )
- {
- fprintf( stdout, "snr_diff::Degraded signal cannot have negative delay. Exiting...\n" );
- exit( -1 );
- }
-
- /* search for the name in the database */
- index = (int16_t) lookup( name, (const char *const *) snr_name, snr_count );
- if ( index == -1 )
- {
- index = (int16_t) snr_count;
- signal_energy[index] = 0.0f;
- noise_energy[index] = 0.0f;
- acc_seg_snr[index] = 0.0f;
- seg_count[index] = 0;
- acc_wseg_snr[index] = 0.001f;
- wseg_count[index] = 0.001f;
- snr_name[index] = malloc( sizeof( char ) * ( strlen( name ) + 1 ) );
- mem_delay_comp[index] = calloc( delay, sizeof( float ) );
- strcpy( snr_name[index], name );
- snr_count++;
- }
-
- /* delay compensation - introduction of delay to the clean signal */
- mvr2r( mem_delay_comp[index], comp_buf, delay );
- mvr2r( clean, comp_buf + delay, length );
- mvr2r( comp_buf + length, mem_delay_comp[index], delay );
-
- for ( i = 0; i < length; i++ )
- {
- noise[i] = comp_buf[i] - degraded[i];
- }
-
- snr( comp_buf, noise, length, name );
-
- return;
-}
-
-
-/*-------------------------------------------------------------------*
- * snr_celp()
- *
- * Calculates SNR, segmental SNR and weighted segmental SNR values for active
- * frames (GENERIC, VOICED, TRANSITION and AUDIO) of CELP-coded signals. Both, the input and output
- * signals are first converted to the perceptually weighted domain, subtracted to
- * obtain the noise signal and de-emphasized.
- *--------------------------------------------------------------------*/
-
-void snr_celp(
- const int16_t L_frame,
- const int16_t L_subfr,
- const float gamma,
- const float tilt_fac,
- const int16_t vad_flag,
- const int16_t coder_type,
- const float *input,
- const float *output,
- const float *A,
- const int16_t idchan,
- const char *name )
-{
- int16_t i;
- float noise[L_FRAME16k], Ap[M + 1], x[L_FRAME16k], y[L_FRAME16k], synth_buf[M + L_FRAME16k], *synth;
- const float *p_A;
- int16_t j;
-#ifdef DEBUG_MODE_INFO
- float signal2, noise2, subframe_snr;
-#endif
-
- synth = synth_buf + M;
- mvr2r( mem_synth_snr[idchan], synth_buf, M );
- mvr2r( output, synth, L_frame );
- mvr2r( synth_buf + L_frame, mem_synth_snr[idchan], M );
-
- p_A = A;
- for ( i = 0; i < L_frame; i += L_subfr )
- {
- weight_a( p_A, Ap, gamma, M );
- residu( Ap, M, &input[i], &x[i], L_subfr );
- residu( Ap, M, &synth[i], &y[i], L_subfr );
- p_A += ( M + 1 );
-
- deemph( &x[i], tilt_fac, L_subfr, &mem_deemph_x[idchan] );
- deemph( &y[i], tilt_fac, L_subfr, &mem_deemph_y[idchan] );
-
- for ( j = 0; j < L_subfr; j++ )
- {
- noise[i + j] = x[i + j] - y[i + j];
- }
-
-#ifdef DEBUG_MODE_INFO
- signal2 = sum2_f( &x[i], L_subfr ) + 0.001f;
- noise2 = sum2_f( &noise[i], L_subfr ) + 0.001f;
- if ( signal2 < noise2 )
- signal2 = noise2;
- subframe_snr = 10.0f * log10f( signal2 / noise2 );
-
- if ( L_frame == L_FRAME )
- {
- set_f( snr_[idchan] + i * 5 / 4, subframe_snr, L_subfr * 5 / 4 );
- }
- else
- {
- set_f( snr_[idchan] + i, subframe_snr, L_subfr );
- }
-#endif
- }
-
- if ( vad_flag == 1 && ( coder_type == GENERIC || coder_type == VOICED || coder_type == TRANSITION || coder_type == AUDIO ) )
- {
- snr( x, noise, L_frame, name );
- }
-
- return;
-}
-
-/*-------------------------------------------------------------------*
- * print_snr()
- *
- * Finalizes and presents accumulated SNR data
- *--------------------------------------------------------------------*/
-
-void print_snr( void )
-{
- int16_t i;
- double snr, segsnr, wsegsnr;
-
- if ( snr_count > 0 )
- {
- fprintf( stdout, "\n --- SNR report --- \n" );
-
- for ( i = 0; i < snr_count; i++ )
- {
- snr = 10 * log10( signal_energy[i] / ( noise_energy[i] + 0.0001f ) );
- segsnr = acc_seg_snr[i] / ( seg_count[i] + 0.0001f );
- wsegsnr = acc_wseg_snr[i] / ( wseg_count[i] + 0.0001f );
- fprintf( stdout, "%-22s %6.3f dB SNR %6.3f dB SegSNR %6.3f dB WSegSNR\n", snr_name[i], snr, segsnr, wsegsnr );
- }
- fprintf( stdout, "\n" );
- }
-
- /* free allocated memory */
- for ( i = 0; i < N_SNRPTR; i++ )
- {
- if ( snr_name[i] )
- {
- free( snr_name[i] );
- snr_name[i] = NULL;
- }
-
- if ( mem_delay_comp[i] )
- {
- free( mem_delay_comp[i] );
- mem_delay_comp[i] = NULL;
- }
- }
-
- return;
-}
-
-#endif
diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c
index 5afd9de166568531c15df05978d588430d1cad77..e874bc46e1d5e3b42d17571b8557ddcd40c1552d 100644
--- a/lib_debug/wmc_auto.c
+++ b/lib_debug/wmc_auto.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
* (C) 2024 copyright VoiceAge Corporation. All Rights Reserved.
*
diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h
index 64e2c751a9261c0e8e02c147f194047f61b83786..55678bc51c7cbe67101380cb88f4e885bf8641be 100644
--- a/lib_debug/wmc_auto.h
+++ b/lib_debug/wmc_auto.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*
* (C) 2024 copyright VoiceAge Corporation. All Rights Reserved.
*
diff --git a/lib_dec/ACcontextMapping_dec_fx.c b/lib_dec/ACcontextMapping_dec_fx.c
index acf372565408b238d2a86c40b85a396f5660b5ae..92142728da5b8b46f47389083a003f53ca8d869e 100644
--- a/lib_dec/ACcontextMapping_dec_fx.c
+++ b/lib_dec/ACcontextMapping_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -523,9 +526,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx(
move16();
/* Confirm that there is no overflow */
-#ifdef DEBUGGING
- assert( st->next_bit_pos - start_bit_pos + rest_bits <= 0 );
-#endif
/* Store decoded data */
x[a1_i] = a;
@@ -577,9 +577,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx(
assert( rc_st_dec.bit_error_detected == 0 );
/* Cross-check: No overflow */
-#ifdef DEBUGGING
- assert( k == lastnz );
-#endif
/* Decode signs */
n = nt;
@@ -682,9 +679,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx(
move16();
/* Confirm that there is no overflow */
-#ifdef DEBUGGING
- assert( st->next_bit_pos - start_bit_pos + rest_bits <= 0 );
-#endif
/* Store decoded data */
x[k + 0] = a;
diff --git a/lib_dec/FEC_HQ_core_fx.c b/lib_dec/FEC_HQ_core_fx.c
index c90530d5dc23b5316d00bbf860197b4377ec78be..ec9cd17ffb20171968a2c744a59d0d596ba53105 100644
--- a/lib_dec/FEC_HQ_core_fx.c
+++ b/lib_dec/FEC_HQ_core_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/FEC_HQ_phase_ecu_fx.c b/lib_dec/FEC_HQ_phase_ecu_fx.c
index f79e9e4b1edd9e7e0dc61b99aa06883a5e01d6ba..811129a29fa6b900fad7aae57e4f305b460c1f11 100644
--- a/lib_dec/FEC_HQ_phase_ecu_fx.c
+++ b/lib_dec/FEC_HQ_phase_ecu_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -2139,11 +2142,7 @@ static void ivas_subst_spec_fx(
im = *pImX;
move16();
tmp = sub_sat( mult_r( re, cos_F ), mult_r( im, sin_F ) );
-#ifdef FIX_2170_ASSERT_IN_FFT3
im = add_sat( mult_r( re, sin_F ), mult_r( im, cos_F ) );
-#else
- im = add( mult_r( re, sin_F ), mult_r( im, cos_F ) );
-#endif
IF( LT_16( alpha[k], 32766 ) )
{
alpha_local = mag_chg_local;
diff --git a/lib_dec/FEC_adapt_codebook_fx.c b/lib_dec/FEC_adapt_codebook_fx.c
index 24ddc6463b456cab77b31fec330af17b6b00b081..9fdd1a1126074c9598c1f642f59565f54eebc92e 100644
--- a/lib_dec/FEC_adapt_codebook_fx.c
+++ b/lib_dec/FEC_adapt_codebook_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/FEC_clas_estim_fx.c b/lib_dec/FEC_clas_estim_fx.c
index 595e750f49e710ae9d93a00654cc8aed40850b8d..f0baa23e28088d8b1ea51a56c04bf2810581aa6b 100644
--- a/lib_dec/FEC_clas_estim_fx.c
+++ b/lib_dec/FEC_clas_estim_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/FEC_fx.c b/lib_dec/FEC_fx.c
index 574e2e14f9e209a4cef2a1ea22b86bcbf3971dcd..cd4dfbaad15e4203f1f2e5d445de9cee22d48e33 100644
--- a/lib_dec/FEC_fx.c
+++ b/lib_dec/FEC_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/FEC_lsf_estim_fx.c b/lib_dec/FEC_lsf_estim_fx.c
index d64b6fe3ee6c24dee1d547b6f82dc71f9fcdc500..0e4baec5a5e19e7205a7a41e809c3fd3d9705bfa 100644
--- a/lib_dec/FEC_lsf_estim_fx.c
+++ b/lib_dec/FEC_lsf_estim_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/FEC_pitch_estim_fx.c b/lib_dec/FEC_pitch_estim_fx.c
index f2522dc511f119150fdbc9e8b3fb1efb6ddac23c..88d4022c002b441abfbea07e7d1f677ecb53fb61 100644
--- a/lib_dec/FEC_pitch_estim_fx.c
+++ b/lib_dec/FEC_pitch_estim_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/FEC_scale_syn_fx.c b/lib_dec/FEC_scale_syn_fx.c
index f26c4bffe0dac9a296ceb0811c28381e9745e41a..d183ce7a4463b7819587bb73c79133fd94d8db3e 100644
--- a/lib_dec/FEC_scale_syn_fx.c
+++ b/lib_dec/FEC_scale_syn_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/LD_music_post_filter_fx.c b/lib_dec/LD_music_post_filter_fx.c
index d1ec20b0b88a35f8e3217eb632e085cbaabf384f..51cf134540673e647a3e75287711c4e0a9819386 100644
--- a/lib_dec/LD_music_post_filter_fx.c
+++ b/lib_dec/LD_music_post_filter_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/TonalComponentDetection_fx.c b/lib_dec/TonalComponentDetection_fx.c
index 093752bb704853083266223ebb8d55dd15ba7721..dfd295f238217abd6913bbc8226697ca1c60479a 100644
--- a/lib_dec/TonalComponentDetection_fx.c
+++ b/lib_dec/TonalComponentDetection_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -453,11 +456,7 @@ static void getEnvelope(
FOR( i = 0; i < n2; i++ )
{
-#ifdef FIX_BASOP_ASSERT_IN_TONAL_MDCT_PLC
sum = L_add_sat( sum, powerSpec[i] ); /*powerSpec_exp*/
-#else
- sum = L_add( sum, powerSpec[i] ); /*powerSpec_exp*/
-#endif
}
/* No need for PTR_INIT for powerSpec[i+n2] as we continue from the previous loop */
FOR( i = 0; i < n1; i++ )
diff --git a/lib_dec/acelp_core_dec_fx.c b/lib_dec/acelp_core_dec_fx.c
index 0bc1b8403fdaed1f55c2e6a984558d662fd4d622..64bba1979eb73a448541a2084b24fa960437c65e 100644
--- a/lib_dec/acelp_core_dec_fx.c
+++ b/lib_dec/acelp_core_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -124,11 +96,7 @@ ivas_error acelp_core_dec_fx(
ivas_error error;
Word32 bpf_error_signal_fx[L_FRAME16k];
Word16 bpf_error_signal_16fx[L_FRAME16k];
-#ifdef FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC
Word16 Q_real, scf;
-#else
- Word16 Q_real;
-#endif
Word32 max_real, max_imag, max_val;
set32_fx( bpf_error_signal_fx, 0, L_FRAME16k );
@@ -2087,22 +2055,16 @@ ivas_error acelp_core_dec_fx(
}
max_val = L_max( max_real, max_imag );
Q_real = sub( norm_l( max_val ), 3 ) /* Guard bits */;
-#ifdef FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC
scf = L_norm_arr( st->cldfbSyn->cldfb_state_fx, st->cldfbSyn->p_filter_length );
scf = s_min( scf, sub( Q_real, Q11 ) );
Q_real = add( scf, Q11 );
-#endif
FOR( i = 0; i < CLDFB_NO_COL_MAX; i++ )
{
scale_sig32( realBuffer_fx[i], CLDFB_NO_CHANNELS_MAX, Q_real ); // Q_real
scale_sig32( imagBuffer_fx[i], CLDFB_NO_CHANNELS_MAX, Q_real ); // Q_real
}
-#ifdef FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC
scale_sig32( st->cldfbSyn->cldfb_state_fx, st->cldfbSyn->p_filter_length, scf ); // Q10 - > (Q_real-1)
-#else
- scale_sig32( st->cldfbSyn->cldfb_state_fx, st->cldfbSyn->p_filter_length, sub( Q_real, Q11 ) ); // Q10 - > (Q_real-1)
-#endif
st->cldfbSyn->Q_cldfb_state = sub( Q_real, 1 );
move16();
diff --git a/lib_dec/acelp_core_switch_dec_fx.c b/lib_dec/acelp_core_switch_dec_fx.c
index dc801242cf9e566dfcb0454780a7b609fcafa308..66ee0fc81a04b414d8fdf93c4a6dfd3130a21b4a 100644
--- a/lib_dec/acelp_core_switch_dec_fx.c
+++ b/lib_dec/acelp_core_switch_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/amr_wb_dec_fx.c b/lib_dec/amr_wb_dec_fx.c
index 375565f622cf9c4d1b8242617769ef5af106059b..0076e4ece4fbcffdb4e5765c58d9ed88fcf8ee31 100644
--- a/lib_dec/amr_wb_dec_fx.c
+++ b/lib_dec/amr_wb_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/ari_dec_fx.c b/lib_dec/ari_dec_fx.c
index 680c492dbffe245174b88e8e63d179b954195132..bd91bd5f10cc9eb66307362658c6f22ff5516acf 100644
--- a/lib_dec/ari_dec_fx.c
+++ b/lib_dec/ari_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/ari_hm_dec_fx.c b/lib_dec/ari_hm_dec_fx.c
index 51949328c550ed6428311ee6c78ec5efc42c53fd..2b54cf84c28b3a1a18f02d1286ba2b17107534e9 100644
--- a/lib_dec/ari_hm_dec_fx.c
+++ b/lib_dec/ari_hm_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/arith_coder_dec_fx.c b/lib_dec/arith_coder_dec_fx.c
index 997bc43c798b89482834e3b511cd74e9948b00f1..c92400d60511b5d6e2d9a1e47b7ffe3e4e20b457 100644
--- a/lib_dec/arith_coder_dec_fx.c
+++ b/lib_dec/arith_coder_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/avq_dec_fx.c b/lib_dec/avq_dec_fx.c
index 21f7d4e1c61301aacba4d0557a280fd7910ba1a8..6193d68c0cc978e1b0d00983ced801aae9993c01 100644
--- a/lib_dec/avq_dec_fx.c
+++ b/lib_dec/avq_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/bass_psfilter_fx.c b/lib_dec/bass_psfilter_fx.c
index d2f1679e8f9dccbd0c1e1ec5f6c28c39a4c41d1a..88e47d78f7fcdc4d807bd82935389a64852e56b2 100644
--- a/lib_dec/bass_psfilter_fx.c
+++ b/lib_dec/bass_psfilter_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/cng_dec_fx.c b/lib_dec/cng_dec_fx.c
index 77bb6386fdbb4b3a4783aeb2d74e94c47a4d4788..18e99d74b027bde6e6e6cbe3688c239f8bf78c59 100644
--- a/lib_dec/cng_dec_fx.c
+++ b/lib_dec/cng_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c
index 8b78def57acbc7f588645e80fa8cf4d476dee938..3c481d8e41da5c160d63f71674183f95c18ae1ed 100644
--- a/lib_dec/core_dec_init_fx.c
+++ b/lib_dec/core_dec_init_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/core_dec_reconf_fx.c b/lib_dec/core_dec_reconf_fx.c
index 77da861c1d54ddb3b09daf55da450f4b73da0d2e..e0c5a25b5f9a8b63bb66355602975e3e3aa949b3 100644
--- a/lib_dec/core_dec_reconf_fx.c
+++ b/lib_dec/core_dec_reconf_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/core_dec_switch_fx.c b/lib_dec/core_dec_switch_fx.c
index 7355b912e3d1e63a8b9d4383b1c22c6d14bfdf1d..c5c4970de0ea395e502aeaa270d5a80770ef7a84 100644
--- a/lib_dec/core_dec_switch_fx.c
+++ b/lib_dec/core_dec_switch_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/core_switching_dec_fx.c b/lib_dec/core_switching_dec_fx.c
index 5946f577a06dd73ecee1d753aa9032d2921904ef..684de8c10b9ce5b911ec85ec7db319d7f5f45330 100644
--- a/lib_dec/core_switching_dec_fx.c
+++ b/lib_dec/core_switching_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/d_gain2p_fx.c b/lib_dec/d_gain2p_fx.c
index 4d1c101c05441b731f8d866b3d1b8e5cc92c40e3..05d8d9e53f627025109c3c49f11189f2c65f0dca 100644
--- a/lib_dec/d_gain2p_fx.c
+++ b/lib_dec/d_gain2p_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec2t32_fx.c b/lib_dec/dec2t32_fx.c
index 87058fe54bd9c956eb6be622a4df94dc5485c8c1..fbc6822e789f5694a74c797d3e6276e1d0b921e3 100644
--- a/lib_dec/dec2t32_fx.c
+++ b/lib_dec/dec2t32_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec4t64_fx.c b/lib_dec/dec4t64_fx.c
index 69efcb79eace1224b1ed0dec8a969240cb16b2df..b693b3cd8728e201e9069a7bfc32d500d48df299 100644
--- a/lib_dec/dec4t64_fx.c
+++ b/lib_dec/dec4t64_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_LPD_fx.c b/lib_dec/dec_LPD_fx.c
index de1e3ea0d0023b2786ff73d12dff622e6e1c9c8c..ae19ca01d998a57c8307cacda2862e8c0d2614a3 100644
--- a/lib_dec/dec_LPD_fx.c
+++ b/lib_dec/dec_LPD_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_ace_fx.c b/lib_dec/dec_ace_fx.c
index 8453a16cf1e309bfee4336387e866b86300949a9..231295140dd930b545255a21da1b902105ed4365 100644
--- a/lib_dec/dec_ace_fx.c
+++ b/lib_dec/dec_ace_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_acelp_fx.c b/lib_dec/dec_acelp_fx.c
index e7f8c98ce7332dc3283ce290c5851eca31e78850..6e88ece7eb7415a81b02edcb726263cd40f6439e 100644
--- a/lib_dec/dec_acelp_fx.c
+++ b/lib_dec/dec_acelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_acelp_tcx_main_fx.c b/lib_dec/dec_acelp_tcx_main_fx.c
index a4f4ef77c1e8f30f46935132c55b252765a1239e..aa05ee10a2ba8c3a9e792bda27671993107430e9 100644
--- a/lib_dec/dec_acelp_tcx_main_fx.c
+++ b/lib_dec/dec_acelp_tcx_main_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_amr_wb_fx.c b/lib_dec/dec_amr_wb_fx.c
index c5b08a784c0f3fa6cd8fd63f925dbc23dc60c16e..80a7bd5394bf6d57d143853e85c0401a356dc09c 100644
--- a/lib_dec/dec_amr_wb_fx.c
+++ b/lib_dec/dec_amr_wb_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_gen_voic_fx.c b/lib_dec/dec_gen_voic_fx.c
index df70df033e54ededad999609874d99d03da7d496..778f75fd8a1dace50e1c3b97c465c2d1d7ed9f16 100644
--- a/lib_dec/dec_gen_voic_fx.c
+++ b/lib_dec/dec_gen_voic_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_higher_acelp_fx.c b/lib_dec/dec_higher_acelp_fx.c
index fa76b34c69d6c85260fb33060103628b24f094dd..6b6205d97e87cfcfcaf3f56f6470a0ebab890658 100644
--- a/lib_dec/dec_higher_acelp_fx.c
+++ b/lib_dec/dec_higher_acelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_nelp_fx.c b/lib_dec/dec_nelp_fx.c
index c6f6f5cfd59331d9637765aa41d20d42940b8e93..bbae160f44d3d2186c3f5fe1bdfb325a671d985c 100644
--- a/lib_dec/dec_nelp_fx.c
+++ b/lib_dec/dec_nelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_pit_exc_fx.c b/lib_dec/dec_pit_exc_fx.c
index 009102c1f25a1edc003ce58e18023752782d0180..14c8f0856d0f864a997ff19ced88077e98b86be3 100644
--- a/lib_dec/dec_pit_exc_fx.c
+++ b/lib_dec/dec_pit_exc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_post_fx.c b/lib_dec/dec_post_fx.c
index 7c1e949cafbbe6f74bc782e2b6c27b78303719aa..67c00b1a8d9a07da905e19648d5b27379c8bc5fa 100644
--- a/lib_dec/dec_post_fx.c
+++ b/lib_dec/dec_post_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_ppp_fx.c b/lib_dec/dec_ppp_fx.c
index d426b59629e940827eccf43de03547dc332a42d0..cc22185237dcc386fcf4bd340d8af556a4103732 100644
--- a/lib_dec/dec_ppp_fx.c
+++ b/lib_dec/dec_ppp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_prm_fx.c b/lib_dec/dec_prm_fx.c
index 16e588396b547fb2f56c6e88a6f44d616bbed3bc..c1546f326c69f6d6d636a99b8e472022644de6eb 100644
--- a/lib_dec/dec_prm_fx.c
+++ b/lib_dec/dec_prm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_tcx_fx.c b/lib_dec/dec_tcx_fx.c
index 38c6e06883fc50e50fb86d91e664274720943d03..97a48f5e355e3338500c62096321a4b941a996cd 100644
--- a/lib_dec/dec_tcx_fx.c
+++ b/lib_dec/dec_tcx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -3970,14 +3973,9 @@ void decoder_tcx_ivas_fx(
Word16 prm[],
Word16 A_fx[], // Q: 14 - norm_s(A_fx[0])
Word16 Aind[], // Q: 14 - norm_s(Aind[0])
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Word16 synth_fx[],
Word16 synthFB_fx[],
Word16 *synth_q,
-#else
- Word16 synth_fx[], // Q_syn
- Word16 synthFB_fx[], // Q_syn
-#endif
const Word16 bfi,
const Word16 frame_cnt,
const Word16 sba_dirac_stereo_flag )
@@ -4067,9 +4065,6 @@ void decoder_tcx_ivas_fx(
move16();
q_winFB = st->Q_syn;
move16();
-#ifndef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
- assert( q_win == 0 );
-#endif
Scale_sig( synth_fx, L_frame_glob, sub( q_win, st->Q_syn ) ); // Scaling to Q_syn
Scale_sig( synthFB_fx, L_frameTCX_glob, sub( q_winFB, st->Q_syn ) ); // Scaling to Q_syn
@@ -4078,17 +4073,12 @@ void decoder_tcx_ivas_fx(
fUseTns, &synth_fx[0], &synthFB_fx[0], bfi, frame_cnt, sba_dirac_stereo_flag );
/* Scaling up again */
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Word16 q_min = s_min( add( q_win, getScaleFactor16( synth_fx, L_frame_glob ) ),
add( q_winFB, getScaleFactor16( synthFB_fx, L_frameTCX_glob ) ) );
q_min = s_min( q_min, st->Q_syn );
Scale_sig( synth_fx, L_frame_glob, sub( q_min, q_win ) );
Scale_sig( synthFB_fx, L_frameTCX_glob, sub( q_min, q_winFB ) );
*synth_q = q_min;
-#else
- Scale_sig( synth_fx, L_frame_glob, sub( st->Q_syn, q_win ) );
- Scale_sig( synthFB_fx, L_frameTCX_glob, sub( st->Q_syn, q_winFB ) );
-#endif
// Scale_sig( st->hTcxDec->syn_Overl, L_FRAME32k / 2, 1 );
diff --git a/lib_dec/dec_tran_fx.c b/lib_dec/dec_tran_fx.c
index fe1ceeb2328c1e80c370a0c3deaf6c9bc4552322..e1da8930defd2d1ba891a26fcd1541242c949af7 100644
--- a/lib_dec/dec_tran_fx.c
+++ b/lib_dec/dec_tran_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dec_uv_fx.c b/lib_dec/dec_uv_fx.c
index cf2c7dcfc45aa93beeea445950ba57fd248f43aa..fb4e66fe807f40f9d80007bcdbf933d139f8ef48 100644
--- a/lib_dec/dec_uv_fx.c
+++ b/lib_dec/dec_uv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/decision_matrix_dec_fx.c b/lib_dec/decision_matrix_dec_fx.c
index 0bc7794dc7b8322b5e9f670b889945c80aebebdf..9252e7512591ad25cc092bfdc78c7b8d14683434 100644
--- a/lib_dec/decision_matrix_dec_fx.c
+++ b/lib_dec/decision_matrix_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dlpc_avq_fx.c b/lib_dec/dlpc_avq_fx.c
index 4be63062f666f69a378635d29c244b182a670ae1..a155b64c9252481a1f5ca7a950691afb91c16de5 100644
--- a/lib_dec/dlpc_avq_fx.c
+++ b/lib_dec/dlpc_avq_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/dlpc_stoch_fx.c b/lib_dec/dlpc_stoch_fx.c
index d4f3daeb8f4e5c60cb1a2ca4656029f3d3471c54..1a9bddf42aa97638eaea3f14c47c9c85edb59470 100644
--- a/lib_dec/dlpc_stoch_fx.c
+++ b/lib_dec/dlpc_stoch_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/er_dec_acelp_fx.c b/lib_dec/er_dec_acelp_fx.c
index 20408c23c8f53d4d3e6ae6a1313d82885dcb97a7..ee30990c4c5192297a42bf326de3fc9feef632be 100644
--- a/lib_dec/er_dec_acelp_fx.c
+++ b/lib_dec/er_dec_acelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/er_dec_tcx_fx.c b/lib_dec/er_dec_tcx_fx.c
index 2aba77f620762f86c92118636f2ce9816383714d..71bdb1db4cfe4cd62aebff6946c0dc5935a6d218 100644
--- a/lib_dec/er_dec_tcx_fx.c
+++ b/lib_dec/er_dec_tcx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -101,11 +104,7 @@ void con_tcx_fx(
Word16 pre_emph_buf;
Word16 hp_filt[L_FIR_FER2];
Word16 alpha;
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Word16 tmp_deemph, gain, gainCNG, gain_inov, scf;
-#else
- Word16 tmp_deemph, gain, gainCNG, gain_inov;
-#endif
Word16 *pt_exc, *pt1_exc;
Word16 Tc, tmpSeed;
Word16 fUseExtrapolatedPitch;
@@ -190,16 +189,10 @@ void con_tcx_fx(
IF( ( EQ_16( st->nbLostCmpt, 1 ) ) || hTcxDec->tcxConceal_recalc_exc )
{
/* apply pre-emphasis to the signal */
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
mem = shl( synth[( -( ( ( shr( L_frame, 1 ) + hTcxDec->pit_max_TCX ) + M + M ) ) - 1 )], st->Q_syn_factor ); /*Q0*/
-#else
- mem = synth[( -( ( ( ( L_frame / 2 ) + hTcxDec->pit_max_TCX ) + M + M ) ) - 1 )]; /*Q0*/
-#endif
move16();
Q_exc = E_UTIL_f_preemph3( &( synth[-( ( ( L_frame / 2 ) + hTcxDec->pit_max_TCX ) + 2 * M )] ), st->preemph_fac, add( add( shr( L_frame, 1 ), hTcxDec->pit_max_TCX ), shl( M, 1 ) ), &mem, 1 );
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Scale_sig( &( synth[-( ( shr( L_frame, 1 ) + hTcxDec->pit_max_TCX ) + 2 * M )] ), add( add( shr( L_frame, 1 ), hTcxDec->pit_max_TCX ), shl( M, 1 ) ), negate( st->Q_syn_factor ) ); /*Q0, Setting back to Q0, as the following calculations are implemented assuming synth is in Q0 */
-#endif
st->Mode2_lp_gainc = L_deposit_l( 0 );
st->Mode2_lp_gainp = get_gain2( synth - shl( L_subfr, 1 ), synth - add( shl( L_subfr, 1 ), Tc ), shl( L_subfr, 1 ) ); /*Q16*/
@@ -238,17 +231,11 @@ void con_tcx_fx(
ELSE
{
/* apply pre-emphasis to the signal */
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
mem = shl( synth[( -L_frame - 1 )], st->Q_syn_factor ); /*Q0*/
-#else
- mem = synth[( -L_frame - 1 )]; /*Q0*/
-#endif
move16();
Q_exc = E_UTIL_f_preemph3( &( synth[-L_frame] ), st->preemph_fac, L_frame, &mem, 1 );
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Scale_sig( &synth[-L_frame], L_frame, negate( st->Q_syn_factor ) ); /*Q0, Setting back to Q0, as the following calculations are implemented assuming synth is in Q0 */
-#endif
- Copy( st->old_Aq_12_8_fx, A_local, M + 1 ); /*Q12*/
+ Copy( st->old_Aq_12_8_fx, A_local, M + 1 ); /*Q12*/
offset = shr( L_frame, 1 );
IF( GE_16( st->last_good, UNVOICED_TRANSITION ) )
@@ -778,9 +765,8 @@ void con_tcx_fx(
* - compute the synthesis speech *
*----------------------------------------------------------*/
- syn = buf + M; /*Q_syn*/
- Copy( synth - M, buf, M ); /*Q_syn*/
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
+ syn = buf + M; /*Q_syn*/
+ Copy( synth - M, buf, M ); /*Q_syn*/
IF( NE_32( st->element_mode, EVS_MONO ) ) // to keep evs bit-exactness
{
scf = norm_s( tmp_deemph );
@@ -796,10 +782,6 @@ void con_tcx_fx(
scf = 0;
move16();
}
-#else
- new_Q = sub( Q_exc, 3 );
- new_Q = s_max( new_Q, -1 );
-#endif
tmp16 = s_min( new_Q, st->prev_Q_syn );
st->prev_Q_syn = new_Q;
@@ -810,8 +792,7 @@ void con_tcx_fx(
move16();
Copy_Scale_sig( buf, mem_syn, M, exp_scale ); /*Q: tmp16*/
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
- IF( NE_32( st->element_mode, EVS_MONO ) ) // to keep evs bit-exactness
+ IF( NE_32( st->element_mode, EVS_MONO ) ) // to keep evs bit-exactness
{
if ( GT_16( sub( Q_syn, st->Q_syn_factor ), scf ) )
{
@@ -825,9 +806,6 @@ void con_tcx_fx(
}
st->Q_syn_factor = 0;
move16();
-#else
- tmp_deemph = shl_sat( tmp_deemph, Q_syn ); /*Q_syn*/
-#endif
st->Q_syn = Q_syn;
move16();
diff --git a/lib_dec/er_scale_syn_fx.c b/lib_dec/er_scale_syn_fx.c
index 85cad33ee600fc8b6f629d43d1a6355a4987393a..4beedfc876522750b7994d76e230e6d68f890ebd 100644
--- a/lib_dec/er_scale_syn_fx.c
+++ b/lib_dec/er_scale_syn_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/er_sync_exc_fx.c b/lib_dec/er_sync_exc_fx.c
index 6fafb882af7de7721d889c8100c24690714fdad5..372a01e741a0333057485b7b109e819744397f4b 100644
--- a/lib_dec/er_sync_exc_fx.c
+++ b/lib_dec/er_sync_exc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/er_util_fx.c b/lib_dec/er_util_fx.c
index 9d9a273ac96c0b554aa710fc4c8f817b99f8c1a1..69012411510f989eee089de27cc26b16403787c5 100644
--- a/lib_dec/er_util_fx.c
+++ b/lib_dec/er_util_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/evs_dec_fx.c b/lib_dec/evs_dec_fx.c
index 498b20acccc783dcc8702b247d6e4c3b8379ed5c..3f65adac73463c548cfde56bc25d4cc1af108a77 100644
--- a/lib_dec/evs_dec_fx.c
+++ b/lib_dec/evs_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/fd_cng_dec_fx.c b/lib_dec/fd_cng_dec_fx.c
index abdac90760fa26063e162fdd27a4bd8b5f493bcf..eced628044533e56dd8e12663a22424bdadc427e 100644
--- a/lib_dec/fd_cng_dec_fx.c
+++ b/lib_dec/fd_cng_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -22,9 +25,6 @@
#include "rom_basop_util.h"
#include "ivas_rom_dec.h"
#include "ivas_prot_fx.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#define CNA_ACT_DN_LARGE_PARTITION 50 /* index of the first larger partition */
@@ -2928,20 +2928,12 @@ void generate_comfort_noise_dec_ivas_fx(
temp = 0;
move16();
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
c1 = Sqrt16( hFdCngCom->coherence_fx[0], &temp ); /*Q15 - temp*/
-#else
- c1 = Sqrt16( hFdCngCom->coherence_fx, &temp ); /*Q15 - temp*/
-#endif
- c1 = shl( c1, temp ); /*Q15*/
+ c1 = shl( c1, temp ); /*Q15*/
temp = 0;
move16();
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
c2 = Sqrt16( sub( MAX_16, hFdCngCom->coherence_fx[0] ), &temp ); /*Q15 - temp*/
-#else
- c2 = Sqrt16( sub( MAX_16, hFdCngCom->coherence_fx ), &temp ); /*Q15 - temp*/
-#endif
- c2 = shl( c2, temp ); /*Q15*/
+ c2 = shl( c2, temp ); /*Q15*/
temp = getScaleFactor32( fftBuffer, FFTLEN );
scale_sig32( fftBuffer, FFTLEN, temp ); /*Q31 - hFdCngCom->fftBuffer_exp + temp*/
@@ -2968,12 +2960,8 @@ void generate_comfort_noise_dec_ivas_fx(
{
test();
test();
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
test();
IF( ( EQ_16( st->element_mode, IVAS_CPE_MDCT && NE_16( nchan_out, 1 ) ) ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) )
-#else
- IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) )
-#endif
{
rand_gauss_fx( &tmp1, seed, Q15 );
rand_gauss_fx( &tmp2, seed2, Q15 );
@@ -3009,7 +2997,6 @@ void generate_comfort_noise_dec_ivas_fx(
}
ptr_i = ptr_r + 1; /*Q31 - fftBuffer_exp*/
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
test();
IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) && NE_16( nchan_out, 1 ) )
{
@@ -3146,65 +3133,6 @@ void generate_comfort_noise_dec_ivas_fx(
}
}
-#else
- FOR( ; ptr_level < cngNoiseLevel + sub( hFdCngCom->stopFFTbin, hFdCngCom->startBand ); ptr_level++ )
- {
- /* Real part in FFT bins */
- test();
- test();
- IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) )
- {
- rand_gauss_fx( &tmp1, seed, Q15 ); /*Q15*/
- rand_gauss_fx( &tmp2, seed2, Q15 ); /*Q15*/
- *ptr_r = L_add( Mpy_32_16_1( tmp1, c1 ), Mpy_32_16_1( tmp2, c2 ) ); /*Q15*/
- move32();
- fftBuffer_temp_exp[idx] = Q16;
- move16();
- }
- ELSE
- {
- rand_gauss_fx( ptr_r, seed, Q15 ); /*Q15*/
- fftBuffer_temp_exp[idx] = Q16;
- move16();
- }
-
- sqrtNoiseLevel_exp = sub( cngNoiseLevel_exp, 1 );
- sqrtNoiseLevel = Sqrt32( *ptr_level, &sqrtNoiseLevel_exp ); /*Q31 - sqrtNoiseLevel_exp*/
- ( *ptr_r ) = Mpy_32_32( ( *ptr_r ), sqrtNoiseLevel ); /*Q15 - sqrtNoiseLevel_exp*/
- move32();
- fftBuffer_temp_exp[idx] = add( fftBuffer_temp_exp[idx], sqrtNoiseLevel_exp );
- move16();
- idx = add( idx, 1 );
- ptr_r += 2;
-
- /* Imaginary part in FFT bins */
- test();
- test();
- IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) )
- {
- rand_gauss_fx( &tmp1, seed, Q15 ); /*Q15*/
- rand_gauss_fx( &tmp2, seed2, Q15 ); /*Q15*/
- *ptr_i = L_add( Mpy_32_16_1( tmp1, c1 ), Mpy_32_16_1( tmp2, c2 ) ); /*Q15*/
- move32();
- fftBuffer_temp_exp[idx] = Q16;
- move16();
- }
- ELSE
- {
- rand_gauss_fx( ptr_i, seed, Q15 ); /*Q15*/
- fftBuffer_temp_exp[idx] = Q16;
- move16();
- }
- sqrtNoiseLevel_exp = sub( cngNoiseLevel_exp, 1 );
- sqrtNoiseLevel = Sqrt32( *ptr_level, &sqrtNoiseLevel_exp ); /*Q31 - sqrtNoiseLevel_exp*/
- ( *ptr_i ) = Mpy_32_32( ( *ptr_i ), sqrtNoiseLevel ); /*Q15 - sqrtNoiseLevel_exp*/
- move32();
- fftBuffer_temp_exp[idx] = add( fftBuffer_temp_exp[idx], sqrtNoiseLevel_exp );
- move16();
- idx = add( idx, 1 );
- ptr_i += 2;
- }
-#endif
/* Remaining FFT bins are set to zero */
set32_fx( fftBuffer + shl( hFdCngCom->stopFFTbin, 1 ), 0, sub( hFdCngCom->fftlen, shl( hFdCngCom->stopFFTbin, 1 ) ) );
@@ -3315,12 +3243,10 @@ void generate_comfort_noise_dec_ivas_fx(
/* Generate Gaussian random noise in real and imaginary parts of the CLDFB bands
Amplitudes are adjusted to the estimated noise level cngNoiseLevel_flt in each band */
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
/*
* Note: for the stereo DTX noise mixing, c1 and c2 at this point are set to the value calculated for the last band
* as all the coherence bands are in the FFT region, we do not need the special handling here
*/
-#endif
test();
IF( bufferReal != NULL && ( LT_16( hFdCngCom->numCoreBands, hFdCngCom->regularStopBand ) ) )
@@ -3337,12 +3263,8 @@ void generate_comfort_noise_dec_ivas_fx(
FOR( i = 0; i < hFdCngCom->numSlots; i++ )
{
/* Real part in CLDFB band */
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
test();
IF( ( EQ_16( st->element_mode, IVAS_CPE_MDCT ) && NE_16( nchan_out, 1 ) ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) )
-#else
- IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) )
-#endif
{
rand_gauss_fx( &tmp1, seed, Q15 ); /*Q15*/
rand_gauss_fx( &tmp2, seed2, Q15 ); /*Q15*/
@@ -3365,12 +3287,8 @@ void generate_comfort_noise_dec_ivas_fx(
move16();
/* Imaginary part in CLDFB band */
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
test();
IF( ( EQ_16( st->element_mode, IVAS_CPE_MDCT ) && NE_16( nchan_out, 1 ) ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) )
-#else
- IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) )
-#endif
{
rand_gauss_fx( &tmp1, seed, Q15 ); /*Q15*/
rand_gauss_fx( &tmp2, seed2, Q15 ); /*Q15*/
@@ -3717,21 +3635,13 @@ void generate_comfort_noise_dec_hf_ivas_fx(
s = 0;
move16();
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
c1 = Sqrt16( hFdCngCom->coherence_fx[sub( MDCT_ST_DTX_NUM_COHERENCE_BANDS, 1 )], &s ); /*Q15 - s*/
-#else
- c1 = Sqrt16( hFdCngCom->coherence_fx, &s ); /*Q15 - s*/
-#endif
- c1 = shl( c1, s ); // Q15
+ c1 = shl( c1, s ); // Q15
s = 0;
move16();
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
c2 = Sqrt16( sub( MAX16B, hFdCngCom->coherence_fx[sub( MDCT_ST_DTX_NUM_COHERENCE_BANDS, 1 )] ), &s ); /*Q15 - s*/
-#else
- c2 = Sqrt16( sub( MAX16B, hFdCngCom->coherence_fx ), &s ); /*Q15 - s*/
-#endif
- c2 = shl( c2, s ); // Q15
+ c2 = shl( c2, s ); // Q15
}
sn = 0;
@@ -5397,7 +5307,6 @@ void FdCngDecodeMDCTStereoSID_fx(
Scale_sig32( ms_ptr_fx[ch], N, shift ); // Q20
}
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
tmp32 = sts[1]->total_brate;
sts[1]->total_brate = L_add( sts[1]->total_brate, 800 /* 16 * FRAMES_PER_SEC */ );
/* read the four additional coherence values */
@@ -5410,9 +5319,6 @@ void FdCngDecodeMDCTStereoSID_fx(
sts[1]->hFdCngDec->hFdCngCom->coherence_fx[b] = sts[0]->hFdCngDec->hFdCngCom->coherence_fx[b];
}
sts[1]->total_brate = tmp32;
-#else
- dtx_read_padding_bits_fx( sts[1], mult( sub( IVAS_SID_5k2, 4400 ), ONE_BY_FRAMES_PER_SEC_Q15 ) );
-#endif
IF( sts[0]->hFdCngDec->hFdCngCom->no_side_flag )
{
@@ -5597,7 +5503,6 @@ void FdCngDecodeDiracMDCTStereoSID_fx(
lpc_from_spectrum( hFdCngCom, hFdCngCom->startBand, hFdCngCom->stopFFTbin, sts[ch]->preemph_fac );
}
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
FOR( i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ )
{
sts[0]->hFdCngDec->hFdCngCom->coherence_fx[i] = 0;
@@ -5606,12 +5511,6 @@ void FdCngDecodeDiracMDCTStereoSID_fx(
move16();
}
-#else
- sts[0]->hFdCngDec->hFdCngCom->coherence_fx = 0;
- move16();
- sts[1]->hFdCngDec->hFdCngCom->coherence_fx = 0;
- move16();
-#endif
IF( EQ_16( hCPE->nchan_out, 1 ) )
{
diff --git a/lib_dec/gain_dec_fx.c b/lib_dec/gain_dec_fx.c
index ed0c87e5df0d8d5a82ab23452336e1a9dd380753..d4817e46babbc3bb9418da0502b01f66fd9b7748 100644
--- a/lib_dec/gain_dec_fx.c
+++ b/lib_dec/gain_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/gaus_dec_fx.c b/lib_dec/gaus_dec_fx.c
index 539d471c1de41ac24e39ba0cb6469e30d8b94007..97791864fc6d576113480329abeee2e12e53f033 100644
--- a/lib_dec/gaus_dec_fx.c
+++ b/lib_dec/gaus_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/gs_dec_amr_wb_fx.c b/lib_dec/gs_dec_amr_wb_fx.c
index eff6aa18197350fd2bea0067dac81fca9c23de9a..27098d60d48f69ad0e31f223de4a1bd7c799553b 100644
--- a/lib_dec/gs_dec_amr_wb_fx.c
+++ b/lib_dec/gs_dec_amr_wb_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/gs_dec_fx.c b/lib_dec/gs_dec_fx.c
index d68b0a523a93aed81f6ee904fe2bb5c07300e5f2..9558b094fc2f160dc7fa8fe731e7300f31e7740d 100644
--- a/lib_dec/gs_dec_fx.c
+++ b/lib_dec/gs_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/hdecnrm_fx.c b/lib_dec/hdecnrm_fx.c
index 61fa36d9368cf0c6b8a55727721aa980cd605b5c..6be8b00fde70e0afe74480e4927243ea843561da 100644
--- a/lib_dec/hdecnrm_fx.c
+++ b/lib_dec/hdecnrm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/hf_synth_fx.c b/lib_dec/hf_synth_fx.c
index 275b068f201aef269356a9792f983d728bc7e308..2d0b8943eb119ddde539f3658a5fc5ff904e6e02 100644
--- a/lib_dec/hf_synth_fx.c
+++ b/lib_dec/hf_synth_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/hq_classifier_dec_fx.c b/lib_dec/hq_classifier_dec_fx.c
index 4bbe3c5bc06e392d746c60b807bdf084474cebed..333ec350cb07136fe95a5291faf0153274eedb3e 100644
--- a/lib_dec/hq_classifier_dec_fx.c
+++ b/lib_dec/hq_classifier_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/hq_conf_fec_fx.c b/lib_dec/hq_conf_fec_fx.c
index 06bf8289760e2f3d5f64f8d1a70f7be084b1844e..4f771c9194a195766aac62f09c624647dc8f8cfc 100644
--- a/lib_dec/hq_conf_fec_fx.c
+++ b/lib_dec/hq_conf_fec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/hq_core_dec_fx.c b/lib_dec/hq_core_dec_fx.c
index 442d0a83fd3be1c1f471b30d36ef2cbad945f947..9b3233425e140e2ae395e8dba440f584da41cd40 100644
--- a/lib_dec/hq_core_dec_fx.c
+++ b/lib_dec/hq_core_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/hq_env_dec_fx.c b/lib_dec/hq_env_dec_fx.c
index 5011dcf86f35da45f47522514903eafdad35afd7..6b81f0a8fb6f10d080f6b6914b5bdcc88632ab0b 100644
--- a/lib_dec/hq_env_dec_fx.c
+++ b/lib_dec/hq_env_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/hq_hr_dec_fx.c b/lib_dec/hq_hr_dec_fx.c
index 5c05d5d03a9fe4823567c42f2cad23ff6bcdfdbe..c211d3a92d3a1216a9a64524dff12153d0067b33 100644
--- a/lib_dec/hq_hr_dec_fx.c
+++ b/lib_dec/hq_hr_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/hq_lr_dec_fx.c b/lib_dec/hq_lr_dec_fx.c
index f2371e643618e006d490ae4082141dfd2c1f1deb..06fb809684188a23ff8e6e0c47da951feaf51571 100644
--- a/lib_dec/hq_lr_dec_fx.c
+++ b/lib_dec/hq_lr_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/igf_dec_fx.c b/lib_dec/igf_dec_fx.c
index 36bba559953712065c674b0e1c0aebc3ab0339e6..5042f01fe5d5d80a633fd19dd12ca9bed66056ce 100644
--- a/lib_dec/igf_dec_fx.c
+++ b/lib_dec/igf_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -4254,10 +4257,8 @@ void init_igf_dec(
hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0];
hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0];
hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0];
-#ifdef FIX_1385_INIT_IGF_STOP_FREQ
hIGFDec->infoIGFStopFreq = 0;
move16();
-#endif
return;
}
diff --git a/lib_dec/igf_scf_dec_fx.c b/lib_dec/igf_scf_dec_fx.c
index 6478b3f92c60fc290385bd2e50e6df9c137494ca..1ef45d5abb27fee01b860974d0ef1a8e714b1c1e 100644
--- a/lib_dec/igf_scf_dec_fx.c
+++ b/lib_dec/igf_scf_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/init_dec_fx.c b/lib_dec/init_dec_fx.c
index 39cc5d0658fb9e4b13387683eda6236f955ca9a7..e3c57ad9dd6db7b1601c26e8932f55ad5531c586 100644
--- a/lib_dec/init_dec_fx.c
+++ b/lib_dec/init_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/inov_dec_fx.c b/lib_dec/inov_dec_fx.c
index 2359ae974f6a6ae6dc8e5f31e2ea313d5c6649e0..d0e15c1f59c636fa0a5ca56b047f2cb383a619c1 100644
--- a/lib_dec/inov_dec_fx.c
+++ b/lib_dec/inov_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/ivas_agc_dec_fx.c b/lib_dec/ivas_agc_dec_fx.c
index a196a1abdd8a157e472fdcf21913f8367fd42e63..c37de6c6fde8eacd7ef35b009a36879a620ae3ce 100644
--- a/lib_dec/ivas_agc_dec_fx.c
+++ b/lib_dec/ivas_agc_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_binRenderer_internal_fx.c b/lib_dec/ivas_binRenderer_internal_fx.c
index 5d4a6d9645d7e4bb5d16cd973d8f3dbc20b37740..04b3e950ab6d16a9d494192221c737e7fef0255b 100644
--- a/lib_dec/ivas_binRenderer_internal_fx.c
+++ b/lib_dec/ivas_binRenderer_internal_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -43,7 +15,6 @@
#include "ivas_rom_binauralRenderer.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "debug.h"
/*----------------------------------------------------------------------------------*
@@ -1237,9 +1208,7 @@ ivas_error ivas_binRenderer_open_fx(
{
test();
test();
-#ifdef IVAS_RTPDUMP
test();
-#endif
IF( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 )
{
FOR( k = 0; k < 11; k++ )
@@ -1248,11 +1217,7 @@ ivas_error ivas_binRenderer_open_fx(
// Q29: hBinRenderer->hReverb->foa_enc_fx[k]
}
}
-#ifdef IVAS_RTPDUMP
ELSE IF( EQ_32( st_ivas->ivas_format, MC_FORMAT ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) )
-#else
- ELSE IF( EQ_32( st_ivas->ivas_format, MC_FORMAT ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) )
-#endif
{
IF( NE_32( ( error = efap_init_data_fx( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth_fx, st_ivas->hIntSetup.ls_elevation_fx, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ), IVAS_ERR_OK ) )
{
diff --git a/lib_dec/ivas_core_dec_fx.c b/lib_dec/ivas_core_dec_fx.c
index 23f75172ae29d8910a7d23dd7ec1ec39b8d048a0..2cc4666d2db17d0f3334f031c735c50ddd5f4b81 100644
--- a/lib_dec/ivas_core_dec_fx.c
+++ b/lib_dec/ivas_core_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -516,7 +488,6 @@ ivas_error ivas_core_dec_fx(
Scale_sig( st->hFdCngDec->hFdCngCom->A_cng, add( M, 1 ), sub( norm_s( sub( st->hFdCngDec->hFdCngCom->A_cng[0], 1 ) ), 3 ) ); // Qx
}
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
IF( ( EQ_32( st->last_core, TCX_10_CORE ) || EQ_32( st->last_core, TCX_20_CORE ) ) || // st->Q_syn_factor is set in TCX mode; otherwise, it may be uninitialized
( hCPE != NULL && ( GT_16( hCPE->element_mode, IVAS_CPE_DFT ) && EQ_16( hCPE->last_element_mode, IVAS_CPE_DFT ) && ( ( EQ_32( sts[0]->last_core, TCX_10_CORE ) || EQ_32( sts[0]->last_core, TCX_20_CORE ) ) ) ) ) ) // In this case, sts[1] gets its value from sts[0].
{
@@ -525,7 +496,6 @@ ivas_error ivas_core_dec_fx(
}
st->Q_syn_factor = 0;
move16();
-#endif
IF( NE_32( ( error = acelp_core_dec_fx( st, output_16_fx[n], synth_16_fx[n], save_hb_synth_16_fx, bwe_exc_extended_fx[n], voice_factors_fx[n], old_syn_12k8_16k_fx_16, sharpFlag[n], pitch_buf_fx[n], &unbits[n], &sid_bw[n], hStereoTD, tdm_lsfQ_PCh_fx, use_cldfb_for_dft, last_element_mode, last_element_brate, flag_sec_CNA, nchan_out, hStereoCng, read_sid_info ) ), IVAS_ERR_OK ) )
{
return error;
@@ -601,11 +571,7 @@ ivas_error ivas_core_dec_fx(
}
stereo_tcx_core_dec_fx( st, frameMode[n], output_16_fx[n], synth_16_fx[n], pitch_buf_fx[n], sba_dirac_stereo_flag, hStereoTD, last_element_mode, flag_sec_CNA, hStereoCng, nchan_out, ivas_format );
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Copy_Scale_sig_16_32_DEPREC( output_16_fx[n], output_32_fx[n], output_frame, sub( Q11, st->Q_syn_factor ) ); // Q11
-#else
- Copy_Scale_sig_16_32_DEPREC( output_16_fx[n], output_32_fx[n], output_frame, Q11 ); // Q11
-#endif
IF( st->hTcxDec )
{
@@ -629,22 +595,15 @@ ivas_error ivas_core_dec_fx(
move16();
Q_synth = 0;
move16();
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
st->Q_syn_factor = 0;
move16();
-#endif
ivas_hq_core_dec_fx( st, synth_16_fx[n], &Q_synth, output_frame, NORMAL_HQ_CORE, core_switching_flag[n], output_16_fx[n], &Q_output );
Copy_Scale_sig_16_32_DEPREC( output_16_fx[n], output_32_fx[n], L_FRAME48k, sub( Q11, Q_output ) ); // Q11
-#ifdef FIX_1947_DEC_HIGH_MLD_FOR_STEREO2MONO
st->Q_syn_factor = s_min( 0, s_min( Q_synth, Q_output ) );
Scale_sig( synth_16_fx[n], output_frame, sub( st->Q_syn_factor, Q_synth ) ); // st->Q_syn_factor
Scale_sig( output_16_fx[n], L_FRAME48k, sub( st->Q_syn_factor, Q_output ) ); // st->Q_syn_factor
-#else
- Scale_sig( synth_16_fx[n], output_frame, negate( Q_synth ) ); // Q0
- Scale_sig( output_16_fx[n], L_FRAME48k, negate( Q_output ) ); // Q0
-#endif
}
/*---------------------------------------------------------------------*
@@ -822,11 +781,7 @@ ivas_error ivas_core_dec_fx(
*---------------------------------------------------------------------*/
/*core_switching_post_dec*/
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Q_synth = add( sub( 15, e_sig[0] ), st->Q_syn_factor );
-#else
- Q_synth = sub( 15, e_sig[0] );
-#endif
/*------------------fix-to-fix-end-----------------------*/
diff --git a/lib_dec/ivas_corecoder_dec_reconfig_fx.c b/lib_dec/ivas_corecoder_dec_reconfig_fx.c
index 288cd9a0373fe7247a3cb4c3f8dbc5ea3c6df7ef..440afbd7d0b65bae1d59be9952ee7ea9ff512049 100644
--- a/lib_dec/ivas_corecoder_dec_reconfig_fx.c
+++ b/lib_dec/ivas_corecoder_dec_reconfig_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
#include "ivas_cnst.h"
diff --git a/lib_dec/ivas_cpe_dec_fx.c b/lib_dec/ivas_cpe_dec_fx.c
index 7a134d59bed246fc942c44990d849f1ae34fed71..501b1426ed9e3f369545788adcc35ad8f826273c 100644
--- a/lib_dec/ivas_cpe_dec_fx.c
+++ b/lib_dec/ivas_cpe_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_decision_matrix_dec_fx.c b/lib_dec/ivas_decision_matrix_dec_fx.c
index 3eac102a3dc4106b994df9b258ab6eb37d4a4f25..cf4a1877740411b46550c0591a112a7c2d2ab8cc 100644
--- a/lib_dec/ivas_decision_matrix_dec_fx.c
+++ b/lib_dec/ivas_decision_matrix_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -46,11 +18,6 @@
* Read ACELP signaling bits from the bitstream
* Set extension layers
*-----------------------------------------------------------------*/
-#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
-static Word16 get_next_index_4_by_15[16] = {
- 0, 2184, 4369, 6553, 8738, 10922, 13107, 15291, 17476, 19660, 21845, 24029, 26214, 28398, 30583, 32767
-};
-#endif
void ivas_decision_matrix_dec_fx(
Decoder_State *st, /* i/o: decoder state structure */
Word16 *sharpFlag, /* o : formant sharpening flag */
@@ -131,11 +98,7 @@ void ivas_decision_matrix_dec_fx(
/* read channel coherence */
Word16 index;
index = get_next_indice_fx( st, 4 );
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
st->hFdCngDec->hFdCngCom->coherence_fx[0] = get_next_index_4_by_15[index];
-#else
- st->hFdCngDec->hFdCngCom->coherence_fx = get_next_index_4_by_15[index];
-#endif
move16();
/* read flag for no side noise shape */
diff --git a/lib_dec/ivas_dirac_dec_fx.c b/lib_dec/ivas_dirac_dec_fx.c
index 11d80c14f8e8a71579487da489cd5edbba0db5e8..9ecc8287378b55976b8b1983dfa86c5b5c637a90 100644
--- a/lib_dec/ivas_dirac_dec_fx.c
+++ b/lib_dec/ivas_dirac_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -2165,9 +2137,6 @@ static void binRenderer_split_fx(
Word32 Cldfb_ImagBuffer_Binaural_fx[][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Rotated Binaural signals */
Word32 RealBuffer_fx[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i : LS signals */
Word32 ImagBuffer_fx[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i : LS signals */
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- const Word16 slot_idx_start,
-#endif
const Word16 num_freq_bands,
const Word16 nchan_out )
{
@@ -2180,9 +2149,6 @@ static void binRenderer_split_fx(
/* Perform binaural rendering */
ivas_binRenderer_fx( hBinRenderer, &hSplitBinRend->splitrend.multiBinPoseData, hCombinedOrientationData, numTimeSlots,
-#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG
- NULL,
-#endif
Cldfb_RealBuffer_Binaural_loc, Cldfb_ImagBuffer_Binaural_loc, RealBuffer_fx, ImagBuffer_fx, &input_q );
FOR( slot_idx = 0; slot_idx < numTimeSlots; slot_idx++ )
@@ -2200,16 +2166,11 @@ static void binRenderer_split_fx(
{
FOR( ch = 0; ch < nchan_out; ch++ )
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ivas_CLDFB_RINGBUF_Push(
hSplitBinRend->hMultiBinCldfbData[pos_idx * BINAURAL_CHANNELS + ch],
Cldfb_RealBuffer_Binaural_loc[pos_idx][ch][slot_idx],
Cldfb_ImagBuffer_Binaural_loc[pos_idx][ch][slot_idx],
num_freq_bands );
-#else
- Copy32( Cldfb_RealBuffer_Binaural_loc[pos_idx][ch][slot_idx], hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[( pos_idx * BINAURAL_CHANNELS ) + ch][slot_idx_start + slot_idx], num_freq_bands );
- Copy32( Cldfb_ImagBuffer_Binaural_loc[pos_idx][ch][slot_idx], hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[( pos_idx * BINAURAL_CHANNELS ) + ch][slot_idx_start + slot_idx], num_freq_bands );
-#endif
}
}
}
@@ -2235,9 +2196,6 @@ static void binRenderer_fx(
/* Perform binaural rendering */
ivas_binRenderer_fx( hBinRenderer, NULL, hCombinedOrientationData, numTimeSlots,
-#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG
- NULL,
-#endif
Cldfb_RealBuffer_Binaural_fx, Cldfb_ImagBuffer_Binaural_fx, RealBuffer_fx, ImagBuffer_fx, &input_q );
return;
@@ -2286,9 +2244,6 @@ void ivas_dirac_dec_render_sf_fx(
Word16 surCohRatio_q_fx = 0, temp_q = 0;
move16();
move16();
-#ifndef FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES
- Word16 cldfb_buf_q;
-#endif
Word16 offset = 0, buff_len = 0;
move16();
move16();
@@ -2792,11 +2747,7 @@ void ivas_dirac_dec_render_sf_fx(
IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) )
{
-#ifdef FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES
ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( st_ivas, Cldfb_RealBuffer_Binaural_fx[0], Cldfb_ImagBuffer_Binaural_fx[0], &q_cldfb, hSpatParamRendCom->num_freq_bands, subframe_idx );
-#else
- ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( st_ivas, Cldfb_RealBuffer_Binaural_fx[0], Cldfb_ImagBuffer_Binaural_fx[0], &cldfb_buf_q, hSpatParamRendCom->num_freq_bands, subframe_idx );
-#endif
}
}
@@ -3033,12 +2984,8 @@ void ivas_dirac_dec_render_sf_fx(
test();
test();
-#ifdef IVAS_RTPDUMP
test();
IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) && st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 )
-#else
- IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) && st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 )
-#endif
{
num_freq_bands = hDirAC->band_grouping[hDirAC->hConfig->enc_param_start_band];
move16();
@@ -3823,9 +3770,6 @@ void ivas_dirac_dec_render_sf_fx(
binRenderer_split_fx( st_ivas->hBinRenderer, st_ivas->hSplitBinRend, st_ivas->hCombinedOrientationData, hSpatParamRendCom->subframe_nbslots[subframe_idx],
Cldfb_RealBuffer_Binaural_fx, Cldfb_ImagBuffer_Binaural_fx, Cldfb_RealBuffer_fx, Cldfb_ImagBuffer_fx,
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- slot_idx_start,
-#endif
hSpatParamRendCom->num_freq_bands, st_ivas->hDecoderConfig->nchan_out );
}
ELSE
diff --git a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c
index c53f66138f70e7fa4e7d1786cdeb82a25652a8e9..80681e17cab9ee1fd4bd37ebf6f32b37a2a140d1 100644
--- a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c
+++ b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "basop_util.h"
#include "enh32.h"
diff --git a/lib_dec/ivas_entropy_decoder_fx.c b/lib_dec/ivas_entropy_decoder_fx.c
index f8bf3c0910563b96492446ff76aa581507552b77..bf9a26360bb711ac6212de5eeaf16daeda2e2627 100644
--- a/lib_dec/ivas_entropy_decoder_fx.c
+++ b/lib_dec/ivas_entropy_decoder_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_init_dec_fx.c b/lib_dec/ivas_init_dec_fx.c
index b6e7a558ec79902eaad55d95ecb0afbcde14eab5..cf11790ea2f9b7d4a0ed3ee5f343aa657806c103 100644
--- a/lib_dec/ivas_init_dec_fx.c
+++ b/lib_dec/ivas_init_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -111,9 +83,7 @@ ivas_error ivas_dec_get_format_fx(
Word16 nchan_ism, element_mode_flag;
Word16 sba_order, sba_planar, sba_analysis_order;
Word32 ivas_total_brate;
-#ifdef DECODER_FORMAT_SWITCHING
int16_t Opt_tsm;
-#endif
UWord16 *bit_stream_orig;
AUDIO_CONFIG signaled_config;
@@ -126,10 +96,8 @@ ivas_error ivas_dec_get_format_fx(
ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate;
move32();
-#ifdef DECODER_FORMAT_SWITCHING
Opt_tsm = st_ivas->hDecoderConfig->Opt_tsm;
move16();
-#endif
bit_stream_orig = st_ivas->bit_stream;
/*-------------------------------------------------------------------*
@@ -150,7 +118,6 @@ ivas_error ivas_dec_get_format_fx(
!( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_ISM_FORMAT ) ) &&
!( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_FORMAT ) ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -160,17 +127,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
-#endif
}
/*-------------------------------------------------------------------*
@@ -208,7 +166,6 @@ ivas_error ivas_dec_get_format_fx(
test();
IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -218,17 +175,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
-#endif
}
st_ivas->nchan_ism = nchan_ism;
@@ -252,7 +200,6 @@ ivas_error ivas_dec_get_format_fx(
test();
IF( st_ivas->ini_frame > 0 && NE_16( sba_planar, st_ivas->sba_planar ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -262,17 +209,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the SBA planar/3D layout is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA planar flag signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the SBA planar/3D layout is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA planar flag signalled!" );
-#endif
}
/* read Ambisonic (SBA) order */
@@ -283,7 +221,6 @@ ivas_error ivas_dec_get_format_fx(
test();
IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -293,17 +230,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" );
-#endif
}
sba_analysis_order = ivas_sba_get_analysis_order_fx( ivas_total_brate, sba_order );
@@ -311,23 +239,19 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE IF( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
UWord8 masaRestartCandidate;
masaRestartCandidate = 0;
move16();
-#endif
/* read number of MASA transport channels */
k = extract_l( Mpy_32_32_r( ivas_total_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) );
IF( st_ivas->bit_stream[k - 1] )
{
-#ifdef DECODER_FORMAT_SWITCHING
test();
if ( st_ivas->nchan_transport == 1 && Opt_tsm )
{
masaRestartCandidate = 1;
move16();
}
-#endif
st_ivas->nchan_transport = 2;
move16();
element_mode_flag = 1;
@@ -335,14 +259,12 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DECODER_FORMAT_SWITCHING
test();
if ( st_ivas->nchan_transport == 2 && Opt_tsm )
{
masaRestartCandidate = 1;
move16();
}
-#endif
st_ivas->nchan_transport = 1;
move16();
}
@@ -376,7 +298,6 @@ ivas_error ivas_dec_get_format_fx(
element_mode_flag = 1;
move16();
}
-#ifdef DECODER_FORMAT_SWITCHING
ELSE IF( masaRestartCandidate > 0 )
{
st_ivas->restartNeeded = 1;
@@ -384,12 +305,10 @@ ivas_error ivas_dec_get_format_fx(
return IVAS_ERR_OK;
}
-#endif
test();
IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -399,17 +318,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
-#endif
}
st_ivas->nchan_ism = nchan_ism;
@@ -428,7 +338,6 @@ ivas_error ivas_dec_get_format_fx(
test();
IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -438,17 +347,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
-#endif
}
st_ivas->nchan_ism = nchan_ism;
@@ -463,7 +363,6 @@ ivas_error ivas_dec_get_format_fx(
test();
IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -473,17 +372,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
-#endif
}
st_ivas->nchan_ism = nchan_ism;
@@ -511,7 +401,6 @@ ivas_error ivas_dec_get_format_fx(
test();
IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -521,17 +410,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" );
-#endif
}
st_ivas->ism_mode = ivas_osba_ism_mode_select( ivas_total_brate, st_ivas->nchan_ism );
@@ -558,7 +438,6 @@ ivas_error ivas_dec_get_format_fx(
test();
IF( st_ivas->ini_frame > 0 && NE_32( st_ivas->transport_config, signaled_config ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -568,17 +447,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Switching of MC configurations is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "wrong MC configuration signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Switching of MC configurations is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "wrong MC configuration signalled!" );
-#endif
}
st_ivas->mc_mode = ivas_mc_mode_select_fx( ivas_mc_map_output_config_to_mc_ls_setup_fx( signaled_config ), ivas_total_brate );
@@ -677,7 +547,6 @@ ivas_error ivas_dec_get_format_fx(
test();
IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) )
{
-#ifdef DECODER_FORMAT_SWITCHING
IF( Opt_tsm )
{
st_ivas->restartNeeded = 1;
@@ -687,17 +556,8 @@ ivas_error ivas_dec_get_format_fx(
}
ELSE
{
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
}
-#else
-#ifdef DEBUGGING
- fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" );
-#endif
- return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" );
-#endif
}
st_ivas->nchan_ism = nchan_ism;
@@ -1589,10 +1449,8 @@ ivas_error ivas_init_decoder_front(
move32();
st_ivas->mc_mode = MC_MODE_NONE;
move32();
-#ifdef FIX_1384_MSAN_ivas_spar_dec_open
st_ivas->sid_format = SID_FORMAT_NONE;
move16();
-#endif
st_ivas->sba_dirac_stereo_flag = 0;
move16();
@@ -1684,10 +1542,8 @@ ivas_error ivas_init_decoder_front(
}
}
-#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR
st_ivas->flushing = 0;
move16();
-#endif
return error;
}
@@ -1737,16 +1593,12 @@ ivas_error ivas_init_decoder_fx(
IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) )
{
test();
-#ifdef FIX_1419_MONO_STEREO_UMX
IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) )
{
hDecoderConfig->nchan_out = 1;
move16();
}
ELSE IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
-#else
- IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
-#endif
{
hDecoderConfig->nchan_out = CPE_CHANNELS;
}
@@ -1813,14 +1665,12 @@ ivas_error ivas_init_decoder_fx(
st_ivas->hOutSetup.nchan_out_woLFE = audioCfg2channels( st_ivas->intern_config );
move16();
}
-#ifdef FIX_1419_MONO_STEREO_UMX
test();
IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
{
st_ivas->transport_config = EQ_32( st_ivas->ivas_format, MONO_FORMAT ) ? IVAS_AUDIO_CONFIG_MONO : IVAS_AUDIO_CONFIG_STEREO;
}
-#endif
/* Only initialize transport setup if it is used */
IF( NE_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_INVALID ) )
@@ -1888,7 +1738,6 @@ ivas_error ivas_init_decoder_fx(
}
}
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
/*--------------------------------------------------------------------------*
* Allocate and initialize HRTF Statistics handle, get default reverb values
*--------------------------------------------------------------------------*/
@@ -1959,20 +1808,6 @@ ivas_error ivas_init_decoder_fx(
}
}
}
-#else
- /*--------------------------------------------------------------------*
- * Allocate and initialize HRTF Statistics handle
- *--------------------------------------------------------------------*/
-
- IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) )
- {
- /* Init HRTF statistics */
- IF( NE_32( ( error = ivas_HRTF_statistics_init_fx( &st_ivas->hHrtfStatistics, output_Fs ) ), IVAS_ERR_OK ) )
- {
- return error;
- }
- }
-#endif
/*-----------------------------------------------------------------*
* Allocate and initialize SCE/CPE and other handles
@@ -2002,10 +1837,6 @@ ivas_error ivas_init_decoder_fx(
{
st_ivas->nchan_transport = CPE_CHANNELS;
move16();
-#ifndef FIX_1419_MONO_STEREO_UMX /* already set now by renderer_select() */
- st_ivas->intern_config = IVAS_AUDIO_CONFIG_STEREO;
- move32();
-#endif
st_ivas->nSCE = 0;
move16();
@@ -2886,12 +2717,8 @@ ivas_error ivas_init_decoder_fx(
test();
test();
test();
-#ifdef IVAS_RTPDUMP
test();
IF( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_MIXER_CONV_ROOM ) && EQ_32( st_ivas->ivas_format, MC_FORMAT ) && ( hDecoderConfig->Opt_Headrotation || hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) )
-#else
- IF( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_MIXER_CONV_ROOM ) && EQ_32( st_ivas->ivas_format, MC_FORMAT ) && ( hDecoderConfig->Opt_Headrotation || hDecoderConfig->Opt_ExternalOrientation ) )
-#endif
{
IF( NE_32( ( error = efap_init_data_fx( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth_fx, st_ivas->hIntSetup.ls_elevation_fx, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ), IVAS_ERR_OK ) )
{
@@ -3464,11 +3291,9 @@ void ivas_initialize_handles_dec(
st_ivas->hRenderConfig = NULL;
st_ivas->hExtOrientationData = NULL;
st_ivas->hCombinedOrientationData = NULL;
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
st_ivas->acousticEnvironmentsCount = 0;
move16();
st_ivas->pAcousticEnvironments = NULL;
-#endif
st_ivas->hSplitBinRend = NULL;
for ( i = 0; i < MAX_HEAD_ROT_POSES - 1; ++i )
@@ -3690,14 +3515,12 @@ void ivas_destroy_dec_fx(
/* Config. Renderer */
ivas_render_config_close_fx( &( st_ivas->hRenderConfig ) );
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
/* Acoustic environments */
IF( st_ivas->pAcousticEnvironments != NULL )
{
free( st_ivas->pAcousticEnvironments );
st_ivas->pAcousticEnvironments = NULL;
}
-#endif
/* Limiter struct */
ivas_limiter_close_fx( &( st_ivas->hLimiter ) );
@@ -4056,28 +3879,6 @@ static ivas_error doSanityChecks_IVAS(
return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Error: Non-diegetic panning not supported in this IVAS format" );
}
-#ifndef FIX_1419_MONO_STEREO_UMX /* we now support basically everything for stereo */
- /* Verify stereo output configuration */
- IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
- {
- test();
- test();
- test();
- test();
- test();
- test();
- test();
- test();
- IF( NE_32( output_config, IVAS_AUDIO_CONFIG_MONO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_STEREO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_5_1 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_7_1 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_5_1_2 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_5_1_4 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_7_1_4 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_LS_CUSTOM ) && NE_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) )
- {
- return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Wrong output configuration specified for Stereo!" );
- }
- }
- /* Verify output configuration for other formats */
- ELSE
- {
- IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_INVALID ) )
-#else /* exclude invalid configs instead of matching valid ones */
test();
test();
test();
@@ -4091,22 +3892,16 @@ static ivas_error doSanityChecks_IVAS(
EQ_32( output_config, IVAS_AUDIO_CONFIG_ISM4 ) ||
EQ_32( output_config, IVAS_AUDIO_CONFIG_MASA1 ) ||
EQ_32( output_config, IVAS_AUDIO_CONFIG_MASA2 ) )
-#endif
- {
- return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified!" );
- }
-#ifdef FIX_1419_MONO_STEREO_UMX
- test();
- test();
- IF( ( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) &&
- ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) )
- {
- return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified!" );
- }
-#endif
-#ifndef FIX_1419_MONO_STEREO_UMX
+ {
+ return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified!" );
+ }
+ test();
+ test();
+ IF( ( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) &&
+ ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) )
+ {
+ return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified!" );
}
-#endif
test();
diff --git a/lib_dec/ivas_ism_dec_fx.c b/lib_dec/ivas_ism_dec_fx.c
index 4537b384078329dd47d40a02b300be63b0232b09..42d9e3da40a6c2237e382da95a9c6aab6881eed1 100644
--- a/lib_dec/ivas_ism_dec_fx.c
+++ b/lib_dec/ivas_ism_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_ism_dtx_dec_fx.c b/lib_dec/ivas_ism_dtx_dec_fx.c
index 19d99a0bb1fe277e13efc6485f7230bb235ffcba..f8c7d9939d538cc153fc15a5a2805675860e38a4 100644
--- a/lib_dec/ivas_ism_dtx_dec_fx.c
+++ b/lib_dec/ivas_ism_dtx_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_ism_metadata_dec_fx.c b/lib_dec/ivas_ism_metadata_dec_fx.c
index 54cc5da15e24d25f025530478d84a4674a0c5ad2..ddea412b27ec059a2e7e0e02dc8b28607c07ee06 100644
--- a/lib_dec/ivas_ism_metadata_dec_fx.c
+++ b/lib_dec/ivas_ism_metadata_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "move.h"
#include
@@ -1248,21 +1220,15 @@ void ivas_ism_metadata_sid_dec_fx(
{
IF( EQ_16( ch, *sce_id_dtx ) )
{
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
FOR( i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ )
{
hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[i] = 32767;
}
-#else
- hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx = 32767; // 1.0f in Q15
- move16();
-#endif
CONTINUE;
}
idx = get_next_indice_fx( st0, nBits_coh );
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[0] = get_next_index_4_by_15[idx]; // Q15
move16();
FOR( i = 1; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ )
@@ -1270,25 +1236,16 @@ void ivas_ism_metadata_sid_dec_fx(
hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[i] = hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[0];
move16();
}
-#else
- hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx = div_s( idx, sub( ( shl( 1, nBits_coh ) ), 1 ) ); // Q15
- move16();
-#endif
}
}
IF( EQ_32( ism_mode, ISM_MODE_PARAM ) )
{
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
FOR( i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ )
{
hSCE[*sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[i] = hSCE[!*sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[i];
move16();
}
-#else
- hSCE[*sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx = hSCE[!*sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx;
- move16();
-#endif
}
/*----------------------------------------------------------------*
diff --git a/lib_dec/ivas_ism_param_dec_fx.c b/lib_dec/ivas_ism_param_dec_fx.c
index 6af94ea97a7efca424d9449a686046f953daaa08..c2b25a4db0f33e8b7edfd2f0f040ed662b58e5b7 100644
--- a/lib_dec/ivas_ism_param_dec_fx.c
+++ b/lib_dec/ivas_ism_param_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -41,7 +13,6 @@
#include "ivas_rom_dec.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "debug.h"
/*-----------------------------------------------------------------------*
@@ -942,9 +913,6 @@ void ivas_ism_dec_digest_tc_fx(
( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_MIXER_CONV_ROOM ) && st_ivas->hDecoderConfig->Opt_Headrotation == 0 ) )
{
Word16 i;
-#ifndef NONBE_1412_AVOID_ROUNDING_AZ_ELEV
- Word32 azimuth_fx, elevation_fx;
-#endif
/* we have a full frame interpolator, adapt it */
/* for BE testing */
@@ -1013,11 +981,6 @@ void ivas_ism_dec_digest_tc_fx(
}
ELSE
{
-#ifndef NONBE_1412_AVOID_ROUNDING_AZ_ELEV
- // TODO tmu review when #215 is resolved
- azimuth_fx = L_shr( L_add( st_ivas->hIsmMetaData[i]->edited_azimuth_fx, 2097152 ), Q22 ); // Q0 ,2097152 = .5f in Q22
- elevation_fx = L_shr( L_add( st_ivas->hIsmMetaData[i]->edited_elevation_fx, 2097152 ), Q22 ); // Q0 ,2097152 = .5f in Q22
-#endif
test();
test();
@@ -1033,9 +996,7 @@ void ivas_ism_dec_digest_tc_fx(
( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) && EQ_32( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) ) ) &&
st_ivas->hCombinedOrientationData == NULL )
{
-#ifdef NONBE_1412_AVOID_ROUNDING_AZ_ELEV
Word32 elevation_fx = st_ivas->hIsmMetaData[i]->edited_elevation_fx;
-#endif
if ( st_ivas->hIntSetup.is_planar_setup )
{
/* If no elevation support in output format, then rendering should be done with zero elevation */
@@ -1045,17 +1006,9 @@ void ivas_ism_dec_digest_tc_fx(
IF( st_ivas->hEFAPdata != NULL )
{
-#ifndef NONBE_1412_AVOID_ROUNDING_AZ_ELEV
- azimuth_fx = L_shl( azimuth_fx, Q22 ); // Q22
- elevation_fx = L_shl( elevation_fx, Q22 ); // Q22
-#endif
-#ifdef NONBE_1412_AVOID_ROUNDING_AZ_ELEV
efap_determine_gains_fx( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains_fx[i], st_ivas->hIsmMetaData[i]->edited_azimuth_fx, elevation_fx, EFAP_MODE_EFAP );
-#else
- efap_determine_gains_fx( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains_fx[i], azimuth_fx, elevation_fx, EFAP_MODE_EFAP );
-#endif
// TODO: align Q values properly
IF( NE_32( st_ivas->hIsmMetaData[i]->edited_gain_fx, ONE_IN_Q29 ) )
{
@@ -1069,13 +1022,8 @@ void ivas_ism_dec_digest_tc_fx(
EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) )
{
/*get HOA gets for direction (ACN/SN3D)*/
-#ifdef FIX_2193_ISM_GAINS_WITH_OE
Word16 azi = round_fx( L_shr( st_ivas->hIsmMetaData[i]->edited_azimuth_fx, Q22 - Q16 ) ); // Q0
Word16 ele = round_fx( L_shr( st_ivas->hIsmMetaData[i]->edited_elevation_fx, Q22 - Q16 ) ); // Q0
-#else
- Word16 azi = shr( extract_h( st_ivas->hIsmMetaData[i]->azimuth_fx ), 22 - 16 ); // Q0
- Word16 ele = shr( extract_h( st_ivas->hIsmMetaData[i]->elevation_fx ), 22 - 16 ); // Q0
-#endif
ivas_dirac_dec_get_response_fx( azi, ele, st_ivas->hIsmRendererData->gains_fx[i], st_ivas->hIntSetup.ambisonics_order, Q30 );
@@ -1837,12 +1785,8 @@ void ivas_param_ism_params_to_masa_param_mapping_fx(
IF( st_ivas->hISMDTX.dtx_flag )
{
- Word32 energy_ratio_fx; /* Q30 */
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
+ Word32 energy_ratio_fx; /* Q30 */
energy_ratio_fx = L_mult0( st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[0], st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[0] ); /* Q15 + Q15 -> Q30 */
-#else
- energy_ratio_fx = L_mult0( st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx, st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx ); /* Q15 + Q15 -> Q30 */
-#endif
hSpatParamRendCom->numSimultaneousDirections = 1;
move16();
diff --git a/lib_dec/ivas_ism_renderer_fx.c b/lib_dec/ivas_ism_renderer_fx.c
index 2e2a257a11a96837fc296c79ea672c18ac0cc540..466cba63a69f11f29b5e3ed7c264cbbb4d5b37bf 100644
--- a/lib_dec/ivas_ism_renderer_fx.c
+++ b/lib_dec/ivas_ism_renderer_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -187,10 +159,6 @@ void ivas_ism_render_sf_fx(
n_samples_rendered_loop = 0;
move16();
-#ifdef DEBUGGING
- assert( slots_to_render == 0 );
- assert( last_sf <= st_ivas->hTcBuffer->nb_subframes );
-#endif
WHILE( slots_to_render > 0 )
{
diff --git a/lib_dec/ivas_jbm_dec_fx.c b/lib_dec/ivas_jbm_dec_fx.c
index f8664b60b3c0f588ca98128d6cc3e39b28728177..5a84b1b5ba5b1bd275679d5f2990be3b13dd3396 100644
--- a/lib_dec/ivas_jbm_dec_fx.c
+++ b/lib_dec/ivas_jbm_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -42,9 +14,6 @@
#include
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-----------------------------------------------------------------------*
@@ -1559,9 +1528,7 @@ void ivas_jbm_dec_feed_tc_to_renderer_fx(
FOR( ch = 0; ch < s_max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch++ )
{
hTcBuffer->tc_fx[ch] = &hTcBuffer->tc_buffer_fx[offset];
-#ifdef FIX_1330_JBM_MEMORY_FIX
st_ivas->p_output_fx[ch] = hTcBuffer->tc_fx[ch];
-#endif
offset = add( offset, len_offset );
}
}
@@ -1739,28 +1706,17 @@ ivas_error ivas_jbm_dec_render_fx(
ivas_jbm_dec_tc_buffer_playout_fx( st_ivas, nSamplesAskedLocal, nSamplesRendered, p_output_fx );
}
-#ifdef FIX_1419_MONO_STEREO_UMX
ELSE IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
-#else
- ELSE IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
-#endif
{
-#ifdef FIX_1419_MONO_STEREO_UMX
*nSamplesRendered = s_min( st_ivas->hTcBuffer->n_samples_available, nSamplesAskedLocal );
move16();
-#endif
/* Rendering */
IF( EQ_32( st_ivas->renderer_type, RENDERER_MC ) )
{
-#ifndef FIX_1419_MONO_STEREO_UMX
- *nSamplesRendered = s_min( st_ivas->hTcBuffer->n_samples_available, nSamplesAskedLocal );
- move16();
-#endif
ivas_ls_setup_conversion_fx( st_ivas, st_ivas->nchan_transport, *nSamplesRendered, p_tc_fx, p_output_fx );
}
-#ifdef FIX_1419_MONO_STEREO_UMX
ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) )
{
IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) )
@@ -1779,7 +1735,6 @@ ivas_error ivas_jbm_dec_render_fx(
}
}
}
-#endif /* FIX_1419_MONO_STEREO_UMX */
}
ELSE IF( EQ_32( st_ivas->ivas_format, ISM_FORMAT ) )
{
@@ -1821,11 +1776,7 @@ ivas_error ivas_jbm_dec_render_fx(
{
ivas_apply_non_diegetic_panning_fx( p_tc_fx[0], p_output_fx, st_ivas->hDecoderConfig->non_diegetic_pan_gain_fx, *nSamplesRendered );
}
-#ifdef DEBUGGING
- ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) )
-#else
ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) )
-#endif
{
/* Convert to Ambisonics */
FOR( i = 0; i < st_ivas->nchan_transport; i++ )
@@ -2419,7 +2370,6 @@ ivas_error ivas_jbm_dec_render_fx(
IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
const Word32 *p_output_fx_const[MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS];
nchan_out_syn_output = i_mult( BINAURAL_CHANNELS, st_ivas->hSplitBinRend->splitrend.multiBinPoseData.num_poses );
@@ -2436,37 +2386,23 @@ ivas_error ivas_jbm_dec_render_fx(
ivas_TD_RINGBUF_PushChannels( st_ivas->hSplitBinRend->hMultiBinTdData, p_output_fx_const, *nSamplesRendered );
}
-#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR
if ( st_ivas->flushing )
{
nchan_out_syn_output = BINAURAL_CHANNELS;
move16();
}
-#endif
-#else
- FOR( i = 0; i < st_ivas->hSplitBinRend->splitrend.multiBinPoseData.num_poses * BINAURAL_CHANNELS; i++ )
- {
- Copy32( p_output_fx[i], st_ivas->hSplitBinRend->hMultiBinCldfbData->output_fx[i], *nSamplesRendered );
- }
-#endif
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ELSE
{
-#endif
nchan_out_syn_output = nchan_out;
move16();
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
}
-#endif
IF( is_split_rendering_enabled( st_ivas->hDecoderConfig, st_ivas->hRenderConfig ) == 0 )
{
IF( NE_32( st_ivas->ivas_format, MONO_FORMAT ) )
{
-#ifndef DISABLE_LIMITER
ivas_limiter_dec_fx( st_ivas->hLimiter, p_output_fx, nchan_out, *nSamplesRendered, st_ivas->BER_detect, output_q_factor );
-#endif
}
}
@@ -2540,11 +2476,7 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
{
/* move it at the beginning of the TC buffer with zero padding */
Copy32( hTcBuffer->tc_buffer_old_fx[ch_idx], hTcBuffer->tc_fx[ch_idx], n_samples_to_render );
-#ifdef FIX_2174_JBM_BASOP_ALIGNMENT
set_zero_fx( hTcBuffer->tc_fx[ch_idx] + n_samples_to_render, sub( hTcBuffer->n_samples_granularity, n_samples_to_render ) );
-#else
- set_zero_fx( hTcBuffer->tc_fx[ch_idx] + n_samples_to_render, hTcBuffer->n_samples_granularity - n_samples_to_render );
-#endif
}
/* simple change of the slot info */
@@ -2641,7 +2573,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
{
return error;
}
-#ifdef FIX_2211_ASSERT_IN_REND_CREND_CONVOLER
Word16 subframe_len, gd_bits;
subframe_len = imult1616( st_ivas->hTcBuffer->subframe_nbslots[0], st_ivas->hTcBuffer->n_samples_granularity );
gd_bits = find_guarded_bits_fx( subframe_len );
@@ -2650,10 +2581,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
{
scale_sig32( p_output_fx[i], *nSamplesRendered, sub( *st_ivas->hCrendWrapper->p_io_qfactor, Q11 ) ); // Q = *st_ivas->hCrendWrapper->p_io_qfactor
}
-#else
- *st_ivas->hCrendWrapper->p_io_qfactor = 11;
- move16();
-#endif
IF( NE_32( error = ivas_rend_crendProcessSubframe_fx( st_ivas->hCrendWrapper, intern_config_old, st_ivas->hOutSetup.output_config, st_ivas->hDecoderConfig, st_ivas->hCombinedOrientationData,
hIntSetupOld, st_ivas->hEFAPdata, st_ivas->hTcBuffer, crendInPlaceRotation ? p_output_fx : st_ivas->hTcBuffer->tc_fx, p_output_fx, hTcBuffer->n_samples_granularity, st_ivas->hDecoderConfig->output_Fs, 0 ),
IVAS_ERR_OK ) )
@@ -2662,12 +2589,10 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
}
ivas_binaural_add_LFE_fx( st_ivas, hTcBuffer->n_samples_granularity, st_ivas->hTcBuffer->tc_fx, p_output_fx );
-#ifdef FIX_2211_ASSERT_IN_REND_CREND_CONVOLER
FOR( Word16 i = 0; i < nchan_in; i++ )
{
scale_sig32( p_output_fx[i], *nSamplesRendered, sub( Q11, *st_ivas->hCrendWrapper->p_io_qfactor ) ); // Q11
}
-#endif
}
ELSE IF( EQ_16( renderer_type_old, RENDERER_BINAURAL_OBJECTS_TD ) )
{
@@ -2826,7 +2751,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
{
IF( NE_16( st_ivas->ivas_format, MONO_FORMAT ) )
{
-#ifndef DISABLE_LIMITER
Word16 ch_idx, exp = 11;
move16();
FOR( ch_idx = 0; ch_idx < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; ch_idx++ )
@@ -2834,7 +2758,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx(
p_output_fx[ch_idx] = st_ivas->p_output_fx[ch_idx];
}
ivas_limiter_dec_fx( st_ivas->hLimiter, p_output_fx, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, exp );
-#endif
}
}
@@ -3140,16 +3063,7 @@ Word16 ivas_jbm_dec_get_num_tc_channels_fx(
test();
test();
test();
-#ifndef FIX_1419_MONO_STEREO_UMX /* since we support more output formats for mono, this is no longer sensible; leave it at the default from above */
- IF( EQ_16( st_ivas->ivas_format, MONO_FORMAT ) )
- {
- num_tc = st_ivas->hDecoderConfig->nchan_out;
- move16();
- }
- ELSE IF( EQ_16( st_ivas->ivas_format, STEREO_FORMAT ) && EQ_16( st_ivas->hDecoderConfig->nchan_out, 1 ) )
-#else
IF( EQ_16( st_ivas->ivas_format, STEREO_FORMAT ) && EQ_16( st_ivas->hDecoderConfig->nchan_out, 1 ) )
-#endif
{
num_tc = 1;
move16();
@@ -3358,11 +3272,7 @@ static ivas_error ivas_jbm_dec_tc_audio_allocate_fx(
{
n_samp_full = NS2SA_FX2( output_Fs, MAX_JBM_L_FRAME_NS );
n_samp_full = s_max( n_samp_full, L_FRAME48k ); /* buffers are shared between 'hTcBuffer->tc[]' and 'p_output_f[]': ensure minimal length */
-#ifdef FIX_2174_JBM_BASOP_ALIGNMENT
n_samp_residual = sub( hTcBuffer->n_samples_granularity, 1 );
-#else
- n_samp_residual = add( hTcBuffer->n_samples_granularity, 1 );
-#endif
}
ELSE
{
@@ -3371,11 +3281,7 @@ static ivas_error ivas_jbm_dec_tc_audio_allocate_fx(
move16();
}
-#ifdef FIX_2174_JBM_BASOP_ALIGNMENT
nsamp_to_allocate = imult1616( s_max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ), n_samp_full );
-#else
- nsamp_to_allocate = s_max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ) * n_samp_full;
-#endif
IF( Opt_tsm )
{
@@ -3388,11 +3294,7 @@ static ivas_error ivas_jbm_dec_tc_audio_allocate_fx(
offset = 0;
move16();
-#ifdef FIX_2174_JBM_BASOP_ALIGNMENT
FOR( ch_idx = 0; ch_idx < s_max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch_idx++ )
-#else
- FOR( ch_idx = 0; ch_idx < max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch_idx++ )
-#endif
{
hTcBuffer->tc_fx[ch_idx] = &hTcBuffer->tc_buffer_fx[offset];
offset = add( offset, n_samp_full );
@@ -3690,9 +3592,6 @@ static void ivas_jbm_dec_tc_buffer_playout_fx(
slots_to_render = sub( slots_to_render, st_ivas->hTcBuffer->subframe_nbslots[last_sf] );
last_sf = add( last_sf, 1 );
}
-#ifdef DEBUGGING
- assert( slots_to_render == 0 );
-#endif
FOR( ch_idx = 0; ch_idx < st_ivas->hTcBuffer->nchan_transport_jbm; ch_idx++ )
{
@@ -4166,11 +4065,7 @@ void ivas_dec_prepare_renderer_fx(
ivas_omasa_gain_masa_tc_fx( st_ivas->hTcBuffer->tc_fx, st_ivas->hMasaIsmData->gain_masa_edited_fx, st_ivas->nchan_ism, st_ivas->hTcBuffer->n_samples_available );
}
}
-#ifdef FIX_1419_MONO_STEREO_UMX
ELSE IF( EQ_16( st_ivas->ivas_format, MONO_FORMAT ) || EQ_16( st_ivas->ivas_format, STEREO_FORMAT ) )
-#else
- ELSE IF( EQ_16( st_ivas->ivas_format, STEREO_FORMAT ) )
-#endif
{
ivas_jbm_dec_td_renderers_adapt_subframes( st_ivas );
}
@@ -4353,7 +4248,6 @@ void ivas_dec_prepare_renderer_fx(
move16();
}
-#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES
test();
test();
IF( st_ivas->hDecoderConfig->Opt_tsm && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) && EQ_32( st_ivas->renderer_type, RENDERER_DIRAC ) )
@@ -4368,7 +4262,6 @@ void ivas_dec_prepare_renderer_fx(
}
}
}
-#endif
FOR( n = 0; n < nchan_transport_ism; n++ )
{
@@ -4383,10 +4276,8 @@ void ivas_dec_prepare_renderer_fx(
Scale_sig32( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available, Q3 ); // Q8 -> Q11
}
}
-#ifndef TMP_FIX_OMASA_SR_BE
test();
IF( NE_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) && NE_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
-#endif
{
delay_signal32_fx( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available, st_ivas->hMasaIsmData->delayBuffer_fx[n], st_ivas->hMasaIsmData->delayBuffer_size );
// TODO: check if tis is a bug in main already
diff --git a/lib_dec/ivas_lfe_dec_fx.c b/lib_dec/ivas_lfe_dec_fx.c
index 74d8de662ea8aadd99c86363b514d42e8164fe1e..527596f94a2b42df9cb0a5d674f7730815654352 100644
--- a/lib_dec/ivas_lfe_dec_fx.c
+++ b/lib_dec/ivas_lfe_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_lfe_plc_fx.c b/lib_dec/ivas_lfe_plc_fx.c
index ac6da67598a31774ff7531ede0ba5a9052886a02..6c7e77541d60326ae9818187904b5901f6399cf6 100755
--- a/lib_dec/ivas_lfe_plc_fx.c
+++ b/lib_dec/ivas_lfe_plc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_ls_custom_dec_fx.c b/lib_dec/ivas_ls_custom_dec_fx.c
index 5ad390f9a66786ed847e1f78cc278c1fa165826c..d47e6c0bff8364c73996557e3d55dc7a3b5b36e0 100644
--- a/lib_dec/ivas_ls_custom_dec_fx.c
+++ b/lib_dec/ivas_ls_custom_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
#include "prot_fx.h"
diff --git a/lib_dec/ivas_masa_dec_fx.c b/lib_dec/ivas_masa_dec_fx.c
index b41036a5d6cfa4016b10116de0e2983b1ef7a529..43ee932dfd653227d51980eca56669329bf115a8 100644
--- a/lib_dec/ivas_masa_dec_fx.c
+++ b/lib_dec/ivas_masa_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_mc_param_dec_fx.c b/lib_dec/ivas_mc_param_dec_fx.c
index ca35d80e74834e30cf4e573fb184370cc6065fab..cee9dbedb2fb598cb001a8b166ff277b1fc6ac66 100644
--- a/lib_dec/ivas_mc_param_dec_fx.c
+++ b/lib_dec/ivas_mc_param_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -461,12 +433,8 @@ ivas_error ivas_param_mc_dec_open_fx(
test();
test();
test();
-#ifdef IVAS_RTPDUMP
test();
IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) )
-#else
- IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) )
-#endif
{
IF( ( hParamMC->hoa_encoder_fx = (Word32 *) malloc( st_ivas->hTransSetup.nchan_out_woLFE * MAX_INTERN_CHANNELS * sizeof( Word32 ) ) ) == NULL )
{
@@ -2208,16 +2176,11 @@ void ivas_param_mc_dec_render_fx(
{
FOR( ch = 0; ch < nchan_out_cldfb; ch++ )
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ivas_CLDFB_RINGBUF_Push(
st_ivas->hSplitBinRend->hMultiBinCldfbData[pos_idx * BINAURAL_CHANNELS + ch],
Cldfb_RealBuffer_Binaural_fx[pos_idx][ch][slot_idx],
Cldfb_ImagBuffer_Binaural_fx[pos_idx][ch][slot_idx],
hParamMC->num_freq_bands );
-#else
- Copy32( Cldfb_RealBuffer_Binaural_fx[pos_idx][ch][slot_idx], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[add( i_mult( pos_idx, BINAURAL_CHANNELS ), ch )][add( slot_idx_start, slot_idx )], hParamMC->num_freq_bands );
- Copy32( Cldfb_ImagBuffer_Binaural_fx[pos_idx][ch][slot_idx], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[add( i_mult( pos_idx, BINAURAL_CHANNELS ), ch )][add( slot_idx_start, slot_idx )], hParamMC->num_freq_bands );
-#endif
}
}
}
diff --git a/lib_dec/ivas_mc_paramupmix_dec_fx.c b/lib_dec/ivas_mc_paramupmix_dec_fx.c
index b80a08286ad7e961032e447661a2a7d5a557dd65..cee925a5d32e6b0ea0bc2c9f450a35e358e68a95 100644
--- a/lib_dec/ivas_mc_paramupmix_dec_fx.c
+++ b/lib_dec/ivas_mc_paramupmix_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -381,15 +353,11 @@ ivas_error ivas_mc_paramupmix_dec_open(
}
/* Head or external rotation */
-#ifdef IVAS_RTPDUMP
test();
test();
test();
test();
IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) )
-#else
- IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) )
-#endif
{
IF( ( hMCParamUpmix->hoa_encoder_fx = (Word32 *) malloc( st_ivas->hTransSetup.nchan_out_woLFE * MAX_INTERN_CHANNELS * sizeof( Word32 ) ) ) == NULL )
@@ -909,16 +877,11 @@ static void ivas_mc_paramupmix_dec_sf(
{
FOR( ch = 0; ch < st_ivas->hDecoderConfig->nchan_out; ch++ )
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ivas_CLDFB_RINGBUF_Push(
st_ivas->hSplitBinRend->hMultiBinCldfbData[pos_idx * BINAURAL_CHANNELS + ch],
Cldfb_RealBuffer_Binaural_fx[pos_idx][ch][slot_idx],
Cldfb_ImagBuffer_Binaural_fx[pos_idx][ch][slot_idx],
maxBand );
-#else
- Copy32( Cldfb_RealBuffer_Binaural_fx[pos_idx][ch][slot_idx], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[add( i_mult( pos_idx, BINAURAL_CHANNELS ), ch )][add( slot_index_start, slot_idx )], maxBand );
- Copy32( Cldfb_ImagBuffer_Binaural_fx[pos_idx][ch][slot_idx], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[add( i_mult( pos_idx, BINAURAL_CHANNELS ), ch )][add( slot_index_start, slot_idx )], maxBand );
-#endif
}
}
}
diff --git a/lib_dec/ivas_mcmasa_dec_fx.c b/lib_dec/ivas_mcmasa_dec_fx.c
index d12b190c640728b55825a1a5a4b948591e481b70..07768058d9e856310e655fcdb5cba27902a86f0a 100644
--- a/lib_dec/ivas_mcmasa_dec_fx.c
+++ b/lib_dec/ivas_mcmasa_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
#include
diff --git a/lib_dec/ivas_mct_core_dec_fx.c b/lib_dec/ivas_mct_core_dec_fx.c
index f96a20126250b065cfcc5d50b404ae4c780ba283..a16de19c7d6ac36b7bedfdb60a3c4495479f4236 100644
--- a/lib_dec/ivas_mct_core_dec_fx.c
+++ b/lib_dec/ivas_mct_core_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -200,9 +172,6 @@ void ivas_mct_core_dec(
Word16 tcx_offsetFB;
Word16 left_rect;
Word16 L_spec;
-#ifdef DEBUG_MCT
- float nrg[MCT_MAX_CHANNELS];
-#endif
Word32 *x_fx[MCT_MAX_CHANNELS][NB_DIV];
push_wmops( "mct_decoding" );
diff --git a/lib_dec/ivas_mct_dec_fx.c b/lib_dec/ivas_mct_dec_fx.c
index 49b4edb18da9f3fb6818340b9afb7e2eab1f3db3..958630e9ab622e2b2584b0831f948e4ddad05298 100644
--- a/lib_dec/ivas_mct_dec_fx.c
+++ b/lib_dec/ivas_mct_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -1368,12 +1340,8 @@ static ivas_error ivas_mc_dec_reconfig_fx(
ivas_binRenderer_close_fx( &st_ivas->hBinRenderer );
test();
-#ifdef IVAS_RTPDUMP
test();
IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) )
-#else
- IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) )
-#endif
{
efap_free_data_fx( &st_ivas->hEFAPdata );
}
diff --git a/lib_dec/ivas_mct_dec_mct_fx_fx.c b/lib_dec/ivas_mct_dec_mct_fx_fx.c
index c5e884f4694db0c4903c45293998e6be42b6fd61..8e09e4905cbadc06ad112b8e1fdc8c7ea4c9a933 100644
--- a/lib_dec/ivas_mct_dec_mct_fx_fx.c
+++ b/lib_dec/ivas_mct_dec_mct_fx_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_mdct_core_dec_fx.c b/lib_dec/ivas_mdct_core_dec_fx.c
index e7507607ffd3d9971450a4d93ca30ed91cb69446..c7ff10c5c93e6f93255905499404e10260465b65 100644
--- a/lib_dec/ivas_mdct_core_dec_fx.c
+++ b/lib_dec/ivas_mdct_core_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -699,9 +671,7 @@ void ivas_mdct_core_invQ_fx(
set16_fx( bitsRead, 0, CPE_CHANNELS );
tmp_concealment_method = 0;
move16();
-#ifdef FIX_1387_INIT_PRM_SQQ
prm_sqQ = NULL; /* set prm_sqQ to NULL - in case of bfi == 1 it's not set or needed, but it triggers sanitizers */
-#endif
FOR( ch = 0; ch < CPE_CHANNELS; ch++ )
{
diff --git a/lib_dec/ivas_mono_dmx_renderer_fx.c b/lib_dec/ivas_mono_dmx_renderer_fx.c
index 6c64eee816fc5cfbb4db6c676a09e080e004d4bc..35707b192edf2e1fa1a5cdccd9410bb39346979a 100644
--- a/lib_dec/ivas_mono_dmx_renderer_fx.c
+++ b/lib_dec/ivas_mono_dmx_renderer_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_objectRenderer_internal_fx.c b/lib_dec/ivas_objectRenderer_internal_fx.c
index 069e2c0eb4e1f730aa4208d8b385d13af8949eaf..949307a713d9b5a8f98635f21df212ead799b171 100644
--- a/lib_dec/ivas_objectRenderer_internal_fx.c
+++ b/lib_dec/ivas_objectRenderer_internal_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -38,7 +10,6 @@
#include "ivas_rom_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "debug.h"
/*---------------------------------------------------------------------*
diff --git a/lib_dec/ivas_omasa_dec_fx.c b/lib_dec/ivas_omasa_dec_fx.c
index 0c6c13d1941603b0625d87b8ae5c4a136065ea61..897e7f7c3b73840914ef4128615550e765658113 100644
--- a/lib_dec/ivas_omasa_dec_fx.c
+++ b/lib_dec/ivas_omasa_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
#include
@@ -46,18 +18,10 @@
* Local constants
*------------------------------------------------------------------------*/
-#ifdef FIX_2082_FP_LEFTOVERS_OMASA_DEC
#define MULT_17_DIV_20_Q15 27853 /* (Word16) ( ( 17.0/20.0 ) * 2^15 + 0.5 ) */
#define MULT_1_DIV_CLDFB_NO_COL_MAX_Q15 2048 /* (Word16) ( ( 1.0 / CLDFB_NO_COL_MAX ) * 2^15 + 0.5 ) */
#define ONEMINUX_EXT_RENDER_IIR_FAC_Q31 107374182 /* (Word32) ( ( 1.0 - 0.95 ) * 2^31 + 0.5f ); 0.95 is EXT_RENDER_IIR_FAC */
#define EXT_RENDER_IIR_FAC_Q31 2040109465 /* (Word32) ( 0.95 * 2^31 + 0.5 ) */
-#else
-#define EXT_RENDER_IIR_FAC 0.95f
-#define MULT_17_DIV_20_Q15 ( Word16 )( ( 17.0 / 20.0f ) * pow( 2, 15 ) + 0.5f )
-#define MULT_1_DIV_CLDFB_NO_COL_MAX_Q15 ( Word16 )( ( 1.0 / CLDFB_NO_COL_MAX ) * pow( 2, 15 ) + 0.5f )
-#define ONEMINUX_EXT_RENDER_IIR_FAC_Q31 ( Word32 )( ( 1.0f - EXT_RENDER_IIR_FAC ) * pow( 2, 31 ) + 0.5f )
-#define EXT_RENDER_IIR_FAC_Q31 ( Word32 )( EXT_RENDER_IIR_FAC * pow( 2, 31 ) + 0.5f )
-#endif
// Calculated as (Word16)(((1.0f / (50 * MAX_PARAM_SPATIAL_SUBFRAMES)) * pow(2, 15)) + 0.5f)
#define OMASA_DELAYFRAMES_PER_SEC_Q15 (Word16) 164 // Q15
@@ -1111,11 +1075,7 @@ void ivas_omasa_dirac_rend_jbm_fx(
{
Copy32( &output_fx[CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[0], *nSamplesRendered );
-#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES
IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) )
-#else
- IF( !st_ivas->hDecoderConfig->Opt_tsm && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) )
-#endif
{
/* Gain separated object, if edited */
FOR( n = 0; n < st_ivas->nchan_ism; n++ )
@@ -1136,11 +1096,7 @@ void ivas_omasa_dirac_rend_jbm_fx(
Copy32( &output_fx[n + CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[n], *nSamplesRendered );
/* Gain discrete objects, if edited */
-#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES
IF( st_ivas->hMasaIsmData->ism_gain_is_edited[n] )
-#else
- IF( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hMasaIsmData->ism_gain_is_edited[n] )
-#endif
{
v_multc_fx_16( data_separated_objects[n], st_ivas->hMasaIsmData->gain_ism_edited_fx[n], data_separated_objects[n], *nSamplesRendered ); // Q = 8
Scale_sig32( data_separated_objects[n], *nSamplesRendered, Q3 ); // Q = 11
@@ -1198,14 +1154,7 @@ ivas_error ivas_omasa_dirac_td_binaural_jbm_fx(
ivas_error error;
Word32 *p_sepobj_fx[BINAURAL_CHANNELS]; // Q11
Word32 data_separated_objects_fx[BINAURAL_CHANNELS][L_FRAME48k];
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
Word32 *re, *im;
-#else
- Word16 slot_idx_start;
-
- slot_idx_start = st_ivas->hSpatParamRendCom->slots_rendered;
- move16();
-#endif
FOR( n = 0; n < BINAURAL_CHANNELS; n++ )
{
@@ -1265,15 +1214,9 @@ ivas_error ivas_omasa_dirac_td_binaural_jbm_fx(
Scale_sig32( Cldfb_RealBuffer, num_cldfb_bands, sub( Q6, q_cldfb ) );
Scale_sig32( Cldfb_ImagBuffer, num_cldfb_bands, sub( Q6, q_cldfb ) );
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ivas_CLDFB_RINGBUF_GetByIdx( st_ivas->hSplitBinRend->hMultiBinCldfbData[n], &re, &im, sub( slot_idx, cldfb_slots ) );
v_add_fx( re, Cldfb_RealBuffer, re, num_cldfb_bands );
v_add_fx( im, Cldfb_ImagBuffer, im, num_cldfb_bands );
-#else
- /* note: this intentionally differs from OSBA by: no scaling by 0.5 */
- v_add_fx( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[n][slot_idx_start + slot_idx], Cldfb_RealBuffer, st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[n][slot_idx_start + slot_idx], num_cldfb_bands );
- v_add_fx( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[n][slot_idx_start + slot_idx], Cldfb_ImagBuffer, st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[n][slot_idx_start + slot_idx], num_cldfb_bands );
-#endif
}
}
}
@@ -2155,19 +2098,11 @@ void ivas_omasa_render_objects_from_mix_fx(
outSlotImPr = &( outIm[n][slot][0] );
move32();
move32();
-#ifdef FIX_2092_ASSERT_IN_OMASA_RENDER
mantissa_exp_to_qvalue( &outRe_exp[n][slot][0], &outRe[n][slot][0], Q20 + Q2, nBins ); // + Q2: add two bits headroom to prevent overflow in cldfbSynthesis_ivas_fx().
mantissa_exp_to_qvalue( &outIm_exp[n][slot][0], &outIm[n][slot][0], Q20 + Q2, nBins );
cldfbSynthesis_ivas_fx( &outSlotRePr, &outSlotImPr, &rendered_objects[n][index],
nBins, 0, 1 + Q2, st_ivas->cldfbSynDec[index2] );
-#else
- mantissa_exp_to_qvalue( &outRe_exp[n][slot][0], &outRe[n][slot][0], Q20, nBins );
- mantissa_exp_to_qvalue( &outIm_exp[n][slot][0], &outIm[n][slot][0], Q20, nBins );
-
- cldfbSynthesis_ivas_fx( &outSlotRePr, &outSlotImPr, &rendered_objects[n][index],
- nBins, 0, 1, st_ivas->cldfbSynDec[index2] );
-#endif
}
}
diff --git a/lib_dec/ivas_osba_dec_fx.c b/lib_dec/ivas_osba_dec_fx.c
index 20cd3d414870dd4ec11ea57f8ea61255f5abcb87..cae2f71ac358d5a8373fb9d333f461cc0f2352b7 100644
--- a/lib_dec/ivas_osba_dec_fx.c
+++ b/lib_dec/ivas_osba_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
#include
@@ -137,14 +109,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm_fx(
Word32 output_separated_objects_fx[BINAURAL_CHANNELS][L_FRAME48k];
Word32 *p_sepobj_fx[BINAURAL_CHANNELS];
Word16 channel_offset;
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
Word32 *re, *im;
-#else
- Word16 slot_idx_start;
-
- slot_idx_start = st_ivas->hSpatParamRendCom->slots_rendered;
- move16();
-#endif
FOR( Word16 i = 0; i < BINAURAL_CHANNELS; i++ )
{
@@ -168,9 +133,6 @@ ivas_error ivas_osba_dirac_td_binaural_jbm_fx(
IF( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
{
Word16 slot_idx, num_cldfb_bands, nchan_transport_orig;
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- Word16 b;
-#endif
Word16 cldfb_slots;
Word32 Cldfb_RealBuffer[CLDFB_NO_CHANNELS_MAX];
Word32 Cldfb_ImagBuffer[CLDFB_NO_CHANNELS_MAX];
@@ -206,22 +168,9 @@ ivas_error ivas_osba_dirac_td_binaural_jbm_fx(
Scale_sig32( Cldfb_RealBuffer, num_cldfb_bands, sub( Q6, q_cldfb ) );
Scale_sig32( Cldfb_ImagBuffer, num_cldfb_bands, sub( Q6, q_cldfb ) );
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ivas_CLDFB_RINGBUF_GetByIdx( st_ivas->hSplitBinRend->hMultiBinCldfbData[n], &re, &im, sub( slot_idx, cldfb_slots ) );
v_add_fx( re, Cldfb_RealBuffer, re, num_cldfb_bands );
v_add_fx( im, Cldfb_ImagBuffer, im, num_cldfb_bands );
-#else
- FOR( b = 0; b < num_cldfb_bands; b++ )
- {
- st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[n][slot_idx_start + slot_idx][b] =
- L_add( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[n][add( slot_idx_start, slot_idx )][b], Cldfb_RealBuffer[b] );
- move32();
-
- st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[n][slot_idx_start + slot_idx][b] =
- L_add( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[n][add( slot_idx_start, slot_idx )][b], Cldfb_ImagBuffer[b] );
- move32();
- }
-#endif
}
}
}
diff --git a/lib_dec/ivas_out_setup_conversion_fx.c b/lib_dec/ivas_out_setup_conversion_fx.c
index 339d6eb4b4642e1872c3f790ce9370cac9e52898..3b291b4669844612c560e89b11f95aba064fb8bf 100644
--- a/lib_dec/ivas_out_setup_conversion_fx.c
+++ b/lib_dec/ivas_out_setup_conversion_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -41,7 +13,6 @@
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#include "debug.h"
/*----------------------------------------------------------------------------------*
* Local constants
diff --git a/lib_dec/ivas_output_config_fx.c b/lib_dec/ivas_output_config_fx.c
index 9c988937ba3853b55ae29de06c96db525bd5d07d..b5c04c2b3943e9e8b9beeec02d515c041206879e 100644
--- a/lib_dec/ivas_output_config_fx.c
+++ b/lib_dec/ivas_output_config_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -37,7 +9,6 @@
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#ifdef FIX_1419_MONO_STEREO_UMX
static void ms_bin_upmix_renderer_select(
const IVAS_FORMAT ivas_format, /* i : Decoder format */
IVAS_AUDIO_CONFIG *internal_config, /* o : Internal configuration for rendering */
@@ -60,7 +31,6 @@ static void ms_bin_upmix_renderer_select(
return;
}
-#endif
/*-------------------------------------------------------------------------*
* ivas_renderer_select()
@@ -94,12 +64,8 @@ void ivas_renderer_select(
*-----------------------------------------------------------------*/
test();
-#ifdef IVAS_RTPDUMP
test();
IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData )
-#else
- IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation )
-#endif
{
st_ivas->hCombinedOrientationData->shd_rot_max_order = -1;
move16();
@@ -116,15 +82,11 @@ void ivas_renderer_select(
test();
test();
test();
-#ifdef FIX_1419_MONO_STEREO_UMX
IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
{
ms_bin_upmix_renderer_select( st_ivas->ivas_format, internal_config, renderer_type );
}
ELSE IF( EQ_32( st_ivas->ivas_format, ISM_FORMAT ) )
-#else
- IF( EQ_32( st_ivas->ivas_format, ISM_FORMAT ) )
-#endif
{
IF( EQ_32( st_ivas->ism_mode, ISM_MODE_PARAM ) )
{
@@ -200,12 +162,8 @@ void ivas_renderer_select(
}
test();
-#ifdef IVAS_RTPDUMP
test();
IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData )
-#else
- IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation )
-#endif
{
nchan_internal = ivas_sba_get_nchan_metadata_fx( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate );
test();
@@ -262,12 +220,8 @@ void ivas_renderer_select(
test();
test();
test();
-#ifdef IVAS_RTPDUMP
test();
IF( ( EQ_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_5_1 ) || EQ_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_7_1 ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) && EQ_32( st_ivas->mc_mode, MC_MODE_MCT ) )
-#else
- IF( ( EQ_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_5_1 ) || EQ_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_7_1 ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) && EQ_32( st_ivas->mc_mode, MC_MODE_MCT ) )
-#endif
{
*renderer_type = RENDERER_BINAURAL_OBJECTS_TD;
move16();
@@ -286,12 +240,8 @@ void ivas_renderer_select(
}
test();
-#ifdef IVAS_RTPDUMP
test();
IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData )
-#else
- IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation )
-#endif
{
/* force HOA3 domain for rotation*/
*internal_config = IVAS_AUDIO_CONFIG_HOA3;
@@ -320,7 +270,6 @@ void ivas_renderer_select(
* Non-binaural rendering configurations
*-----------------------------------------------------------------*/
-#ifdef FIX_1419_MONO_STEREO_UMX
ELSE IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
{
*internal_config = EQ_32( st_ivas->ivas_format, MONO_FORMAT ) ? IVAS_AUDIO_CONFIG_MONO : IVAS_AUDIO_CONFIG_STEREO;
@@ -364,26 +313,6 @@ void ivas_renderer_select(
BREAK;
}
}
-#else
- ELSE IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) )
- {
- IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_STEREO ) )
- {
- *renderer_type = RENDERER_NON_DIEGETIC_DOWNMIX;
- move16();
- }
- }
- ELSE IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
- {
- test();
- test();
- IF( NE_32( output_config, IVAS_AUDIO_CONFIG_STEREO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_MONO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) )
- {
- *renderer_type = RENDERER_MC;
- move16();
- }
- }
-#endif
ELSE IF( EQ_32( st_ivas->ivas_format, ISM_FORMAT ) )
{
test();
@@ -727,25 +656,17 @@ RENDERER_TYPE ivas_renderer_secondary_select_fx(
test();
test();
test();
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
test();
test();
test();
test();
IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) &&
( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) )
-#else
- IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) && EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) )
-#endif
{
renderer_type = RENDERER_BINAURAL_OBJECTS_TD;
move32();
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
ELSE IF( EQ_32( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) && ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) )
-#else
- ELSE IF( EQ_32( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) && ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) ) )
-#endif
{
renderer_type = RENDERER_BINAURAL_OBJECTS_TD;
move32();
diff --git a/lib_dec/ivas_pca_dec_fx.c b/lib_dec/ivas_pca_dec_fx.c
index 98611ab7cbcf9af52799eb55c91a6353ee726624..dfe22ea3ee6cce953bf9915ad7af6946e850d8e6 100644
--- a/lib_dec/ivas_pca_dec_fx.c
+++ b/lib_dec/ivas_pca_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_post_proc_fx.c b/lib_dec/ivas_post_proc_fx.c
index f3254c4a547fa0f2d626ae87fe07da8b67067c98..de67ac2f6460e02de4320dd508b682a73e0cf530 100644
--- a/lib_dec/ivas_post_proc_fx.c
+++ b/lib_dec/ivas_post_proc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_qmetadata_dec_fx.c b/lib_dec/ivas_qmetadata_dec_fx.c
index cc98c6ec494fba2b1fd1895bfb3e35de277421ce..aa3f4394908c0a9d3dc93a0e676ff3a1f9811357 100644
--- a/lib_dec/ivas_qmetadata_dec_fx.c
+++ b/lib_dec/ivas_qmetadata_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_qspherical_dec_fx.c b/lib_dec/ivas_qspherical_dec_fx.c
index f443cc81de370ba99f5e6d3f4d018a40ff96322a..8144bece8d7311316fd38379fba9f640877d3cd3 100644
--- a/lib_dec/ivas_qspherical_dec_fx.c
+++ b/lib_dec/ivas_qspherical_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_range_uni_dec_fx.c b/lib_dec/ivas_range_uni_dec_fx.c
index 9a49680e874a2d665b7ba37e3e0c2c47334cc18a..413d60e73bb4fef917c606b9195c29dd87a3bf4d 100644
--- a/lib_dec/ivas_range_uni_dec_fx.c
+++ b/lib_dec/ivas_range_uni_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "ivas_cnst.h"
diff --git a/lib_dec/ivas_rom_dec.h b/lib_dec/ivas_rom_dec.h
index 0b29588b2207de3cbb2cb1d3d2f7dd9839a940f6..4adbfef57acda1966a0c709659f1ea1578610a8c 100644
--- a/lib_dec/ivas_rom_dec.h
+++ b/lib_dec/ivas_rom_dec.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef IVAS_ROM_DEC_H
#define IVAS_ROM_DEC_H
diff --git a/lib_dec/ivas_rom_dec_fx.c b/lib_dec/ivas_rom_dec_fx.c
index 016335004b15655502a26eb2dca58deba1031052..bc0b81847dcf382dbadb4a186acbf776086a946d 100644
--- a/lib_dec/ivas_rom_dec_fx.c
+++ b/lib_dec/ivas_rom_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_sba_dec_fx.c b/lib_dec/ivas_sba_dec_fx.c
index c4a1b0de109f168d1d6bdd22b9b9c2a4c7f0999b..5c0fa1d68156e3c2ed82a48a22ab094d43179cf9 100644
--- a/lib_dec/ivas_sba_dec_fx.c
+++ b/lib_dec/ivas_sba_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "enh32.h"
#include
diff --git a/lib_dec/ivas_sba_dirac_stereo_dec_fx.c b/lib_dec/ivas_sba_dirac_stereo_dec_fx.c
index 42a2524f1f6676a2f216159767685da2dbb0d4ae..5243521a7aa24fa00fdaf556ae2461812cec06ca 100644
--- a/lib_dec/ivas_sba_dirac_stereo_dec_fx.c
+++ b/lib_dec/ivas_sba_dirac_stereo_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
#include "options.h"
diff --git a/lib_dec/ivas_sba_rendering_internal_fx.c b/lib_dec/ivas_sba_rendering_internal_fx.c
index d9f7b26be0676b936f9d11c681b3001ed0332488..ad92bcd5634eaed11139ffac3cdd9d559a809739 100644
--- a/lib_dec/ivas_sba_rendering_internal_fx.c
+++ b/lib_dec/ivas_sba_rendering_internal_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -39,9 +11,6 @@
#include
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------------*
* ivas_sba2MC_cldfb()
@@ -528,9 +497,6 @@ void ivas_sba_mix_matrix_determiner_fx(
ivas_agc_dec_process_fx( hSpar->hAgcDec, ( output_fx ), ( output_fx ), nchan_transport, output_frame );
Q_p_output = sub( Q_p_output, 3 );
-#ifdef DEBUGGING
- dbgwrite_txt( (const float *) ( output_fx[0] ), output_frame, "fix_ivas_agc_dec_process_output.txt", NULL );
-#endif
/* Convert numeric range back */
FOR( ch = 0; ch < nchan_out; ch++ )
diff --git a/lib_dec/ivas_sce_dec_fx.c b/lib_dec/ivas_sce_dec_fx.c
index 77c53c5ef63d18306328a6c065a495908be58b4f..73469c9f4caa7be8c26e0c7073a0ebb6bbb4672f 100644
--- a/lib_dec/ivas_sce_dec_fx.c
+++ b/lib_dec/ivas_sce_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_sns_dec_fx.c b/lib_dec/ivas_sns_dec_fx.c
index 05bf47cb98fcd38164633d75a1c62cb1beb5c214..30755ddb39eebb6e6db1c477049de1fd4ade212d 100644
--- a/lib_dec/ivas_sns_dec_fx.c
+++ b/lib_dec/ivas_sns_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten FORschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten FORschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement beFORe making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively FOR experts who have experience with such software and
- solely FOR the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness FOR a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_spar_decoder_fx.c b/lib_dec/ivas_spar_decoder_fx.c
index 864d0543821e666566163296335a36ffc999ea3b..57d9c78f3ed93525b00e4de42f39892223ffa611 100644
--- a/lib_dec/ivas_spar_decoder_fx.c
+++ b/lib_dec/ivas_spar_decoder_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -45,9 +17,6 @@
#include "stat_com.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------*
* Local function prototypes
diff --git a/lib_dec/ivas_spar_md_dec_fx.c b/lib_dec/ivas_spar_md_dec_fx.c
index 248518134d1350dcc9022a80e7571d11a9c2033e..d4384233de9cdfc1f9edb1243728af052645fcaf 100644
--- a/lib_dec/ivas_spar_md_dec_fx.c
+++ b/lib_dec/ivas_spar_md_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -899,17 +871,6 @@ void ivas_spar_md_dec_process_fx(
ivas_get_spar_matrices_fx( hMdDec, num_bands_out, num_md_sub_frames, bw, dtx_vad, nB, num_md_chs, active_w_vlbr, dyn_active_w_flag );
-#ifdef DEBUG_SPAR_DIRAC_WRITE_OUT_PRED_PARS
- {
- static FILE *fid = 0;
- int16_t band = 9;
- if ( !fid )
- {
- fid = fopen( "pred_coeffs_dec.txt", "wt" );
- }
- fprintf( fid, "%.6f\n", hMdDec->mixer_mat[1][0][band] );
- }
-#endif
ivas_spar_md_fill_invalid_bands_fx( &hMdDec->spar_coeffs, &hMdDec->spar_coeffs_prev, &hMdDec->valid_bands[0], &hMdDec->base_band_age[0], num_bands_out, num_md_chs, num_md_sub_frames );
diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h
index c3c16166809a7b5b01eee301b8101df3dd8cc4d9..9d75ecc52d0188fabe388fa9160acbfe22dec39c 100644
--- a/lib_dec/ivas_stat_dec.h
+++ b/lib_dec/ivas_stat_dec.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef IVAS_STAT_DEC_H
#define IVAS_STAT_DEC_H
@@ -870,37 +842,18 @@ typedef struct renderer_struct
* IVAS decoder specific ISAR wrapper structures
*----------------------------------------------------------------------------------*/
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
typedef struct
{
- Word32 Cldfb_RealBuffer_Binaural_fx[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
- Word32 Cldfb_ImagBuffer_Binaural_fx[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
- Word32 output_fx[BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES][L_FRAME48k];
-
-} ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA, *ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE;
-
-#endif
-typedef struct
-{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
Word32 Cldfb_RealBuffer_fx[MAX_OUTPUT_CHANNELS][2 * CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; /* Double space to account for TSM */
Word32 Cldfb_ImagBuffer_fx[MAX_OUTPUT_CHANNELS][2 * CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
-#else
- Word32 Cldfb_RealBuffer_fx[MAX_OUTPUT_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
- Word32 Cldfb_ImagBuffer_fx[MAX_OUTPUT_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
-#endif
IVAS_AUDIO_CONFIG config;
} ISAR_DEC_SPLIT_REND_CLDFB_OUT_DATA, *ISAR_DEC_SPLIT_REND_CLDFB_OUT_DATA_HANDLE;
typedef struct
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
TD_RINGBUF_HANDLE hMultiBinTdData;
ISAR_CLDFB_RINGBUF_HANDLE hMultiBinCldfbData[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS];
-#else
- ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE hMultiBinCldfbData; /*scratch buffer for frame by frame processing*/
-#endif
ISAR_SPLIT_REND_BITS_HANDLE hSplitRendBits; /*scratch buffer for frame by frame processing*/
SPLIT_REND_WRAPPER splitrend;
ISAR_DEC_SPLIT_REND_CLDFB_OUT_DATA_HANDLE hCldfbDataOut; /*buffer to store cldfb data before binauralization*/
@@ -1069,18 +1022,16 @@ typedef struct jbm_metadata_structure
typedef struct decoder_config_structure
{
- Word32 ivas_total_brate; /* IVAS total bitrate in bps */
- Word32 last_ivas_total_brate; /* last IVAS total bitrate in bps */
- Word32 output_Fs; /* output signal sampling frequency in Hz */
- Word16 nchan_out; /* number of output audio channels */
- AUDIO_CONFIG output_config; /* output audio configuration */
- Word16 Opt_LsCustom; /* indicates whether loudspeaker custom setup is used */
- Word16 Opt_HRTF_binary; /* indicates whether HRTF binary file is used */
- Word16 Opt_Headrotation; /* indicates whether head-rotation is used */
- Word16 Opt_RendConfigCustom; /* indicates whether Renderer configuration custom setup is used */
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
- IVAS_ROOM_SIZE_T Opt_RoomSize; /* Selected room size */
-#endif
+ Word32 ivas_total_brate; /* IVAS total bitrate in bps */
+ Word32 last_ivas_total_brate; /* last IVAS total bitrate in bps */
+ Word32 output_Fs; /* output signal sampling frequency in Hz */
+ Word16 nchan_out; /* number of output audio channels */
+ AUDIO_CONFIG output_config; /* output audio configuration */
+ Word16 Opt_LsCustom; /* indicates whether loudspeaker custom setup is used */
+ Word16 Opt_HRTF_binary; /* indicates whether HRTF binary file is used */
+ Word16 Opt_Headrotation; /* indicates whether head-rotation is used */
+ Word16 Opt_RendConfigCustom; /* indicates whether Renderer configuration custom setup is used */
+ IVAS_ROOM_SIZE_T Opt_RoomSize; /* Selected room size */
IVAS_HEAD_ORIENT_TRK_T orientation_tracking; /* indicates orientation tracking type */
Word16 Opt_non_diegetic_pan; /* indicates diegetic or not */
Word16 non_diegetic_pan_gain_fx; /* non diegetic panning gain, Q15 */
@@ -1194,10 +1145,8 @@ typedef struct Decoder_Struct
MASA_ISM_DATA_HANDLE hMasaIsmData; /* OMASA rendering handle */
SBA_ISM_DATA_HANDLE hSbaIsmData; /* OSBA rendering handle */
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pAcousticEnvironments; /* Acoustic environment array */
Word16 acousticEnvironmentsCount; /* Number of acoustic environments in the array*/
-#endif
Word16 flag_omasa_brate;
@@ -1212,12 +1161,8 @@ typedef struct Decoder_Struct
Word16 ism_extmeta_active; /* Extended metadata active in decoder */
Word16 ism_extmeta_cnt; /* Change frame counter for extended metadata */
-#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR
Word16 flushing;
-#endif
-#ifdef DECODER_FORMAT_SWITCHING
Word16 restartNeeded; /* Flag to signal decoder restart */
-#endif
} Decoder_Struct;
diff --git a/lib_dec/ivas_stereo_adapt_GR_dec_fx.c b/lib_dec/ivas_stereo_adapt_GR_dec_fx.c
index 57166fae4c34e72e6145b560345ef2c264385b84..352e222f2cf5ba6c2e64c4b422d1b57e0ba614f9 100644
--- a/lib_dec/ivas_stereo_adapt_GR_dec_fx.c
+++ b/lib_dec/ivas_stereo_adapt_GR_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_stereo_cng_dec_fx.c b/lib_dec/ivas_stereo_cng_dec_fx.c
index 124f89c5a12d3023a9aced6b273c902cc46bdf5c..6347be1d6f015ac16e4c75c42505c22020f14cd4 100644
--- a/lib_dec/ivas_stereo_cng_dec_fx.c
+++ b/lib_dec/ivas_stereo_cng_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_stereo_dft_dec_dmx_fx.c b/lib_dec/ivas_stereo_dft_dec_dmx_fx.c
index 9b166c41a74204592214c56e42110a7c5ed592f2..d19c0ccdfb8a77e4a759ac850b1de5a2d02db457 100644
--- a/lib_dec/ivas_stereo_dft_dec_dmx_fx.c
+++ b/lib_dec/ivas_stereo_dft_dec_dmx_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_stereo_dft_dec_fx.c b/lib_dec/ivas_stereo_dft_dec_fx.c
index b5e19dad50ac01ae3d5f890611beba6fe26002ec..5d2dc665876686961d855f334def6841588d9ba3 100644
--- a/lib_dec/ivas_stereo_dft_dec_fx.c
+++ b/lib_dec/ivas_stereo_dft_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -45,9 +17,6 @@
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
#include "basop_util.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------*
@@ -220,11 +189,7 @@ void stereo_dft_dec_reset_fx(
{
set32_fx( hStereoDft->smooth_buf_fx[i], 0, SBA_DIRAC_NRG_SMOOTH_LONG + 1 );
}
-#ifdef FIX_2176_ASSERT_DEC_MAP_PARAMS_DIRAC2STEREO
hStereoDft->q_smooth_buf_fx = Q6;
-#else
- hStereoDft->q_smooth_buf_fx = Q7;
-#endif
move16();
set16_fx( hStereoDft->smooth_fac_fx[0], 0, SBA_DIRAC_STEREO_NUM_BANDS );
set16_fx( hStereoDft->smooth_fac_fx[1], 0, SBA_DIRAC_STEREO_NUM_BANDS );
@@ -4348,9 +4313,6 @@ void stereo_dft_dec_read_BS_fx(
hStereoDft->res_global_gain_fx = ECSQ_dequantize_gain_fx( I ); /* Q15 */
move32();
-#ifdef DEBUGGING
- dbgwrite_txt( (const float *) ( &hStereoDft->res_global_gain_fx ), 1, "fixed_res_global_gain.txt", NULL );
-#endif
ecsq_inst.config_index = sub( shl( hStereoDft->res_cod_mode[k_offset], 1 ), 1 ); /* Q0 */
move16();
@@ -4367,10 +4329,6 @@ void stereo_dft_dec_read_BS_fx(
}
ECSQ_dequantize_vector_fx( dec, hStereoDft->res_global_gain_fx, hStereoDft->res_cod_line_max, res_buf_fx );
-
-#ifdef DEBUGGING
- dbgwrite_txt( (const float *) res_buf_fx, hStereoDft->res_cod_line_max, "fixed_res_buf.txt", NULL );
-#endif
}
ELSE
{
diff --git a/lib_dec/ivas_stereo_dft_plc_fx.c b/lib_dec/ivas_stereo_dft_plc_fx.c
index 93588a356dc5ed438f65bbbd8b9f550a9378070d..a5c22ad14877e0a98ad41ed87b0cf880e557e540 100644
--- a/lib_dec/ivas_stereo_dft_plc_fx.c
+++ b/lib_dec/ivas_stereo_dft_plc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -785,33 +757,20 @@ Word32 stereo_dft_dmx_swb_nrg_fx(
{
FOR( i = 0; i < frame_length / 2; i++ )
{
-#ifdef FIX_2166_ASSERT_OSBA_PLC_STEREO_OUT
dmx_nrg = L_add( dmx_nrg,
L_shr( L_add( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ),
Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ) ),
1 ) ); /* Q0 */
-#else
- dmx_nrg = L_add( dmx_nrg,
- L_add( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ),
- Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ) ) ); /* Q0 */
-#endif
}
}
ELSE
{
FOR( i = 0; i < frame_length / 2; i++ )
{
-#ifdef FIX_2166_ASSERT_OSBA_PLC_STEREO_OUT
dmx_nrg = L_add( dmx_nrg,
L_shr( L_add( L_shl( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ), q0 ),
L_shl( Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ), q1 ) ),
1 ) ); /*3*q0 - 31*/
-#else
- dmx_nrg = L_add( dmx_nrg,
- L_add( L_shl( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ), q0 ),
- L_shl( Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ), q1 ) ) ); /*3*q0 - 31*/
-
-#endif
}
}
diff --git a/lib_dec/ivas_stereo_eclvq_dec_fx.c b/lib_dec/ivas_stereo_eclvq_dec_fx.c
index 9d777c9b7bbd1d46ab705d89a8ad8ad1165e6cdc..0388ed71f9fe6655c0a32d55f1f95d5a963b5a33 100644
--- a/lib_dec/ivas_stereo_eclvq_dec_fx.c
+++ b/lib_dec/ivas_stereo_eclvq_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_stereo_esf_dec_fx.c b/lib_dec/ivas_stereo_esf_dec_fx.c
index d4219f1e60464e7dbaf87c7effb4c814e18bc0ae..19c48e23dad5965dc5e943507feacf15906e620c 100644
--- a/lib_dec/ivas_stereo_esf_dec_fx.c
+++ b/lib_dec/ivas_stereo_esf_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_stereo_ica_dec_fx.c b/lib_dec/ivas_stereo_ica_dec_fx.c
index 96458c4f2e01a7822dfa22552a5447ec66c1b988..07067b48fc340f0381f504cfd8c70fd3ca46813e 100644
--- a/lib_dec/ivas_stereo_ica_dec_fx.c
+++ b/lib_dec/ivas_stereo_ica_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_stereo_icbwe_dec_fx.c b/lib_dec/ivas_stereo_icbwe_dec_fx.c
index 647ad6e77f1ccb7f3a374f2a1fc804310a77a8b5..053350773fa8f4e51ed16ce8e95075b903352b28 100644
--- a/lib_dec/ivas_stereo_icbwe_dec_fx.c
+++ b/lib_dec/ivas_stereo_icbwe_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_stereo_mdct_core_dec_fx.c b/lib_dec/ivas_stereo_mdct_core_dec_fx.c
index 4d5996bb6db4a85e1a527987c0b1da2e27f29473..4cc08d769af0ebf4b7c9cf2b4449ecb53e33958c 100644
--- a/lib_dec/ivas_stereo_mdct_core_dec_fx.c
+++ b/lib_dec/ivas_stereo_mdct_core_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c b/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c
index 72521175846b860263a56651dc84f6f7386db775..d0fb584b72af36829eb7667a8800a9d51bdb7b6b 100644
--- a/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c
+++ b/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -634,11 +606,7 @@ void synchonize_channels_mdct_sid_fx(
move16();
sts[1]->bwidth = sts[0]->bwidth;
move16();
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
sts[0]->hFdCngDec->hFdCngCom->coherence_fx[0] = sts[1]->hFdCngDec->hFdCngCom->coherence_fx[0]; /* coherence is stored in sts[1] - see ivas_decision_matrix_dec() */
-#else
- sts[0]->hFdCngDec->hFdCngCom->coherence_fx = sts[1]->hFdCngDec->hFdCngCom->coherence_fx; /* coherence is stored in sts[1] - see ivas_decision_matrix_dec() */
-#endif
move16();
sts[0]->hFdCngDec->hFdCngCom->no_side_flag = sts[1]->hFdCngDec->hFdCngCom->no_side_flag;
move16();
diff --git a/lib_dec/ivas_stereo_switching_dec_fx.c b/lib_dec/ivas_stereo_switching_dec_fx.c
index 76e4d226d2ccdf45d26ded01fea90d26a1bc1320..4a44747773109af652b51caf9d9c97b260374035 100644
--- a/lib_dec/ivas_stereo_switching_dec_fx.c
+++ b/lib_dec/ivas_stereo_switching_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -1951,10 +1923,8 @@ void stereo_switching_dec(
Copy( sts[0]->old_exc_fx, sts[1]->old_exc_fx, L_EXC_MEM_DEC ); /* Q_exc */
sts[1]->Q_exc = sts[0]->Q_exc;
move16();
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
sts[1]->Q_syn_factor = sts[0]->Q_syn_factor;
move16();
-#endif
sts[1]->Q_exc_cng = sts[0]->Q_exc_cng;
move16();
sts[1]->prev_Q_exc = sts[0]->prev_Q_exc;
diff --git a/lib_dec/ivas_stereo_td_dec_fx.c b/lib_dec/ivas_stereo_td_dec_fx.c
index ec135d7a0d634cef179b28bad1fe8fe4c4d6bded..20fdc9641607fdffb41a2704717d65d22cd0d833 100644
--- a/lib_dec/ivas_stereo_td_dec_fx.c
+++ b/lib_dec/ivas_stereo_td_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_svd_dec_fx.c b/lib_dec/ivas_svd_dec_fx.c
index d6811d2df5e53d7d48594daa858eefb15ef8dcd7..fa59da1810f8db82b906d4b63f2d7af353a6a418 100755
--- a/lib_dec/ivas_svd_dec_fx.c
+++ b/lib_dec/ivas_svd_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
#include "prot_fx.h"
diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c
index 01f47c90627fdfc19342b4e6d184bf3b0aceac7f..46c6511dbae1b1ad272f99aa340bb9457c7bdd05 100644
--- a/lib_dec/ivas_tcx_core_dec_fx.c
+++ b/lib_dec/ivas_tcx_core_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -230,9 +202,7 @@ void stereo_tcx_core_dec_fx(
Word16 *synth_fx;
Word16 synth_bufFB_fx[OLD_SYNTH_SIZE_DEC + L_FRAME_PLUS + M];
Word16 *synthFB_fx;
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Word16 synth_q[2];
-#endif
Word32 psd_fx[L_FRAME16k];
Word32 psd_part_fx[NPART_SHAPING];
Word16 psd_part_e;
@@ -329,13 +299,11 @@ void stereo_tcx_core_dec_fx(
st->core = GetPLCModeDecision_ivas_fx( st ); /* Q0 */
move16();
}
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
IF( st->core != ACELP_CORE )
{
st->Q_syn_factor = 0;
move16();
}
-#endif
/*--------------------------------------------------------------------------------*
* LPC envelope decoding
*--------------------------------------------------------------------------------*/
@@ -349,23 +317,8 @@ void stereo_tcx_core_dec_fx(
{
Word16 tcx_lpc_cdk;
-#ifdef FIX_1384_MSAN_stereo_tcx_core_enc
tcx_lpc_cdk = tcxlpc_get_cdk( st->coder_type );
move16();
-#else
- test();
- test();
- IF( bfi && st->use_partial_copy && EQ_16( st->rf_frame_type, RF_TCXFD ) )
- {
- tcx_lpc_cdk = tcxlpc_get_cdk( GENERIC ); /* Q0 */
- move16();
- }
- ELSE
- {
- tcx_lpc_cdk = tcxlpc_get_cdk( st->coder_type ); /* Q0 */
- move16();
- }
-#endif
Copy( st->lsf_old_fx, &lsf_fx[0], M ); /* Q2.56 */
Copy( st->lsp_old_fx, &lsp_fx[0], M ); /* Q15 */
@@ -490,14 +443,6 @@ void stereo_tcx_core_dec_fx(
E_LPC_f_lsp_a_conversion( st->lsp_old_fx, st->old_Aq_12_8_fx, M );
}
-#ifndef FIX_1384_MSAN_stereo_tcx_core_enc
- test();
- if ( st->enablePlcWaveadjust && bfi )
- {
- st->hPlcInfo->nbLostCmpt = add( st->hPlcInfo->nbLostCmpt, 1 ); /* Q0 */
- move16();
- }
-#endif
/*--------------------------------------------------------------------------------*
* TD-TCX concealment
*--------------------------------------------------------------------------------*/
@@ -596,13 +541,9 @@ void stereo_tcx_core_dec_fx(
}
/* TCX decoder */
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
decoder_tcx_ivas_fx( st, prm, Aq_fx, Aind, &synth_fx[0], &synthFB_fx[0], &synth_q[0], bfi, 0, sba_dirac_stereo_flag );
st->Q_syn_factor = sub( synth_q[0], st->Q_syn );
st->Q_syn = synth_q[0];
-#else
- decoder_tcx_ivas_fx( st, prm, Aq_fx, Aind, &synth_fx[0], &synthFB_fx[0], bfi, 0, sba_dirac_stereo_flag );
-#endif
}
/*--------------------------------------------------------------------------------*
@@ -631,7 +572,6 @@ void stereo_tcx_core_dec_fx(
}
/* TCX decoder */
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
decoder_tcx_ivas_fx( st, prm, Aq_fx, Aind, &synth_fx[k * st->L_frame / 2], &synthFB_fx[k * ( hTcxDec->L_frameTCX / 2 )], &synth_q[k], bfi, k, sba_dirac_stereo_flag );
}
@@ -648,10 +588,6 @@ void stereo_tcx_core_dec_fx(
q_shift = sub( q_min, synth_q[1] );
scale_sig( &synth_fx[shr( st->L_frame, 1 )], shr( st->L_frame, 1 ), q_shift );
scale_sig( &synthFB_fx[shr( hTcxDec->L_frameTCX, 1 )], shr( hTcxDec->L_frameTCX, 1 ), q_shift );
-#else
- decoder_tcx_ivas_fx( st, prm, Aq_fx, Aind, &synth_fx[k * st->L_frame / 2], &synthFB_fx[k * ( hTcxDec->L_frameTCX / 2 )], bfi, k, sba_dirac_stereo_flag );
- }
-#endif
}
/*--------------------------------------------------------------------------------*
@@ -661,51 +597,11 @@ void stereo_tcx_core_dec_fx(
test();
IF( EQ_16( st->core, TCX_10_CORE ) || EQ_16( st->core, TCX_20_CORE ) )
{
-#ifndef FIX_1384_MSAN_stereo_tcx_core_enc
- test();
- test();
- IF( st->enablePlcWaveadjust || /* bfi */
- ( GE_32( st->last_total_brate, HQ_48k ) && /* recovery */
- EQ_16( st->last_codec_mode, MODE2 ) ) )
- {
- IF( st->hTonalMDCTConc->q_lastPcmOut != 0 )
- {
- Scale_sig( st->hTonalMDCTConc->secondLastPcmOut, shr( hTcxDec->L_frameTCX, 1 ), negate( st->hTonalMDCTConc->q_lastPcmOut ) );
- Scale_sig( st->hTonalMDCTConc->lastPcmOut, hTcxDec->L_frameTCX, negate( st->hTonalMDCTConc->q_lastPcmOut ) );
- st->hTonalMDCTConc->q_lastPcmOut = 0;
- move16();
- }
- /* waveform adjustment */
- concealment_signal_tuning_fx( st, bfi, synthFB_fx, st->last_core_bfi );
-
- test();
- test();
- test();
- IF( ( bfi || st->prev_bfi ) && st->hPlcInfo->Pitch_fx && EQ_16( st->hPlcInfo->concealment_method, TCX_NONTONAL ) )
- {
- lerp( synthFB_fx, synth_fx, st->L_frame, hTcxDec->L_frameTCX );
-
- if ( !bfi && st->prev_bfi )
- {
- st->hPlcInfo->Pitch_fx = 0;
- move16();
- }
- }
- }
-#endif
IF( !bfi && st->hTonalMDCTConc != NULL )
{
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
TonalMDCTConceal_SaveTimeSignal_ivas_fx( st->hTonalMDCTConc, synthFB_fx, st->Q_syn, hTcxDec->L_frameTCX );
-#else
- TonalMDCTConceal_SaveTimeSignal_ivas_fx( st->hTonalMDCTConc, synthFB_fx, 0, hTcxDec->L_frameTCX );
-#endif
}
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
decoder_tcx_post_ivas_fx( st, synth_fx, synthFB_fx, st->Q_syn, Aq_fx, bfi, 0 );
-#else
- decoder_tcx_post_ivas_fx( st, synth_fx, synthFB_fx, 0, Aq_fx, bfi, 0 );
-#endif
IF( EQ_16( st->core, TCX_20_CORE ) )
{
@@ -867,13 +763,6 @@ void stereo_tcx_core_dec_fx(
IF( !bfi )
{
-#ifndef FIX_1384_MSAN_stereo_tcx_core_enc
- if ( st->enablePlcWaveadjust )
- {
- st->hPlcInfo->nbLostCmpt = 0;
- move16();
- }
-#endif
IF( param[1 + NOISE_FILL_RANGES] != 0 )
{
Word32 tcxltp_pitch_tmp = L_add( L_deposit_h( hTcxLtpDec->tcxltp_pitch_int ), L_shl( L_deposit_l( div_s( hTcxLtpDec->tcxltp_pitch_fr, st->pit_res_max ) ), 1 ) ); /*15Q16*/
@@ -1054,12 +943,7 @@ static void dec_prm_tcx_ivas_fx(
getTCXMode_ivas_fx( st, st, 0 /* <- MCT_flag */ );
/* last_core for error concealment */
-#ifdef FIX_1384_MSAN_stereo_tcx_core_enc
IF( NE_16( st->element_mode, IVAS_CPE_MDCT ) )
-#else
- test();
- IF( !st->use_partial_copy && NE_16( st->element_mode, IVAS_CPE_MDCT ) )
-#endif
{
st->last_core_from_bs = get_next_indice_fx( st, 1 ); /* Store decoder memory of last_core Q0*/
move16();
@@ -1104,25 +988,18 @@ static void dec_prm_tcx_ivas_fx(
}
}
-#ifndef FIX_1384_MSAN_stereo_tcx_core_enc
- IF( !st->use_partial_copy )
+ IF( NE_16( st->element_mode, IVAS_CPE_MDCT ) )
{
-#endif
- IF( NE_16( st->element_mode, IVAS_CPE_MDCT ) )
- {
- getTCXWindowing_ivas_fx( st->core, st->last_core, st->element_mode, st->hTcxCfg, st );
- }
- st->flagGuidedAcelp = 0;
- move16();
+ getTCXWindowing_ivas_fx( st->core, st->last_core, st->element_mode, st->hTcxCfg, st );
+ }
+ st->flagGuidedAcelp = 0;
+ move16();
- if ( st->dec_glr )
- {
- st->dec_glr_idx = -1;
- move16();
- }
-#ifndef FIX_1384_MSAN_stereo_tcx_core_enc
+ if ( st->dec_glr )
+ {
+ st->dec_glr_idx = -1;
+ move16();
}
-#endif
/*--------------------------------------------------------------------------------*
* LPC parameters
@@ -1137,7 +1014,6 @@ static void dec_prm_tcx_ivas_fx(
* TCX20/10 parameters
*--------------------------------------------------------------------------------*/
-#ifdef FIX_1384_MSAN_stereo_tcx_core_enc
getTCXparam_fx( st, st, hm_cfg, param, bits_common, start_bit_pos, NULL, NULL, NULL, -1 );
IF( LT_16( sub( *total_nbbits, bitsRead[0] ), sub( st->next_bit_pos, start_bit_pos ) ) )
@@ -1150,26 +1026,6 @@ static void dec_prm_tcx_ivas_fx(
bitsRead[0] = sub( st->next_bit_pos, start_bit_pos ); /* Q0 */
move16();
-#else
- IF( st->use_partial_copy == 0 )
- {
- getTCXparam_fx( st, st, hm_cfg, param, bits_common, start_bit_pos, NULL, NULL, NULL, -1 );
- }
-
- IF( !st->use_partial_copy )
- {
- IF( LT_16( sub( *total_nbbits, bitsRead[0] ), sub( st->next_bit_pos, start_bit_pos ) ) )
- {
- st->BER_detect = 1;
- move16();
- st->next_bit_pos = add( start_bit_pos, sub( *total_nbbits, bitsRead[0] ) ); /* Q0 */
- move16();
- }
-
- bitsRead[0] = sub( st->next_bit_pos, start_bit_pos ); /* Q0 */
- move16();
- }
-#endif
return;
}
diff --git a/lib_dec/ivas_td_low_rate_dec_fx.c b/lib_dec/ivas_td_low_rate_dec_fx.c
index 32b5b3f87d609a93a90e3c797645bf71f6f9b88d..9f25ee3c4a69347563f66c8b789acfff2a163ed4 100644
--- a/lib_dec/ivas_td_low_rate_dec_fx.c
+++ b/lib_dec/ivas_td_low_rate_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/jbm_jb4_circularbuffer.h b/lib_dec/jbm_jb4_circularbuffer.h
index 8d5bcb6d44d5b17eadaff2eec26c3649476e19b8..5eee16213a7a02baab5fd9a6e4ef7d453742ad74 100644
--- a/lib_dec/jbm_jb4_circularbuffer.h
+++ b/lib_dec/jbm_jb4_circularbuffer.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_jb4_circularbuffer_fx.c b/lib_dec/jbm_jb4_circularbuffer_fx.c
index 0eeb1cb1f7cd4dc14409ac0bc9278e73f3a90b85..d6fdd87d807058c007597bd28650f70ee66f375c 100644
--- a/lib_dec/jbm_jb4_circularbuffer_fx.c
+++ b/lib_dec/jbm_jb4_circularbuffer_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_jb4_inputbuffer.h b/lib_dec/jbm_jb4_inputbuffer.h
index 76eb3512393b68b48ae22d6673dbd7725353227e..27bf4dc80513692b83770f7bdb35f142d588c91b 100644
--- a/lib_dec/jbm_jb4_inputbuffer.h
+++ b/lib_dec/jbm_jb4_inputbuffer.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_jb4_inputbuffer_fx.c b/lib_dec/jbm_jb4_inputbuffer_fx.c
index f8de8e76533ac614e74e6599a07bfed488de9459..148fe8368d84490fc6338f1e491ecfc57e605c14 100644
--- a/lib_dec/jbm_jb4_inputbuffer_fx.c
+++ b/lib_dec/jbm_jb4_inputbuffer_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_jb4_jmf.h b/lib_dec/jbm_jb4_jmf.h
index e92c629a813a55855fbc72fdd88275c8a0f12543..49d29ae0fd81b443903e6baeafb241379ff6396e 100644
--- a/lib_dec/jbm_jb4_jmf.h
+++ b/lib_dec/jbm_jb4_jmf.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_jb4_jmf_fx.c b/lib_dec/jbm_jb4_jmf_fx.c
index 765de8ed31ef09f5027ad5b5816750775b00c2f2..9d0c2fb0d8500538977d4e21665ec239c1c13cb1 100644
--- a/lib_dec/jbm_jb4_jmf_fx.c
+++ b/lib_dec/jbm_jb4_jmf_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h
index acc44ad32611f646884873a9fab5b231165ffd80..a010c4e29f7af8b5bd59fe3719e9fc13dc3bf6de 100644
--- a/lib_dec/jbm_jb4sb.h
+++ b/lib_dec/jbm_jb4sb.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -86,9 +58,7 @@ void JB4_Destroy( JB4_HANDLE *ph );
ivas_error JB4_Init( JB4_HANDLE h, const Word16 safetyMargin );
-#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h );
-#endif
JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( JB4_HANDLE h );
diff --git a/lib_dec/jbm_jb4sb_fx.c b/lib_dec/jbm_jb4sb_fx.c
index eccd8cb030efc927998ef6e1cb2d373e5833c901..b699038b20d9710691e84434af7767bf3657ad6d 100644
--- a/lib_dec/jbm_jb4sb_fx.c
+++ b/lib_dec/jbm_jb4sb_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -198,9 +170,7 @@ struct JB4
JB4_DATAUNIT_HANDLE freeMemorySlots[MAX_JBM_SLOTS];
UWord16 nFreeMemorySlots;
/*@} */
-#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
bool evsMode;
-#endif
}; /* JB4 */
@@ -326,10 +296,8 @@ ivas_error JB4_Create(
}
h->nFreeMemorySlots = MAX_JBM_SLOTS;
move16();
-#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
h->evsMode = false;
move16();
-#endif
*ph = h;
return IVAS_ERR_OK;
@@ -414,13 +382,11 @@ ivas_error JB4_Init(
return IVAS_ERR_OK;
}
-#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h )
{
h->evsMode = true;
move16();
}
-#endif
/* Returns a memory slot to store a new data unit */
JB4_DATAUNIT_HANDLE JB4_AllocDataUnit(
@@ -774,15 +740,11 @@ static void JB4_targetPlayoutDelay(
move32();
move32();
-#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
IF( !h->evsMode )
{
-#endif
*targetDtx = JB4_MAX( *targetDtx, (UWord32) h->safetyMargin );
move32();
-#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
}
-#endif
*targetStartUp = JB4_MAX( *targetStartUp, (UWord32) h->safetyMargin );
move32();
diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h
index 2c3bc84c8d6e6b55768812b66cce52ff12001743..120154fc2f7adc95469609bd8f630cbc12edaaa8 100644
--- a/lib_dec/jbm_pcmdsp_apa.h
+++ b/lib_dec/jbm_pcmdsp_apa.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_pcmdsp_apa_fx.c b/lib_dec/jbm_pcmdsp_apa_fx.c
index 14cf7dff39a5ceadfcd4e40c6e4d3a19cff1fdf6..dfeadd7808b102b8285f66681ff693a58e63b80f 100644
--- a/lib_dec/jbm_pcmdsp_apa_fx.c
+++ b/lib_dec/jbm_pcmdsp_apa_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -127,11 +99,7 @@ struct apa_state_t
UWord16 qualityred; /* quality reduction threshold */
UWord16 qualityrise; /* quality rising for adaptive quality thresholds */
-#ifdef FIX_2173_UBSAN_IN_JBM_PCMDSP_APA
- Word16 last_pitch; /* last pitch/sync position */
-#else
- UWord16 last_pitch; /* last pitch/sync position */
-#endif
+ Word16 last_pitch; /* last pitch/sync position */
UWord16 bad_frame_count; /* # frames before quality threshold is lowered */
UWord16 good_frame_count; /* # scaled frames */
@@ -886,16 +854,6 @@ UWord8 apa_exec_fx(
move32();
}
-#ifdef DEBUG_APA_SILENCE_NON_SCALED
- IF( l_in == *l_out )
- {
- set_s( a_out, 0, *l_out );
- }
- ELSE
- {
- set_s( a_out, INT16_MAX, *l_out );
- }
-#endif
return 0;
}
@@ -919,11 +877,7 @@ UWord8 apa_exec_ivas_fx(
Word16 Q_a_out;
Word16 Q_a_out_init_old;
-#ifdef FIX_APA_EXECS_SCALING
Q_a_out = add( getScaleFactor32_copy( a_in, l_in ), Q11 - Q16 - Q1 );
-#else
- Q_a_out = add( getScaleFactor32_copy( a_in, L_mult0( ps->num_channels, APA_BUF_PER_CHANNEL ) ), Q11 - Q16 - Q1 );
-#endif
Q_a_out_init_old = Q_a_out; /* store the possible scaling of a_in, to be re-used in the next frame */
move16();
statsResetThreshold = 1637;
@@ -1000,11 +954,7 @@ UWord8 apa_exec_ivas_fx(
Scale_sig( ps->buf_out_fx, ps->buf_out_capacity, sub( Q_a_out, ps->Q_buf_out ) ); // Q_buf_out -> Q_a_out
IF( EQ_32( ps->scale, 100 ) )
{
-#ifdef FIX_APA_EXECS_SCALING
FOR( i = 0; i < ps->l_frm; i++ )
-#else
- FOR( i = 0; i < ps->num_channels * APA_BUF_PER_CHANNEL; i++ )
-#endif
{
a_out[i] = a_in[i]; // Q11
move32();
@@ -1016,11 +966,7 @@ UWord8 apa_exec_ivas_fx(
{
Word16 *frm_in_ptr = &( frm_in[ps->l_frm] );
-#ifdef FIX_APA_EXECS_SCALING
FOR( i = 0; i < ps->l_frm; i++ )
-#else
- FOR( i = 0; i < ps->num_channels * APA_BUF_PER_CHANNEL; i++ )
-#endif
{
a_tmp[i] = extract_h( L_shl( a_in[i], add( Q_a_out, Q5 ) ) ); // Q_a_out
move16();
@@ -1070,11 +1016,7 @@ UWord8 apa_exec_ivas_fx(
}
}
-#ifdef FIX_APA_EXECS_SCALING
FOR( i = 0; i < l_frm_out; i++ )
-#else
- FOR( i = 0; i < ps->num_channels * APA_BUF_PER_CHANNEL; i++ )
-#endif
{
a_out[i] = L_shl( a_tmp[i], sub( Q11, Q_a_out ) ); // Q0 -> Q11
move32();
@@ -1388,11 +1330,7 @@ static Word8 logarithmic_search_fx( const apa_state_t *ps,
DO
{
-#ifdef FIX_2173_UBSAN_IN_JBM_PCMDSP_APA
coeff_max = INT32_MIN; /* will always be overwritten with result of first correlation */
-#else
- coeff_max = 0x80000000; /* will always be overwritten with result of first correlation */
-#endif
move32();
FOR( i = s_start; i < s_start + inlen; i += css * ps->num_channels )
diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h
index 45acb98beb77a35bcec234fe4f0363b321a85041..032f48a11ddaed387a92ce64fe77f4ca1f34b33b 100644
--- a/lib_dec/jbm_pcmdsp_fifo.h
+++ b/lib_dec/jbm_pcmdsp_fifo.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_pcmdsp_similarityestimation.h b/lib_dec/jbm_pcmdsp_similarityestimation.h
index 7adbcd65f697dda25e8bd76e672d84b00edf3c27..7992df4d30b2ae86b374da7f94f40c3a1e5500f9 100644
--- a/lib_dec/jbm_pcmdsp_similarityestimation.h
+++ b/lib_dec/jbm_pcmdsp_similarityestimation.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c
index 25d8d2d8b2a6cf5389566db6164d33ea4a71fac8..560aded19ee02b7415e0dadd5a7de4c6e9bbc316 100644
--- a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c
+++ b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_pcmdsp_window.h b/lib_dec/jbm_pcmdsp_window.h
index 9c6f10408254cfed60dcb9ec51c633a4d6fcf688..6c85380bf4fdd4de1acacbac64521f8c480935a0 100644
--- a/lib_dec/jbm_pcmdsp_window.h
+++ b/lib_dec/jbm_pcmdsp_window.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/jbm_pcmdsp_window_fx.c b/lib_dec/jbm_pcmdsp_window_fx.c
index 8572586c3b3edc085ca8796e08477c65cddb875c..7f8dd8113ae603f1028fb0cc60e84eb66de2b00a 100644
--- a/lib_dec/jbm_pcmdsp_window_fx.c
+++ b/lib_dec/jbm_pcmdsp_window_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/lead_deindexing_fx.c b/lib_dec/lead_deindexing_fx.c
index ecc5f6fe01a50d55b5156784ae951993658b3092..54c5a6c3f65bfb7f40a0565247dde078b7d92dbd 100644
--- a/lib_dec/lead_deindexing_fx.c
+++ b/lib_dec/lead_deindexing_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h
index 698ca55a6e843a9a21d9d6775caedd63e63ba487..bab0ba48be4b5b568c7a8cecd71847db9f70ce91 100644
--- a/lib_dec/lib_dec.h
+++ b/lib_dec/lib_dec.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef LIB_DEC_H
#define LIB_DEC_H
@@ -36,9 +8,7 @@
#include "common_api_types.h"
#include
#include "typedef.h"
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
#include "ivas_rtp_pi_data.h"
-#endif
/*---------------------------------------------------------------------*
@@ -123,9 +93,7 @@ ivas_error IVAS_DEC_Configure(
const bool enableExternalOrientation, /* i : enable external orientations */
const IVAS_HEAD_ORIENT_TRK_T orientation_tracking, /* i : head orientation tracking type */
const bool renderConfigEnabled, /* i : enable Renderer config. file for binaural output */
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
const IVAS_ROOM_SIZE_T roomSize, /* i : room size selector for reverb */
-#endif
const bool non_diegetic_pan_enabled, /* i : enabled diegetic panning */
const Word16 non_diegetic_pan_gain_fx, /* i : non diegetic panning gain */
const bool dpidEnabled, /* i : enable directivity pattern option */
@@ -158,9 +126,6 @@ ivas_error IVAS_DEC_ReadFormat(
ivas_error IVAS_DEC_GetSamplesDecoder(
IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- const Word16 isSplitRend, /* i : split rendering enabled flag */
-#endif
ISAR_SPLIT_REND_BITS_DATA *splitRendBits /* o : output split rendering bits */
);
@@ -291,17 +256,6 @@ ivas_error IVAS_DEC_VoIP_SetScale(
const Word16 scale /* i : TSM scale to set */
);
-#ifdef VARIABLE_SPEED_DECODING
-ivas_error IVAS_DEC_EnableTsm(
- IVAS_DEC_HANDLE hIvasDec /* i/o: IVAS decoder handle */
-);
-
-ivas_error IVAS_DEC_TSM_SetQuality(
- IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
- const Word16 quality /* i : target TSM quality Q14 */
-);
-
-#endif
/*! r: error code */
ivas_error IVAS_DEC_VoIP_GetSamples(
IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
@@ -317,7 +271,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples(
const UWord32 systemTimestamp_ms /* i : current system timestamp */
);
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
/*! r: error code */
ivas_error IVAS_DEC_VoIP_GetSplitBinauralBitstream(
IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
@@ -333,7 +286,6 @@ ivas_error IVAS_DEC_VoIP_GetSplitBinauralBitstream(
bool *parametersAvailableForEditing, /* o : indicates whether objects editing is available */
const UWord32 systemTimestamp_ms /* i : current system timestamp */
);
-#endif
ivas_error IVAS_DEC_Flush(
IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
@@ -342,13 +294,11 @@ ivas_error IVAS_DEC_Flush(
Word16 *nSamplesFlushed /* o : number of samples flushed */
);
-#ifdef DECODER_FORMAT_SWITCHING
ivas_error IVAS_DEC_isRestartNeeded(
IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */
bool *restartNeeded /* o : flag to signal decoder restart */
);
-#endif
/* Setter functions - apply changes to decoder configuration */
@@ -464,7 +414,6 @@ ivas_error IVAS_DEC_HRTF_binary_close(
const IVAS_BIN_RENDERER_TYPE binaural_renderer_old /* i : previous binaural renderer type */
);
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
ivas_error IVAS_DEC_AddAcousticEnvironment(
IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
const IVAS_ROOM_ACOUSTICS_CONFIG_DATA roomAcousticsConfig /* i: Room acoustic configuration */
@@ -475,7 +424,6 @@ ivas_error IVAS_DEC_GetAcousticEnvironment(
UWord16 aeID, /* i : Acoustic environment ID */
IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pAcEnv /* o : Room acoustic environment data pointer */
);
-#endif
/*! r: error code*/
ivas_error IVAS_DEC_GetRenderConfig(
@@ -527,13 +475,11 @@ ivas_error IVAS_DEC_GetJbmData(
);
#endif
-#ifdef IVAS_RTPDUMP
ivas_error IVAS_DEC_FeedPiDataToDecoder(
IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
hPiDataTs piData, /* i : PI data received in rtp packet */
UWord32 numPiData /* i : number of PI data received in rtp packet */
);
-#endif
/* Utility functions */
diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c
index 8ac73cb85eca3bf2d44dd62f3442138820786b1c..a8646b0108b991af0747f8ccd723fe5c56640836 100644
--- a/lib_dec/lib_dec_fx.c
+++ b/lib_dec/lib_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "lib_dec.h"
#include "ivas_cnst.h"
@@ -41,14 +13,9 @@
#include "jbm_jb4sb.h"
#include "jbm_pcmdsp_apa.h"
#include "jbm_pcmdsp_fifo.h"
-#ifdef IVAS_RTPDUMP
#include "ivas_rtp_pi_data.h"
-#endif
#include
#include
-#ifdef DEBUGGING
-#include "float_to_fix_ops.h"
-#endif
#include "wmc_auto.h"
@@ -81,10 +48,7 @@ struct IVAS_DEC
bool isInitialized;
Word16 bitstreamformat; /* Bitstream format flag (G.192/MIME/VOIP_G192_RTP/VOIP_RTPDUMP) */
-#ifdef DEBUGGING
- bool Opt_VOIP; /* flag indicating VOIP mode with JBM */
-#endif
- Word16 tsm_scale; /* scale for TSM operation */
+ Word16 tsm_scale; /* scale for TSM operation */
Word16 tsm_max_scaling;
Word16 timeScalingDone; /* have we done already one TSM in a 20ms frame? */
Word16 tsm_quality; /*Q14*/
@@ -116,11 +80,7 @@ static void store_JbmData( IVAS_DEC_VOIP *hVoIP, JB4_DATAUNIT_HANDLE dataUnit, c
static ivas_error evs_dec_main_fx( Decoder_Struct *st_ivas );
static ivas_error input_format_API_to_internal( IVAS_DEC_INPUT_FORMAT input_format, Word16 *bitstream_format_internal, Word16 *sdp_hf_only, const bool is_voip_enabled );
static void init_decoder_config( DECODER_CONFIG_HANDLE hDecoderConfig );
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
static ivas_error ivas_dec_setup_all( IVAS_DEC_HANDLE hIvasDec, UWord8 *nTransportChannels, ISAR_SPLIT_REND_BITS_DATA *splitRendBits );
-#else
-static ivas_error ivas_dec_setup_all( IVAS_DEC_HANDLE hIvasDec, UWord8 *nTransportChannels, const Word16 isSplitRend, ISAR_SPLIT_REND_BITS_DATA *splitRendBits );
-#endif
static ivas_error apa_setup( IVAS_DEC_HANDLE hIvasDec, const bool isInitialized_voip, const UWord16 nTransportChannels );
static ivas_error isar_set_split_rend_setup( ISAR_DEC_SPLIT_REND_WRAPPER *hSplitBinRend, const ISAR_SPLIT_REND_CONFIG_DATA *hSplitBinConfig, const COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, ISAR_SPLIT_REND_BITS_DATA *splitRendBits );
static ivas_error ivas_dec_reconfig_split_rend( Decoder_Struct *st_ivas );
@@ -128,10 +88,8 @@ static ivas_error ivas_dec_init_split_rend( Decoder_Struct *st_ivas );
static ivas_error ivas_create_handle_isar( ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE *hSplitBinRend_out );
static void ivas_destroy_handle_isar( ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE *hSplitBinRend_out );
static Word16 get_render_frame_size_ms( IVAS_RENDER_FRAMESIZE render_framesize );
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
static Word16 get_render_frame_size_samples( const DECODER_CONFIG_HANDLE hDecoderConfig );
static Word16 ivas_dec_split_rend_cldfb_in( const RENDERER_TYPE renderer_type );
-#endif
static void update_voip_rendered20ms( IVAS_DEC_HANDLE hIvasDec, const Word16 nSamplesRendered );
@@ -204,10 +162,6 @@ ivas_error IVAS_DEC_Open(
hIvasDec->bitstreamformat = G192;
move16();
-#ifdef DEBUGGING
- hIvasDec->Opt_VOIP = 0;
- move16();
-#endif
hIvasDec->amrwb_rfc4867_flag = -1;
hIvasDec->prev_ft_speech = 1; /* RXDTX handler previous frametype flag for G.192 format AMRWB SID_FIRST detection */
hIvasDec->CNG = 0; /* RXDTX handler CNG = 1, no CNG = 0*/
@@ -241,10 +195,8 @@ ivas_error IVAS_DEC_Open(
/* initialize pointers to handles to NULL */
ivas_initialize_handles_dec( st_ivas );
-#ifdef DECODER_FORMAT_SWITCHING
st_ivas->restartNeeded = 0;
move16();
-#endif
/* set high-level parameters */
IF( EQ_16( mode, IVAS_DEC_MODE_EVS ) )
@@ -337,12 +289,6 @@ static ivas_error isar_set_split_rend_setup(
move16();
move16();
-#ifndef TMP_FIX_SPLIT_REND
- IF( ( hSplitBinRend->hMultiBinCldfbData = (ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE) malloc( sizeof( ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA ) ) ) == NULL )
- {
- return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for split rendering structure" );
- }
-#endif
ISAR_PRE_REND_GetMultiBinPoseData( hSplitBinConfig, &hSplitBinRend->splitrend.multiBinPoseData, ( hCombinedOrientationData != NULL ) ? hCombinedOrientationData->sr_pose_pred_axis : DEFAULT_AXIS );
@@ -372,9 +318,7 @@ static void init_decoder_config(
hDecoderConfig->Opt_HRTF_binary = 0;
hDecoderConfig->Opt_Headrotation = 0;
hDecoderConfig->Opt_RendConfigCustom = 0;
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
hDecoderConfig->Opt_RoomSize = IVAS_ROOM_SIZE_AUTO;
-#endif
hDecoderConfig->orientation_tracking = IVAS_HEAD_ORIENT_TRK_NONE;
hDecoderConfig->Opt_non_diegetic_pan = 0;
hDecoderConfig->non_diegetic_pan_gain_fx = 0; // Q15
@@ -527,15 +471,13 @@ ivas_error IVAS_DEC_Configure(
const bool enableExternalOrientation, /* i : enable external orientations */
const IVAS_HEAD_ORIENT_TRK_T orientation_tracking, /* i : head orientation tracking type */
const bool renderConfigEnabled, /* i : enable Renderer config. file for binaural output */
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
- const IVAS_ROOM_SIZE_T roomSize, /* i : room size selector for reverb */
-#endif
- const bool non_diegetic_pan_enabled, /* i : enabled diegetic panning */
- const Word16 non_diegetic_pan_gain_fx, /* i : non diegetic panning gain */
- const bool dpidEnabled, /* i : enable directivity pattern option */
- const UWord16 acousticEnvironmentId, /* i : Acoustic environment ID */
- const bool objEditEnabled, /* i : enable object editing */
- const bool delayCompensationEnabled /* i : enable delay compensation */
+ const IVAS_ROOM_SIZE_T roomSize, /* i : room size selector for reverb */
+ const bool non_diegetic_pan_enabled, /* i : enabled diegetic panning */
+ const Word16 non_diegetic_pan_gain_fx, /* i : non diegetic panning gain */
+ const bool dpidEnabled, /* i : enable directivity pattern option */
+ const UWord16 acousticEnvironmentId, /* i : Acoustic environment ID */
+ const bool objEditEnabled, /* i : enable object editing */
+ const bool delayCompensationEnabled /* i : enable delay compensation */
)
{
Decoder_Struct *st_ivas;
@@ -556,7 +498,6 @@ ivas_error IVAS_DEC_Configure(
return IVAS_ERR_WRONG_PARAMS;
}
-#ifdef FIX_1419_MONO_STEREO_UMX
test();
test();
test();
@@ -576,14 +517,6 @@ ivas_error IVAS_DEC_Configure(
EQ_16( outputConfig, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ||
EQ_16( outputConfig, IVAS_AUDIO_CONFIG_MASA1 ) ||
EQ_16( outputConfig, IVAS_AUDIO_CONFIG_MASA2 ) ) )
-#else /* we now support all output formats, so this validation is redundant */
- test();
- test();
- test();
- test();
- IF( EQ_16( hIvasDec->mode, IVAS_DEC_MODE_EVS ) && !( ( EQ_16( outputConfig, IVAS_AUDIO_CONFIG_MONO ) && non_diegetic_pan_enabled == false ) ||
- ( EQ_16( outputConfig, IVAS_AUDIO_CONFIG_STEREO ) && non_diegetic_pan_enabled ) ) )
-#endif
{
return IVAS_ERR_WRONG_MODE;
}
@@ -620,19 +553,13 @@ ivas_error IVAS_DEC_Configure(
hDecoderConfig->orientation_tracking = orientation_tracking;
hDecoderConfig->Opt_HRTF_binary = (Word16) hrtfReaderEnabled;
hDecoderConfig->Opt_RendConfigCustom = (Word16) renderConfigEnabled;
-#ifdef FIX_1318_ROOM_SIZE_CMD_LINE
hDecoderConfig->Opt_RoomSize = roomSize;
-#endif
hDecoderConfig->Opt_non_diegetic_pan = (Word16) non_diegetic_pan_enabled;
hDecoderConfig->non_diegetic_pan_gain_fx = non_diegetic_pan_gain_fx; // Q15
hDecoderConfig->Opt_delay_comp = (Word16) delayCompensationEnabled;
hDecoderConfig->Opt_ExternalOrientation = enableExternalOrientation;
hDecoderConfig->Opt_dpid_on = (Word16) dpidEnabled;
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
IF( NE_32( (UWord16) acousticEnvironmentId, IVAS_DEFAULT_AEID ) )
-#else
- IF( NE_32( (Word32) acousticEnvironmentId, 65535 ) )
-#endif
{
hDecoderConfig->Opt_aeid_on = TRUE;
}
@@ -814,7 +741,6 @@ ivas_error IVAS_DEC_GetRenderFramesize(
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
/*---------------------------------------------------------------------*
* get_render_frame_size_samples( )
*
@@ -847,7 +773,6 @@ static Word16 get_render_frame_size_samples(
return tmp;
}
-#endif
/*---------------------------------------------------------------------*
@@ -861,9 +786,6 @@ ivas_error IVAS_DEC_GetRenderFramesizeSamples(
Word16 *render_framesize /* o : render framesize in samples Q0 */
)
{
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- Word16 tmp;
-#endif
test();
test();
@@ -872,28 +794,7 @@ ivas_error IVAS_DEC_GetRenderFramesizeSamples(
return IVAS_ERR_UNEXPECTED_NULL_POINTER;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
*render_framesize = get_render_frame_size_samples( hIvasDec->st_ivas->hDecoderConfig );
-#else
- tmp = (Word16) Mpy_32_16_1( hIvasDec->st_ivas->hDecoderConfig->output_Fs, INV_FR_P_S_MX_PRM_SPL_SBFR_Q15 );
-
- IF( EQ_16( hIvasDec->st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) )
- {
- *render_framesize = tmp;
- }
- ELSE IF( EQ_16( hIvasDec->st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_10MS ) )
- {
- *render_framesize = shl( tmp, 1 );
- }
- ELSE IF( EQ_16( hIvasDec->st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_20MS ) )
- {
- *render_framesize = shl( tmp, 2 );
- }
- ELSE
- {
- *render_framesize = 0;
- }
-#endif
move16();
return IVAS_ERR_OK;
@@ -1012,9 +913,6 @@ ivas_error IVAS_DEC_EnableVoIP(
hDecoderConfig = hIvasDec->st_ivas->hDecoderConfig;
-#ifdef DEBUGGING
- hIvasDec->Opt_VOIP = 1;
-#endif
hDecoderConfig->Opt_tsm = 1;
move16();
move16();
@@ -1062,12 +960,10 @@ ivas_error IVAS_DEC_EnableVoIP(
return IVAS_ERR_FAILED_ALLOC;
}
-#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED
if ( EQ_16( hIvasDec->mode, IVAS_DEC_MODE_EVS ) )
{
JB4_TMP_SetEvsCompatFlag( hIvasDec->hVoIP->hJBM );
}
-#endif
/* init flush buffer (needed for binaural outputs) */
IF( ( error = create_flush_buffer_fx( hIvasDec ) ) != IVAS_ERR_OK )
@@ -1095,13 +991,11 @@ ivas_error IVAS_DEC_FeedFrame_Serial(
{
ivas_error error;
-#ifdef FIX_1388_MSAN_ivas_init_decoder
test();
IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL )
{
return IVAS_ERR_UNEXPECTED_NULL_POINTER;
}
-#endif
IF( !hIvasDec->isInitialized )
{
@@ -1109,11 +1003,9 @@ ivas_error IVAS_DEC_FeedFrame_Serial(
* In IVAS mode, initialization is done in ivas_dec(). */
IF( EQ_16( hIvasDec->mode, IVAS_DEC_MODE_EVS ) )
{
-#ifdef FIX_1388_MSAN_ivas_init_decoder
hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00;
move32();
-#endif
IF( NE_32( ( error = ivas_init_decoder_fx( hIvasDec->st_ivas ) ), IVAS_ERR_OK ) )
{
return error;
@@ -1130,13 +1022,6 @@ ivas_error IVAS_DEC_FeedFrame_Serial(
hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = imult3216( hIvasDec->hVoIP->hCurrentDataUnit->dataSize, FRAMES_PER_SEC );
move32();
}
-#ifndef FIX_1388_MSAN_ivas_init_decoder
- ELSE
- {
- hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00;
- move32();
- }
-#endif
hIvasDec->isInitialized = true;
move16();
@@ -1208,7 +1093,6 @@ ivas_error IVAS_DEC_FeedFrame_Serial(
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
/*---------------------------------------------------------------------*
* isar_get_frame_size( )
*
@@ -1255,10 +1139,6 @@ static ivas_error isar_render_poses(
bool *needNewFrame /* o : indication that the decoder needs a new frame */
)
{
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- // Note for reviewers: Code in this function was moved and adapted from IVAS_DEC_GetSplitBinauralBitstream,
- // see #else branch of FIX_1119_SPLIT_RENDERING_VOIP there for reference
-#endif
Word16 pcmBuf[BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES * L_FRAME48k];
Decoder_Struct *st_ivas;
ivas_error error;
@@ -1321,10 +1201,6 @@ static ivas_error isar_generate_metadata_and_bitstream(
Word16 Q_out[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS] /* o : Q-format of each channel of p_head_pose_buf */
)
{
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- // Note for reviewers: Code in this function was moved and adapted from IVAS_DEC_GetSplitBinauralBitstream,
- // see #else branch of FIX_1119_SPLIT_RENDERING_VOIP there for reference
-#endif
ivas_error error;
ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE hSplitBinRend;
Word16 max_band;
@@ -1484,7 +1360,6 @@ static ivas_error isar_generate_metadata_and_bitstream(
return IVAS_ERR_OK;
}
-#endif /* FIX_1119_SPLIT_RENDERING_VOIP */
/*---------------------------------------------------------------------*
@@ -1586,11 +1461,7 @@ ivas_error IVAS_DEC_GetSamplesRenderer(
hIvasDec->hasBeenFedFrame = false;
/* check for possible flushed samples from a rate switch */
-#ifdef FIX_2174_JBM_BASOP_ALIGNMENT
IF( GT_16( hIvasDec->nSamplesFlushed, 0 ) )
-#else
- IF( GE_16( hIvasDec->nSamplesFlushed, 0 ) )
-#endif
{
/* note: offset (rendered samples) is always 0 */
Copy( hIvasDec->flushbuffer, pcmBuf, imult1616( hIvasDec->nSamplesFlushed, nOutChannels ) );
@@ -1644,7 +1515,6 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream(
bool *needNewFrame /* o : indication that the decoder needs a new frame */
)
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
Decoder_Struct *st_ivas;
ivas_error error;
Word32 head_pose_buf[BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES][L_FRAME48k];
@@ -1706,9 +1576,7 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream(
}
IF( EQ_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) )
{
-#ifndef DISABLE_LIMITER
ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, numSamplesPerChannelToOutput, st_ivas->BER_detect, Q11 );
-#endif
}
ELSE
{
@@ -1717,261 +1585,6 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream(
ivas_syn_output_fx( p_head_pose_buf, Q11, numSamplesPerChannelToOutput, st_ivas->hDecoderConfig->nchan_out, pcmBuf_out );
}
-#else
- Decoder_Struct *st_ivas;
- AUDIO_CONFIG output_config;
- Word32 output_Fs;
- Word32 *pOutput[BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES];
- Word32 Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
- Word32 Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX];
- Word16 numSamplesPerChannelToDecode;
- Word16 i, j, k;
- ivas_error error;
- ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE hSplitBinRend;
- Word16 max_band;
- Word16 pcm_out_flag;
- Word16 td_input;
- Word16 numPoses;
- Word16 slots_rendered, slots_rendered_new;
- Word16 ro_md_flag;
- IVAS_QUATERNION Quaternion;
-
- test();
- IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL )
- {
- return IVAS_ERR_UNEXPECTED_NULL_POINTER;
- }
-
- st_ivas = hIvasDec->st_ivas;
- output_config = st_ivas->hDecoderConfig->output_config;
- output_Fs = st_ivas->hDecoderConfig->output_Fs;
- numSamplesPerChannelToDecode = (Word16) ( output_Fs / FRAMES_PER_SEC ); // TODO remove division
-
- *needNewFrame = false;
- hSplitBinRend = st_ivas->hSplitBinRend;
-
- FOR( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; i++ )
- {
- FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ )
- {
- FOR( k = 0; k < CLDFB_NO_CHANNELS_MAX; k++ )
- {
- Cldfb_RealBuffer_Binaural[i][j][k] = 0;
- Cldfb_ImagBuffer_Binaural[i][j][k] = 0;
- move32();
- move32();
- }
- }
- }
-
- FOR( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; i++ )
- {
- FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ )
- {
- set32_fx( hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[i][j], 0, CLDFB_NO_CHANNELS_MAX );
- set32_fx( hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[i][j], 0, CLDFB_NO_CHANNELS_MAX );
- }
- }
-
- numPoses = hSplitBinRend->splitrend.multiBinPoseData.num_poses;
- move16();
-
- /* init flush buffer for rate switch if not already initizalized */
- IF( hIvasDec->flushbuffer == NULL )
- {
- hIvasDec->flushbuffer = (void *) malloc( numPoses * BINAURAL_CHANNELS * hIvasDec->nSamplesFrame / IVAS_MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float ) );
- set16_fx( (Word16 *) hIvasDec->flushbuffer, 0, numPoses * BINAURAL_CHANNELS * hIvasDec->nSamplesFrame / IVAS_MAX_PARAM_SPATIAL_SUBFRAMES );
- }
-
- IF( NE_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_20MS ) &&
- ( EQ_32( st_ivas->hRenderConfig->split_rend_config.poseCorrectionMode, ISAR_SPLIT_REND_POSE_CORRECTION_MODE_NONE ) ||
- EQ_16( st_ivas->hRenderConfig->split_rend_config.dof, 0 ) ) )
- {
- numSamplesPerChannelToDecode = (Word16) ( output_Fs / FRAMES_PER_SEC ); // TODO remove division
- numSamplesPerChannelToDecode = (Word16) ( numSamplesPerChannelToDecode / MAX_PARAM_SPATIAL_SUBFRAMES ); // TODO remove division
- numSamplesPerChannelToDecode *= (Word16) st_ivas->hDecoderConfig->render_framesize;
- move16();
- move16();
- }
-
- IF( is_split_rendering_enabled( st_ivas->hDecoderConfig, st_ivas->hRenderConfig ) == 0 )
- {
- return IVAS_ERR_WRONG_PARAMS;
- }
-
- test();
- IF( st_ivas->hTcBuffer == NULL || hIvasDec->hasBeenFedFrame )
- {
- slots_rendered = 0;
- }
- ELSE
- {
- /* this is needed for OMASA-DISC, because the td-rend granularity is 240 samples at 48kHz, leading to wrong slot count. */
- test();
- IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) )
- {
- slots_rendered = st_ivas->hTcBuffer->n_samples_rendered / NS2SA( st_ivas->hDecoderConfig->output_Fs, CLDFB_SLOT_NS ); // TODO remove division
- }
- ELSE
- {
- slots_rendered = st_ivas->hTcBuffer->n_samples_rendered / st_ivas->hTcBuffer->n_samples_granularity;
- }
- }
-
- /* Decode and render */
- IF( ( error = IVAS_DEC_GetSamplesRenderer( hIvasDec, numSamplesPerChannelToDecode, pcmBuf_out, nOutSamples, needNewFrame ) ) != IVAS_ERR_OK )
- {
- return error;
- }
-
- IF( !hIvasDec->hasBeenFedFirstGoodFrame )
- {
- return IVAS_ERR_OK;
- }
-
- FOR( i = 0; i < BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES; ++i )
- {
- pOutput[i] = hSplitBinRend->hMultiBinCldfbData->output_fx[i];
- move32();
- }
-
- IF( st_ivas->hTcBuffer == NULL )
- {
- slots_rendered_new = 0;
- move16();
- }
- ELSE
- {
- /* this is needed for OMASA-DISC, because the td-rend granularity is 240 samples at 48kHz, leading to wrong slot count. */
- IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) )
- {
- slots_rendered_new = st_ivas->hTcBuffer->n_samples_rendered / NS2SA( st_ivas->hDecoderConfig->output_Fs, CLDFB_SLOT_NS ); // TODO remove division
- }
- ELSE
- {
- slots_rendered_new = st_ivas->hTcBuffer->n_samples_rendered / st_ivas->hTcBuffer->n_samples_granularity; // TODO remove division
- }
- }
-
- FOR( i = 0; i < i_mult( BINAURAL_CHANNELS, numPoses ); ++i )
- {
- FOR( j = slots_rendered; j < slots_rendered_new; ++j )
- {
- Copy32( hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[i][j], Cldfb_RealBuffer_Binaural[i][j - slots_rendered], CLDFB_NO_CHANNELS_MAX );
- Copy32( hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[i][j], Cldfb_ImagBuffer_Binaural[i][j - slots_rendered], CLDFB_NO_CHANNELS_MAX );
- }
- }
-
- max_band = (Word16) ( ( BINAURAL_MAXBANDS * output_Fs ) / 48000 ); // TODO remove division
- move16();
- pcm_out_flag = ( output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0;
- td_input = st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && st_ivas->renderer_type != RENDERER_STEREO_PARAMETRIC;
-
- IF( st_ivas->hBinRendererTd != NULL )
- {
- ro_md_flag = 1;
- move16();
- }
- ELSE
- {
- ro_md_flag = 0;
- move16();
- }
-
- IF( st_ivas->hHeadTrackData != NULL )
- {
- Quaternion = st_ivas->hHeadTrackData->Quaternions[0];
- }
- ELSE
- {
- Quaternion.w_fx = -12582912;
- Quaternion.x_fx = 0;
- Quaternion.y_fx = 0;
- Quaternion.z_fx = 0;
- }
- Word16 q1 = 31, q2 = 31, Q_buff;
- Word16 Q_out[CLDFB_NO_COL_MAX];
- Q_out[0] = 31;
- Word16 num_poses = hSplitBinRend->splitrend.multiBinPoseData.num_poses;
-
- FOR( i = 0; i < i_mult( BINAURAL_CHANNELS, numPoses ); i++ )
- {
- FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ )
- {
- q1 = s_min( q1, L_norm_arr( Cldfb_RealBuffer_Binaural[i][j], CLDFB_NO_CHANNELS_MAX ) );
- q2 = s_min( q2, L_norm_arr( Cldfb_ImagBuffer_Binaural[i][j], CLDFB_NO_CHANNELS_MAX ) );
- }
- }
- Q_buff = s_min( q1, q2 );
- FOR( i = 0; i < i_mult( BINAURAL_CHANNELS, numPoses ); i++ )
- {
- FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ )
- {
- scale_sig32( Cldfb_RealBuffer_Binaural[i][j], CLDFB_NO_CHANNELS_MAX, Q_buff );
- scale_sig32( Cldfb_ImagBuffer_Binaural[i][j], CLDFB_NO_CHANNELS_MAX, Q_buff );
- }
- }
- Q_buff = add( Q_buff, Q6 );
-
- IF( NE_16( td_input, 0 ) )
- {
- /*TD input*/
- /*if CLDFB handles have been allocated then assume valid multi binaural input in out[][] buffer and perform CLDFB analysis*/
- /* local float2fix, to be removed */
- num_poses = hSplitBinRend->splitrend.multiBinPoseData.num_poses;
-
- FOR( i = 0; i < num_poses * BINAURAL_CHANNELS; ++i )
- {
- Q_out[0] = s_min( Q_out[0], L_norm_arr( pOutput[i], L_FRAME48k ) );
- }
-
- FOR( i = 0; i < num_poses * BINAURAL_CHANNELS; ++i )
- {
- scale_sig32( pOutput[i], L_FRAME48k, Q_out[0] );
- }
- Q_out[0] = add( Q_out[0], Q11 );
- Q_out[1] = Q_out[0];
- }
-
- IF( ( error = ISAR_PRE_REND_MultiBinToSplitBinaural( &hSplitBinRend->splitrend,
- Quaternion,
- st_ivas->hRenderConfig->split_rend_config.splitRendBitRate,
- st_ivas->hRenderConfig->split_rend_config.codec,
- st_ivas->hRenderConfig->split_rend_config.isar_frame_size_ms,
- st_ivas->hRenderConfig->split_rend_config.codec_frame_size_ms,
- splitRendBits,
- Cldfb_RealBuffer_Binaural,
- Cldfb_ImagBuffer_Binaural,
- max_band, pOutput, 1, !td_input, pcm_out_flag, ro_md_flag, Q_buff, &Q_out[0] ) ) != IVAS_ERR_OK )
- {
- return error;
- }
-
- /* convert to int16 with limiting for BINAURAL_SPLIT_PCM */
- IF( pcm_out_flag )
- {
- FOR( j = 0; j < BINAURAL_CHANNELS; j++ )
- {
- scale_sig32( pOutput[j], numSamplesPerChannelToDecode, sub( Q11, Q_out[j] ) ); // Q11
- }
- IF( EQ_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) )
- {
-#ifndef DISABLE_LIMITER
- ivas_limiter_dec_fx( st_ivas->hLimiter, pOutput, st_ivas->hDecoderConfig->nchan_out, numSamplesPerChannelToDecode, st_ivas->BER_detect, Q11 );
-#endif
- }
- else
- {
- ivas_limiter_dec_fx( st_ivas->hLimiter, pOutput, st_ivas->hDecoderConfig->nchan_out, numSamplesPerChannelToDecode, st_ivas->BER_detect, Q11 );
- }
-
- ivas_syn_output_fx( pOutput, Q11, numSamplesPerChannelToDecode, st_ivas->hDecoderConfig->nchan_out, (Word16 *) pcmBuf_out );
- }
-
-#ifndef TMP_FIX_SPLIT_REND
- free( st_ivas->hSplitBinRend->hMultiBinCldfbData );
-#endif
-#endif
return IVAS_ERR_OK;
}
@@ -1984,11 +1597,8 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream(
*---------------------------------------------------------------------*/
static ivas_error ivas_dec_setup_all(
- IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
- UWord8 *nTransportChannels, /* o : number of decoded transport PCM channels */
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- const Word16 isSplitRend, /* i : split rendering enabled flag */
-#endif
+ IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
+ UWord8 *nTransportChannels, /* o : number of decoded transport PCM channels */
ISAR_SPLIT_REND_BITS_DATA *splitRendBits /* o : output split rendering bits */
)
{
@@ -2013,11 +1623,7 @@ static ivas_error ivas_dec_setup_all(
st_ivas = hIvasDec->st_ivas;
/* Setup IVAS split rendering */
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
IF( splitRendBits != NULL )
-#else
- IF( isSplitRend )
-#endif
{
IF( ( error = isar_set_split_rend_setup( st_ivas->hSplitBinRend, &st_ivas->hRenderConfig->split_rend_config, st_ivas->hCombinedOrientationData, splitRendBits ) ) != IVAS_ERR_OK )
{
@@ -2052,11 +1658,7 @@ static ivas_error ivas_dec_setup_all(
*-----------------------------------------------------------------*/
test();
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
IF( EQ_16( st_ivas->ini_frame, 0 ) && splitRendBits != NULL )
-#else
- IF( st_ivas->ini_frame == 0 && isSplitRend )
-#endif
{
IF( ( error = ivas_dec_init_split_rend( st_ivas ) ) != IVAS_ERR_OK )
{
@@ -2157,7 +1759,6 @@ ivas_error IVAS_DEC_GetFormat(
}
move32();
-#ifdef DECODER_FORMAT_SWITCHING
test();
IF( EQ_32( *format, IVAS_DEC_BS_MASA ) && hIvasDec->st_ivas->hMasa != NULL )
{
@@ -2167,14 +1768,6 @@ ivas_error IVAS_DEC_GetFormat(
move32();
}
}
-#else
- test();
- if ( EQ_32( *format, IVAS_DEC_BS_MASA ) && EQ_32( hIvasDec->st_ivas->hMasa->config.input_ivas_format, MASA_ISM_FORMAT ) )
- {
- *format = IVAS_DEC_BS_MASA_ISM;
- move32();
- }
-#endif
return IVAS_ERR_OK;
}
@@ -2981,7 +2574,6 @@ ivas_error IVAS_DEC_HRTF_binary_close(
}
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
/*---------------------------------------------------------------------*
* IVAS_DEC_AddAcousticEnvironment( )
*
@@ -3221,7 +2813,6 @@ ivas_error IVAS_DEC_GetAcousticEnvironment(
}
}
-#endif
/*---------------------------------------------------------------------*
* copyRendererConfigStruct( )
@@ -3239,10 +2830,8 @@ static ivas_error copyRendererConfigStruct(
return IVAS_ERR_UNEXPECTED_NULL_POINTER;
}
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
hRCout->roomAcoustics.aeID = hRCin->roomAcoustics.aeID;
move16();
-#endif
hRCout->roomAcoustics.nBands = hRCin->roomAcoustics.nBands;
hRCout->roomAcoustics.acousticPreDelay_fx = hRCin->roomAcoustics.acousticPreDelay_fx;
hRCout->roomAcoustics.inputPreDelay_fx = hRCin->roomAcoustics.inputPreDelay_fx;
@@ -3340,10 +2929,8 @@ ivas_error IVAS_DEC_FeedRenderConfig(
hRenderConfig = hIvasDec->st_ivas->hRenderConfig;
st_ivas = hIvasDec->st_ivas;
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
hRenderConfig->roomAcoustics.aeID = renderConfig.roomAcoustics.aeID;
move16();
-#endif
hRenderConfig->roomAcoustics.nBands = renderConfig.roomAcoustics.nBands;
hRenderConfig->roomAcoustics.acousticPreDelay_fx = renderConfig.roomAcoustics.acousticPreDelay_fx;
hRenderConfig->roomAcoustics.inputPreDelay_fx = renderConfig.roomAcoustics.inputPreDelay_fx;
@@ -3439,7 +3026,6 @@ ivas_error IVAS_DEC_FeedRenderConfig(
return IVAS_ERR_OK;
}
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
/*---------------------------------------------------------------------*
* feedAcousticEnvPI( )
@@ -3585,7 +3171,6 @@ static ivas_error feedAcousticEnvPI(
return IVAS_ERR_OK;
}
-#endif
/*---------------------------------------------------------------------*
* IVAS_DEC_GetDelay( )
@@ -3903,90 +3488,6 @@ ivas_error IVAS_DEC_VoIP_SetScale(
return IVAS_ERR_OK;
}
-#ifdef VARIABLE_SPEED_DECODING
-
-/*---------------------------------------------------------------------*
- * IVAS_DEC_EnableTsm( )
- *
- * Enable Time-Scale Modification (TSM)
- *---------------------------------------------------------------------*/
-
-ivas_error IVAS_DEC_EnableTsm(
- IVAS_DEC_HANDLE hIvasDec /* i/o: IVAS decoder handle */
-)
-{
- AUDIO_CONFIG output_config;
- ivas_error error;
-
- test();
- IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL )
- {
- return IVAS_ERR_UNEXPECTED_NULL_POINTER;
- }
-
- hIvasDec->st_ivas->hDecoderConfig->Opt_tsm = 1;
- move16();
-
- /* Init flush buffer if necessary (only needed for binaural) */
- output_config = hIvasDec->st_ivas->hDecoderConfig->output_config;
-
- test();
- test();
- test();
- test();
- test();
- IF( hIvasDec->flushbuffer == NULL && ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) )
- {
- IF( ( error = create_flush_buffer( hIvasDec ) ) != IVAS_ERR_OK )
- {
- return error;
- }
- }
-
- return IVAS_ERR_OK;
-}
-
-
-/*---------------------------------------------------------------------*
- * IVAS_DEC_TSM_SetQuality( )
- *
- * set the quality theshold for the time scale modiciation that is used
- * to determine if the TSM yielded a signal that satisfies the minimum
- * quality requirements.
- * quality is lower limit for minimum quality
- * Range is [-2;2] - where positive values allow
- * only pasting with same phase information
- * Negative values would yield cross phased pasting
- * When not setting the minimum quality with this function the default
- * value used is 1.0f
- *
- *---------------------------------------------------------------------*/
-
-ivas_error IVAS_DEC_TSM_SetQuality(
- IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
- const Word16 quality /* i : target TSM quality Q14 */
-)
-{
- test();
- IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL )
- {
- return IVAS_ERR_UNEXPECTED_NULL_POINTER;
- }
-
- IF( !hIvasDec->st_ivas->hDecoderConfig->Opt_tsm )
- {
- return IVAS_ERR_TSM_NOT_ENABLED;
- }
- ELSE
- {
- hIvasDec->tsm_quality = quality; // Q14
- move16();
- }
-
- return IVAS_ERR_OK;
-}
-
-#endif
/*---------------------------------------------------------------------*
* renderer_type_to_mode()
@@ -4048,9 +3549,6 @@ ivas_error IVAS_DEC_ReadFormat(
{
ivas_error error;
Decoder_Struct *st_ivas;
-#ifndef DECODER_FORMAT_SWITCHING
- IVAS_FORMAT ivas_format_old;
-#endif
ISM_MODE ism_mode_old;
MC_MODE mc_mode_old;
Word16 nchan_transport_old;
@@ -4064,9 +3562,6 @@ ivas_error IVAS_DEC_ReadFormat(
}
st_ivas = hIvasDec->st_ivas;
-#ifndef DECODER_FORMAT_SWITCHING
- ivas_format_old = st_ivas->ivas_format;
-#endif
ism_mode_old = st_ivas->ism_mode;
mc_mode_old = st_ivas->mc_mode;
nchan_transport_old = st_ivas->nchan_transport;
@@ -4075,9 +3570,6 @@ ivas_error IVAS_DEC_ReadFormat(
renderer_type_old = st_ivas->renderer_type;
renderer_type_sec_old = ivas_renderer_secondary_select_fx( st_ivas );
move32();
-#ifndef DECODER_FORMAT_SWITCHING
- move32();
-#endif
move32();
move16();
move32();
@@ -4100,21 +3592,10 @@ ivas_error IVAS_DEC_ReadFormat(
return error;
}
-#ifdef DECODER_FORMAT_SWITCHING
IF( EQ_16( st_ivas->restartNeeded, 1 ) )
{
return IVAS_ERR_OK;
}
-#else
-
- test();
- test();
- test();
- IF( NE_32( ivas_format_old, st_ivas->ivas_format ) && GT_16( st_ivas->ini_frame, 0 ) && ( NE_32( st_ivas->ivas_format, MASA_FORMAT ) && NE_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) ) )
- {
- return ( IVAS_ERROR( IVAS_ERR_INVALID_INPUT_FORMAT, "IVAS format switching is not allowed." ) );
- }
-#endif
/* Select binaural renderer */
ivas_renderer_select( st_ivas );
@@ -4283,10 +3764,7 @@ static ivas_error apa_exec_evs_wrapper(
*---------------------------------------------------------------------*/
ivas_error IVAS_DEC_GetSamplesDecoder(
- IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
-#ifndef FIX_1119_SPLIT_RENDERING_VOIP
- const Word16 isSplitRend, /* i : split rendering enabled flag */
-#endif
+ IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
ISAR_SPLIT_REND_BITS_DATA *splitRendBits /* o : output split rendering bits */
)
{
@@ -4320,11 +3798,7 @@ ivas_error IVAS_DEC_GetSamplesDecoder(
* Setup all decoder parts (IVAS decoder, ISAR)
*-----------------------------------------------------------------*/
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
IF( NE_32( ( error = ivas_dec_setup_all( hIvasDec, &nTransportChannels, splitRendBits ) ), IVAS_ERR_OK ) )
-#else
- IF( ( error = ivas_dec_setup_all( hIvasDec, &nTransportChannels, isSplitRend, splitRendBits ) ) != IVAS_ERR_OK )
-#endif
{
return error;
}
@@ -4413,11 +3887,7 @@ ivas_error IVAS_DEC_GetSamplesDecoder(
IF( st_ivas->hDecoderConfig->Opt_tsm )
{
/* feed residual samples to TSM for the next call */
-#ifdef FIX_2174_JBM_BASOP_ALIGNMENT
IF( apa_set_renderer_residual_samples( hIvasDec->hTimeScaler, (UWord16) nResidualSamples ) != 0 )
-#else
- IF( apa_set_renderer_residual_samples( hIvasDec->hTimeScaler, (uint16_t) nResidualSamples ) != 0 )
-#endif
{
return IVAS_ERR_UNKNOWN;
}
@@ -4458,10 +3928,8 @@ ivas_error IVAS_DEC_GetSamplesDecoder(
move32();
hIsmMetaData[obj]->edited_radius_fx = hIsmMetaData[obj]->radius_fx;
move32();
-#ifdef FIX_2148_OBJ_EDIT_ISSUE_WITH_OSBA
hIsmMetaData[obj]->edited_gain_fx = ONE_IN_Q29;
move32();
-#endif
}
if ( EQ_32( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) )
@@ -4597,12 +4065,6 @@ ivas_error IVAS_DEC_GetEditableParameters(
hIvasEditableParameters->num_obj = 0;
move16();
}
-#ifdef DEBUGGING
- ELSE
- {
- assert( 0 && "This should never happen!" );
- }
-#endif
}
ELSE IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) || ( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && GT_16( st_ivas->nchan_ism, 0 ) ) )
{
@@ -4673,12 +4135,6 @@ ivas_error IVAS_DEC_GetEditableParameters(
hIvasEditableParameters->num_obj = 0;
move16();
}
-#ifdef DEBUGGING
- ELSE
- {
- assert( 0 && "This should never happen!" );
- }
-#endif
}
return IVAS_ERR_OK;
@@ -4734,9 +4190,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
test();
IF( EQ_32( ism_mode, ISM_MODE_DISC ) || EQ_32( ism_mode, ISM_SBA_MODE_DISC ) )
{
-#ifdef DEBUGGING
- assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism );
-#endif
FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ )
{
st_ivas->hIsmMetaData[obj]->edited_azimuth_fx = hIvasEditableParameters.ism_metadata[obj].azimuth_fx;
@@ -4749,7 +4202,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
move32();
st_ivas->hIsmMetaData[obj]->edited_pitch_fx = hIvasEditableParameters.ism_metadata[obj].pitch_fx;
move32();
-#ifdef FIX_GAIN_EDIT_LIMITS
IF( GT_32( hIvasEditableParameters.ism_metadata[obj].gain_fx, EDIT_GAIN_MAX_Q29 ) )
{
st_ivas->hIsmMetaData[obj]->edited_gain_fx = EDIT_GAIN_MAX_Q29;
@@ -4760,17 +4212,12 @@ ivas_error IVAS_DEC_SetEditableParameters(
st_ivas->hIsmMetaData[obj]->edited_gain_fx = hIvasEditableParameters.ism_metadata[obj].gain_fx;
move32();
}
-#else
- st_ivas->hIsmMetaData[obj]->edited_gain_fx = hIvasEditableParameters.ism_metadata[obj].gain_fx;
- move32();
-#endif
st_ivas->hIsmMetaData[obj]->non_diegetic_flag = hIvasEditableParameters.ism_metadata[obj].non_diegetic_flag;
move16();
}
IF( EQ_32( ism_mode, ISM_SBA_MODE_DISC ) )
{
-#ifdef FIX_GAIN_EDIT_LIMITS
IF( GT_32( hIvasEditableParameters.gain_bed_fx, EDIT_GAIN_MAX_Q29 ) )
{
st_ivas->hSbaIsmData->gain_bed_fx = EDIT_GAIN_MAX_Q29;
@@ -4781,17 +4228,10 @@ ivas_error IVAS_DEC_SetEditableParameters(
st_ivas->hSbaIsmData->gain_bed_fx = hIvasEditableParameters.gain_bed_fx;
move32();
}
-#else
- st_ivas->hSbaIsmData->gain_bed_fx = hIvasEditableParameters.gain_bed_fx;
- move32();
-#endif
}
}
ELSE IF( EQ_32( ism_mode, ISM_MODE_PARAM ) )
{
-#ifdef DEBUGGING
- assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism );
-#endif
FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ )
{
st_ivas->hParamIsmDec->edited_azimuth_values_fx[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth_fx;
@@ -4801,7 +4241,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
IF( st_ivas->hMasaIsmData != NULL )
{
-#ifdef FIX_GAIN_EDIT_LIMITS
/* Limit gain edit to a range of +12dB to -24dB with parametric ISM mode */
IF( GT_32( hIvasEditableParameters.gain_bed_fx, EDIT_GAIN_MAX_Q29 ) )
{
@@ -4818,10 +4257,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
st_ivas->hMasaIsmData->gain_ism_edited_fx[obj] = shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ); // Q29 -> Q12
move16();
}
-#else
- st_ivas->hMasaIsmData->gain_ism_edited_fx[obj] = shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ); // Q29 -> Q12
- move32();
-#endif
/* Detect direction editing in Param-ISM mode */
IF( GT_32( L_abs( L_sub( st_ivas->hParamIsmDec->azimuth_values_fx[obj], hIvasEditableParameters.ism_metadata[obj].azimuth_fx ) ), OMASA_AZI_EDIT_THR_Q22 ) || // | azi_orig[obj] - azi_edit[obj] | > azi_threshold
@@ -4862,21 +4297,12 @@ ivas_error IVAS_DEC_SetEditableParameters(
return IVAS_ERR_OBJECTS_EDITING_NOT_SUPPORTED;
}
}
-#ifdef DEBUGGING
- ELSE
- {
- assert( 0 && "This should never happen!" );
- }
-#endif
}
ELSE IF( EQ_16( st_ivas->ivas_format, MASA_ISM_FORMAT ) && ( EQ_16( ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) || EQ_16( ism_mode, ISM_MASA_MODE_DISC ) ) )
{
Word32 id_th;
Word32 threshold_azi, threshold_ele;
-#ifdef DEBUGGING
- assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism );
-#endif
FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ )
{
IF( st_ivas->hMasaIsmData != NULL )
@@ -4962,7 +4388,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
IF( GT_16( abs_s( sub( shr( extract_h( st_ivas->hIsmMetaData[obj]->edited_gain_fx ), Q1 ), shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ) ) ), OMASA_GAIN_EDIT_THR_Q12 ) ) // | gain_edit[obj] - gain_orig[obj] | > gain_threshold
{
st_ivas->hMasaIsmData->ism_gain_is_edited[obj] = 1;
-#ifdef FIX_GAIN_EDIT_LIMITS
/* Limit gain edit to a range of +12dB to -24dB with parametric OMASA mode */
test();
IF( GT_32( hIvasEditableParameters.ism_metadata[obj].gain_fx, EDIT_GAIN_MAX_Q29 ) )
@@ -4980,10 +4405,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
st_ivas->hMasaIsmData->gain_ism_edited_fx[obj] = shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ); // Q29 --> Q12
move16();
}
-#else
- st_ivas->hMasaIsmData->gain_ism_edited_fx[obj] = shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ); // Q29 --> Q12
- move16();
-#endif
}
ELSE
{
@@ -4999,7 +4420,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
move32();
st_ivas->hIsmMetaData[obj]->edited_elevation_fx = hIvasEditableParameters.ism_metadata[obj].elevation_fx;
move32();
-#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA
IF( EQ_16( ism_mode, ISM_MASA_MODE_DISC ) )
{
st_ivas->hIsmMetaData[obj]->edited_yaw_fx = hIvasEditableParameters.ism_metadata[obj].yaw_fx;
@@ -5009,15 +4429,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
st_ivas->hIsmMetaData[obj]->edited_radius_fx = hIvasEditableParameters.ism_metadata[obj].radius_fx;
move16();
}
-#else
- st_ivas->hIsmMetaData[obj]->edited_yaw_fx = hIvasEditableParameters.ism_metadata[obj].yaw_fx;
- move32();
- st_ivas->hIsmMetaData[obj]->edited_pitch_fx = hIvasEditableParameters.ism_metadata[obj].pitch_fx;
- move32();
- st_ivas->hIsmMetaData[obj]->edited_radius_fx = hIvasEditableParameters.ism_metadata[obj].radius_fx;
- move32();
-#endif
-#ifdef FIX_GAIN_EDIT_LIMITS
test();
IF( GT_32( hIvasEditableParameters.ism_metadata[obj].gain_fx, EDIT_GAIN_MAX_Q29 ) )
{
@@ -5031,10 +4442,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
{
st_ivas->hIsmMetaData[obj]->edited_gain_fx = hIvasEditableParameters.ism_metadata[obj].gain_fx;
}
-#else
- st_ivas->hIsmMetaData[obj]->edited_gain_fx = hIvasEditableParameters.ism_metadata[obj].gain_fx;
- move32();
-#endif
st_ivas->hIsmMetaData[obj]->non_diegetic_flag = hIvasEditableParameters.ism_metadata[obj].non_diegetic_flag;
move16();
}
@@ -5042,7 +4449,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
IF( GT_16( abs_s( sub( shr( extract_h( hIvasEditableParameters.gain_bed_fx ), Q1 ), ONE_IN_Q12 ) ), OMASA_GAIN_EDIT_THR_Q12 ) ) // | gain_bed - 1.0f | > gain_threshold
{
-#ifdef FIX_GAIN_EDIT_LIMITS
/* Limit gain edit to a range of +12dB to -24dB with parametric OMASA mode */
test();
IF( GT_32( hIvasEditableParameters.gain_bed_fx, EDIT_GAIN_MAX_Q29 ) )
@@ -5060,10 +4466,6 @@ ivas_error IVAS_DEC_SetEditableParameters(
st_ivas->hMasaIsmData->gain_masa_edited_fx = shr( extract_h( hIvasEditableParameters.gain_bed_fx ), Q1 );
move16();
}
-#else
- st_ivas->hMasaIsmData->gain_masa_edited_fx = shr( extract_h( hIvasEditableParameters.gain_bed_fx ), Q1 );
- move32();
-#endif
st_ivas->hMasaIsmData->masa_gain_is_edited = 1;
}
ELSE
@@ -5106,8 +4508,6 @@ ivas_error IVAS_DEC_PrepareRenderer(
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
-
/*---------------------------------------------------------------------*
* ivas_dec_voip_get_samples_common( )
*
@@ -5117,23 +4517,13 @@ ivas_error IVAS_DEC_PrepareRenderer(
static ivas_error ivas_dec_voip_get_samples_common
-#else
-/*---------------------------------------------------------------------*
- * IVAS_DEC_VoIP_GetSamples( )
- *
- * Main function to decode one frame in VoIP
- *---------------------------------------------------------------------*/
-ivas_error IVAS_DEC_VoIP_GetSamples
-#endif
(
- IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
- UWord16 nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */
- /* const IVAS_DEC_PCM_TYPE pcmType, */ /* i : type for the decoded PCM resolution */
- Word16 *pcmBuf, /* o : output synthesis signal */
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
+ IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */
+ UWord16 nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */
+ /* const IVAS_DEC_PCM_TYPE pcmType, */ /* i : type for the decoded PCM resolution */
+ Word16 *pcmBuf, /* o : output synthesis signal */
ISAR_SPLIT_REND_BITS_DATA *splitRendBits, /* o : output split rendering bits */
Word32 **p_head_pose_buf, /* i : PCM buffer with head-pose data */
-#endif
#ifdef SUPPORT_JBM_TRACEFILE
JbmTraceFileWriterFn jbmWriterFn,
void *jbmWriter,
@@ -5175,7 +4565,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples
return IVAS_ERR_WRONG_PARAMS;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
test();
test();
IF( ( EQ_32( hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ||
@@ -5184,7 +4573,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples
{
return IVAS_ERR_UNEXPECTED_NULL_POINTER;
}
-#endif
/* make sure that the FIFO after decoder/scaler contains at least one sound card frame (i.e. 20ms) */
WHILE( LT_16( *nSamplesRendered, nSamplesPerChannel ) )
@@ -5354,11 +4742,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples
test();
IF( hIvasDec->nSamplesAvailableNext == 0 || EQ_16( hIvasDec->nSamplesAvailableNext, hIvasDec->nSamplesFrame ) )
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
IF( NE_32( ( error = IVAS_DEC_GetSamplesDecoder( hIvasDec, splitRendBits ) ), IVAS_ERR_OK ) )
-#else
- IF( ( error = IVAS_DEC_GetSamplesDecoder( hIvasDec, 0, 0 ) ) != IVAS_ERR_OK )
-#endif
{
return error;
}
@@ -5383,7 +4767,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples
}
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
IF( splitRendBits != NULL )
{
/* Render head poses from time-scaled transport channels */
@@ -5392,63 +4775,53 @@ ivas_error IVAS_DEC_VoIP_GetSamples
return error;
}
}
- ELSE
- {
-#endif
+ ELSE{
/* render IVAS frames directly to the output buffer */
- IF( NE_32( ( error = IVAS_DEC_GetSamplesRenderer( hIvasDec, nSamplesToRender, pcmBuf + imult1616( *nSamplesRendered, nOutChannels ), &nSamplesRendered_loop, &tmp ) ), IVAS_ERR_OK ) )
- {
+ IF( NE_32( ( error = IVAS_DEC_GetSamplesRenderer( hIvasDec, nSamplesToRender, pcmBuf + imult1616( *nSamplesRendered, nOutChannels ), &nSamplesRendered_loop, &tmp ) ), IVAS_ERR_OK ) ){
return error;
- }
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
- }
-#endif
-
- *nSamplesRendered = add( *nSamplesRendered, nSamplesRendered_loop );
- update_voip_rendered20ms( hIvasDec, nSamplesRendered_loop );
}
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
- IF( hIvasDec->hasDecodedFirstGoodFrame && splitRendBits != NULL )
+ *nSamplesRendered = add( *nSamplesRendered, nSamplesRendered_loop );
+ update_voip_rendered20ms( hIvasDec, nSamplesRendered_loop );
+}
+}
+
+IF( hIvasDec->hasDecodedFirstGoodFrame &&splitRendBits != NULL )
+{
+ Word16 Q_out[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS];
+ Word16 i;
+
+ /* Analyse head poses over entire frame, generate ISAR metadata and maybe encode if split coded */
+ IF( NE_32( ( error = isar_generate_metadata_and_bitstream( st_ivas, p_head_pose_buf, *nSamplesRendered, splitRendBits, Q_out ) ), IVAS_ERR_OK ) )
{
- Word16 Q_out[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS];
- Word16 i;
+ return error;
+ }
- /* Analyse head poses over entire frame, generate ISAR metadata and maybe encode if split coded */
- IF( NE_32( ( error = isar_generate_metadata_and_bitstream( st_ivas, p_head_pose_buf, *nSamplesRendered, splitRendBits, Q_out ) ), IVAS_ERR_OK ) )
+ /* Synthesise PCM output if split PCM */
+ IF( EQ_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
+ {
+ FOR( i = 0; i < BINAURAL_CHANNELS; i++ )
{
- return error;
+ scale_sig32( p_head_pose_buf[i], *nSamplesRendered, sub( Q11, Q_out[i] ) ); // Q11
}
- /* Synthesise PCM output if split PCM */
- IF( EQ_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) )
+ IF( EQ_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) )
{
- FOR( i = 0; i < BINAURAL_CHANNELS; i++ )
- {
- scale_sig32( p_head_pose_buf[i], *nSamplesRendered, sub( Q11, Q_out[i] ) ); // Q11
- }
-
- IF( EQ_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) )
- {
-#ifndef DISABLE_LIMITER
- ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 );
-#endif
- }
- ELSE
- {
- ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 );
- }
-
- ivas_syn_output_fx( p_head_pose_buf, Q11, *nSamplesRendered, st_ivas->hDecoderConfig->nchan_out, pcmBuf );
+ ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 );
}
+ ELSE
+ {
+ ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 );
+ }
+
+ ivas_syn_output_fx( p_head_pose_buf, Q11, *nSamplesRendered, st_ivas->hDecoderConfig->nchan_out, pcmBuf );
}
-#endif
+}
- return IVAS_ERR_OK;
+return IVAS_ERR_OK;
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
/*---------------------------------------------------------------------*
* IVAS_DEC_VoIP_GetSamples( )
@@ -5545,7 +4918,6 @@ ivas_error IVAS_DEC_VoIP_GetSplitBinauralBitstream(
parametersAvailableForEditing,
systemTimestamp_ms );
}
-#endif
/*---------------------------------------------------------------------*
@@ -5604,10 +4976,8 @@ ivas_error IVAS_DEC_Flush(
return IVAS_ERR_UNEXPECTED_NULL_POINTER;
}
-#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR
hIvasDec->st_ivas->flushing = 1;
move16();
-#endif
*nSamplesFlushed = s_min( nSamplesPerChannel, hIvasDec->nSamplesAvailableNext );
move16();
@@ -5630,16 +5000,13 @@ ivas_error IVAS_DEC_Flush(
move16();
}
-#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR
hIvasDec->st_ivas->flushing = 0;
move16();
-#endif
return error;
}
-#ifdef DECODER_FORMAT_SWITCHING
/*---------------------------------------------------------------------*
* IVAS_DEC_isRestartNeeded( )
*
@@ -5669,7 +5036,6 @@ ivas_error IVAS_DEC_isRestartNeeded(
}
-#endif
/*---------------------------------------------------------------------*
* IVAS_DEC_VoIP_IsEmpty( )
*
@@ -5911,7 +5277,6 @@ static ivas_error printConfigInfo_dec(
}
ELSE
{
-#ifdef FIX_1419_MONO_STEREO_UMX
output_config = st_ivas->hDecoderConfig->output_config;
IF( NE_16( (Word16) output_config, IVAS_AUDIO_CONFIG_MONO ) )
{
@@ -5920,11 +5285,8 @@ static ivas_error printConfigInfo_dec(
}
ELSE
{
-#endif
fprintf( stdout, "Output configuration: mono EVS bit-exact decoding\n" );
-#ifdef FIX_1419_MONO_STEREO_UMX
}
-#endif
}
}
ELSE
@@ -6108,11 +5470,7 @@ static ivas_error evs_dec_main_fx(
{
DEC_CORE_HANDLE *hCoreCoder;
Word16 mixer_left_fx, mixer_right_fx;
-#ifdef FIX_1419_MONO_STEREO_UMX
Word32 *p_output_fx[MAX_TRANSPORT_CHANNELS];
-#else
- Word32 *p_output_fx[MAX_OUTPUT_CHANNELS_IN_DIEGETIC_PAN];
-#endif
Word16 ch, i, nOutSamples;
Word16 output_16[L_FRAME48k];
ivas_error error;
@@ -6127,19 +5485,13 @@ static ivas_error evs_dec_main_fx(
mdct_switching_dec_fx( hCoreCoder[0] );
-#ifdef FIX_1419_MONO_STEREO_UMX
FOR( ch = 0; ch < MAX_TRANSPORT_CHANNELS; ch++ )
-#else
- FOR( ch = 0; ch < MAX_OUTPUT_CHANNELS_IN_DIEGETIC_PAN; ch++ )
-#endif
{
p_output_fx[ch] = st_ivas->p_output_fx[ch]; // Q0
-#ifdef FIX_1419_MONO_STEREO_UMX
IF( p_output_fx[ch] != NULL )
{
set_zero_fx( p_output_fx[ch], L_FRAME48k );
}
-#endif
}
/* run the main EVS decoding routine */
@@ -6201,12 +5553,8 @@ static ivas_error evs_dec_main_fx(
v_multc_fx_16( p_output_fx[0], mixer_left_fx, p_output_fx[0], nOutSamples ); /* Q11 */
}
-#ifdef FIX_1419_MONO_STEREO_UMX
test();
IF( st_ivas->hDecoderConfig->Opt_tsm && EQ_16( st_ivas->hDecoderConfig->nchan_out, 1 ) )
-#else
- IF( st_ivas->hDecoderConfig->Opt_tsm )
-#endif
{
/* BE workaround: in order to keep EVS bit-exact wrt. TS 26.443, convert 'float' output data to 'short' before the TSM */
/* not applicable in BASOP */
@@ -6458,9 +5806,7 @@ static ivas_error ivas_create_handle_isar(
)
{
ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE hSplitBinRend;
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
Word16 i;
-#endif
IF( ( hSplitBinRend = (ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE) malloc( sizeof( ISAR_DEC_SPLIT_REND_WRAPPER ) ) ) == NULL )
{
@@ -6469,15 +5815,11 @@ static ivas_error ivas_create_handle_isar(
isar_init_split_rend_handles( &hSplitBinRend->splitrend );
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
hSplitBinRend->hMultiBinTdData = NULL;
FOR( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; ++i )
{
hSplitBinRend->hMultiBinCldfbData[i] = NULL;
}
-#else
- hSplitBinRend->hMultiBinCldfbData = NULL;
-#endif
hSplitBinRend->hCldfbDataOut = NULL;
hSplitBinRend->numTdSamplesPerChannelCached = 0;
move16();
@@ -6498,13 +5840,10 @@ static void ivas_destroy_handle_isar(
ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE *hSplitBinRend /* i/o: ISAR split binaural rendering handle */
)
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
Word16 i;
-#endif
IF( *hSplitBinRend != NULL )
{
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
IF( ( *hSplitBinRend )->hMultiBinTdData != NULL )
{
ivas_TD_RINGBUF_Close( &( *hSplitBinRend )->hMultiBinTdData );
@@ -6517,12 +5856,6 @@ static void ivas_destroy_handle_isar(
ivas_CLDFB_RINGBUF_Close( &( *hSplitBinRend )->hMultiBinCldfbData[i] );
}
}
-#else
-#ifdef TMP_FIX_SPLIT_REND
- free( ( *hSplitBinRend )->hMultiBinCldfbData );
- ( *hSplitBinRend )->hMultiBinCldfbData = NULL;
-#endif
-#endif
ISAR_PRE_REND_close( &( *hSplitBinRend )->splitrend, NULL );
@@ -6730,7 +6063,6 @@ static ivas_error ivas_dec_reconfig_split_rend(
}
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
/*-------------------------------------------------------------------*
* ivas_dec_split_rend_cldfb_in()
*
@@ -6756,7 +6088,6 @@ static Word16 ivas_dec_split_rend_cldfb_in(
return 0;
}
}
-#endif
/*-------------------------------------------------------------------*
@@ -6772,10 +6103,8 @@ static ivas_error ivas_dec_init_split_rend(
ivas_error error;
Word16 cldfb_in_flag, pcm_out_flag;
Word16 mixed_td_cldfb_flag;
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
Word16 i, num_poses;
ISAR_SPLIT_REND_ROT_AXIS head_rot_axis;
-#endif
pcm_out_flag = 0;
move16();
@@ -6787,29 +6116,8 @@ static ivas_error ivas_dec_init_split_rend(
cldfb_in_flag = 0;
move16();
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
cldfb_in_flag = ivas_dec_split_rend_cldfb_in( st_ivas->renderer_type );
-#else
-#ifdef TMP_FIX_SPLIT_REND
- /* note: this is intra-frame heap memory */
- IF( ( st_ivas->hSplitBinRend->hMultiBinCldfbData = (ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE) malloc( sizeof( ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA ) ) ) == NULL )
- {
- return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for split rendering structure" );
- }
-#endif
-
- IF( EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) ||
- EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ||
- EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_PARAMETRIC ) ||
- EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_PARAMETRIC_ROOM ) )
- {
- cldfb_in_flag = 1;
- move16();
- }
-#endif
-
-#ifdef FIX_1119_SPLIT_RENDERING_VOIP
head_rot_axis = DEFAULT_AXIS;
move32();
if ( st_ivas->hHeadTrackData != NULL )
@@ -6842,10 +6150,6 @@ static ivas_error ivas_dec_init_split_rend(
return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for split rendering structure" );
}
}
-#else
-
- ISAR_PRE_REND_GetMultiBinPoseData( &st_ivas->hRenderConfig->split_rend_config, &st_ivas->hSplitBinRend->splitrend.multiBinPoseData, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->sr_pose_pred_axis : DEFAULT_AXIS );
-#endif
IF( EQ_16( cldfb_in_flag, 1 ) && ( EQ_16( st_ivas->hSplitBinRend->splitrend.multiBinPoseData.poseCorrectionMode, ISAR_SPLIT_REND_POSE_CORRECTION_MODE_NONE ) ) )
{
@@ -6912,7 +6216,6 @@ ivas_error IVAS_DEC_is_split_rendering_coded_out(
return IVAS_ERR_OK;
}
-#ifdef IVAS_RTPDUMP
/*---------------------------------------------------------------------*
* feedSinglePIorientation( )
@@ -6975,9 +6278,6 @@ static ivas_error feedSinglePIorientation(
return IVAS_ERR_OK;
}
-#endif
-
-#ifdef RTP_S4_251135_CR26253_0016_REV1
/*---------------------------------------------------------------------*
* setDiegeticInput( )
@@ -7007,9 +6307,7 @@ static void setDiegeticInputPI(
return;
}
-#endif
-#ifdef IVAS_RTPDUMP
/*---------------------------------------------------------------------*
* IVAS_DEC_FeedPiDataToDecoder( )
*
@@ -7045,13 +6343,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder(
case IVAS_PI_SCENE_ORIENTATION:
{
IVAS_QUATERNION *quat = &piData->data.scene.orientation;
-#ifdef DEBUGGING
- fprintf( stdout, "PI_SCENE_ORIENTATION : %f, %f, %f, %f\n",
- fixedToFloat( quat->w_fx, Q15 ),
- fixedToFloat( quat->x_fx, Q15 ),
- fixedToFloat( quat->y_fx, Q15 ),
- fixedToFloat( quat->z_fx, Q15 ) );
-#endif
error = feedSinglePIorientation( hIvasDec, true, quat );
}
BREAK;
@@ -7059,26 +6350,15 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder(
case IVAS_PI_DEVICE_ORIENTATION_COMPENSATED:
{
IVAS_QUATERNION *quat = &piData->data.deviceCompensated.orientation;
-#ifdef DEBUGGING
- fprintf( stdout, "PI_DEVICE_ORIENTATION : %f, %f, %f, %f\n",
- fixedToFloat( quat->w_fx, Q15 ),
- fixedToFloat( quat->x_fx, Q15 ),
- fixedToFloat( quat->y_fx, Q15 ),
- fixedToFloat( quat->z_fx, Q15 ) );
-#endif
error = feedSinglePIorientation( hIvasDec, true, quat );
}
BREAK;
-#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT
case IVAS_PI_ACOUSTIC_ENVIRONMENT:
{
UWord16 aeid;
aeid = piData->data.acousticEnv.aeid;
move16();
-#ifdef DEBUGGING
- fprintf( stdout, "PI_ACOUSTIC_ENVIRONMENT : AEID : %d\n", aeid );
-#endif
test();
test();
IF( piData->data.acousticEnv.availLateReverb && st_ivas->hRenderConfig != NULL && aeid != st_ivas->hRenderConfig->roomAcoustics.aeID )
@@ -7087,18 +6367,12 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder(
}
}
BREAK;
-#endif
-#ifdef RTP_S4_251135_CR26253_0016_REV1
case IVAS_PI_DIEGETIC_TYPE:
{
-#ifdef DEBUGGING
- fprintf( stdout, "PI_DIEGETIC_TYPE : %d, %d, %d, %d, %d\n", piData->data.digeticIndicator.isDiegetic[0], piData->data.digeticIndicator.isDiegetic[1], piData->data.digeticIndicator.isDiegetic[2], piData->data.digeticIndicator.isDiegetic[3], piData->data.digeticIndicator.isDiegetic[4] );
-#endif
setDiegeticInputPI( hIvasDec, piData->data.digeticIndicator.isDiegetic );
}
BREAK;
-#endif
default:
{
@@ -7117,4 +6391,3 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder(
return IVAS_ERR_OK;
}
-#endif
diff --git a/lib_dec/lp_exc_d_fx.c b/lib_dec/lp_exc_d_fx.c
index f64bed65f6b9033d372ea7ef56e490a3bc5bcef6..72b7e6a1431aa34af7aca5f5a1ca618ea173fe21 100644
--- a/lib_dec/lp_exc_d_fx.c
+++ b/lib_dec/lp_exc_d_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/lsf_dec_fx.c b/lib_dec/lsf_dec_fx.c
index dde492027e9587ceb25e47e46d33ffaed689c8de..4e5f93d18969fb37fed441bc2897f8474e8cfcf6 100644
--- a/lib_dec/lsf_dec_fx.c
+++ b/lib_dec/lsf_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/lsf_msvq_ma_dec_fx.c b/lib_dec/lsf_msvq_ma_dec_fx.c
index d90553016b9c7dc75450e4a3e42f14f517658a0d..da903cb845cf5a29641f13ea3c5b06e104392ca5 100644
--- a/lib_dec/lsf_msvq_ma_dec_fx.c
+++ b/lib_dec/lsf_msvq_ma_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/nelp_dec_fx.c b/lib_dec/nelp_dec_fx.c
index c088dd82663b8faa30514363b931ccd27ba39001..d7e5d5572a95b2050e98de4ab8cee330b5a74a45 100644
--- a/lib_dec/nelp_dec_fx.c
+++ b/lib_dec/nelp_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/peak_vq_dec_fx.c b/lib_dec/peak_vq_dec_fx.c
index 4eee76ec9bd4748f90f8164bd847ab6b83e541ce..6a55d194e2c4fd8f90389360cbb143d93056eb82 100644
--- a/lib_dec/peak_vq_dec_fx.c
+++ b/lib_dec/peak_vq_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/pit_dec_fx.c b/lib_dec/pit_dec_fx.c
index d672ae9ca405054fcc9f57de23be6f8d214e5561..bdb2207fc877f333e253f87e8ab04a0b17054002 100644
--- a/lib_dec/pit_dec_fx.c
+++ b/lib_dec/pit_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/pitch_extr_fx.c b/lib_dec/pitch_extr_fx.c
index 5d6e397b0c6de34d9660a5c93915a26884056c3b..2a25d9258c0abce5c3bd48f5aa3c875abd467fbd 100644
--- a/lib_dec/pitch_extr_fx.c
+++ b/lib_dec/pitch_extr_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/post_dec_fx.c b/lib_dec/post_dec_fx.c
index b593c99c57227b019d4d837b9dd5a82e70929298..5f2c587a5dbfcac03aeff8497aeb77c9e0f16b04 100644
--- a/lib_dec/post_dec_fx.c
+++ b/lib_dec/post_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/ppp_dec_fx.c b/lib_dec/ppp_dec_fx.c
index 8656c7e53a19b74aa615fff3c27c4831eea85892..5c95ba26d824c199e5e51415c4edffc59de99c96 100644
--- a/lib_dec/ppp_dec_fx.c
+++ b/lib_dec/ppp_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/pvq_core_dec_fx.c b/lib_dec/pvq_core_dec_fx.c
index c507c134424edb72054d9510813c4169992a0748..8f58896e6aa990fd322ce73a04a56691809f818f 100644
--- a/lib_dec/pvq_core_dec_fx.c
+++ b/lib_dec/pvq_core_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/pvq_decode_fx.c b/lib_dec/pvq_decode_fx.c
index 3bd3e12d1817d431a8b74f84105a5fe9da14963b..22cce7d75e41961be046b61af987f24eec9bdae5 100644
--- a/lib_dec/pvq_decode_fx.c
+++ b/lib_dec/pvq_decode_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/range_dec_fx.c b/lib_dec/range_dec_fx.c
index e63435f5b5a96163243d3ca186d01c25f123c0f6..5673a965903d316d3e33137f236e0dd8e1808061 100644
--- a/lib_dec/range_dec_fx.c
+++ b/lib_dec/range_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/re8_dec_fx.c b/lib_dec/re8_dec_fx.c
index e6c35e29339fc8dc0f9080434b1ab8ed19f6f9e9..01c32602d0709fbe8126b6c5eaa6f38ab2d3b974 100644
--- a/lib_dec/re8_dec_fx.c
+++ b/lib_dec/re8_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/rom_dec.h b/lib_dec/rom_dec.h
index 0d1c8d4f5d2a301d175a982aae197a51005a20c8..a8ebe3b21f3f0c6aec416f4e06691c69d833929b 100644
--- a/lib_dec/rom_dec.h
+++ b/lib_dec/rom_dec.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/rom_dec_fx.c b/lib_dec/rom_dec_fx.c
index 0493e48ebf551cf23c70a032a36725ad572877e1..347477352442453777f3639d2223bdf0d2d1b7ca 100644
--- a/lib_dec/rom_dec_fx.c
+++ b/lib_dec/rom_dec_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_dec/rst_dec_fx.c b/lib_dec/rst_dec_fx.c
index c226d8b9a68830300eec9c433d781875fde11569..ebe7f0fbb39e8c20929a5706fc965ad160374a66 100644
--- a/lib_dec/rst_dec_fx.c
+++ b/lib_dec/rst_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h
index fd8f2943401014632f10409c37e9c3a4f828b02d..0230e0f9108ffaaa415cb1fce06b136e24e646f7 100644
--- a/lib_dec/stat_dec.h
+++ b/lib_dec/stat_dec.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -1016,11 +988,8 @@ typedef struct Decoder_State
* Common parameters
*----------------------------------------------------------------------------------*/
- Word16 idchan; /* channel ID (audio channel number) */
- Word16 element_mode; /* element mode */
-#ifdef DEBUGGING
- Word16 id_element; /* element ID */
-#endif
+ Word16 idchan; /* channel ID (audio channel number) */
+ Word16 element_mode; /* element mode */
Word32 element_brate; /* element bitrate */
Word16 codec_mode; /* Mode 1 or 2 */
Word16 mdct_sw_enable; /* MDCT switching enable flag */
@@ -1309,11 +1278,7 @@ typedef struct Decoder_State
Word16 Q_syn;
Word16 Q_syn2;
Word16 Q_syn_cng;
-#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE
Word16 Q_syn_factor; // This q_factor is used to avoid using fix Q0 for synth[] at the output of con_tcx_ivas_fx() and ivas_core_dec_fx(). For con_tcx_ivas_fx, it is used for two consecutive TCX concealment processes and It cannot be greater than 0.
-#else
- Word16 Q_syn_factor; // This q_factor is used to avoid using fixed Q0 for synth[] at the output of con_tcx_ivas_fx(). It is then used for two consecutive TCX concealment processes. It cannot be greater than 0.
-#endif
Word16 prev_Q_syn;
Word16 prev_Q_bwe_exc;
diff --git a/lib_dec/stat_noise_uv_dec_fx.c b/lib_dec/stat_noise_uv_dec_fx.c
index c87e30ffec5f0f1cd5c6cb17b5562769100885bd..8c1b122024effc7c9beae7ba07b3353074fb5145 100644
--- a/lib_dec/stat_noise_uv_dec_fx.c
+++ b/lib_dec/stat_noise_uv_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/swb_bwe_dec_fx.c b/lib_dec/swb_bwe_dec_fx.c
index 42d2a9cc4a2e8015773e402e81b9751400538e11..d1222fb16283a2546e6a51d121a8f79149e379e0 100644
--- a/lib_dec/swb_bwe_dec_fx.c
+++ b/lib_dec/swb_bwe_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/swb_bwe_dec_hr_fx.c b/lib_dec/swb_bwe_dec_hr_fx.c
index ff4d8bee65b694e9b56f26b48f8324857768f25f..c0ea187d07fef4727d418e3ae24b3378b8a4a68b 100644
--- a/lib_dec/swb_bwe_dec_hr_fx.c
+++ b/lib_dec/swb_bwe_dec_hr_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/swb_bwe_dec_lr_fx.c b/lib_dec/swb_bwe_dec_lr_fx.c
index c0565dd75b636dc91be2e8f116a3ad43cb70515e..8dd3e87b175b9e3453f2b13d787263c0c19deb58 100644
--- a/lib_dec/swb_bwe_dec_lr_fx.c
+++ b/lib_dec/swb_bwe_dec_lr_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/swb_tbe_dec_fx.c b/lib_dec/swb_tbe_dec_fx.c
index f1bea2e23ae5d4881ba271800091405b8fb3529a..069fab74ce31da7ca8ff018de11d9b47b23bb89d 100644
--- a/lib_dec/swb_tbe_dec_fx.c
+++ b/lib_dec/swb_tbe_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/syn_outp_fx.c b/lib_dec/syn_outp_fx.c
index 96ee58142430e2790f438dd817847e3566efc94f..15610876718c1a65fdc9ece39fbefb9985be6194 100644
--- a/lib_dec/syn_outp_fx.c
+++ b/lib_dec/syn_outp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/tcq_core_dec_fx.c b/lib_dec/tcq_core_dec_fx.c
index b0c6d9f6a60199850c053451a4f357000c6aa04a..517ab0ffae9f245615d25969a48af4b4153126ce 100644
--- a/lib_dec/tcq_core_dec_fx.c
+++ b/lib_dec/tcq_core_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/tcx_utils_dec_fx.c b/lib_dec/tcx_utils_dec_fx.c
index 1a847c6a0dc39ba1d5fdbc8c48bc98b39a00029b..f5f0cc23dc49d1f38799530b9c3c64da0a76aaf7 100644
--- a/lib_dec/tcx_utils_dec_fx.c
+++ b/lib_dec/tcx_utils_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/tns_base_dec_fx.c b/lib_dec/tns_base_dec_fx.c
index a5df034908245daa19050eef823a8701900c0bfc..6dd2f0757d685959d62900d916346f4d93d3e16c 100644
--- a/lib_dec/tns_base_dec_fx.c
+++ b/lib_dec/tns_base_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/tonalMDCTconcealment_fx.c b/lib_dec/tonalMDCTconcealment_fx.c
index d098eaa15e4e9700ed11759342775554694c8c15..8057250f7c038bf7e1ccf559c8a8c4de03392d12 100644
--- a/lib_dec/tonalMDCTconcealment_fx.c
+++ b/lib_dec/tonalMDCTconcealment_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/transition_dec_fx.c b/lib_dec/transition_dec_fx.c
index aeb91e6709b1f81a95c64f2d6a385fc9d0b3ca5a..77bd3002546d7f547e385fe0d34ef3a3883fd672 100644
--- a/lib_dec/transition_dec_fx.c
+++ b/lib_dec/transition_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/updt_dec_fx.c b/lib_dec/updt_dec_fx.c
index 7d389a0e23d4ced23f1d1b7ec7b29931ca8d78f1..c267d58802bb53341b69b60e22cd6303af5351c9 100644
--- a/lib_dec/updt_dec_fx.c
+++ b/lib_dec/updt_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/vlpc_1st_dec_fx.c b/lib_dec/vlpc_1st_dec_fx.c
index f34372453648c00213cbfcd3a350f3e200309eee..c0b96023e76438a9aa3ebc2167d15a9e37393d59 100644
--- a/lib_dec/vlpc_1st_dec_fx.c
+++ b/lib_dec/vlpc_1st_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/vlpc_2st_dec_fx.c b/lib_dec/vlpc_2st_dec_fx.c
index ee3d5ed7659fbf28caebb1ed25e577890e43cf7a..f77249d3c0af417217ad533a4c7febb7ef033c89 100644
--- a/lib_dec/vlpc_2st_dec_fx.c
+++ b/lib_dec/vlpc_2st_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/voiced_dec_fx.c b/lib_dec/voiced_dec_fx.c
index c937a3b2b6c032bb139c98919a65ae6af4f29f9f..bbc4b371143f09a7a044f595bb3e65363740668f 100644
--- a/lib_dec/voiced_dec_fx.c
+++ b/lib_dec/voiced_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_dec/waveadjust_fec_dec_fx.c b/lib_dec/waveadjust_fec_dec_fx.c
index f5155cacfee78d7f9d817a79c846e564104e34ea..2c1d2cbf6628680775cb38497fb83c065a0bdd68 100644
--- a/lib_dec/waveadjust_fec_dec_fx.c
+++ b/lib_dec/waveadjust_fec_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/ACcontextMapping_enc_fx.c b/lib_enc/ACcontextMapping_enc_fx.c
index cfc8ebb05104cda11d2aab31842f54997a20b42d..1e6122a310a6ec575691fbb646913158f2818662 100644
--- a/lib_enc/ACcontextMapping_enc_fx.c
+++ b/lib_enc/ACcontextMapping_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/FEC_enc_fx.c b/lib_enc/FEC_enc_fx.c
index c1e34ec8a13b9a5db1ffb9c7301365764deb826c..2bfdd6db844308c527231aa05a845d5da472709a 100644
--- a/lib_enc/FEC_enc_fx.c
+++ b/lib_enc/FEC_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/SNR_calc_fx.c b/lib_enc/SNR_calc_fx.c
index ebe2a819a121becd0b51355362ef5d46129c50f8..b511ad36a90fde6a682518a1c83d548d68a9be7b 100644
--- a/lib_enc/SNR_calc_fx.c
+++ b/lib_enc/SNR_calc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/acelp_core_enc_fx.c b/lib_enc/acelp_core_enc_fx.c
index 6c1d422522f7fb608db381fbe9479d96e43ef96a..01646f9a5de1439eae1597256c3f9bd99458c962 100644
--- a/lib_enc/acelp_core_enc_fx.c
+++ b/lib_enc/acelp_core_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/acelp_core_switch_enc_fx.c b/lib_enc/acelp_core_switch_enc_fx.c
index 77f634a604988cd6348eb55e9749f17ed89284dd..b2d780500acdf7959fd17824df81711e358361bb 100644
--- a/lib_enc/acelp_core_switch_enc_fx.c
+++ b/lib_enc/acelp_core_switch_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -96,30 +99,6 @@ void acelp_core_switch_enc_fx(
cbrate = L_min( st_fx->core_brate, ACELP_22k60 );
}
}
-#ifdef FIX_I4_OL_PITCH
- IF( EQ_16( st_fx->last_codec_mode, MODE1 ) )
- {
- /* in MODE1 T_op is at 12.8 kHz */
- IF( NE_16( st_fx->last_L_frame, L_FRAME ) ) /* ACELP@16k core -> convert T_op to 16 kHz */
- {
- T_op[0] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[0] ), 2 ) ), 1 ), 1 );
- move16();
- T_op[1] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[1] ), 2 ) ), 1 ), 1 );
- move16();
- }
- }
- ELSE
- {
- /* in MODE2 T_op is at 16 kHz */
- IF( EQ_16( st_fx->last_L_frame, L_FRAME ) ) /* ACELP@12.8k core -> convert T_op to 12.8 kHz */
- {
- move16();
- move16();
- T_op[0] = mult_r( 26214, T_op[0] );
- T_op[1] = mult_r( 26214, T_op[1] );
- }
- }
-#else
IF( NE_16( st_fx->last_L_frame, L_FRAME ) )
{
T_op[0] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[0] ), 2 ) ), 1 ), 1 ); /* Q0 */
@@ -127,7 +106,6 @@ void acelp_core_switch_enc_fx(
T_op[1] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[1] ), 2 ) ), 1 ), 1 ); /* Q0 */
move16();
}
-#endif
/*----------------------------------------------------------------*
* Excitation encoding
@@ -139,9 +117,6 @@ void acelp_core_switch_enc_fx(
encod_gen_voic_core_switch_fx( st_fx, st_fx->last_L_frame, inp, Aq, A, T_op, exc, cbrate, shift, Q_new );
i = find_indice( hBstr, TAG_ACELP_SUBFR_LOOP_START, &value, &nb_bits );
-#ifdef DEBUGGING
- assert( i >= 0 && "Internal error in ACELP core switching - unable to find ACELP subframe indices!" );
-#endif
while ( hBstr->ind_list[i].id == TAG_ACELP_SUBFR_LOOP_START )
{
push_indice( hBstr, IND_CORE_SWITCHING_CELP_SUBFRAME, hBstr->ind_list[i].value, hBstr->ind_list[i].nb_bits );
diff --git a/lib_enc/acelp_enc_util_fx.c b/lib_enc/acelp_enc_util_fx.c
index edd36283acde2fd8f2bd1f5e788eb30bd4d9cac7..00c9ae8f4b05aabf4b2adb480fa328b048a753dd 100644
--- a/lib_enc/acelp_enc_util_fx.c
+++ b/lib_enc/acelp_enc_util_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/amr_wb_enc_fx.c b/lib_enc/amr_wb_enc_fx.c
index 787e5f701eea596acda5b8070587c54387bf0116..0f286d84a45bbdeb4337c6124cbbf6999af26d8e 100644
--- a/lib_enc/amr_wb_enc_fx.c
+++ b/lib_enc/amr_wb_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -11,9 +14,6 @@
#include "prot_fx.h" /* Function prototypes */
#include "basop_util.h" /* Function prototypes */
#include "prot_fx_enc.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------*
* amr_wb_enc()
@@ -581,20 +581,6 @@ void amr_wb_enc_fx(
/* update main codec parameters */
updt_enc_common_fx( st, Etot, Q_new );
-#ifdef DEBUG_MODE_INFO
- dbgwrite( &st->codec_mode, sizeof( short ), 1, input_frame, "res/codec" );
- dbgwrite( &st->core, sizeof( short ), 1, input_frame, "res/core" );
- dbgwrite( &st->extl, sizeof( short ), 1, input_frame, "res/extl" );
- dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, "res/bwidth" );
- float ener_flt = st->total_brate / 1000.0f;
- dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/total_brate" );
- ener_flt = st->core_brate / 1000.0f;
- dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/core_brate" );
- dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, "res/coder_type" );
- dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, "res/cng_type" );
- dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, "res/L_frame" );
- dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, "res/vad_flag" );
-#endif
pop_wmops();
diff --git a/lib_enc/analy_lp_fx.c b/lib_enc/analy_lp_fx.c
index cad8c5b0ba6b23efa6f133561c5c6e586d764625..f2837ba43ef506ea7a239991ebb2d3cea59243e0 100644
--- a/lib_enc/analy_lp_fx.c
+++ b/lib_enc/analy_lp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/analy_sp_fx.c b/lib_enc/analy_sp_fx.c
index 631d0a141d1420f3e4a23d4cb94afa0fd6825f47..192931521f2b7a4c79d627b2ce28d7d9bb562015 100644
--- a/lib_enc/analy_sp_fx.c
+++ b/lib_enc/analy_sp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/ari_enc_fx.c b/lib_enc/ari_enc_fx.c
index e9bd888bdada058b0bc173ccbe5b0b57e0c3569a..940cc45d1a50275abf14686e3cc55b7160f357f9 100644
--- a/lib_enc/ari_enc_fx.c
+++ b/lib_enc/ari_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/ari_hm_enc_fx.c b/lib_enc/ari_hm_enc_fx.c
index 1917216ef6f3817970040cc0de0cc93c67ea43ce..264aa0bfe72a458349b957638e94d91b61e7dca6 100644
--- a/lib_enc/ari_hm_enc_fx.c
+++ b/lib_enc/ari_hm_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/arith_coder_enc_fx.c b/lib_enc/arith_coder_enc_fx.c
index 12f3368dce228f49a0bd2c80cf6e180c41caed50..3c2b3bb0042e534310830679987c161c4cdb2c8b 100644
--- a/lib_enc/arith_coder_enc_fx.c
+++ b/lib_enc/arith_coder_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/avq_cod_fx.c b/lib_enc/avq_cod_fx.c
index 982b30d323939a75f3478a442cdae07433583ed9..da520cea20a9198dbfa8f5ee6c91f39cd110ec30 100644
--- a/lib_enc/avq_cod_fx.c
+++ b/lib_enc/avq_cod_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/bass_psfilter_enc_fx.c b/lib_enc/bass_psfilter_enc_fx.c
index c4aeab22d55bbd5cec8b5331bf03525b41462552..0903a5c03f591eede48965af86cf62b0eb459de1 100644
--- a/lib_enc/bass_psfilter_enc_fx.c
+++ b/lib_enc/bass_psfilter_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/bw_detect_fx.c b/lib_enc/bw_detect_fx.c
index f31277e2a2b491d25373fb52b80bbf2d93a79b66..b043ccda731f4b572719e5cf248537ef8ac24c2b 100644
--- a/lib_enc/bw_detect_fx.c
+++ b/lib_enc/bw_detect_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -55,11 +58,7 @@ void bw_detect_fx(
Word16 spect[L_FRAME48k], spect_bin[BWD_N_BINS_MAX];
Word32 spect32[L_FRAME48k], in_win32[BWD_TOTAL_WIDTH];
Word16 e_tmp, f_tmp;
-#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA
Word32 L_tmp, sum32, L_tmp_q_shift;
-#else
- Word32 L_tmp, sum32;
-#endif
Word32 L_tmp1, L_tmp2, L_tmp3;
Word16 scale;
@@ -121,32 +120,19 @@ void bw_detect_fx(
move32(); /* Q31 */
cldfb_bin_Exp[0] = add( cldfb_bin_Exp[0], CLDFBscalingFactor_EXP );
move16();
-#ifdef FIX_2141_ASSERT_IN_OMASA_BITRATE_SWITSCHING
if ( cldfb_bin[0] == 0 )
{
cldfb_bin[0] = L_deposit_l( 1 );
move32();
}
-#else
- if ( cldfb_bin[i] == 0 )
- {
- cldfb_bin[i] = L_deposit_l( 1 );
- move32();
- }
-#endif
- L_tmp = BASOP_Util_Log2( cldfb_bin[0] ); /*(log2(660423549*2^(-31))/64)*2^31*/
-#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA
+ L_tmp = BASOP_Util_Log2( cldfb_bin[0] ); /*(log2(660423549*2^(-31))/64)*2^31*/
L_tmp = Mpy_32_16_1( L_tmp, INV_LOG2_10 ); // instead of adding it to L_tmp_q_shift and then multiplying by INV_LOG2_10 ( to avoid saturation ).
L_tmp_q_shift = L_shl_sat( L_deposit_l( cldfb_bin_Exp[0] ), 31 - LD_DATA_SCALE ); // This term should be added to L_temp to align it to Q25
L_tmp_q_shift = Mpy_32_16_1( L_tmp_q_shift, INV_LOG2_10 ); // instead of adding it to L_tmp and then multiplying by INV_LOG2_10 ( to avoid saturation ).
cldfb_bin[0] = L_add( L_tmp, L_tmp_q_shift ); /* Q25 */
-#else
- L_tmp = L_add_sat( L_tmp, L_shl( L_deposit_l( cldfb_bin_Exp[0] ), 31 - LD_DATA_SCALE ) ); /* Q25 */
- cldfb_bin[0] = Mpy_32_16_1( L_tmp, 9864 /*1.0f/3.3219280948873623478703194294894f Q15*/ );
-#endif
- move32(); /* 1/log2(10) */ /* Q25 */
+ move32(); /* 1/log2(10) */ /* Q25 */
/* WB: 4.4 - 7.2 kHz, 8 cldfb-bands, mid band(14) counted twice */
IF( GE_32( st->input_Fs, 16000 ) )
@@ -173,19 +159,14 @@ void bw_detect_fx(
cldfb_bin[i] = L_deposit_l( 1 );
move32();
}
- L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/
-#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA
+ L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/
L_tmp = Mpy_32_16_1( L_tmp, INV_LOG2_10 ); // instead of adding it to L_tmp_q_shift and then multiplying by INV_LOG2_10 ( to avoid saturation ).
L_tmp_q_shift = L_shl_sat( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ); // This term should be added to L_temp to align it to Q25
L_tmp_q_shift = Mpy_32_16_1( L_tmp_q_shift, INV_LOG2_10 ); // instead of adding it to L_tmp and then multiplying by INV_LOG2_10 ( to avoid saturation ).
cldfb_bin[i] = L_add( L_tmp, L_tmp_q_shift ); /* Q25 */
-#else
- L_tmp = L_add( L_tmp, L_shl( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ) ); /* Q25 */
- cldfb_bin[i] = Mpy_32_16_1( L_tmp, 9864 /*1.0f/3.3219280948873623478703194294894f Q15*/ );
-#endif
- move32(); /* 1/log2(10) */ /* Q25 */
+ move32(); /* 1/log2(10) */ /* Q25 */
}
}
@@ -221,19 +202,14 @@ void bw_detect_fx(
cldfb_bin[i] = L_deposit_l( 1 );
move32();
}
- L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/
-#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA
+ L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/
L_tmp = Mpy_32_16_1( L_tmp, INV_LOG2_10 ); // instead of adding it to L_tmp_q_shift and then multiplying by INV_LOG2_10 ( to avoid saturation ).
L_tmp_q_shift = L_shl_sat( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ); // This term should be added to L_temp to align it to Q25
L_tmp_q_shift = Mpy_32_16_1( L_tmp_q_shift, INV_LOG2_10 ); // instead of adding it to L_tmp and then multiplying by INV_LOG2_10 ( to avoid saturation ).
cldfb_bin[i] = L_add( L_tmp, L_tmp_q_shift ); /* Q25 */
-#else
- L_tmp = L_add( L_tmp, L_shl( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ) ); /* Q25 */
- cldfb_bin[i] = Mpy_32_16_1( L_tmp, 9864 /*1.0f/3.3219280948873623478703194294894f Q15*/ );
-#endif
- move32(); /* 1/log2(10) */ /* Q25 */
+ move32(); /* 1/log2(10) */ /* Q25 */
}
}
@@ -263,19 +239,14 @@ void bw_detect_fx(
cldfb_bin[i] = L_deposit_l( 1 );
move32();
}
- L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/
-#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA
+ L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/
L_tmp = Mpy_32_16_1( L_tmp, INV_LOG2_10 ); // instead of adding it to L_tmp_q_shift and then multiplying by INV_LOG2_10 ( to avoid saturation ).
L_tmp_q_shift = L_shl_sat( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ); // This term should be added to L_temp to align it to Q25
L_tmp_q_shift = Mpy_32_16_1( L_tmp_q_shift, INV_LOG2_10 ); // instead of adding it to L_tmp and then multiplying by INV_LOG2_10 ( to avoid saturation ).
cldfb_bin[i] = L_add( L_tmp, L_tmp_q_shift ); /* Q25 */
-#else
- L_tmp = L_add( L_tmp, L_shl( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ) ); /* Q25 */
- cldfb_bin[i] = Mpy_32_16_1( L_tmp, 9864 /*1.0f/3.3219280948873623478703194294894f Q15*/ );
-#endif
- move32(); /* 1/log2(10) */ /* Q25 */
+ move32(); /* 1/log2(10) */ /* Q25 */
}
}
/* cldfb_bin_Exp[] are applied now in cldfb_bin[i] -> don't use again */
diff --git a/lib_enc/cng_enc_fx.c b/lib_enc/cng_enc_fx.c
index fb8490127f07b9ae75402fd27b074493e8826984..40f35801434dc83b62176a3bfe5b9b671f8f51f5 100644
--- a/lib_enc/cng_enc_fx.c
+++ b/lib_enc/cng_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/cod2t32_fx.c b/lib_enc/cod2t32_fx.c
index f4dbad642052e26ed32a07cd761cfe209d218211..7d82602a6f2a042f79832ac9df3d40ebc542c821 100644
--- a/lib_enc/cod2t32_fx.c
+++ b/lib_enc/cod2t32_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/cod4t64_fast_fx.c b/lib_enc/cod4t64_fast_fx.c
index 7079f65971792963c9701841da0e9cc00e80bd54..f8a85b52217da12446678af780fc70d2a268bb82 100644
--- a/lib_enc/cod4t64_fast_fx.c
+++ b/lib_enc/cod4t64_fast_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/cod4t64_fx.c b/lib_enc/cod4t64_fx.c
index 66b13136baed901a8d8593a38caf425491fcf5e3..e1ae176af10eba33832d66e2031c138d8d7808d0 100644
--- a/lib_enc/cod4t64_fx.c
+++ b/lib_enc/cod4t64_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/cod_ace_fx.c b/lib_enc/cod_ace_fx.c
index 5a6e094a23441de7546cf27d688c247dae0b5137..c7397393fdf2efa84e4033e090137e3085b6e3f5 100644
--- a/lib_enc/cod_ace_fx.c
+++ b/lib_enc/cod_ace_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c
index 11188a16aa62f7be3a6376f234d36c2db417398a..13ec74162676055491ddbae82f77c2f706b7c019 100644
--- a/lib_enc/cod_tcx_fx.c
+++ b/lib_enc/cod_tcx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -15,9 +18,6 @@
#include
#include "ivas_prot_fx.h"
#include "ivas_rom_com.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#define SIMILAR_TNS_THRESHOLD_FX_IN_Q15 ( 1311 )
@@ -5091,7 +5091,6 @@ void TNSAnalysisStereo_fx(
move16();
move16();
}
-#ifdef FIX_1349_TNS_CRASH
ELSE
{
pFilter[0]->filterType = TNS_FILTER_OFF;
@@ -5103,7 +5102,6 @@ void TNSAnalysisStereo_fx(
move16();
move16();
}
-#endif
}
}
}
diff --git a/lib_enc/cod_uv_fx.c b/lib_enc/cod_uv_fx.c
index 5fb8322a31d5cf624bfb018ae702b247222d6d8e..2de96642ea7a45408271ec4f9727363f0abe6211 100644
--- a/lib_enc/cod_uv_fx.c
+++ b/lib_enc/cod_uv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/comvad_decision_fx.c b/lib_enc/comvad_decision_fx.c
index 1499bbfce0e51540ecf72e3d742924df9442ebaf..de772303b8cac7e99b53c6d8380e0fb57ef233d9 100644
--- a/lib_enc/comvad_decision_fx.c
+++ b/lib_enc/comvad_decision_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/cor_shif_fx.c b/lib_enc/cor_shif_fx.c
index 28e837f486cc10b95f9852599f2b98002369c087..96802a3b92b23c62447f111442a08311913945bd 100644
--- a/lib_enc/cor_shif_fx.c
+++ b/lib_enc/cor_shif_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/core_enc_2div_fx.c b/lib_enc/core_enc_2div_fx.c
index 42e5b6a930c2cf4b9d9ccb5ac03eb3bf253f6270..d517ac304e7c01df3ebd5dd2a1b3178d5d5ed8ab 100644
--- a/lib_enc/core_enc_2div_fx.c
+++ b/lib_enc/core_enc_2div_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c
index 044821feef0c23a7d0a1909ce8594d60d5d88b7e..5c0d1169cbd2637fc6ab306519790abc8ef5172f 100644
--- a/lib_enc/core_enc_init_fx.c
+++ b/lib_enc/core_enc_init_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/core_enc_ol_fx.c b/lib_enc/core_enc_ol_fx.c
index 716eecb15a2e29e0f932d00256fbe75cacdd34a2..1f2988140e14915c2c9c627846c3fdfaa8956623 100644
--- a/lib_enc/core_enc_ol_fx.c
+++ b/lib_enc/core_enc_ol_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -1282,19 +1285,6 @@ void core_acelp_tcx20_switching_fx(
st->acelpFramesCount = 0;
move16();
}
-#ifdef DEBUGGING
- if ( st->force != -1 )
- {
- if ( st->force == FORCE_SPEECH )
- {
- st->core = ACELP_CORE;
- }
- else
- {
- st->core = TCX_20_CORE;
- }
- }
-#endif
}
/* Fixed Decision (using -C) */
diff --git a/lib_enc/core_enc_reconf_fx.c b/lib_enc/core_enc_reconf_fx.c
index 5f01935c73450ea01243bd17fdec3e4114958e80..46282217b0069d88a0cfecc53ba7c9e2a2378c2f 100644
--- a/lib_enc/core_enc_reconf_fx.c
+++ b/lib_enc/core_enc_reconf_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c
index 19bfd425cb8f16203de2d78eab457e6ff0936702..6a8af482490023a24be7723bc50cfe8d66dfc19e 100644
--- a/lib_enc/core_enc_switch_fx.c
+++ b/lib_enc/core_enc_switch_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/core_enc_updt_fx.c b/lib_enc/core_enc_updt_fx.c
index e5694fc0199f82367fb54894b14069673e8a8187..1c02ac0fccc24cfda14e191a93b25390ca1cad03 100644
--- a/lib_enc/core_enc_updt_fx.c
+++ b/lib_enc/core_enc_updt_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/core_switching_enc_fx.c b/lib_enc/core_switching_enc_fx.c
index c390ab78b94f7129a690eb44722328636d19be0f..11909589e5ed0894c5b72ec573a1306f9767be65 100644
--- a/lib_enc/core_switching_enc_fx.c
+++ b/lib_enc/core_switching_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/corr_xh_fx.c b/lib_enc/corr_xh_fx.c
index 21af7bc0a75da31e16fc522af9f3d4562a33cd13..a87f499e8329812b6f553cab96c749a56bea2247 100644
--- a/lib_enc/corr_xh_fx.c
+++ b/lib_enc/corr_xh_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/decision_matrix_enc_fx.c b/lib_enc/decision_matrix_enc_fx.c
index 6f20edc4f8ba93b90f9e37e9000b58298c404af8..551824363a435058ad589eb478edfb394f0b048b 100644
--- a/lib_enc/decision_matrix_enc_fx.c
+++ b/lib_enc/decision_matrix_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -186,19 +189,12 @@ void decision_matrix_enc_fx(
st_fx->core = ACELP_CORE;
move16();
-#ifdef DEBUGGING
- if ( st_fx->total_brate >= HQCORE_NB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) )
- {
- st_fx->core = HQ_CORE;
- }
-#else
test();
IF( GE_32( st_fx->total_brate, HQCORE_NB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) )
{
st_fx->core = HQ_CORE;
move16();
}
-#endif
}
/*---------------------------------------------------------------------*
@@ -210,14 +206,10 @@ void decision_matrix_enc_fx(
st_fx->core = ACELP_CORE;
move16();
-#ifdef DEBUGGING
- if ( ( st_fx->total_brate >= HQCORE_WB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) ) || st_fx->total_brate >= HQ_96k )
-#else
test();
test();
IF( ( GE_32( st_fx->total_brate, HQCORE_WB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) ) ||
GE_32( st_fx->total_brate, HQ_96k ) )
-#endif
{
st_fx->core = HQ_CORE;
move16();
@@ -263,14 +255,10 @@ void decision_matrix_enc_fx(
ELSE IF( EQ_16( st_fx->bwidth, SWB ) || EQ_16( st_fx->bwidth, FB ) )
{
-#ifdef DEBUGGING
- if ( ( st_fx->total_brate >= HQCORE_WB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) ) || st_fx->total_brate >= HQ_96k )
-#else
test();
test();
IF( ( GE_32( st_fx->total_brate, HQCORE_SWB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) ) ||
GE_32( st_fx->total_brate, HQ_96k ) )
-#endif
{
st_fx->core = HQ_CORE;
move16();
diff --git a/lib_enc/detect_transient_fx.c b/lib_enc/detect_transient_fx.c
index 43c57c6411658a04e93463f3c18f3357d37842db..2006340fa75a5cdafa88e7b071082bd380286720 100644
--- a/lib_enc/detect_transient_fx.c
+++ b/lib_enc/detect_transient_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_enc/diffcod_fx.c b/lib_enc/diffcod_fx.c
index 6a14a27eec3ade5551c7eebb02b38d1c8185dea9..8a082da4ed57c37108ab79204d82bc68e6161aa1 100644
--- a/lib_enc/diffcod_fx.c
+++ b/lib_enc/diffcod_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/dtx_fx.c b/lib_enc/dtx_fx.c
index 321d045d4a8f08d10ab453d207ecfec5cf4bbf57..6b25942b0cdf5d9717edba823c1988e378411a5a 100644
--- a/lib_enc/dtx_fx.c
+++ b/lib_enc/dtx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_acelp_fx.c b/lib_enc/enc_acelp_fx.c
index ca4c399b0ec345672e3fd2bf5cafd04d0c73bda3..20ccb7fced120408223586bc0d3fb297c057a5b2 100644
--- a/lib_enc/enc_acelp_fx.c
+++ b/lib_enc/enc_acelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_acelp_tcx_main_fx.c b/lib_enc/enc_acelp_tcx_main_fx.c
index 3498321646e22d98a77ebd738db6e55f43fdee03..9235d8d1fdfc3efae3450ff71bcdd174a0bced7b 100644
--- a/lib_enc/enc_acelp_tcx_main_fx.c
+++ b/lib_enc/enc_acelp_tcx_main_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_acelpx_fx.c b/lib_enc/enc_acelpx_fx.c
index 00a23895508012d62b6ad339087538802e92e716..b2c8936dd02bd71a0aaf0b3526e8c2f0a7cbe0cc 100644
--- a/lib_enc/enc_acelpx_fx.c
+++ b/lib_enc/enc_acelpx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_amr_wb_fx.c b/lib_enc/enc_amr_wb_fx.c
index 2bbb7d1544749ff9a11c8173f0324efdee712a2c..6ce6058bfccfa1b71336315e3a0e5bf5ff5ad891 100644
--- a/lib_enc/enc_amr_wb_fx.c
+++ b/lib_enc/enc_amr_wb_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_gain_fx.c b/lib_enc/enc_gain_fx.c
index 1789813cc38fc8e085b44e88adef94e27333524d..02039297066d5f6f042068b779f242f5d8813c34 100644
--- a/lib_enc/enc_gain_fx.c
+++ b/lib_enc/enc_gain_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_gen_voic_fx.c b/lib_enc/enc_gen_voic_fx.c
index 695cf252548aa93262e41f17d8e2af07b9141bc9..08b70656e4d52c30d57c3b1728ec30c7c1e3e108 100644
--- a/lib_enc/enc_gen_voic_fx.c
+++ b/lib_enc/enc_gen_voic_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_gen_voic_rf_fx.c b/lib_enc/enc_gen_voic_rf_fx.c
index 9f3483ec71fdcae001428e5e3ea60ff0cdb59bed..74d9515234072319e600874e2ced10dea2c6b583 100644
--- a/lib_enc/enc_gen_voic_rf_fx.c
+++ b/lib_enc/enc_gen_voic_rf_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_higher_acelp_fx.c b/lib_enc/enc_higher_acelp_fx.c
index 4289484861b944abf5a5a527192b221c8e0f5f82..393d2d2c0959d7c9c34636ca0977d37c6cbd1585 100644
--- a/lib_enc/enc_higher_acelp_fx.c
+++ b/lib_enc/enc_higher_acelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_nelp_fx.c b/lib_enc/enc_nelp_fx.c
index 8da01e162299d30bbec2bd6e4f4748d4c0169f50..fcf8489afa05c183249255b0c8ac2c64fb53bd7d 100644
--- a/lib_enc/enc_nelp_fx.c
+++ b/lib_enc/enc_nelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_pit_exc_fx.c b/lib_enc/enc_pit_exc_fx.c
index 7f0e79b2b4ad9008a02059894d8ca59a2ca5c04d..d32633e9be5a27d46e096c2acf838fb765bd2e61 100644
--- a/lib_enc/enc_pit_exc_fx.c
+++ b/lib_enc/enc_pit_exc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_ppp_fx.c b/lib_enc/enc_ppp_fx.c
index c0e1db3a3128ed90c9eb71733e3198ccbb4cb587..c39ed403a7b6c9f7f0460025131cc9234b65aaab 100644
--- a/lib_enc/enc_ppp_fx.c
+++ b/lib_enc/enc_ppp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_prm_fx.c b/lib_enc/enc_prm_fx.c
index ea9f3d0de94f7aa7a21152e58ecc7036eb8fe835..19235d1a16bb026887d1705ae5538a19e38f73e5 100644
--- a/lib_enc/enc_prm_fx.c
+++ b/lib_enc/enc_prm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_tran_fx.c b/lib_enc/enc_tran_fx.c
index a767a4f13ef07cacbb28a3fe82c691d71a2d849a..e134107be1dc65a0764d561a8df1195e0a030398 100644
--- a/lib_enc/enc_tran_fx.c
+++ b/lib_enc/enc_tran_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/enc_uv_fx.c b/lib_enc/enc_uv_fx.c
index cd0f707e424c987ceb32dc1197a00b31aba1bb62..23fe55c9a9c2fffcab85250c53342a673d4c15dd 100644
--- a/lib_enc/enc_uv_fx.c
+++ b/lib_enc/enc_uv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -156,9 +159,6 @@ void encod_unvoiced_fx(
index = gain_enc_uv_fx( code_fx, code2, L_SUBFR, &gain_pit_fx, &L_gain_code_fx, &gain_code2,
st_fx->flag_noisy_speech_snr, &g_corr, Es_pred, &norm_gain_code_fx, &gain_inov_fx, FUNC_GAIN_ENC_GACELP_UV ); /* Q0 */
-#ifdef DEBUGGING
- assert( st_fx->acelp_cfg.gains_mode[i_subfr_idx] == 7 && "Error: UC two-stage, only 5+2 gain Q is supported" );
-#endif
push_indice( st_fx->hBstr, IND_GAIN, index, st_fx->acelp_cfg.gains_mode[i_subfr_idx] );
gp_clip_test_gain_pit_fx( st_fx->element_mode, st_fx->core_brate, gain_pit_fx, st_fx->clip_var_fx );
@@ -399,9 +399,6 @@ void encod_unvoiced_ivas_fx(
index = gain_enc_uv_fx( code_fx, code2, L_SUBFR, &gain_pit_fx, &L_gain_code_fx, &gain_code2,
st_fx->flag_noisy_speech_snr, &g_corr, Es_pred, &norm_gain_code_fx, &gain_inov_fx, FUNC_GAIN_ENC_GACELP_UV ); /* Q0 */
-#ifdef DEBUGGING
- assert( st_fx->acelp_cfg.gains_mode[i_subfr_idx] == 7 && "Error: UC two-stage, only 5+2 gain Q is supported" );
-#endif
push_indice( st_fx->hBstr, IND_GAIN, index, st_fx->acelp_cfg.gains_mode[i_subfr_idx] );
gp_clip_test_gain_pit_fx( st_fx->element_mode, st_fx->core_brate, gain_pit_fx, st_fx->clip_var_fx );
diff --git a/lib_enc/energy_fx.c b/lib_enc/energy_fx.c
index b8203ef6851fc65fcea326ed37ed380caacecb47..a84adb4e8805eb04c61ad1ed6ddfb30a6caf9aa0 100644
--- a/lib_enc/energy_fx.c
+++ b/lib_enc/energy_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/eval_pit_contr_fx.c b/lib_enc/eval_pit_contr_fx.c
index e1c80e879570cbf41a7cc7afed96568e079114c6..c57157a31982114ea1c6d8c4efc9286d5f6708b6 100644
--- a/lib_enc/eval_pit_contr_fx.c
+++ b/lib_enc/eval_pit_contr_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/evs_enc_fx.c b/lib_enc/evs_enc_fx.c
index ce5b5405cff396919723de55b13378862cfd75f4..a4308f41abc12b1bb30a270edcc953ca198d783d 100644
--- a/lib_enc/evs_enc_fx.c
+++ b/lib_enc/evs_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -10,9 +13,6 @@
#include "rom_com.h" /* Common constants */
#include "basop_util.h" /* Function prototypes */
#include "prot_fx_enc.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------*
* Local function prototypes
@@ -74,9 +74,7 @@ ivas_error evs_enc_fx(
Word32 L_tmp;
UWord16 lsb;
Word16 tmp;
-#ifndef FIX_I4_OL_PITCH
Word16 pitch_orig[3]; /* original open-loop pitch values that might be altered in core_acelp_tcx20_switching_fx() within MODE2 */
-#endif
ivas_error error;
SC_VBR_ENC_HANDLE hSC_VBR = st->hSC_VBR;
// NOISE_EST_HANDLE hNoiseEst = st->hNoiseEst;
@@ -176,14 +174,10 @@ ivas_error evs_enc_fx(
/*---------------------------------------------------------------------*
* Pre-processing
*---------------------------------------------------------------------*/
-#ifdef FIX_I4_OL_PITCH
- pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type );
-#else
pre_proc_fx( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener,
pitch_orig, A, Aw, epsP_h, epsP_l, epsP, lsp_new, lsp_mid, &vad_hover_flag,
&attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &cldfbScale, hLPDmem->old_exc,
&hq_core_type, &Q_new, &shift, Q_r );
-#endif
// st->sharpFlag = sharpFlag;
IF( EQ_16( st->mdct_sw, MODE2 ) )
@@ -284,12 +278,10 @@ ivas_error evs_enc_fx(
* Postprocessing for ACELP/HQ core switching
*---------------------------------------------------------------------*/
core_switching_post_enc_fx( st, old_inp_12k8, old_inp_16k, A, shift, Q_new, st->Q_syn2, &Q_synth );
-#ifndef FIX_I4_OL_PITCH
IF( EQ_16( st->core, HQ_CORE ) )
{
Copy( pitch_orig, st->pitch, 3 ); /* original open-loop pitch values might be altered in core_acelp_tcx20_switching_fx() */
}
-#endif
}
ELSE /* MODE2 */
{
@@ -313,9 +305,7 @@ ivas_error evs_enc_fx(
enc_acelp_tcx_main_fx( old_inp_16k + L_INP_MEM, st, Aw, lsp_new, lsp_mid,
bwe_exc_extended, voice_factors, pitch_buf,
vad_hover_flag, &Q_new, &shift );
-#ifndef FIX_I4_OL_PITCH
Copy( pitch_orig, st->pitch, 3 ); /* populate the original OL pitch values back Q0*/
-#endif
/*---------------------------------------------------------------------*
* Postprocessing for codec switching
@@ -566,23 +556,6 @@ ivas_error evs_enc_fx(
st->rf_mode = 1;
}
-#ifdef DEBUG_MODE_INFO
- dbgwrite( &st->codec_mode, sizeof( short ), 1, input_frame, "res/codec" );
- dbgwrite( &st->core, sizeof( short ), 1, input_frame, "res/core" );
- dbgwrite( &st->extl, sizeof( short ), 1, input_frame, "res/extl" );
- dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, "res/bwidth" );
- float ener_flt = st->total_brate / 1000.0f;
- dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/total_brate" );
- ener_flt = st->core_brate / 1000.0f;
- dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/core_brate" );
- ener_flt = st->extl_brate / 1000.0f;
- dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/extl_brate" );
- dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, "res/coder_type" );
- dbgwrite( &st->clas, sizeof( short ), 1, input_frame, "res/clas" );
- dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, "res/cng_type" );
- dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, "res/L_frame" );
- dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, "res/vad_flag" );
-#endif
pop_wmops();
diff --git a/lib_enc/ext_sig_ana_fx.c b/lib_enc/ext_sig_ana_fx.c
index 6e46631f438428bbc30a1aff082cee128a62aec4..27cf5161584e66d7d6607de0bd1709899a6befe4 100644
--- a/lib_enc/ext_sig_ana_fx.c
+++ b/lib_enc/ext_sig_ana_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/fd_cng_enc_fx.c b/lib_enc/fd_cng_enc_fx.c
index 16351931400076607e3ff27907c5f87356f4e01e..1560826cbd3fb5756c9723fc746e0c6f52417bbd 100644
--- a/lib_enc/fd_cng_enc_fx.c
+++ b/lib_enc/fd_cng_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -10,9 +13,7 @@
#include "ivas_cnst.h"
#include "stl.h"
#include "rom_com.h"
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
#include "ivas_rom_com.h"
-#endif
#include "rom_enc.h"
#include "prot_fx.h"
#include "prot_fx_enc.h"
@@ -156,16 +157,11 @@ void initFdCngEnc_fx(
hsEnc->msPeriodogBufPtr = 0;
move16();
set32_fx( hsEnc->msPsdSecondMoment_fx, 0, NPART );
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
FOR( Word16 i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ )
{
set32_fx( hsEnc->mem_coherence_fx[i], EPSILON_FX, 4 );
set16_fx( hsEnc->mem_coherence_exp[i], 0, 4 );
}
-#else
- set32_fx( hsEnc->mem_coherence_fx, EPSILON_FX, 4 );
- set16_fx( hsEnc->mem_coherence_exp, 0, 4 );
-#endif
return;
}
@@ -2686,16 +2682,11 @@ void stereoFdCngCoherence_fx(
IF( NE_16( last_element_mode, IVAS_CPE_MDCT ) )
{
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
FOR( i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ )
{
set32_fx( sts[0]->hFdCngEnc->mem_coherence_fx[i], EPSILON_FX, 4 );
set16_fx( sts[0]->hFdCngEnc->mem_coherence_exp[i], 0, 4 );
}
-#else
- set32_fx( sts[0]->hFdCngEnc->mem_coherence_fx, EPSILON_FX, 4 );
- set16_fx( sts[0]->hFdCngEnc->mem_coherence_exp, 0, 4 );
-#endif
}
test();
test();
@@ -2760,10 +2751,6 @@ void stereoFdCngCoherence_fx(
pt_fftL = fft_buf_fx[0];
pt_fftR = fft_buf_fx[1];
-#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
- mem = sts[0]->hFdCngEnc->mem_coherence_fx; /* exp(sts[0]->hFdCngEnc->mem_coherence_exp) */
- mem_exp = sts[0]->hFdCngEnc->mem_coherence_exp;
-#endif
/* only estimate coherence in inactive frames (or in the first 50 frames to build an initial value) */
test();
@@ -2774,7 +2761,6 @@ void stereoFdCngCoherence_fx(
return;
}
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
FOR( i_subfr = 0; i_subfr < 2; i_subfr++ )
{
Word16 band_len_cum;
@@ -2849,59 +2835,7 @@ void stereoFdCngCoherence_fx(
pt_fftR += L_FFT;
}
-#else
- FOR( i_subfr = 0; i_subfr < 2; i_subfr++ )
- {
- cr = ci = eL = eR = EPSILON_FX;
- move32();
- move32();
- move32();
- move32();
- cr_exp = ci_exp = eL_exp = eR_exp = 0;
- move16();
- move16();
- move16();
- move16();
-
- cr = BASOP_Util_Add_Mant32Exp( cr, cr_exp, L_add( L_mult( pt_fftL[0], pt_fftR[0] ), L_mult( pt_fftL[L_FFT / 2], pt_fftR[L_FFT / 2] ) ), shl( fft_exp, 1 ), &cr_exp ); /* exp(cr_exp) */
- eL = BASOP_Util_Add_Mant32Exp( eL, eL_exp, L_add( L_mult( pt_fftL[0], pt_fftL[0] ), L_mult( pt_fftL[L_FFT / 2], pt_fftL[L_FFT / 2] ) ), shl( fft_exp, 1 ), &eL_exp ); /* exp(eL_exp) */
- eR = BASOP_Util_Add_Mant32Exp( eR, eR_exp, L_add( L_mult( pt_fftR[0], pt_fftR[0] ), L_mult( pt_fftR[L_FFT / 2], pt_fftR[L_FFT / 2] ) ), shl( fft_exp, 1 ), &eR_exp ); /* exp(eR_exp) */
-
- FOR( i = 1; i < L_FFT / 2; i++ )
- {
- cr = BASOP_Util_Add_Mant32Exp( cr, cr_exp, L_add( L_mult( pt_fftL[i], pt_fftR[i] ), L_mult( pt_fftL[L_FFT - i], pt_fftR[L_FFT - i] ) ), shl( fft_exp, 1 ), &cr_exp ); /* exp(cr_exp) */
- ci = BASOP_Util_Add_Mant32Exp( ci, ci_exp, L_add( L_mult( -pt_fftL[i], pt_fftR[L_FFT - i] ), L_mult( pt_fftL[L_FFT - i], pt_fftR[i] ) ), shl( fft_exp, 1 ), &ci_exp ); /* exp(ci_exp) */
- eL = BASOP_Util_Add_Mant32Exp( eL, eL_exp, L_add( L_mult( pt_fftL[i], pt_fftL[i] ), L_mult( pt_fftL[L_FFT - i], pt_fftL[L_FFT - i] ) ), shl( fft_exp, 1 ), &eL_exp ); /* exp(eL_exp) */
- eR = BASOP_Util_Add_Mant32Exp( eR, eR_exp, L_add( L_mult( pt_fftR[i], pt_fftR[i] ), L_mult( pt_fftR[L_FFT - i], pt_fftR[L_FFT - i] ) ), shl( fft_exp, 1 ), &eR_exp ); /* exp(eR_exp) */
- }
- test();
- test();
- IF( LE_32( sts[0]->ini_frame, 50 ) || ( sts[0]->vad_flag == 0 && sts[1]->vad_flag == 0 ) )
- {
- mem[0] = BASOP_Util_Add_Mant32Exp( Mpy_32_16_1( mem[0], 31129 /*0.95f*/ ), mem_exp[0], Mpy_32_16_1( cr, 1638 /*0.05f*/ ), cr_exp, &mem_exp[0] ); /* exp(mem_exp[0]) */
- move32();
- mem[1] = BASOP_Util_Add_Mant32Exp( Mpy_32_16_1( mem[1], 31129 /*0.95f*/ ), mem_exp[1], Mpy_32_16_1( ci, 1638 /*0.05f*/ ), ci_exp, &mem_exp[1] ); /* exp(mem_exp[1]) */
- move32();
- mem[2] = BASOP_Util_Add_Mant32Exp( Mpy_32_16_1( mem[2], 31129 /*0.95f*/ ), mem_exp[2], Mpy_32_16_1( eL, 1638 /*0.05f*/ ), eL_exp, &mem_exp[2] ); /* exp(mem_exp[2]) */
- move32();
- mem[3] = BASOP_Util_Add_Mant32Exp( Mpy_32_16_1( mem[3], 31129 /*0.95f*/ ), mem_exp[3], Mpy_32_16_1( eR, 1638 /*0.05f*/ ), eR_exp, &mem_exp[3] ); /* exp(mem_exp[3]) */
- move32();
- }
-
- pt_fftL += L_FFT;
- pt_fftR += L_FFT;
- }
-#endif
-#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
- Word16 sqr_inp, temp, sqr_out, sqr_inp_exp;
- Word32 sqr_inp32 = BASOP_Util_Add_Mant32Exp( Mpy_32_32( mem[0], mem[0] ), shl( mem_exp[0], 1 ), Mpy_32_32( mem[1], mem[1] ), shl( mem_exp[1], 1 ), &sqr_inp_exp ); /* exp(sqr_inp_exp) */
- sqr_inp = BASOP_Util_Divide3232_Scale( sqr_inp32, Mpy_32_32( mem[2], mem[3] ), &temp );
- sqr_inp_exp = add( temp, sub( sqr_inp_exp, add( mem_exp[2], mem_exp[3] ) ) );
- sqr_out = Sqrt16( sqr_inp, &sqr_inp_exp );
- sts[0]->hFdCngEnc->hFdCngCom->coherence_fx = shl_sat( sqr_out, sqr_inp_exp ); // Q15 expected.
- move16();
-#endif
return;
}
@@ -3175,11 +3109,7 @@ void FdCngEncodeMDCTStereoSID_fx(
}
/* quantize channel coherence */
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
coh_idx = mult_r( sts[0]->hFdCngEnc->hFdCngCom->coherence_fx[0], 15 );
-#else
- coh_idx = mult_r( sts[0]->hFdCngEnc->hFdCngCom->coherence_fx, 15 );
-#endif
coh_idx = s_max( 0, s_min( coh_idx, 15 ) );
/* ---- Write SID bitstream ---- */
@@ -3213,7 +3143,6 @@ void FdCngEncodeMDCTStereoSID_fx(
push_indice( sts[ch]->hBstr, IND_ENERGY, gain_idx[ch], 7 );
}
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
/* write the four additional coherence values */
FOR( Word16 b = 1; b < MDCT_ST_DTX_NUM_COHERENCE_BANDS; b++ )
{
@@ -3221,10 +3150,6 @@ void FdCngEncodeMDCTStereoSID_fx(
coh_idx = s_max( 0, s_min( coh_idx, 15 ) );
push_indice( sts[1]->hBstr, IND_ENERGY, coh_idx, 4 );
}
-#else
- /* pad with zeros to reach common SID frame size */
- push_indice( sts[1]->hBstr, IND_ENERGY, 0, ( IVAS_SID_5k2 - 4400 ) / FRAMES_PER_SEC );
-#endif
return;
}
@@ -3428,17 +3353,10 @@ void FdCngEncodeDiracMDCTStereoSID_fx(
lpc_from_spectrum( hFdCngCom, hFdCngEnc->startBandDec, hFdCngEnc->stopFFTbinDec, sts[ch]->preemph_fac );
sts[ch]->hDtxEnc->last_CNG_L_frame = sts[ch]->L_frame;
}
-#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG
sts[0]->hFdCngEnc->hFdCngCom->coherence_fx[0] = 0;
move16();
sts[1]->hFdCngEnc->hFdCngCom->coherence_fx[0] = 0;
move16();
-#else
- sts[0]->hFdCngEnc->hFdCngCom->coherence_fx = 0;
- move16();
- sts[1]->hFdCngEnc->hFdCngCom->coherence_fx = 0;
- move16();
-#endif
/* ---- Write SID bitstream ---- */
diff --git a/lib_enc/find_tar_fx.c b/lib_enc/find_tar_fx.c
index 568718517dff8d004e1b7b1df5852f194594f923..fddb94b915b9729b44f71243e40e91011166a59a 100644
--- a/lib_enc/find_tar_fx.c
+++ b/lib_enc/find_tar_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/find_tilt_fx.c b/lib_enc/find_tilt_fx.c
index 98e5a220a4d829b4e1a52f389dace30997db9ddd..6fe6fba49a42c516bb2fd9e8ab768950f9437af6 100644
--- a/lib_enc/find_tilt_fx.c
+++ b/lib_enc/find_tilt_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/find_uv_fx.c b/lib_enc/find_uv_fx.c
index 0a16f1467c1d4b93b586bec875c2ad5701f0a735..1469902c7a233908807918093112a764b373b981 100644
--- a/lib_enc/find_uv_fx.c
+++ b/lib_enc/find_uv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/find_wsp_fx.c b/lib_enc/find_wsp_fx.c
index b3a0dc9e660b7615538bbf753aeeb97c4e79b26b..080c504d0b1493e9bf3534d12102e4bd1091ab0d 100644
--- a/lib_enc/find_wsp_fx.c
+++ b/lib_enc/find_wsp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/frame_spec_dif_cor_rate_fx.c b/lib_enc/frame_spec_dif_cor_rate_fx.c
index e80f666d91597d4dca9d59c72f19dd34d902b66b..f51b7cd05a6307b69cbc3c8c510e664a8ce3dcfc 100644
--- a/lib_enc/frame_spec_dif_cor_rate_fx.c
+++ b/lib_enc/frame_spec_dif_cor_rate_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/gain_enc_fx.c b/lib_enc/gain_enc_fx.c
index c6e8c7276a14e453cd5e67329739878d09b292c8..f8ee0fa241649a8593d817f0657ed768d1e64a16 100644
--- a/lib_enc/gain_enc_fx.c
+++ b/lib_enc/gain_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/gaus_enc_fx.c b/lib_enc/gaus_enc_fx.c
index 7f192192b6b5a58e9bfd2affba50dc19e5f67196..570912d8b76d52a5a7ac65d84f0127c420cc97a4 100644
--- a/lib_enc/gaus_enc_fx.c
+++ b/lib_enc/gaus_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/gp_clip_fx.c b/lib_enc/gp_clip_fx.c
index 40b004e0ff79b3184c940b5c0863faa007d2da8c..13b3727713e854c0ead32cdafca73bd2fbc81fd3 100644
--- a/lib_enc/gp_clip_fx.c
+++ b/lib_enc/gp_clip_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_enc/gs_enc_fx.c b/lib_enc/gs_enc_fx.c
index f8479275f1c71eba6a9a147bcbe44fa5b5983ca6..4a3e0bfcafbe433e70d6f77639046badf05b9b03 100644
--- a/lib_enc/gs_enc_fx.c
+++ b/lib_enc/gs_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/guided_plc_enc_fx.c b/lib_enc/guided_plc_enc_fx.c
index 599fc57f290dbd5f0ad4fdbfad43d5af80ea7f37..e0e76d9f938c80a9e2c0a34a65ca7f41b03b769d 100644
--- a/lib_enc/guided_plc_enc_fx.c
+++ b/lib_enc/guided_plc_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/hf_cod_amrwb_fx.c b/lib_enc/hf_cod_amrwb_fx.c
index e833201bc5e2614de96760e317ffa6d0c5d3e91c..4511cc713c3d61a7a6e37a964a6f0fb01657a4d7 100644
--- a/lib_enc/hf_cod_amrwb_fx.c
+++ b/lib_enc/hf_cod_amrwb_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/hq_classifier_enc_fx.c b/lib_enc/hq_classifier_enc_fx.c
index 1253d55fd8a921fed876c0cc1e033c39158bed6e..2aada0c8be6ca746cc81bfecd42681a71742aa7d 100644
--- a/lib_enc/hq_classifier_enc_fx.c
+++ b/lib_enc/hq_classifier_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/hq_core_enc_fx.c b/lib_enc/hq_core_enc_fx.c
index 2879997ac5d6e225d7fc434ad1e4728dca32635b..d03d0e055493da5d4c03a94791d595cd95637a6b 100644
--- a/lib_enc/hq_core_enc_fx.c
+++ b/lib_enc/hq_core_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/hq_env_enc_fx.c b/lib_enc/hq_env_enc_fx.c
index f033bd685b8e5c1c48bd3485a23bf2b82b560411..7fded3caa88532f1280c0c3ec3f0ba5aba2aa6b3 100644
--- a/lib_enc/hq_env_enc_fx.c
+++ b/lib_enc/hq_env_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/hq_hr_enc_fx.c b/lib_enc/hq_hr_enc_fx.c
index f462ca4dca7662c29fcb215e318cfe98e4c86013..dd4a1679933fdd1c3eb996572bc7ff7f4b98b515 100644
--- a/lib_enc/hq_hr_enc_fx.c
+++ b/lib_enc/hq_hr_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/hq_lr_enc_fx.c b/lib_enc/hq_lr_enc_fx.c
index cd58e3b95358314438c169dbcc95f32a5efce782..c1020f5c53c8f295ae07a2cd0450d96ee1d2297b 100644
--- a/lib_enc/hq_lr_enc_fx.c
+++ b/lib_enc/hq_lr_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/hvq_enc_fx.c b/lib_enc/hvq_enc_fx.c
index 1119656fc3bb66eba83d3d1349870aa17489e4b0..fb97c2d21b8076e6f983e3d1eab18044199d3c96 100644
--- a/lib_enc/hvq_enc_fx.c
+++ b/lib_enc/hvq_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/igf_enc_fx.c b/lib_enc/igf_enc_fx.c
index a9c7d768b43800bb32962a9ace55991b54f6e1ce..59a53d1eb286abbf5de20313a0c84533e4023190 100755
--- a/lib_enc/igf_enc_fx.c
+++ b/lib_enc/igf_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/igf_scf_enc.c b/lib_enc/igf_scf_enc.c
index d83841039876ae0ee371db6fb38771619a87b006..746f1e38b89d1f01a4c2bd63f9f77463d0d4c2bc 100644
--- a/lib_enc/igf_scf_enc.c
+++ b/lib_enc/igf_scf_enc.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
diff --git a/lib_enc/igf_scf_enc_fx.c b/lib_enc/igf_scf_enc_fx.c
index ed52349dc034d32523fcd2cc412d5f27b2da50aa..cf5571467ee5145cde777422d3c91ac52f5d4c47 100644
--- a/lib_enc/igf_scf_enc_fx.c
+++ b/lib_enc/igf_scf_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
diff --git a/lib_enc/init_enc_fx.c b/lib_enc/init_enc_fx.c
index 8e469a68eaffd436bbc9d9e92b048ed9889019c2..0cd8333bca117b8aa22db8da330cdb9611cd628e 100644
--- a/lib_enc/init_enc_fx.c
+++ b/lib_enc/init_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
@@ -1244,10 +1216,6 @@ ivas_error init_encoder_fx(
move16();
st->old_wsp_shift = 0;
move16();
-#ifdef DEBUGGING
- st->id_element = -1; /* element ID */
- move16();
-#endif
return IVAS_ERR_OK;
}
diff --git a/lib_enc/inov_enc_fx.c b/lib_enc/inov_enc_fx.c
index 5b228c2ed57af5b78243ab969a74733855935c76..33942b9c41a9c13c238e260308b21e2d69295960 100644
--- a/lib_enc/inov_enc_fx.c
+++ b/lib_enc/inov_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0
====================================================================================*/
@@ -674,12 +677,6 @@ Word16 inov_encode_ivas_fx(
set16_fx( y2, 0, L_SUBFR );
}
}
-#ifdef DEBUGGING
- else
- {
- IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "invalid mode for acelp frame!\n" );
- }
-#endif
}
ELSE
{
diff --git a/lib_enc/isf_enc_amr_wb_fx.c b/lib_enc/isf_enc_amr_wb_fx.c
index d58998565bdb404e232a6b7b8c5e0318eae1c3a4..d6c56d404547d5c6e91120820971fed4dd69e755 100644
--- a/lib_enc/isf_enc_amr_wb_fx.c
+++ b/lib_enc/isf_enc_amr_wb_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h" /* Compilation switches */
diff --git a/lib_enc/ivas_agc_enc_fx.c b/lib_enc/ivas_agc_enc_fx.c
index 10d7cb8c71c2b736bc7fa24bbd467bed6f7dc94b..72f863022fff28c2529aab9b34d1ce509c6968db 100644
--- a/lib_enc/ivas_agc_enc_fx.c
+++ b/lib_enc/ivas_agc_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
diff --git a/lib_enc/ivas_core_enc_fx.c b/lib_enc/ivas_core_enc_fx.c
index 96bbca887782fdb1e711c4ff9ae0b289ab940d66..e2598b6dfd5fde7240e771676843589856d00a09 100644
--- a/lib_enc/ivas_core_enc_fx.c
+++ b/lib_enc/ivas_core_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -41,9 +13,6 @@
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------*
@@ -868,42 +837,6 @@ ivas_error ivas_core_enc_fx(
diff_nBits = sub( diff_nBits, n );
}
}
-#ifdef DEBUG_MODE_INFO
- for ( n = 0; n < n_CoreChannels; n++ )
- {
- float tmpF;
- short tmpS, id;
-
- st = sts[n];
- id = st->id_element;
-
- dbgwrite( &st->core, sizeof( short ), 1, input_frame, fname( debug_dir, "core", n, id, ENC ) );
- dbgwrite( &st->extl, sizeof( short ), 1, input_frame, fname( debug_dir, "extl", n, id, ENC ) );
- dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, fname( debug_dir, "bwidth", n, id, ENC ) );
- tmpF = st->total_brate / 1000.0f;
- dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "total_brate", n, id, ENC ) );
- tmpS = st->bits_frame_nominal;
- dbgwrite( &tmpS, sizeof( short ), 1, input_frame, fname( debug_dir, "bits_nominal", n, id, ENC ) );
- tmpF = st->core_brate / 1000.0f;
- dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "core_brate", n, id, ENC ) );
- tmpF = st->extl_brate / 1000.0f;
- dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "extl_brate", n, id, ENC ) );
-
- dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, fname( debug_dir, "coder_type", n, id, ENC ) );
- dbgwrite( &st->clas, sizeof( short ), 1, input_frame, fname( debug_dir, "clas", n, id, ENC ) );
- dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, fname( debug_dir, "cng_type", n, id, ENC ) );
- dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, fname( debug_dir, "L_frame", n, id, ENC ) );
- dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, fname( debug_dir, "vad_flag", n, id, ENC ) );
- dbgwrite( &st->localVAD, sizeof( short ), 1, input_frame, fname( debug_dir, "localVAD", n, id, ENC ) );
-
- dbgwrite( &st->count_WB, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "count_WB", n, id, ENC ) );
- dbgwrite( &st->count_SWB, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "count_SWB", n, id, ENC ) );
-
- dbgwrite( &st->sp_aud_decision0, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision0", n, id, ENC ) );
- dbgwrite( &st->sp_aud_decision1, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision1", n, id, ENC ) );
- dbgwrite( &st->sp_aud_decision2, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision2", n, id, ENC ) );
- }
-#endif
pop_wmops();
diff --git a/lib_enc/ivas_core_pre_proc_front_fx.c b/lib_enc/ivas_core_pre_proc_front_fx.c
index efa5e9a0a419e79b66f3b2f9e6e702b8ee166533..fb5fbce5a3f7193bf69b713986d7978341605b99 100644
--- a/lib_enc/ivas_core_pre_proc_front_fx.c
+++ b/lib_enc/ivas_core_pre_proc_front_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -41,10 +13,6 @@
#include "ivas_prot_fx.h"
#include "wmc_auto.h"
#include
-#ifdef DEBUGGING
-#include "debug.h"
-#include "string.h"
-#endif
#include "prot_fx_enc.h"
#include "ivas_prot_fx.h"
@@ -129,12 +97,7 @@ ivas_error pre_proc_front_ivas_fx(
const Word16 MCT_flag, /* i : hMCT handle allocated (1) or not (0) Q0*/
const Word32 last_ivas_total_brate, /* i : last IVAS total bitrate Q0*/
const Word32 ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX Q0*/
- Word16 *Q_new
-#ifdef DEBUG_MODE_INFO
- ,
- const Word16 ch_idx
-#endif
-)
+ Word16 *Q_new )
{
Encoder_State *st;
IF( hSCE != NULL )
@@ -220,10 +183,6 @@ ivas_error pre_proc_front_ivas_fx(
Word16 Qfact_PS, q_lf_E_fx;
Word16 enerBuffer_fx_exp_buf[CLDFB_NO_CHANNELS_MAX];
Word32 bckr_temp[NB_BANDS];
-#ifdef DEBUG_MODE_INFO
- Word32 *in_buff_temp;
- Word16 in_q_temp;
-#endif
mem_decim_dummy_fx = (Word16 *) malloc( 90 * sizeof( Word16 * ) );
temp1F_icatdmResampBuf_fx = (Word16 *) malloc( 45 * sizeof( Word16 * ) );
@@ -239,32 +198,6 @@ ivas_error pre_proc_front_ivas_fx(
st->q_old_inp = Q_min;
move16();
-#ifdef DEBUG_MODE_INFO
- IF( hSCE != NULL )
- {
- in_buff_temp = hSCE->hCoreCoder[n]->input32_fx;
- in_q_temp = hSCE->hCoreCoder[n]->q_inp32;
- }
- ELSE
- {
- in_buff_temp = hCPE->hCoreCoder[n]->input32_fx;
- in_q_temp = hCPE->hCoreCoder[n]->q_inp32;
- }
-#endif
-
-
-#ifdef DEBUG_MODE_INFO
- if ( !( hCPE != NULL && hCPE->hStereoTD != NULL && ch_idx > 0 ) )
- {
- /* for TD stereo only write out first channel. The existence of a second channel can vary, this is just easier to handle */
- int16_t tmpF[L_FRAME48k];
- for ( int16_t isample = 0; isample < input_frame; isample++ )
- {
- tmpF[isample] = (int16_t) ( (float) in_buff_temp[isample - NS2SA( st->input_Fs, ACELP_LOOK_NS )] / ( (float) ( 1 << in_q_temp ) ) );
- }
- dbgwrite( &tmpF, sizeof( int16_t ), input_frame, 1, strcat( fname( debug_dir, "ivas_input_dmx", 0, ch_idx + 1, ENC ), ".pcm" ) );
- }
-#endif
FOR( Word16 k = 0; k < CLDFB_NO_COL_MAX; k++ )
{
@@ -714,11 +647,7 @@ ivas_error pre_proc_front_ivas_fx(
*Q_new = add( *Q_new, Q_inp_const );
move16();
-#ifndef FIX_2015_PREMPH_SAT_ALT
- Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( *Q_new, st->q_inp ) ); /* Q_new */
-#else
- Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) ); /* Q_new */
-#endif
+ Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) ); /* Q_new */
Scale_sig( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ), sub( *Q_new, st->q_inp ) ); /* Q_new */
cldfbScale.hb_scale = cldfbScale.lb_scale;
@@ -783,16 +712,6 @@ ivas_error pre_proc_front_ivas_fx(
st->vad_flag = wb_vad_ivas_fx( st, fr_bands_fx, fr_bands_fx_q, &i, &i, &i, &snr_sum_he_fx, &localVAD_HE_SAD,
&( st->flag_noisy_speech_snr ), NULL, NULL, -MAX_16, -MAX_16 ); //-100000f == max 16bit float
move16();
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &st->vad_flag, sizeof( int16_t ), 1, fname( st->force_dir, "force_vad_flag.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &st->vad_flag, sizeof( int16_t ), 1, 1, "res/force_vad_flag.enf" );
- }
-#endif
test();
IF( EQ_16( force_front_vad, 1 ) || EQ_16( front_vad_flag, 1 ) )
@@ -887,17 +806,6 @@ ivas_error pre_proc_front_ivas_fx(
move16();
}
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &st->bwidth, sizeof( int16_t ), 1, fname( st->force_dir, "force_bwidth.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &st->bwidth, sizeof( int16_t ), 1, 1, "res/force_bwidth.enf" );
- }
-#endif
-
/*----------------------------------------------------------------*
* Noise energy down-ward update and total noise energy estimation
@@ -1324,19 +1232,6 @@ ivas_error pre_proc_front_ivas_fx(
&flag_spitch, last_core_orig, hStereoClassif, *Q_new /*q_inp_12k8*/, fr_bands_fx_q ); // Q0
Copy_Scale_sig_16_32_no_sat( st->lgBin_E_fx, st->Bin_E_fx, L_FFT / 2, sub( st->q_Bin_E, Q7 ) );
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &st->coder_type, sizeof( int16_t ), 1, fname( st->force_dir, "force_coder_type.enf", -1, -1, -1 ) );
- dbgread( &st->coder_type_raw, sizeof( int16_t ), 1, fname( st->force_dir, "force_coder_type_raw.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &st->coder_type, sizeof( int16_t ), 1, 1, "res/force_coder_type.enf" );
- dbgwrite( &st->coder_type_raw, sizeof( int16_t ), 1, 1, "res/force_coder_type_raw.enf" );
- }
-#endif
-
/*-----------------------------------------------------------------*
* channel aware mode configuration *
@@ -1396,32 +1291,6 @@ ivas_error pre_proc_front_ivas_fx(
smc_dec = ivas_smc_gmm_fx( st, hStereoClassif, localVAD_HE_SAD, extract_h( Etot_fx ), lsp_new_fx, *cor_map_sum_fx /*Q8*/, epsP_fx, PS_fx, non_staX_fx, *relE_fx, &high_lpn_flag, flag_spitch, Qfact_PS, *epsP_fx_q, hSpMusClas->past_PS_Q ); /* Q0 */
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &smc_dec, sizeof( int16_t ), 1, fname( st->force_dir, "force_smc_dec_loc1.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &smc_dec, sizeof( int16_t ), 1, 1, "res/force_smc_dec_loc1.enf" );
- }
-#endif
-
-#ifdef DEBUGGING
- if ( st->idchan == 0 )
- {
- if ( st->force == FORCE_SPEECH )
- {
- /* enforce speech */
- st->sp_aud_decision0 = 0;
- }
- else if ( st->force == FORCE_MUSIC )
- {
- /* enforce music */
- st->sp_aud_decision0 = 1;
- }
- }
-#endif
/*----------------------------------------------------------------*
* VAD energy updates
@@ -1612,22 +1481,6 @@ ivas_error pre_proc_front_ivas_fx(
ivas_smc_mode_selection_fx( st, element_brate, smc_dec, *relE_fx, extract_h( Etot_fx ), attack_flag, inp_12k8_fx, *Q_new, S_map_fx, flag_spitch );
}
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &smc_dec, sizeof( int16_t ), 1, fname( st->force_dir, "force_smc_dec_loc2.enf", -1, -1, -1 ) );
- dbgread( &st->sp_aud_decision0, sizeof( int16_t ), 1, fname( st->force_dir, "force_sp_aud_decision0.enf", -1, -1, -1 ) );
- dbgread( &st->sp_aud_decision1, sizeof( int16_t ), 1, fname( st->force_dir, "force_sp_aud_decision1.enf", -1, -1, -1 ) );
- dbgread( &st->sp_aud_decision2, sizeof( int16_t ), 1, fname( st->force_dir, "force_sp_aud_decision2.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &smc_dec, sizeof( int16_t ), 1, 1, "res/force_smc_dec_loc2.enf" );
- dbgwrite( &st->sp_aud_decision0, sizeof( int16_t ), 1, 1, "res/force_sp_aud_decision0.enf" );
- dbgwrite( &st->sp_aud_decision1, sizeof( int16_t ), 1, 1, "res/force_sp_aud_decision1.enf" );
- dbgwrite( &st->sp_aud_decision2, sizeof( int16_t ), 1, 1, "res/force_sp_aud_decision2.enf" );
- }
-#endif
/*----------------------------------------------------------------*
* Final VAD correction (when HE-SAD is used instead of the normal VAD,
diff --git a/lib_enc/ivas_core_pre_proc_fx.c b/lib_enc/ivas_core_pre_proc_fx.c
index 8401658240afd1f45338976ee99e05d81b50a4bd..7a4b4f14600b3779b9331c4c03f21fbe45513567 100644
--- a/lib_enc/ivas_core_pre_proc_fx.c
+++ b/lib_enc/ivas_core_pre_proc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -1071,11 +1043,7 @@ ivas_error ivas_compute_core_buffers_fx(
}
st->Q_max_16k[i] = shift;
move16();
-#ifndef FIX_2015_PREMPH_SAT_ALT
- Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, *Q_new );
-#else
Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, add( *Q_new, 1 ) );
-#endif
Scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), *Q_new );
}
ELSE IF( GT_32( input_Fs, 8000 ) ) /* keep memory up-to-date in case of bitrate switching */
diff --git a/lib_enc/ivas_corecoder_enc_reconfig_fx.c b/lib_enc/ivas_corecoder_enc_reconfig_fx.c
index a277c965bd63c9be6a5831cb589586b51c10fcc6..0e73ecc3f9709f95d66aa404878001d49c8bf777 100644
--- a/lib_enc/ivas_corecoder_enc_reconfig_fx.c
+++ b/lib_enc/ivas_corecoder_enc_reconfig_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -39,9 +11,6 @@
#include "ivas_prot_fx.h"
#include "math.h"
#include "wmc_auto.h"
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-#include
-#endif
/*-------------------------------------------------------------------*
* ivas_corecoder_enc_reconfig()
*
@@ -196,9 +165,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx(
move16();
temp_ind_list[i].nb_bits = hBstr->ind_list[i].nb_bits; /* Q0 */
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( temp_ind_list[i].function_name, hBstr->ind_list[i].function_name, 100 );
-#endif
hBstr->ind_list[i].nb_bits = -1; /* Q0 */
move16();
}
@@ -552,9 +518,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx(
move16();
st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 );
-#endif
}
nb_bits = add( nb_bits, temp_ind_list[i].nb_bits ); /* Q0 */
@@ -579,9 +542,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx(
move16();
st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 );
-#endif
}
nb_bits = add( nb_bits, temp_ind_list[i].nb_bits ); /* Q0 */
@@ -754,9 +714,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx(
move16();
}
-#ifdef DEBUGGING
- st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->mdct_stereo_mode_cmdl = hEncoderConfig->stereo_mode_cmdl;
-#endif
initMdctStereoEncData_fx( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct, hEncoderConfig->ivas_format, st_ivas->hCPE[st_ivas->nCPE - 1]->element_mode, st_ivas->hCPE[st_ivas->nCPE - 1]->element_brate, hEncoderConfig->max_bwidth, 0, NULL, 1 );
diff --git a/lib_enc/ivas_cpe_enc_fx.c b/lib_enc/ivas_cpe_enc_fx.c
index 8bd84e03184059752c75835d302784e9900d1202..d2cea9b631c9c105676dfd7482322aa03eff10fd 100644
--- a/lib_enc/ivas_cpe_enc_fx.c
+++ b/lib_enc/ivas_cpe_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -39,9 +11,6 @@
#include "prot_fx.h"
#include "prot_fx_enc.h"
#include "ivas_rom_com.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
#include "ivas_rom_enc.h"
@@ -168,12 +137,6 @@ ivas_error ivas_cpe_enc_fx(
move16();
move16();
-#ifdef DEBUGGING
- if ( hCPE->hCoreCoder[0]->ini_frame == 0 )
- {
- hCPE->stereo_mode_cmdl = hEncoderConfig->stereo_mode_cmdl;
- }
-#endif
set16_fx( pitch_fr_fx[0], 0, NB_SUBFR );
set16_fx( pitch_fr_fx[1], 0, NB_SUBFR );
@@ -213,14 +176,6 @@ ivas_error ivas_cpe_enc_fx(
}
sts[n]->rate_switching_reset = 0;
move16();
-
-#ifdef DEBUGGING
- sts[n]->force = hEncoderConfig->force;
- sts[n]->id_element = cpe_id + st_ivas->nSCE;
-#ifdef DEBUG_FORCE_DIR
- sts[n]->force_dir = hEncoderConfig->force_dir;
-#endif
-#endif
}
Word16 norm, Q_min = s_min( q_data_fx, add( sts[0]->q_old_inp32, L_norm_arr( sts[0]->input32_fx - input_frame, input_frame ) ) );
@@ -273,19 +228,6 @@ ivas_error ivas_cpe_enc_fx(
{
hCPE->element_mode = select_stereo_mode_fx( hCPE, ivas_format );
}
-#ifdef DEBUG_FORCE_DIR
- else
- {
- if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' )
- {
- dbgread( &hCPE->element_mode, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_element_mode.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, 1, "res/force_element_mode.enf" );
- }
- }
-#endif
stereo_mode_combined_format_enc_fx( st_ivas, hCPE );
@@ -621,9 +563,6 @@ ivas_error ivas_cpe_enc_fx(
/* reconfiguration in case of bitrate switching */
IF( NE_32( hCPE->element_brate, hCPE->last_element_brate ) && st_ivas->hMCT == NULL )
{
-#ifdef DEBUGGING
- hCPE->hStereoMdct->mdct_stereo_mode_cmdl = hEncoderConfig->mdct_stereo_mode_cmdl;
-#endif
initMdctStereoEncData_fx( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, max_bwidth, 0, NULL, 0 );
test();
test();
@@ -826,13 +765,8 @@ ivas_error ivas_cpe_enc_fx(
move16();
stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, sts[0]->input32_fx, &out_start_ind, &out_end_ind, 0, input_Fs, input_Fs, 0, NULL );
-#ifdef NONBE_FIX_2205_SATURATE_ALTERNATIVE
Scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer
Scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) ); // scaling initial part of the input buffer
-#else
- scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer
- scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) ); // scaling initial part of the input buffer
-#endif
sts[0]->q_inp32 = Q15;
sts[0]->q_old_inp32 = Q15;
move16();
@@ -894,9 +828,6 @@ ivas_error ivas_cpe_enc_fx(
move16();
}
-#ifdef DEBUG_MODE_INFO
- dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, sts[0]->id_element, ENC ) );
-#endif
/*----------------------------------------------------------------*
* Front Pre-processing
@@ -921,12 +852,7 @@ ivas_error ivas_cpe_enc_fx(
&ener_fx[n], &relE_fx[n], A_fx[n], Aw_fx[n], epsP_fx[n], &epsP_fx_q[n], lsp_new_fx[n], lsp_mid_fx[n], &vad_hover_flag[n], &attack_flag[n],
realBuffer_fx[n], imagBuffer_fx[n], &q_re_im_buf[n], old_wsp_fx[n], &q_old_wsp, pitch_fr_fx[n], voicing_fr_fx[n], &loc_harm[n], &cor_map_sum_fx[n], &vad_flag_dtx[n], enerBuffer_fx[n], &enerBuffer_fx_exp[n],
fft_buff_fx[n], &fft_buff_fx_q[n], A_fx[0], lsp_new_fx[0], currFlatness_fx[n], tdm_ratio_idx, fr_bands_fx, q_fr_bands, Etot_LR_fx, lf_E_fx, q_lf_E[n], localVAD_HE_SAD,
- band_energies_LR_fx, q_band_energies_LR, 0, front_vad_flag, 0, 0, ivas_format, st_ivas->hMCT != NULL, st_ivas->hEncoderConfig->last_ivas_total_brate, ivas_total_brate, &Q_new[n]
-#ifdef DEBUG_MODE_INFO
- ,
- ( st_ivas->nSCE + ( cpe_id * CPE_CHANNELS ) + n )
-#endif
- );
+ band_energies_LR_fx, q_band_energies_LR, 0, front_vad_flag, 0, 0, ivas_format, st_ivas->hMCT != NULL, st_ivas->hEncoderConfig->last_ivas_total_brate, ivas_total_brate, &Q_new[n] );
e_old_wsp[n] = sub( Q15, q_old_wsp );
move16();
IF( error != IVAS_ERR_OK )
@@ -992,12 +918,10 @@ ivas_error ivas_cpe_enc_fx(
* Core codec configuration
*----------------------------------------------------------------*/
-#ifdef FIX_1411_IGF_CRASH_BW_SWITCHING
test();
test();
IF( NE_32( sts[0]->core_brate, SID_2k40 ) && NE_32( sts[0]->core_brate, FRAME_NO_DATA ) ) /* Reconfigurations not needed with DTX*/
{
-#endif
test();
IF( EQ_16( hCPE->element_mode, IVAS_CPE_MDCT ) && st_ivas->hMCT == NULL )
{
@@ -1038,13 +962,9 @@ ivas_error ivas_cpe_enc_fx(
test();
test();
test();
-#ifdef FIX_1411_IGF_CRASH_BW_SWITCHING
test();
test();
IF( ( NE_32( hCPE->last_element_brate, hCPE->element_brate ) || NE_16( hCPE->element_mode, hCPE->last_element_mode ) || ( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) && NE_16( sts[0]->bits_frame_nominal, last_bits_frame_nominal ) ) || NE_16( sts[n]->last_bwidth, sts[n]->bwidth ) || EQ_32( sts[n]->last_core_brate, SID_2k40 ) || EQ_32( sts[n]->last_core_brate, FRAME_NO_DATA ) ) && ( EQ_16( n, 0 ) || EQ_16( hCPE->element_mode, IVAS_CPE_MDCT ) ) )
-#else
- IF( ( NE_32( hCPE->last_element_brate, hCPE->element_brate ) || NE_16( hCPE->element_mode, hCPE->last_element_mode ) || ( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) && NE_16( sts[0]->bits_frame_nominal, last_bits_frame_nominal ) ) || NE_16( sts[n]->last_bwidth, sts[n]->bwidth ) ) && ( n == 0 || EQ_16( hCPE->element_mode, IVAS_CPE_MDCT ) ) )
-#endif
{
Word16 igf;
Word16 bw;
@@ -1059,20 +979,14 @@ ivas_error ivas_cpe_enc_fx(
}
igf = getIgfPresent_fx( sts[n]->element_mode, L_mult0( sts[n]->bits_frame_nominal, FRAMES_PER_SEC ), bw, sts[n]->rf_mode ); /* Q0 */
move16();
-#ifdef FIX_1413_IGF_INIT_PRINTOUT
IF( ( error = IGF_Reconfig_fx( &sts[n]->hIGFEnc, igf, 0, L_mult0( sts[n]->bits_frame_nominal, FRAMES_PER_SEC ), bw, sts[n]->element_mode, sts[n]->rf_mode ) ) != IVAS_ERR_OK )
-#else
- IF( ( error = IGF_Reconfig_fx( &sts[n]->hIGFEnc, igf, 0, L_mult0( sts[n]->bits_frame_nominal, FRAMES_PER_SEC ), max_bwidth, sts[n]->element_mode, sts[n]->rf_mode ) ) != IVAS_ERR_OK )
-#endif
{
return error;
}
}
}
-#ifdef FIX_1411_IGF_CRASH_BW_SWITCHING
}
-#endif
/* set ACELP@12k8 / ACELP@16k flag for flexible ACELP core */
FOR( n = 0; n < n_CoreChannels; n++ )
@@ -1319,13 +1233,6 @@ ivas_error ivas_cpe_enc_fx(
}
-#ifdef DEBUG_MODE_INFO
- {
- float tmpF = ivas_total_brate / 1000.0f;
- dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "element_brate", 0, cpe_id, ENC ) );
- }
-#endif
-
pop_wmops();
return error;
}
@@ -1493,11 +1400,7 @@ ivas_error create_cpe_enc_fx(
* LR VAD initialization
*-----------------------------------------------------------------*/
-#ifdef DEBUGGING
- if ( hEncoderConfig->Opt_DTX_ON && ( hCPE->element_mode == IVAS_CPE_TD || hEncoderConfig->stereo_mode_cmdl == 1 ) && !( ivas_format == MASA_FORMAT && element_mode_init == IVAS_CPE_MDCT ) )
-#else
IF( hEncoderConfig->Opt_DTX_ON )
-#endif
{
test();
IF( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) || EQ_16( hCPE->element_mode, IVAS_CPE_DFT ) )
@@ -1598,23 +1501,6 @@ ivas_error create_cpe_enc_fx(
return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) );
}
-#ifdef DEBUGGING
- hCPE->hStereoMdct->mdct_stereo_mode_cmdl = st_ivas->hEncoderConfig->mdct_stereo_mode_cmdl;
-#ifdef DEBUG_FORCE_MDCT_STEREO_MODE
- /*set all other members to defined states */
- hCPE->hStereoMdct->fDualMono = 0;
- hCPE->hStereoMdct->fMSstereo = 0;
-
- if ( hCPE->hStereoMdct->mdct_stereo_mode_cmdl == SMDCT_FORCE_LR )
- {
- hCPE->hStereoMdct->fDualMono = 1;
- }
- else if ( hCPE->hStereoMdct->mdct_stereo_mode_cmdl == SMDCT_FORCE_MS )
- {
- hCPE->hStereoMdct->fMSstereo = 1;
- }
-#endif
-#endif
initMdctStereoEncData_fx( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, max_bwidth, 0, NULL, 1 );
diff --git a/lib_enc/ivas_decision_matrix_enc_fx.c b/lib_enc/ivas_decision_matrix_enc_fx.c
index 42e2f446ef539a3105237d0597f67c086fd7cb42..a013febaf8c35a5ad3d7cf3d7a77c72e700c90e1 100644
--- a/lib_enc/ivas_decision_matrix_enc_fx.c
+++ b/lib_enc/ivas_decision_matrix_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -197,16 +169,6 @@ void ivas_decision_matrix_enc_fx(
move16();
}
}
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &st->core, sizeof( int16_t ), 1, fname( st->force_dir, "force_core_loc1.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &st->core, sizeof( int16_t ), 1, 1, "res/force_core_loc1.enf" );
- }
-#endif
/* do not allow TD stereo ACELP core -> DFT stereo TCX core switching as it is on the WC complexity path */
test();
@@ -230,46 +192,6 @@ void ivas_decision_matrix_enc_fx(
move16();
}
-#ifdef DEBUGGING
- if ( st->idchan == 0 )
- {
- if ( st->force == FORCE_SPEECH && st->element_mode != IVAS_CPE_MDCT && st->total_brate <= MAX_ACELP_BRATE )
- {
- st->core = ACELP_CORE;
- }
- else if ( st->force == FORCE_MUSIC && st->core == ACELP_CORE )
- {
- st->core = TCX_20_CORE;
- }
- else if ( st->force == FORCE_ACELP && st->element_mode != IVAS_CPE_MDCT && st->total_brate <= MAX_ACELP_BRATE )
- {
- st->core = ACELP_CORE;
- if ( st->coder_type == AUDIO )
- {
- st->coder_type = GENERIC;
- }
- }
- else if ( st->force == FORCE_GSC && element_brate < IVAS_24k4 )
- {
- st->core = ACELP_CORE;
- }
-#ifdef SUPPORT_FORCE_TCX10_TCX20
- else if ( st->force == FORCE_TCX20 || st->force == FORCE_TCX10 ) /* Initalizations should always happen with TCX20*/
- {
- st->core = TCX_20_CORE;
- }
-#else
- else if ( st->force == FORCE_TCX )
- {
- st->core = TCX_20_CORE;
- }
-#endif
- else if ( st->force == FORCE_HQ && st->element_mode != IVAS_CPE_MDCT && element_brate >= IVAS_24k4 )
- {
- st->core = HQ_CORE;
- }
- }
-#endif
/* TCX not available at low bitrates -> replace it by GSC */
test();
@@ -310,16 +232,6 @@ void ivas_decision_matrix_enc_fx(
move16();
}
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &st->core, sizeof( int16_t ), 1, fname( st->force_dir, "force_core_loc2.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &st->core, sizeof( int16_t ), 1, 1, "res/force_core_loc2.enf" );
- }
-#endif
/*---------------------------------------------------------------------*
* Select ACELP and GSC extension layer
@@ -370,19 +282,6 @@ void ivas_decision_matrix_enc_fx(
}
}
}
-
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &st->extl, sizeof( int16_t ), 1, fname( st->force_dir, "force_extl.enf", -1, -1, -1 ) );
- dbgread( &st->extl_brate, sizeof( int32_t ), 1, fname( st->force_dir, "force_extl_brate.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &st->extl, sizeof( int16_t ), 1, 1, "res/force_extl.enf" );
- dbgwrite( &st->extl_brate, sizeof( int32_t ), 1, 1, "res/force_extl_brate.enf" );
- }
-#endif
}
/* SWB and FB */
@@ -480,18 +379,6 @@ void ivas_decision_matrix_enc_fx(
move32();
}
-#ifdef DEBUG_FORCE_DIR
- if ( st->force_dir[0] != '\0' )
- {
- dbgread( &st->extl, sizeof( int16_t ), 1, fname( st->force_dir, "force_extl.enf", -1, -1, -1 ) );
- dbgread( &st->extl_brate, sizeof( int32_t ), 1, fname( st->force_dir, "force_extl_brate.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( &st->extl, sizeof( int16_t ), 1, 1, "res/force_extl.enf" );
- dbgwrite( &st->extl_brate, sizeof( int32_t ), 1, 1, "res/force_extl_brate.enf" );
- }
-#endif
/* set IC-BWE bitrate */
test();
diff --git a/lib_enc/ivas_dirac_enc_fx.c b/lib_enc/ivas_dirac_enc_fx.c
index 0264a21994e7f06d2d79bece1d4c19210d8d1858..c945faad236ce33e41727386f2f5923363ff10ff 100644
--- a/lib_enc/ivas_dirac_enc_fx.c
+++ b/lib_enc/ivas_dirac_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_enc_cov_handler_fx.c b/lib_enc/ivas_enc_cov_handler_fx.c
index 32360fd41724fee407902034120f7dc671a4cab8..548af114ab8ef5968630eb89840acda0bf5c7b2d 100644
--- a/lib_enc/ivas_enc_cov_handler_fx.c
+++ b/lib_enc/ivas_enc_cov_handler_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_enc_fx.c b/lib_enc/ivas_enc_fx.c
index ffd32570fdfb354337fa2400c504a47827f93683..421221409ae1a038ee40cfcd19510f6b517a6c40 100644
--- a/lib_enc/ivas_enc_fx.c
+++ b/lib_enc/ivas_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -38,9 +10,6 @@
#include "rom_com.h"
#include "prot_fx.h"
#include "ivas_rom_com.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
@@ -158,19 +127,11 @@ ivas_error ivas_enc_fx(
test();
IF( ( EQ_32( ivas_format, SBA_FORMAT ) ) && !( GT_16( st_ivas->sba_analysis_order, 1 ) ) )
{
-#ifdef FIX_2086_ENABLE_HP20_OPT_FOR_ENC
hp20_fx_32_opt( data_fx[HOA_keep_ind[st_ivas->hSpar->hMdEnc->HOA_md_ind[i]]], input_frame, st_ivas->mem_hp20_in_fx[i], input_Fs );
-#else
- hp20_fx_32( data_fx[HOA_keep_ind[st_ivas->hSpar->hMdEnc->HOA_md_ind[i]]], input_frame, st_ivas->mem_hp20_in_fx[i], input_Fs );
-#endif
}
ELSE IF( !( EQ_32( ivas_format, MC_FORMAT ) && EQ_16( i, LFE_CHANNEL ) ) )
{
-#ifdef FIX_2086_ENABLE_HP20_OPT_FOR_ENC
hp20_fx_32_opt( data_fx[i], input_frame, st_ivas->mem_hp20_in_fx[i], input_Fs );
-#else
- hp20_fx_32( data_fx[i], input_frame, st_ivas->mem_hp20_in_fx[i], input_Fs );
-#endif
}
}
@@ -434,12 +395,7 @@ ivas_error ivas_enc_fx(
}
/* Configuration of combined-format bit-budget distribution */
- ivas_set_surplus_brate_enc( st_ivas
-#ifdef DEBUG_MODE_INFO
- ,
- nb_bits_metadata
-#endif
- );
+ ivas_set_surplus_brate_enc( st_ivas );
/* Encode MASA transport channels */
IF( ( ivas_cpe_enc_fx( st_ivas, 0, data_fx[n], data_fx[n + 1], st_ivas->q_data_fx, input_frame, nb_bits_metadata[0], NULL ) ) != IVAS_ERR_OK )
@@ -700,12 +656,6 @@ ivas_error ivas_enc_fx(
hEncoderConfig->last_ivas_total_brate = ivas_total_brate;
move32();
-#ifdef DEBUG_MODE_INFO
- {
- float tmpF = ivas_total_brate / 1000.0f;
- dbgwrite( &tmpF, sizeof( float ), 1, input_frame, "res/ivas_total_brate" );
- }
-#endif
pop_wmops();
return error;
diff --git a/lib_enc/ivas_entropy_coder_fx.c b/lib_enc/ivas_entropy_coder_fx.c
index 3c8cf92e2f2ef39cf45042599aa58217fad99328..ab149ba38b516e05d45d13960dd0a59d4f51e259 100644
--- a/lib_enc/ivas_entropy_coder_fx.c
+++ b/lib_enc/ivas_entropy_coder_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -39,9 +11,6 @@
#include "math.h"
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-----------------------------------------------------------------------------------------*
* Function ivas_get_dyn_freq_model_fx()
@@ -89,12 +58,6 @@ static ivas_error ivas_get_dyn_freq_model_fx(
}
curr_bps_min = curr_bps;
move32();
-#ifdef DEBUGGING
- {
- float a = curr_bps_min / 32768.0f;
- dbgwrite_txt( &a, 1, "fixed_curr_bps_min.txt", NULL );
- }
-#endif
model_idx = 0;
move16();
@@ -106,12 +69,6 @@ static ivas_error ivas_get_dyn_freq_model_fx(
{
curr_bps_new = L_sub( curr_bps_new, W_extract_l( W_mult0_32_32( curr_dist[i], pArith->saved_dist_arr[m + 1][i] ) ) );
}
-#ifdef DEBUGGING
- {
- float a = curr_bps_new / 32768.0f;
- dbgwrite_txt( &a, 1, "fixed_curr_bps_new.txt", NULL );
- }
-#endif
IF( LT_32( curr_bps_new, curr_bps_min ) )
{
model_idx = m;
diff --git a/lib_enc/ivas_front_vad_fx.c b/lib_enc/ivas_front_vad_fx.c
index 35400f652ca47ba8e9f04a4e195a6af7edad38f1..9b6c64b802340bd48bbce29af8f6070924eccee9 100644
--- a/lib_enc/ivas_front_vad_fx.c
+++ b/lib_enc/ivas_front_vad_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -181,13 +153,6 @@ ivas_error front_vad_fx(
IF( hFrontVads[0] != NULL && NE_16( element_mode, IVAS_CPE_MDCT ) )
{
-#ifdef DEBUGGING
- /* If stereo switching is not enabled and TD is selected restore element_mode to TD every frame before the VAD */
- if ( hCPE != NULL && hCPE->stereo_mode_cmdl == IVAS_CPE_TD )
- {
- hCPE->element_mode = IVAS_CPE_TD;
- }
-#endif
/*------------------------------------------------------------------*
* VAD
diff --git a/lib_enc/ivas_init_enc_fx.c b/lib_enc/ivas_init_enc_fx.c
index ce623be9c2a0c8fdb10304258f34001ae9fc22ff..2e58466626a5855e5490be6491446c5d63d7b464 100644
--- a/lib_enc/ivas_init_enc_fx.c
+++ b/lib_enc/ivas_init_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -41,9 +13,6 @@
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-#include
-#endif
/*-------------------------------------------------------------------*
@@ -329,12 +298,6 @@ void copy_encoder_config_fx(
st_fx->rf_fec_indicator = st_ivas->hEncoderConfig->rf_fec_indicator; /* Q0 */
move16();
-#ifdef DEBUGGING
- st_fx->force = st_ivas->hEncoderConfig->force;
-#ifdef DEBUG_FORCE_DIR
- st_fx->force_dir = st_ivas->hEncoderConfig->force_dir;
-#endif
-#endif
st_fx->element_mode = st_ivas->hEncoderConfig->element_mode_init; /* Q0 */
move16();
@@ -527,12 +490,6 @@ ivas_error ivas_init_encoder_fx(
move16();
}
-#ifdef BITSTERAM_ANALYSIS
- for ( i = 0; i < st_ivas->ivas_max_num_indices; i++ )
- {
- memset( st_ivas->ind_list[i].function_name, 'A', 100 * sizeof( char ) );
- }
-#endif
/* set the maximum allowed number of metadata indices in the list */
st_ivas->ivas_max_num_indices_metadata = get_ivas_max_num_indices_metadata_fx( st_ivas->hEncoderConfig->ivas_format, st_ivas->hEncoderConfig->ivas_total_brate ); /* Q0 */
diff --git a/lib_enc/ivas_ism_dtx_enc_fx.c b/lib_enc/ivas_ism_dtx_enc_fx.c
index 3474b218bd411a2b07bd60a923f32d95a6260c5c..8883ec20371de782f8695800694fd8e6d410a99d 100644
--- a/lib_enc/ivas_ism_dtx_enc_fx.c
+++ b/lib_enc/ivas_ism_dtx_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_ism_enc_fx.c b/lib_enc/ivas_ism_enc_fx.c
index ea509dd1020653f78a9ad5a0835f270b027a92fe..25bf6a0e2011bcae1957cf863575153de97ad749 100644
--- a/lib_enc/ivas_ism_enc_fx.c
+++ b/lib_enc/ivas_ism_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
@@ -38,9 +10,6 @@
#include "wmc_auto.h"
#include "ivas_prot_fx.h"
#include "prot_fx_enc.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------*
@@ -196,13 +165,6 @@ ivas_error ivas_ism_enc_fx(
st->input_bwidth = st->last_input_bwidth; /* updated in BWD */
st->bwidth = st->last_bwidth; /* updated in BWD */
st->rate_switching_reset = 0;
-#ifdef DEBUGGING
- st->force = st_ivas->hEncoderConfig->force;
- st->id_element = sce_id;
-#ifdef DEBUG_FORCE_DIR
- st->force_dir = st_ivas->hEncoderConfig->force_dir;
-#endif
-#endif
move16();
move16();
move16();
@@ -231,9 +193,6 @@ ivas_error ivas_ism_enc_fx(
st->bits_frame_nominal = sub( extract_l( Mpy_32_32( hSCE->element_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) ), ISM_NB_BITS_METADATA_NOMINAL );
move16();
-#ifdef DEBUG_MODE_INFO
- dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, st->id_element, ENC ) );
-#endif
/*----------------------------------------------------------------*
* Front Pre-processing
@@ -251,12 +210,7 @@ ivas_error ivas_ism_enc_fx(
error = pre_proc_front_ivas_fx( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8_fx[sce_id][0], old_inp_16k_fx[sce_id][0],
&ener_fx[sce_id][0], &relE_fx[sce_id][0], A_fx[sce_id][0], Aw_fx[sce_id][0], epsP_fx[sce_id][0], &epsP_fx_q[sce_id][0], lsp_new_fx[sce_id][0], lsp_mid_fx[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0],
realBuffer_fx[sce_id][0], imagBuffer_fx[sce_id][0], &q_re_im_buf[sce_id], old_wsp_fx[sce_id][0], &q_old_wsp, pitch_fr_fx[sce_id][0], voicing_fr_fx[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum_fx[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer_fx[sce_id][0], &enerBuffer_fx_exp[sce_id][0],
- fft_buff_fx[sce_id][0], &fft_buff_fx_q[sce_id][0], A_fx[sce_id][0], lsp_new_fx[sce_id][0], currFlatness_fx[0], 0, fr_bands_fx, q_fr_bands, Etot_LR_fx, lf_E_fx, 31, localVAD_HE_SAD, NULL, 31, 0, 0, 0, 0, ISM_FORMAT, 0, st_ivas->hEncoderConfig->last_ivas_total_brate, st_ivas->hEncoderConfig->ivas_total_brate, &Q_new[sce_id][0]
-#ifdef DEBUG_MODE_INFO
- ,
- st->id_element
-#endif
- );
+ fft_buff_fx[sce_id][0], &fft_buff_fx_q[sce_id][0], A_fx[sce_id][0], lsp_new_fx[sce_id][0], currFlatness_fx[0], 0, fr_bands_fx, q_fr_bands, Etot_LR_fx, lf_E_fx, 31, localVAD_HE_SAD, NULL, 31, 0, 0, 0, 0, ISM_FORMAT, 0, st_ivas->hEncoderConfig->last_ivas_total_brate, st_ivas->hEncoderConfig->ivas_total_brate, &Q_new[sce_id][0] );
e_old_wsp[sce_id][0] = sub( Q15, q_old_wsp );
move16();
IF( error != IVAS_ERR_OK )
@@ -507,19 +461,6 @@ ivas_error ivas_ism_enc_fx(
}
}
-#ifdef DEBUG_MODE_INFO
- for ( sce_id = 0; sce_id < nchan_transport_ism; sce_id++ )
- {
- float tmpF;
- int16_t id;
-
- st = st_ivas->hSCE[sce_id]->hCoreCoder[0];
- id = st->id_element;
-
- tmpF = st->element_brate / 1000.0f;
- dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "element_brate", 0, id, ENC ) );
- }
-#endif
pop_wmops();
return error;
diff --git a/lib_enc/ivas_ism_metadata_enc_fx.c b/lib_enc/ivas_ism_metadata_enc_fx.c
index e685566645353a7d5f81aa4b460be74ecaf11502..8f06b337883bd383bb386d51dd46d8f636b2b9a8 100644
--- a/lib_enc/ivas_ism_metadata_enc_fx.c
+++ b/lib_enc/ivas_ism_metadata_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -335,16 +307,6 @@ ivas_error ivas_ism_metadata_enc_fx(
}
}
-#ifdef DEBUG_FORCE_DIR
- if ( hSCE[0]->hCoreCoder[0]->force_dir[0] != '\0' )
- {
- dbgread( ism_imp, sizeof( int16_t ), nchan_ism, fname( hSCE[0]->hCoreCoder[0]->force_dir, "force_ism_imp.enf", -1, -1, -1 ) );
- }
- else
- {
- dbgwrite( ism_imp, sizeof( int16_t ), nchan_ism, 1, "res/force_ism_imp.enf" );
- }
-#endif
/*----------------------------------------------------------------*
* Write ISM common signaling
diff --git a/lib_enc/ivas_ism_param_enc_fx.c b/lib_enc/ivas_ism_param_enc_fx.c
index 47da31a1ab0c03b5be9d96ed9d931e6e55ee11c1..028b66a525c5b8b7957161c7fc2c56d0da121dda 100644
--- a/lib_enc/ivas_ism_param_enc_fx.c
+++ b/lib_enc/ivas_ism_param_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_lfe_enc_fx.c b/lib_enc/ivas_lfe_enc_fx.c
index 96959c9dd46fe0d60f391fcbb4c5da5f0e2d3f50..4b4adfdec91e07f52b2338494b9d0e1f89fd3046 100644
--- a/lib_enc/ivas_lfe_enc_fx.c
+++ b/lib_enc/ivas_lfe_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_masa_enc_fx.c b/lib_enc/ivas_masa_enc_fx.c
index 5613866ccc57e63116e7c224fcdfba71db62d480..5a8de86312ca08b74f1253cfeb1d795c5e459616 100644
--- a/lib_enc/ivas_masa_enc_fx.c
+++ b/lib_enc/ivas_masa_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_mc_param_enc_fx.c b/lib_enc/ivas_mc_param_enc_fx.c
index 67353a279874abd481163efd96eeaadc75d37759..237d39cc2c1734a88dbfa1619281aed6c9417452 100644
--- a/lib_enc/ivas_mc_param_enc_fx.c
+++ b/lib_enc/ivas_mc_param_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
// helper macros to convert the 64 bitt accumulators into the 48 bit float format
#define CONVERT_CY( x_64, y_fx, y_e ) \
diff --git a/lib_enc/ivas_mc_paramupmix_enc_fx.c b/lib_enc/ivas_mc_paramupmix_enc_fx.c
index 0e8c845e145f04160a57bf7442cb56b6a4251643..d8465ac5aa2814dcaab111e0e6b54554facc6954 100644
--- a/lib_enc/ivas_mc_paramupmix_enc_fx.c
+++ b/lib_enc/ivas_mc_paramupmix_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -43,9 +15,6 @@
#include "ivas_rom_com.h"
#include "ivas_rom_enc.h"
#include "wmc_auto.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------------
* Local function prototypes
diff --git a/lib_enc/ivas_mcmasa_enc_fx.c b/lib_enc/ivas_mcmasa_enc_fx.c
index 280da94568e28c042476055c9fef075341e20982..26b0ba0468c3377a81afdd73e08177bff054d41e 100644
--- a/lib_enc/ivas_mcmasa_enc_fx.c
+++ b/lib_enc/ivas_mcmasa_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_mct_core_enc_fx.c b/lib_enc/ivas_mct_core_enc_fx.c
index 9bbf1260c8ed61e487b4b01a99eb6c38ebaea869..0d885f70718eee1663ee02bb2e06b13e89cebb59 100644
--- a/lib_enc/ivas_mct_core_enc_fx.c
+++ b/lib_enc/ivas_mct_core_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_mct_enc_fx.c b/lib_enc/ivas_mct_enc_fx.c
index 39735ad030624045c49913f5a43e4c28e5f070b0..76465a5f5d13e58edae0cbf679f7956b96a59ebd 100644
--- a/lib_enc/ivas_mct_enc_fx.c
+++ b/lib_enc/ivas_mct_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -617,14 +589,6 @@ ivas_error create_mct_enc_fx(
return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) );
}
-#ifdef DEBUGGING
- hMCT->hBlockData[n]->hStereoMdct->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION;
-#ifdef DEBUG_FORCE_MDCT_STEREO_MODE
- /*set all other members to defined states */
- hMCT->hBlockData[n]->hStereoMdct->fDualMono = 0;
- hMCT->hBlockData[n]->hStereoMdct->fMSstereo = 0;
-#endif
-#endif
initMdctStereoEncData_fx( hMCT->hBlockData[n]->hStereoMdct, ivas_format, IVAS_CPE_MDCT, cp_bitrate, st_ivas->hEncoderConfig->max_bwidth, st_ivas->hCPE[0]->hCoreCoder[0]->igf, st_ivas->hCPE[0]->hCoreCoder[0]->igf ? st_ivas->hCPE[0]->hCoreCoder[0]->hIGFEnc->igfData.igfInfo.grid : NULL, 1 );
}
@@ -803,14 +767,6 @@ ivas_error mct_enc_reconfigure_fx(
}
}
-#ifdef DEBUGGING
- hMCT->hBlockData[n]->hStereoMdct->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION;
-#ifdef DEBUG_FORCE_MDCT_STEREO_MODE
- /*set all other members to defined states */
- hMCT->hBlockData[n]->hStereoMdct->fDualMono = 0;
- hMCT->hBlockData[n]->hStereoMdct->fMSstereo = 0;
-#endif
-#endif
initMdctStereoEncData_fx( hMCT->hBlockData[n]->hStereoMdct, ivas_format, IVAS_CPE_MDCT, cp_bitrate, st_ivas->hEncoderConfig->max_bwidth, st_ivas->hCPE[0]->hCoreCoder[0]->igf, st_ivas->hCPE[0]->hCoreCoder[0]->igf ? st_ivas->hCPE[0]->hCoreCoder[0]->hIGFEnc->igfData.igfInfo.grid : NULL, mem_init );
}
diff --git a/lib_enc/ivas_mct_enc_mct_fx.c b/lib_enc/ivas_mct_enc_mct_fx.c
index d402d834f9fa1b5dcbd409f5902e09c25ee907da..a8412122047d8ec9cb392fd7decb87e87ea143fe 100644
--- a/lib_enc/ivas_mct_enc_mct_fx.c
+++ b/lib_enc/ivas_mct_enc_mct_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_mdct_core_enc_fx.c b/lib_enc/ivas_mdct_core_enc_fx.c
index b4eba62010700dd4e91a3944c7a4f0b6b936d6f9..b80256410227f6f61610c5f5df39b8285defa525 100644
--- a/lib_enc/ivas_mdct_core_enc_fx.c
+++ b/lib_enc/ivas_mdct_core_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "ivas_cnst.h"
#include
diff --git a/lib_enc/ivas_omasa_enc_fx.c b/lib_enc/ivas_omasa_enc_fx.c
index 1311181dd78594bc9cfdcd78ed66741994668fd5..bce15a840bbbc2f3717032b40c8f96188b01beae 100644
--- a/lib_enc/ivas_omasa_enc_fx.c
+++ b/lib_enc/ivas_omasa_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
#include
@@ -40,9 +12,6 @@
#include "ivas_rom_com.h"
#include "ivas_rom_enc.h"
#include "wmc_auto.h"
-#ifdef DEBUGGING
-#include "debug.h"
-#endif
/*-------------------------------------------------------------------------
@@ -913,10 +882,6 @@ void ivas_set_ism_importance_interformat_fx(
void ivas_set_surplus_brate_enc(
Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */
-#ifdef DEBUG_MODE_INFO
- ,
- const int16_t *nb_bits_metadata /* i : number of metadata bits */
-#endif
)
{
test();
@@ -936,31 +901,6 @@ void ivas_set_surplus_brate_enc(
move32();
}
-#ifdef DEBUG_MODE_INFO
- if ( st_ivas->hSCE[0] != NULL )
- {
- int16_t input_frame = (int16_t) ( st_ivas->hEncoderConfig->input_Fs / FRAMES_PER_SEC );
- float tmpF = 0;
-
- if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ )
- {
- tmpF += st_ivas->hSCE[0]->hCoreCoder[0]->total_brate + (float) ( nb_bits_metadata[1] * 50 );
- }
- else
- {
- for ( int16_t i = 0; i < st_ivas->hEncoderConfig->nchan_ism; i++ )
- {
- tmpF += st_ivas->hSCE[i]->hCoreCoder[0]->total_brate + (float) ( nb_bits_metadata[i + 1] * 50 );
- }
- }
- tmpF /= 1000.f;
- dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_ISM" ); /* == ism_total_brate incl. ISM MD */
- tmpF = st_ivas->hEncoderConfig->ivas_total_brate / 1000.0f - tmpF;
- dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_MASA" ); /* == masa_total_brate incl. MASA MD */
- tmpF = nb_bits_metadata[0] * FRAMES_PER_SEC / 1000.0f;
- dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_MASA_MD" ); /* == MASA MD bitrate */
- }
-#endif
return;
}
diff --git a/lib_enc/ivas_osba_enc_fx.c b/lib_enc/ivas_osba_enc_fx.c
index 3629b856285ae840e4540f4f21685b290e1d624c..97b1fd180ef8b41cee1f727426f221a220eda8b9 100644
--- a/lib_enc/ivas_osba_enc_fx.c
+++ b/lib_enc/ivas_osba_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include "options.h"
#include
diff --git a/lib_enc/ivas_pca_enc_fx.c b/lib_enc/ivas_pca_enc_fx.c
index 7eb4f18e71e4fc428d47427a68b9349633fd6667..b746f463f3a45e4dd36171fc76b15a26d638566c 100644
--- a/lib_enc/ivas_pca_enc_fx.c
+++ b/lib_enc/ivas_pca_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c
index 3f18527746af83315451c5160e22d3e48c496f38..13162242bdb2359ce25bf463fb840897216268e2 100644
--- a/lib_enc/ivas_qmetadata_enc_fx.c
+++ b/lib_enc/ivas_qmetadata_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
@@ -41,9 +13,6 @@
#include "ivas_stat_enc.h"
#include "wmc_auto.h"
#include "basop_util.h"
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
-#include
-#endif
/*-----------------------------------------------------------------------*
@@ -1147,23 +1116,14 @@ void reset_metadata_spatial_fx(
{
hMetaData->ind_list[i].nb_bits = -1;
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" );
-#endif
}
FOR( ( j = 0, i = next_ind_sid ); i < last_ind_sid; ( i++, j++ ) )
{
hMetaData->ind_list[j].value = hMetaData->ind_list[i].value;
hMetaData->ind_list[j].nb_bits = hMetaData->ind_list[i].nb_bits;
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- strncpy( hMetaData->ind_list[j].function_name, hMetaData->ind_list[i].function_name, 100 );
-#endif
hMetaData->nb_bits_tot = add( hMetaData->nb_bits_tot, hMetaData->ind_list[j].nb_bits );
hMetaData->ind_list[i].nb_bits = -1;
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" );
-#endif
move16();
move16();
move16();
@@ -1971,9 +1931,6 @@ void restore_metadata_buffer_fx(
{
hMetaData->ind_list[i].nb_bits = -1;
move16();
-#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS )
- sprintf( hMetaData->ind_list[i].function_name, "RESET in restore_metadata_buffer" );
-#endif
}
hMetaData->nb_bits_tot = bit_pos_start;
move16();
diff --git a/lib_enc/ivas_qspherical_enc_fx.c b/lib_enc/ivas_qspherical_enc_fx.c
index 3f17a423e7025e5e4e34de78a2d49c3f5305a7e1..55c65664c19ffbaf6256228df60ccdbd061debc8 100644
--- a/lib_enc/ivas_qspherical_enc_fx.c
+++ b/lib_enc/ivas_qspherical_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_range_uni_enc_fx.c b/lib_enc/ivas_range_uni_enc_fx.c
index 6c322a3d953bfa19abc3df4d0196203117d76867..3dd57c49a50ef016eff0c2a15e35e15ffb86643d 100644
--- a/lib_enc/ivas_range_uni_enc_fx.c
+++ b/lib_enc/ivas_range_uni_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h
index d1e644a93e45e0ffb4ef355a64c6eb3308e3fc9c..db744474349b6d323d2c95ee4be3fde8647f4040 100644
--- a/lib_enc/ivas_rom_enc.h
+++ b/lib_enc/ivas_rom_enc.h
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#ifndef IVAS_ROM_ENC_H
#define IVAS_ROM_ENC_H
diff --git a/lib_enc/ivas_rom_enc_fx.c b/lib_enc/ivas_rom_enc_fx.c
index 1b7bed2106883a12aa346153477f04f065a94988..f32a7bee4a90d0910201277c71e8153ca2a0031b 100644
--- a/lib_enc/ivas_rom_enc_fx.c
+++ b/lib_enc/ivas_rom_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_sba_enc_fx.c b/lib_enc/ivas_sba_enc_fx.c
index e630a70d954f4e5764dba5b446df8b125884a346..93cdc7478b907fa3af1d8840614d8ccd86170d60 100644
--- a/lib_enc/ivas_sba_enc_fx.c
+++ b/lib_enc/ivas_sba_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_sce_enc_fx.c b/lib_enc/ivas_sce_enc_fx.c
index fa58f267479a7a380618fd19f7063b0541fa3d30..5119cfa4e1fd492b55318a78409c883881e5d771 100644
--- a/lib_enc/ivas_sce_enc_fx.c
+++ b/lib_enc/ivas_sce_enc_fx.c
@@ -1,34 +1,6 @@
-/******************************************************************************************************
-
- (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository. All Rights Reserved.
-
- This software is protected by copyright law and by international treaties.
- The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB,
- Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD.,
- Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange,
- Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other
- contributors to this repository retain full ownership rights in their respective contributions in
- the software. This notice grants no license of any kind, including but not limited to patent
- license, nor is any license granted by implication, estoppel or otherwise.
-
- Contributors are required to enter into the IVAS codec Public Collaboration agreement before making
- contributions.
-
- This software is provided "AS IS", without any express or implied warranties. The software is in the
- development stage. It is intended exclusively for experts who have experience with such software and
- solely for the purpose of inspection. All implied warranties of non-infringement, merchantability
- and fitness for a particular purpose are hereby disclaimed and excluded.
-
- Any dispute, controversy or claim arising under or in relation to providing this software shall be
- submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in
- accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and
- the United Nations Convention on Contracts on the International Sales of Goods.
-
-*******************************************************************************************************/
+/*====================================================================================
+ 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01
+ ====================================================================================*/
#include