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..3b390ab2598ce1c2ce29ead41a833547c2fd41bf 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
#include
diff --git a/apps/decoder.c b/apps/decoder.c
index 1310ef4d865b0f14d65e4fa942a1e53a51897b62..187271580c68f9133bf52ae39bbd9df4587297f5 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..44064d1c6c72d0213a6efb89f72513bfb231aa7c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..15e03c539856a5e939515e42c28c8b526ac4f850 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..76697552bd237a5d90cde68d3b1dac20291543c5 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..21f01615a33e4ed98a2e386284d4ada033214272 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..8b3fef20cc1ba0276b752d6ddbca3e9bb77e659e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/* v.2.3 - 30.Nov.2009
=============================================================================
diff --git a/lib_basop/basop32.h b/lib_basop/basop32.h
index 9bbf24f1c52e1c5159ad4ff22fa6720f3bfcd60a..152eb6827623597640458a12a561ac73309c6d33 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
===========================================================================
diff --git a/lib_basop/complex_basop.c b/lib_basop/complex_basop.c
index cf3b40154acf5119739354e855db0e55a78822cd..6fcbc8513620bf605ebbac6b811b8686b8277c4e 100644
--- a/lib_basop/complex_basop.c
+++ b/lib_basop/complex_basop.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*****************************************************************************
*
diff --git a/lib_basop/complex_basop.h b/lib_basop/complex_basop.h
index bf1641e749960b5fdf2c9ee4130ebce852f39c81..4e68b951aa3c2161dcaca36d9795cb507159bf75 100644
--- a/lib_basop/complex_basop.h
+++ b/lib_basop/complex_basop.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*****************************************************************************
*
diff --git a/lib_basop/enh1632.c b/lib_basop/enh1632.c
index f397c3432b9dc63b6a376cfb394e3efb50a82bc0..73fc42090d79b849a3072799e3e071d57abe5831 100644
--- a/lib_basop/enh1632.c
+++ b/lib_basop/enh1632.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
===========================================================================
File: ENH1632.C v.2.3 - 30.Nov.2009
diff --git a/lib_basop/enh1632.h b/lib_basop/enh1632.h
index f91494fb137d799d461cca6afa5bbfa5b160ba39..892b0df340b58323c7437e25daf448e2f2fe5286 100644
--- a/lib_basop/enh1632.h
+++ b/lib_basop/enh1632.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
===========================================================================
File: ENH1632.H v.2.3 - 30.Nov.2009
diff --git a/lib_basop/enh32.c b/lib_basop/enh32.c
index d2931dd5da697b0410a425adf4163018800cd5bf..f7dfa5fe6a18e9fae2785422e96e434c28bbe118 100644
--- a/lib_basop/enh32.c
+++ b/lib_basop/enh32.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*****************************************************************************
*
* Enhanced 32 bit operators :
diff --git a/lib_basop/enh32.h b/lib_basop/enh32.h
index 1d275cdd26834f7c04572763575f65c1d7bf00d6..36b8550217f89068816741936e9a229d216f38b0 100644
--- a/lib_basop/enh32.h
+++ b/lib_basop/enh32.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#ifndef _ENH32_H
#define _ENH32_H
diff --git a/lib_basop/enh40.c b/lib_basop/enh40.c
index 570f4b211ab675c8fd924a2b0d4786ddec25c679..678d78c94a9341aff78f9dc88e0b4ee9657a805f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
===========================================================================
diff --git a/lib_basop/enh40.h b/lib_basop/enh40.h
index 9c3742f3ef23b24bced88e87e71b85a8ac83baca..95c390ef9ede8cd9ad76d7f8f749a53e19d87c03 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
===========================================================================
diff --git a/lib_basop/enh64.c b/lib_basop/enh64.c
index 8bffb620cc8dfb0b2164e718b83fa365fb048430..1ea753326daf1fbced07e138d4dcc8ab08ff1db2 100644
--- a/lib_basop/enh64.c
+++ b/lib_basop/enh64.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*****************************************************************************
*
* Enhanced 64 bit operators :
diff --git a/lib_basop/enh64.h b/lib_basop/enh64.h
index c3896bb0d257aa053df48da5c84948b8255e0401..dec0c2c0430d1bdadf58f49b53fc3b21318e0929 100644
--- a/lib_basop/enh64.h
+++ b/lib_basop/enh64.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#ifndef _ENH64_H
#define _ENH64_H
diff --git a/lib_basop/enhUL32.c b/lib_basop/enhUL32.c
index 5650821200a63bc8404fbb31286f78d2d60c27ef..24cf250d70b989a38737701fc0a0357b7c01e0b1 100644
--- a/lib_basop/enhUL32.c
+++ b/lib_basop/enhUL32.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
============================================================================
File: ENHUL32.C v.1.0 - 01.July.2018
diff --git a/lib_basop/enhUL32.h b/lib_basop/enhUL32.h
index d200342b4b24e054ba0e5b92fea5b34d3ed37718..ceee6f2ed039993f0f320402deb18be0c219b797 100644
--- a/lib_basop/enhUL32.h
+++ b/lib_basop/enhUL32.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
============================================================================
File: ENHUL32.H v.1.0 - 01.July.2018
diff --git a/lib_basop/move.h b/lib_basop/move.h
index fc4d4e18bdd53a1ba2d006ea049dae81a4c7772a..b5f13280cabe6b495f1cedc7b9c2a057fa56cbb6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_basop/stl.h b/lib_basop/stl.h
index d2f82d6742545fc9ea402943a6f6eac2f4958fd0..a2a967a414e2d04d4db9a6c132acb2ec68cdd9a6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_basop/typedef.h b/lib_basop/typedef.h
index 6ff6832e61357970317e47348e32fe2cfe14d62f..8d5c3511dac82caf4102a5ba66939c5236ccfe68 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_basop/typedefs.h b/lib_basop/typedefs.h
index ed38603911cecf6c9cfaefaad4d9132214a64ae7..08d5d8a64b4055106900a44473fda56897d5908f 100644
--- a/lib_basop/typedefs.h
+++ b/lib_basop/typedefs.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
===========================================================================
File: TYPEDEFS.H v.2.3 - 30.Nov.2009
diff --git a/lib_com/ACcontextMapping_fx.c b/lib_com/ACcontextMapping_fx.c
index 73382424367a4eff8c4a41ddc1f015166a4803d6..514d768622e52ecc5f1d0dcfd8d60bfe73e0d989 100644
--- a/lib_com/ACcontextMapping_fx.c
+++ b/lib_com/ACcontextMapping_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/ari_fx.c b/lib_com/ari_fx.c
index 70fe3d3d03776de94bcb2afab7c345bf88599439..3623a49a2b8ad398284dc766f13a8b3d509319ce 100644
--- a/lib_com/ari_fx.c
+++ b/lib_com/ari_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/ari_hm_fx.c b/lib_com/ari_hm_fx.c
index 87af1a8ebb95c0ef339d7724f96f7cff829d4b42..f3ac429fbf37bb1400369e3cefd314f9140d051a 100644
--- a/lib_com/ari_hm_fx.c
+++ b/lib_com/ari_hm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/arith_coder_fx.c b/lib_com/arith_coder_fx.c
index 173e4faf3583ca941cc5cfe36f852c36f4a9947b..1cde5756fb6f9221b9983afd6682aad19a230199 100644
--- a/lib_com/arith_coder_fx.c
+++ b/lib_com/arith_coder_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/basop_com_lpc.c b/lib_com/basop_com_lpc.c
index 589d957071248e229d8a920ca7a4fe8a0889e3be..e5d9743f2f4064943a4d4e0006e6febb8d086bba 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/basop_lsf_tools.c b/lib_com/basop_lsf_tools.c
index a982e0f41b3d2b48df2847babbb85a3e951900b6..10be7414cfe63d4d9ed59073ca0fec23313b8dfb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/basop_proto_func.h b/lib_com/basop_proto_func.h
index 549cc7ac01af664f9618151aa9648aa9c46dee62..04d340d01cfcce24d687790df1d38f80e460770d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/basop_settings.h b/lib_com/basop_settings.h
index fa809240acb811e2ecf27b5e1439c1607c9d8e27..54bdbf719caf5ba9fa549d69aec488fbaca49c43 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/basop_tcx_utils.c b/lib_com/basop_tcx_utils.c
index 5478dd1fef105a2d78d96c80bf5d6acf4e71ef2c..7b09590f054c23d601778bdeb4b44d54487153f0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/basop_util.c b/lib_com/basop_util.c
index 3a0a72bc3ababc4701b9d9bc3a73b30066dec337..fbbe1dcd84e3f0d678f08d7ce9592e51a80ab006 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 7929db9322edbdab226f351c6d1dfb8be6e780b7..0b05902359cbb0b21d5352bc534fdf155e43f485 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 2791e36ea99092f6d625608fefa0ece20289bc2d..7541c51a017c3c1da92a1750b248711f8eab0a29 100644
--- a/lib_com/bitalloc_fx.c
+++ b/lib_com/bitalloc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/bitallocsum_fx.c b/lib_com/bitallocsum_fx.c
index d052b81875e95c665b9a6beda28420995760f882..f02a94272a021fb263f9583225e28816a586f9bb 100644
--- a/lib_com/bitallocsum_fx.c
+++ b/lib_com/bitallocsum_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/bits_alloc_fx.c b/lib_com/bits_alloc_fx.c
index 1045f7495bdbdea4cbeadd08d22fbbb6ba72b6f4..b254b666cc71055494939584f6ea06e770482cb0 100644
--- a/lib_com/bits_alloc_fx.c
+++ b/lib_com/bits_alloc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 5979c103047695091606aac9689046909b50a059..77a60b2af691c7743f0e6f9662cca37f09c6da91 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 c300589941303e3df0c5b0b1dd7610363245b92e..e7d4a34fef24d08215d12d685e03a025ae9bf512 100644
--- a/lib_com/cb_shape_fx.c
+++ b/lib_com/cb_shape_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/cldfb_evs_fx.c b/lib_com/cldfb_evs_fx.c
index a471d8f91fb91d4bb2430d2ecd37dbda09ea86c6..eca55cb2f49b7e552347af5e0fffdf25fcceadb4 100644
--- a/lib_com/cldfb_evs_fx.c
+++ b/lib_com/cldfb_evs_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c
index 449e197ac1eff91d571d50377ba41e2a5ba469c2..c8c758fc376cc881bd20ff2c616bcd3cb4227833 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/cng_exc_fx.c b/lib_com/cng_exc_fx.c
index f96fba710c9b17b78e3beb7cd3abd2dc2783605a..ceb40122337496ca51a2d76e36bc829bdf57407a 100644
--- a/lib_com/cng_exc_fx.c
+++ b/lib_com/cng_exc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/cnst.h b/lib_com/cnst.h
index 03bcc42b8546346eea7ff8fe25620156efe3be76..b7e07247fd7eb4224dd97ca723b03e7c4bd89d84 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 d7f30d90530f1c56374aa10938d729f3af82652f..240801e3b958be1fc334a34670e80a1e84be46b4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h
index 27290eb18a741f71e6957e070cfcf9a7f227797f..7d0bb3146f68e825d88877fb5321c975c5deea93 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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 90fc306b700bd445d4b24666223dab9c1c9015ec..04281fea50bfe4db44c6170093f6a41199f698ff 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/deemph_fx.c b/lib_com/deemph_fx.c
index 8442897c574169fd2c7b38b565f53d394d54f4c6..31748b1832a1760cb110c075b455fe8c207be863 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/delay_comp_fx.c b/lib_com/delay_comp_fx.c
index fd5330aed8f08c9a7103bb5b0e967f11135e4ced..5e521dc0ca5c67468295b4060161bd2d295d3f2e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/disclaimer.c b/lib_com/disclaimer.c
index ce456fb496f45c0cebb1127e13bad31a0295099e..e749509a610b823c867e9a22bc1fbbda6e716254 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/dlpc_bfi_fx.c b/lib_com/dlpc_bfi_fx.c
index dffdb982ad888d9964dcf59fe129b8e921e068c6..618626451122a2c1697dd5a3bd69a01509f92269 100644
--- a/lib_com/dlpc_bfi_fx.c
+++ b/lib_com/dlpc_bfi_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/edct_fx.c b/lib_com/edct_fx.c
index 55bc483e0fcc2558eeea1fb5a958b54318aefda6..204b72844e863bd588aae6c51a777704dedb4e8d 100644
--- a/lib_com/edct_fx.c
+++ b/lib_com/edct_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/enhancer_fx.c b/lib_com/enhancer_fx.c
index 6203dcd67c6fccc08523e3840ab752afddc74932..86bdf0d1ba11f9542e50968c976f1c2c3b631c7a 100644
--- a/lib_com/enhancer_fx.c
+++ b/lib_com/enhancer_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/enr_1_az_fx.c b/lib_com/enr_1_az_fx.c
index bb2f9ea1904d264d3b2d2800300fc16f3cf760c8..a95298e213b63c3e326e4efabb7e70b6c4ec3eec 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/env_adj_fx.c b/lib_com/env_adj_fx.c
index 0926ee07171bc950bcb4e0795d240ec7f57c0969..19b9d45703ce6bde2a954286caaa74bbe5fb7b7c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/env_stab_fx.c b/lib_com/env_stab_fx.c
index 29908b1261bc42d298c05f01cc1f629d9a468c43..d501f1680fdf3e89f4fe7859aab235d14335f9f8 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/env_stab_trans_fx.c b/lib_com/env_stab_trans_fx.c
index 5cdc93ff74d5349d83030601ddf8ef77c2ec4d19..358fc9bf2db0c5fce92778cf0c7109eb4fbfdd30 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/est_tilt_fx.c b/lib_com/est_tilt_fx.c
index 4ad2a85a190be22cc7d6ecf511fe6334f9bd7341..d982b8fdc8057d55809dfc870b2e9625b8091da7 100644
--- a/lib_com/est_tilt_fx.c
+++ b/lib_com/est_tilt_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/fd_cng_com_fx.c b/lib_com/fd_cng_com_fx.c
index 0f5fd72ea99e1e0ea8dabd968cf07f6e45eee4d3..5d124fab5bb6d16417531aadd246f4648a838549 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 230dd7ac59f6cff002e6b472a4aab281f04083f8..1c9afccf40b6126d5d9a518962be8cf396edb294 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/fft_evs.c b/lib_com/fft_evs.c
index 5748be95dde18d7656aafc140702a63073b74582..1e9c740ea55a8fce634413a21fa4fc363a0a60f0 100644
--- a/lib_com/fft_evs.c
+++ b/lib_com/fft_evs.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/fft_fx.c b/lib_com/fft_fx.c
index 461e1c7b62b2d1d9a5dde466bab12a301a6b86ab..55989e6e214bd77624c1d9c5a3838763935d0dc7 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/fft_fx_evs.c b/lib_com/fft_fx_evs.c
index 7fba7c41c2ab74808abff45862db36c4c0f7ec50..8bd9dab6ebaee7e8591415734274e2dcff9de3e5 100644
--- a/lib_com/fft_fx_evs.c
+++ b/lib_com/fft_fx_evs.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 320bf4aa28db440d966d1943a6af3a2d0e8304c2..5c19473c23c3bdd31fd4e711e02c8075f177871f 100644
--- a/lib_com/fft_rel_fx.c
+++ b/lib_com/fft_rel_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/fill_spectrum_fx.c b/lib_com/fill_spectrum_fx.c
index 6bf0af3035ae5e95d4fbe7dc67be8d6b5d30236e..abaebf37264c9d6c9f6fda9615ea74de3dae410a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/findpulse_fx.c b/lib_com/findpulse_fx.c
index f30990c1eca577968540dfd1edb3cd7d7fcbae6e..241d6ad09883803099c500b67198f8252ed642ac 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/fine_gain_bits_fx.c b/lib_com/fine_gain_bits_fx.c
index b6846372c6ee1434a1222e798335f46eb24439ca..3f4687191209dc05d905ba8e9e47f945d6f01693 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/frame_ener_fx.c b/lib_com/frame_ener_fx.c
index d63d7e79f9c285aefd267278798ce2d0d1c6cf5f..c9d0ffdd7bd3d25a4eb2309aa8e55d0229c747ee 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/gain_inov_fx.c b/lib_com/gain_inov_fx.c
index b97f399c072437b8f2b9a629226ec2669b7c1e75..660666a4cb7e39fc88e391ead682304cdd0509fe 100644
--- a/lib_com/gain_inov_fx.c
+++ b/lib_com/gain_inov_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/get_gain_fx.c b/lib_com/get_gain_fx.c
index 7db540b1902e9f52e37b0ab86aab7da18db861ea..acea83efdcc9b09aa1f232712a6e2022acd55dc5 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/gs_bitallocation_fx.c b/lib_com/gs_bitallocation_fx.c
index 77f974cac810e8b78fdc549a0b60092de77ec1a0..eeee8ab9656da0e3aafde6a50cc5ab75a570f307 100644
--- a/lib_com/gs_bitallocation_fx.c
+++ b/lib_com/gs_bitallocation_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/gs_bitallocation_ivas_fx.c b/lib_com/gs_bitallocation_ivas_fx.c
index 5d9516d2cf459f38294d726ea437ead5558cfe85..9ab34188949aae82de3e1b66b7c3fc34c6be7f26 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 8e29f34bdcf70cef927ad0cc76e2aad4fd2f8452..55e38763b27acc279b8fc70d211558689733cd79 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/gs_inact_switching_fx.c b/lib_com/gs_inact_switching_fx.c
index 0829a934dcef39340f470260e9066e54aecbed4f..43a7e732d4797b7a5cc6746932f7825d94bc46a3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/gs_noisefill_fx.c b/lib_com/gs_noisefill_fx.c
index 8489cd66de0015dd76d4f18bb75c3861a077fb21..febb7994272271eb1d3c5fb9acfe78c5b588bb0c 100644
--- a/lib_com/gs_noisefill_fx.c
+++ b/lib_com/gs_noisefill_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/gs_preech_fx.c b/lib_com/gs_preech_fx.c
index bee644b0ea037de41c76d610beedf781a460c730..3fa7791b7822da9b16323b4941321ab16469653f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/guided_plc_util_fx.c b/lib_com/guided_plc_util_fx.c
index 81723b42661dfb8458e9138428fe564119d5d552..b7fea559913e8a5e7f0c8387fe2e94f4d30184f0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/hp50_fx.c b/lib_com/hp50_fx.c
index 88c819d829152401dfb16cc30afac39e05da877d..1db7de606d08ce1fad2dfa2cb8b8439bc26d1465 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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..b5299f9a69c72581b6612172f6b7ae2af229f857 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/hq2_core_com_fx.c b/lib_com/hq2_core_com_fx.c
index 78f60d4659b3eb2e3d64e98c2904dd75eccfc1ee..f340f87086379b2fc66b5fdc37abd35880dd92ed 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
diff --git a/lib_com/hq2_noise_inject_fx.c b/lib_com/hq2_noise_inject_fx.c
index 76efad10e991b289bd73e343153f8440468cc7b5..33fcd17ea1a247132544b54f4f1efa915de6842a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/hq_bit_allocation_fx.c b/lib_com/hq_bit_allocation_fx.c
index c1efb9def8e6cd00471c788298241b93679727aa..9821b500f3bad14db8e012f5ce607c64c30205c4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/hq_conf_fx.c b/lib_com/hq_conf_fx.c
index b114745b591caa955966d47245c24eaccfac0a75..70aa48a8352608865b195b27ae68939f53c4d6d8 100644
--- a/lib_com/hq_conf_fx.c
+++ b/lib_com/hq_conf_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/hq_tools_fx.c b/lib_com/hq_tools_fx.c
index efdbea428063fe26224390f7fd1128fdd72ce812..307712940cfee4ce1b8ca7b1bff750fe19e0816b 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/hvq_pvq_bitalloc_fx.c b/lib_com/hvq_pvq_bitalloc_fx.c
index ea51afe8889a7ada88e3d207702a3f4d529b9ba0..e6e6ba290e56fffd72d305bb7c13f7ada2d4e467 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/ifft_rel_fx.c b/lib_com/ifft_rel_fx.c
index 450e9195ec0f2bb96c63443a1e1c61d35ef32c2e..e5f4d2569f3cd1771b32af83da08cc56a0a9a08f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/igf_base_fx.c b/lib_com/igf_base_fx.c
index 79e1ee704021a8bd28d57413eb0315a6d16fcde8..03753a001d70bfdf56eecae63d32c495cf612149 100644
--- a/lib_com/igf_base_fx.c
+++ b/lib_com/igf_base_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/index_pvq_opt_fx.c b/lib_com/index_pvq_opt_fx.c
index e17e9c23eccb7ee8f2ff46888134c841be9f54ee..1a7699c14f6dd8eedbbaf85fd9a4b6727e56f64b 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/int_lsp_fx.c b/lib_com/int_lsp_fx.c
index 08ab6ba85458ce3160f9acf2d05af088bff5434e..89d0d8382bf3d48ecccebf1f1a78c550213b71cc 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/interleave_spectrum_fx.c b/lib_com/interleave_spectrum_fx.c
index c12623f0d09809ae6b0f70993e1f099f84bdae3a..7c692491a80e7f438966ae2b4f2909c545c8d910 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/interpol_fx.c b/lib_com/interpol_fx.c
index 5a78eb9bb15cd5a89d48836171606a702c904dd5..7569659916cdc7581db642de1abe351d45098dcb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/isf_dec_amr_wb_fx.c b/lib_com/isf_dec_amr_wb_fx.c
index 5ab82ee6dc158e877fd24f908e16cd20545f4f5c..064815e7bb2f159922e8ca633017ce1ea764cc4d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..783bf8c61a9f3c0d696f424b928b16bf33842c25 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_arith_fx.c b/lib_com/ivas_arith_fx.c
index c708976dac8552562abb21fd47637ec18a9eb61f..67fe1a2a19807a1a1f1c3bc32d6df3d849621a70 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..9667600a826a50ec8e887fe6ac0fb54c81fdd247 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h
index b8415b7fd28d70214bf80f153a9130b0d2428291..0991d1d230d2a2ee340f8071bc6ff9c496a4fc31 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..471f2c8aa0fb423351fbb3acc370cbb16cd7eb90 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_dirac_com_fx.c b/lib_com/ivas_dirac_com_fx.c
index cba992070911995e986aa23a6637d2802d189c5f..8a062eda5f0a928a0febf07fd17548f430ffb9cc 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_entropy_coder_common_fx.c b/lib_com/ivas_entropy_coder_common_fx.c
index f52d59859e7833964f125b0837b23a7d18c91dce..18c308d538895c9bb8d3532c477732d80e89a591 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h
index 8c91179a129096cf8ad7d191564dcb457460b0c2..0b8bcc7fb63f78797191511322121e733ae32048 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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..dcfe052416ed50aee4fce9bbf7f2c994e238029a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include "options.h"
diff --git a/lib_com/ivas_fb_mixer_fx.c b/lib_com/ivas_fb_mixer_fx.c
index c860b354e27a271e5a6384bde2e3e15f9512408e..a3a38220eb24f1d84d79f69e4a125786410ea6b0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_filters_fx.c b/lib_com/ivas_filters_fx.c
index 02e7b272a4beb7759335c88421067918f710763f..4d84387c482478dfbb5b1082d6ef2045370e416f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_ism_com_fx.c b/lib_com/ivas_ism_com_fx.c
index ea276c944920f227648b8d0fccf79076571f0806..072ad875167a535a6d2c6764d6f2b08c19ab3de7 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_lfe_com_fx.c b/lib_com/ivas_lfe_com_fx.c
index d515cc5fbc77ce306b43d6d8607a430a74c3f5b7..1a028708b7d9d97dd2bc8986bc9a8d25e6ec296c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "math.h"
diff --git a/lib_com/ivas_limiter_fx.c b/lib_com/ivas_limiter_fx.c
index a293b629c189f7cedfff46ed6caf5e6b4213873d..5de0b29bcfd266d28f9850abb260df974e39bba8 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_masa_com_fx.c b/lib_com/ivas_masa_com_fx.c
index 9c706bc74a1dc6bfdeefea66b3835ef25fe0f2bd..667152ec299d7e57cef3fce58a8b68431ce736e2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_mc_com_fx.c b/lib_com/ivas_mc_com_fx.c
index 8201037a1a5f89eb53acb0e81787b0a87f68da5c..26224d72198243fdbb7f25007ed213c620378433 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_mc_param_com_fx.c b/lib_com/ivas_mc_param_com_fx.c
index e3827c5685d146777de8975f73bd52b7b5791873..a51544b44a6246f1e746342f8b4184ad4a0ffda2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_mcmasa_com_fx.c b/lib_com/ivas_mcmasa_com_fx.c
index 23a3800fb792ba9eeee06ef4cd26001a9b54d5e6..32a6970779cb2e0f46a5bc9dadb224e8a88caa3e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..fe55c57e08a4b0bd61214b15433e14968a3a0e54 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..51fa686370171c84ba2e53c82288403b121d4f2e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_mdct_imdct_fx.c b/lib_com/ivas_mdct_imdct_fx.c
index 960b823ae605a2c890c6b77a3e305039fe0af208..851208c77fd6c421c9d1c15d8e6034a54939bfef 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..10622798c9d083c5e0bbc3befa7f24a14a0c5513 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..b267588809825e7899d6f460d4618021f4072702 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include "options.h"
#include
diff --git a/lib_com/ivas_osba_com_fx.c b/lib_com/ivas_osba_com_fx.c
index 79ce8443ace24e625bd32134f6817c56bd34b78c..0285fa467d39405d45d173fd61fed98c087c15b2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..b9474a24bd19a5fd1a5223c64baf14d7e1415da4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_prot_fx.h b/lib_com/ivas_prot_fx.h
index b75b3813733be9bd945bc824afe53d0c7ff2c9f0..be76fb4831160329140a39b0692c17786e1c4091 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..c219498435ba9d0e156e8fa56e0f1f02f5c2a092 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_qspherical_com_fx.c b/lib_com/ivas_qspherical_com_fx.c
index 7d7c159b365ed4e89520a51b472381c25d7b7c8a..454a2b600f0602a7e1897889c5aec8fdc7173b43 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_rom_com.h b/lib_com/ivas_rom_com.h
index 9773d0715db6cd47bb27636649ea460ce60daf37..b384b2dcfc850d28956b4f26a0e4b5abc86b6934 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..9f67f521749d882651c445385ea3f4cee4314557 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..18a4fc5e3372438e9abb9634c6e8cd8cf30776c3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..bdb138e99a8fedeb7f10cd6fddd4c5d1497b9eed 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_sns_com_fx.c b/lib_com/ivas_sns_com_fx.c
index 48be0cfd083000e5f134b7d50633a61a12d5ab67..68381140a81ade527921f839c664302afb2afebb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_spar_com_fx.c b/lib_com/ivas_spar_com_fx.c
index afb639ef00c92528308d8e5ceabf7085007fd8c4..60e5f93047ebe51821d545bbdb0732b4ecab8f35 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..b6bdc1d8ec46196442b2cbe8fbd53c7a875cc6d6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h
index 65a081c9c9884c49cda797f81a9889a55959c056..bb0d862acbe2cb4aeadc4dc8be482a932b3ba234 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..a73297c203cb96601df4c5fea742e9506aafdab4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_stereo_eclvq_com_fx.c b/lib_com/ivas_stereo_eclvq_com_fx.c
index 958781473910ff0f164ad50b9eb076fd3e0796e3..b7c84b29ab99c4de2f45e292ec118e5b9b916ceb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..1ae8e4bd1728c4715e8d390c30b6914218b378b7 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..48847bd47d327c2afa913a1a5f5cccd66506ea93 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..96eb9f7eb5a79b8c8be2fd05245a61d519dfb197 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..ee6b153ef7af5ec9197b17daaff22d20fd8f65f2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..4be9b94299a0d3fb2e499db9b08cc51bd931b1e0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/ivas_tools_fx.c b/lib_com/ivas_tools_fx.c
index bc080f2f832a86c95ef4ee01a7b709ee6492da90..935a13312b588f9d296b0d378395d8d00cd78233 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_com/ivas_transient_det_fx.c b/lib_com/ivas_transient_det_fx.c
index 39dee9314d95f5acf0175589995418fc9918d52f..6f3c42b23aaae214be69ce63694ec5666150a60d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/lag_wind_fx.c b/lib_com/lag_wind_fx.c
index 3685cb834bc4ccf47e38ba6b5662c9919fc3158e..f3b393d0cf281d249ed0158ae5a22015b911d763 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/lerp_fx.c b/lib_com/lerp_fx.c
index 632593c6f10283a4c907e77b595b9f68ef8b094b..0c1a4613cc72f14ec369e6543e6dd77352a84bbe 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/limit_t0_fx.c b/lib_com/limit_t0_fx.c
index 61eea907d538b486f3adf8c3222c0a395b1f17cf..b645cb5d5e6cc1b93163575eee0f53853ec6ffab 100644
--- a/lib_com/limit_t0_fx.c
+++ b/lib_com/limit_t0_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/log2.c b/lib_com/log2.c
index 70e6b93c00dd2b1203eee6c8e9801c05d3a0aadb..23a777ed7af347e0d05b061553dde8573057a373 100644
--- a/lib_com/log2.c
+++ b/lib_com/log2.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/********************************************************************************
*
* File : log2.c
diff --git a/lib_com/log2.h b/lib_com/log2.h
index d87f677b550d0a38a80aa71387582a498620799c..970cc72bc9da5d0e638aa0e79ab0cb8a94760da6 100644
--- a/lib_com/log2.h
+++ b/lib_com/log2.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/********************************************************************************
*
* File : log2.h
diff --git a/lib_com/logqnorm_fx.c b/lib_com/logqnorm_fx.c
index 833ff03fb572f67dff94fca968c9136a5baec042..922dc9d3d9387d3cd61071ff0bc851d0952ac6ac 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h" /* Compilation switches */
diff --git a/lib_com/longarith.c b/lib_com/longarith.c
index a922c2b4a0afe55f50a81cc7c5d65ff43c74fcf5..93b182f68e94e02c551aeb441d0555efc05645cf 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/low_rate_band_att_fx.c b/lib_com/low_rate_band_att_fx.c
index 8e7cef9d13cd272662af48fb8ae20b4ab37eb8b8..f4682bec560964f4725fa29f341e525e04f6bf0e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/lpc_tools_fx.c b/lib_com/lpc_tools_fx.c
index bb4cec6c21ea2cd1ef3a766595019c800d514b75..ff32770d1854759a7adda426e650952ec006ae71 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/lsf_dec_bfi_fx.c b/lib_com/lsf_dec_bfi_fx.c
index 491802f6be544fd1891f4105ca6e80ae2bd7e2da..01fdf6b57a5a0b54055b64a0355b2ec2320b6e17 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/lsf_msvq_ma_fx.c b/lib_com/lsf_msvq_ma_fx.c
index d705177fc3591440db44305e2d8f179f84b9d6d4..620f1ac3a977c98bed40fb33db380acdfb94378d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/lsf_tools_fx.c b/lib_com/lsf_tools_fx.c
index e4dbd7e2a9530e465ca94197dd625124167ee4ae..621a9dde0e678bf12d5e01a82bf64eeb96ed2ba1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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 473d1d652fde2cf4ca8d0b428b26294998c0d189..99ea4ffae8fc636085bc9dd051d030adb573f066 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/math_32.h b/lib_com/math_32.h
index aa3bc1f2713e0cfdb86137287ad380c3a15ca327..6da9b499d28642b5262d843c2b49852540c64dd1 100644
--- a/lib_com/math_32.h
+++ b/lib_com/math_32.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#ifndef _MATH_32_H_
#define _MATH_32_H_
diff --git a/lib_com/math_op.c b/lib_com/math_op.c
index 12d14ca6a0d1fe86141d377ef7907d0150aa6f4e..c52be241ef9013153ceb7b7e64f5e2e5c40a31bf 100644
--- a/lib_com/math_op.c
+++ b/lib_com/math_op.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*___________________________________________________________________________
| |
| This file contains mathematic operations in fixed point. |
diff --git a/lib_com/math_op.h b/lib_com/math_op.h
index d4eca9f2bad2b0664c9fec0e26f7896c22a887e2..bdb27597629c1775b2623cd04f067134cf073244 100644
--- a/lib_com/math_op.h
+++ b/lib_com/math_op.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*--------------------------------------------------------------------------*
* MATH_OP.H *
*--------------------------------------------------------------------------*
diff --git a/lib_com/mime.h b/lib_com/mime.h
index 7d21f6aac0c182941a2df91c96dc617ff4234b8e..8dac3d9b7c76379fab2677874054d1988f662901 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/modif_fs_fx.c b/lib_com/modif_fs_fx.c
index 7977bc49b5c66b7871c2010652b25b8d61a0a0fe..13ee88cd34c8727771dd64b3d3dd437a36fd7415 100644
--- a/lib_com/modif_fs_fx.c
+++ b/lib_com/modif_fs_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/mslvq_com_fx.c b/lib_com/mslvq_com_fx.c
index bbca861591070cc59549d592ad221314cc7ebfd9..b699674bb25ebfe99c925c2007a73149f58c9f5e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/nelp_fx.c b/lib_com/nelp_fx.c
index 39d57299e7dad568f0bf2d5c65e1f454d250f127..f9e91b3fb3071bb4bf69154bd4aba446478f243b 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/oper_32b.c b/lib_com/oper_32b.c
index cb8c773004d605c06b6b3b595db70639be814a36..a9d89647dafb500c10afe30cd59add6270bd4fab 100644
--- a/lib_com/oper_32b.c
+++ b/lib_com/oper_32b.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*****************************************************************************
* $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..3c6cd1647ff928016fb218e86b49c51301e0bd56 100644
--- a/lib_com/oper_32b.h
+++ b/lib_com/oper_32b.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/* 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 31b9785a4e745e30f522c5a112e30d6162beafb6..3b99d29e825baad482837555dac251fbf341a5d7 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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,113 +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 */
-
-#define NONBE_FIX_2237_ZERO_CURR_NOISE_PROBLEM /* FhG: Modify sum of hTonalMDCTConc->curr_noise_nrg to avoid inaccurate zero */
-
-/* ################### 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 */
-#define FIX_BASOP_ISSUE_1585_CUT_BS_CRASH /* FhG: Fix for BASOP issue 1585 crash of a cut bitstream, also valid for float code*/
-
-// 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 */
-#define RTP_UPDATES_SA4_134 /* Updates to RTP during SA4 134 */
-#define COMPACT_ORIENTATION_PI_DATA
-/* #################### End BASOP porting switches ############################ */
#endif
diff --git a/lib_com/parameter_bitmaping_fx.c b/lib_com/parameter_bitmaping_fx.c
index 92387209012c8cd2dfd7a6bacdb30ab3903715ad..59ba873b8a1da1f9079e1dcb94af7b4297e8bc1f 100644
--- a/lib_com/parameter_bitmaping_fx.c
+++ b/lib_com/parameter_bitmaping_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
#include "options.h"
diff --git a/lib_com/phase_dispersion_fx.c b/lib_com/phase_dispersion_fx.c
index 5269a2ca36e4defac60158d95054df3ebe361e7b..af9679a246480cae719f285cf4a76fbaeffa732d 100644
--- a/lib_com/phase_dispersion_fx.c
+++ b/lib_com/phase_dispersion_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/ppp_fx.c b/lib_com/ppp_fx.c
index 2f44e1081feb6c81b81d336b92bfe37b088fb00d..943b797c9e68aa44e665751fdd12019b323dccc3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/pred_lt4_fx.c b/lib_com/pred_lt4_fx.c
index cc7e544e896b9b7487ac1e7c6dbcd3fdf1079d3e..85a97fc643a6ffac84561a28621b7e5f855be48e 100644
--- a/lib_com/pred_lt4_fx.c
+++ b/lib_com/pred_lt4_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/preemph_fx.c b/lib_com/preemph_fx.c
index 2b5c4e1c87140ddf9a7aeb39437d2dd7f94923e4..ae5aa9cdee7358f325c8a2996520e30a69ca9e0d 100644
--- a/lib_com/preemph_fx.c
+++ b/lib_com/preemph_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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..2ecb10554c03da46f8613e556e5e3f5e81b138ae 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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 49a83bc7bba3971805ddde88e8584f9824c8c9a5..f18c986cbb30ec58d373736ab204577b39c7d7e5 100644
--- a/lib_com/pvq_com_fx.c
+++ b/lib_com/pvq_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/range_com_fx.c b/lib_com/range_com_fx.c
index 94eb888b72567ff1f3e746a7ec3062d4ba394b3d..53180771df4b1d2ad42f75d60ab370493f6b0ba7 100644
--- a/lib_com/range_com_fx.c
+++ b/lib_com/range_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/re8_ppv_fx.c b/lib_com/re8_ppv_fx.c
index 5398214b4cf4422896c1115aba2ef213df2d3429..28eb0cff595bb853888a781bde242189155cf678 100644
--- a/lib_com/re8_ppv_fx.c
+++ b/lib_com/re8_ppv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/re8_util_fx.c b/lib_com/re8_util_fx.c
index cf5db258d50df53908dd11a947df4b39f5d9c30a..77774219ec85e27689637e947a659cbb647d2b29 100644
--- a/lib_com/re8_util_fx.c
+++ b/lib_com/re8_util_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/recovernorm_fx.c b/lib_com/recovernorm_fx.c
index 83167ea621c6341b39e3b88100d41ec3882180f6..cb86384e543f42ebebf830c7b677aa17f245dd09 100644
--- a/lib_com/recovernorm_fx.c
+++ b/lib_com/recovernorm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/reordvct_fx.c b/lib_com/reordvct_fx.c
index 62eb2f352665c97f24322207fc2092e4ac2e5c64..cb62a9cbb0e4f92f3511b425cc436104b3784cc1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h" /* Compilation switches */
diff --git a/lib_com/residu_fx.c b/lib_com/residu_fx.c
index 60c0c3356f5d827efb551da6df2ab08a57a3ff26..3a3091d50b11be067c47cf1952b803399fc2d877 100644
--- a/lib_com/residu_fx.c
+++ b/lib_com/residu_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/rom_basic_math.c b/lib_com/rom_basic_math.c
index 5899352544450ff5fbe73354ca6a3af250d8eb34..6891264e31c63f498fabb666d7cff129f4de18fc 100644
--- a/lib_com/rom_basic_math.c
+++ b/lib_com/rom_basic_math.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..e26365ae51be885bb882532b11d4c12d7f8d7b36 100644
--- a/lib_com/rom_basic_math.h
+++ b/lib_com/rom_basic_math.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..fe4adc2fde6b2dbe0e81609462f8844028296edc 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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 63b55fe59b013b680023ac62f9706f119d26cbeb..72f47f2138f96dec1590fd04b3038c2a6c686487 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/rom_com.h b/lib_com/rom_com.h
index 1ba9251d304ce6969f3889bdd8c55089bee933df..f431f5add7e217d5cbc5adf100c59fef299feea1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/rom_com_fx.c b/lib_com/rom_com_fx.c
index f1fdf7f78d581ff201922df2be5d9f0464f3f811..a2ee42953bcde389a1fd0bd3fe5b0c0b1df970a0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/scale_mem_fx.c b/lib_com/scale_mem_fx.c
index 52ba436de439de14d69c2f354877fac9f50390cb..77354951093e5a03a9a0669bace4b1c5e7e17621 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/stab_est_fx.c b/lib_com/stab_est_fx.c
index 4b553eb5457a243400180d8cfa78b0b02dfe4e1e..d668d3008448f534791fcca096a86a86c9c02c22 100644
--- a/lib_com/stab_est_fx.c
+++ b/lib_com/stab_est_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h
index ba1af82812f6163e219b49bf6fe1989ccec35e0b..c45603b131d0488e30e91a379815cc3f6c9119f0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 ad87695e831dd5092ddb9456261828e46ca5ec72..6a0d6f2b384ea55e27aa886346e846bdf2961787 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/swb_bwe_com_fx.c b/lib_com/swb_bwe_com_fx.c
index cc8b22db64fdf8b46a65290c72a58d61667a3615..84306eec1206211ac1baf3e2ddbf1d8b752bf50d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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 a1d6fe2a0fe474393cc863b5a7206d9dc7a3b4c5..4737663d8bc6cc9cdd2b1d6dd37d89ba7359a4b0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/swb_bwe_com_lr_fx.c b/lib_com/swb_bwe_com_lr_fx.c
index 1326b31a98eac391da7fa04154e79c9759448955..22d234c1e087132b53407a3d47f1aca04f0c0123 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_com/swb_tbe_com_fx.c b/lib_com/swb_tbe_com_fx.c
index 9280541513ca775927bbe8ef9933ae1ef5b824d7..b2b39ceb353012b590b2cb109d352e393ee41b85 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 7edf3a44b7378c4f9aef61fe7d534ad5b7432013..0cbe9bb8e2b48cbe5dfd82ed12eb306605637081 100644
--- a/lib_com/syn_12k8_fx.c
+++ b/lib_com/syn_12k8_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/syn_filt_fx.c b/lib_com/syn_filt_fx.c
index 08d040662b5285d9ab95e507d6498ad3cfc07b20..9a091e5fb97cb92dcfff1f0a0fde04ac8d3dc483 100644
--- a/lib_com/syn_filt_fx.c
+++ b/lib_com/syn_filt_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/tcq_position_arith_fx.c b/lib_com/tcq_position_arith_fx.c
index f74aea076c12bb762ec5a364a63e4d852ef22e07..c0f8d87668a33308f7a852ceb78d776beed330df 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/tcx_ltp_fx.c b/lib_com/tcx_ltp_fx.c
index 4eb334205f5230fce05a392f84970bacb68586f5..d6e45b2552ca38d0189eb9e8156b5590e72ad7ae 100644
--- a/lib_com/tcx_ltp_fx.c
+++ b/lib_com/tcx_ltp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/tcx_mdct_fx.c b/lib_com/tcx_mdct_fx.c
index 4fd016729f51dde64c070c963f22a3d129a4e74f..73317d10be60b981a162ddd232cbbd3b4df90bc7 100644
--- a/lib_com/tcx_mdct_fx.c
+++ b/lib_com/tcx_mdct_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/tcx_mdct_window_fx.c b/lib_com/tcx_mdct_window_fx.c
index 942eb15fabd5de8f0445e030f008693663ab6b77..3416a6028753ac8c5ad88044e56def7fe94a1df2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_com/tcx_utils_fx.c b/lib_com/tcx_utils_fx.c
index f73fb5971b38de11530493d3bdd92d6df7fdd6ea..279ae5c9c3400b57aa12d43324803b8c385f082e 100644
--- a/lib_com/tcx_utils_fx.c
+++ b/lib_com/tcx_utils_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/tec_com_fx.c b/lib_com/tec_com_fx.c
index 5760b56b38cc56e06b8560d15f9e24ca0d47cb52..4a1644acd41080dc7851a5852849c2dac01e0fd9 100644
--- a/lib_com/tec_com_fx.c
+++ b/lib_com/tec_com_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/tns_base.c b/lib_com/tns_base.c
index 600b2e6fe9b03a725b1673a09f2db93a39e903a7..2535742fb941d87c0b83d297436cf22da0eec44d 100755
--- a/lib_com/tns_base.c
+++ b/lib_com/tns_base.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/tools_fx.c b/lib_com/tools_fx.c
index 66dde5a95db1fc1f5adb9e0e40115fb8f1e157f3..53978d847ce1c00360e39247ab64df2a7c0b03ea 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 4e259e0cc5076d1d74b4a16d3ed1410fdad505f4..8b4ecef435e367819a454f8892fcce1fee9d74ca 100644
--- a/lib_com/trans_direct_fx.c
+++ b/lib_com/trans_direct_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/trans_inv_fx.c b/lib_com/trans_inv_fx.c
index 8bf63fccac0734f9e46e5332ae9ba842825e42ea..1d07b79c53cef35959280167105ef753fb12a77b 100644
--- a/lib_com/trans_inv_fx.c
+++ b/lib_com/trans_inv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/vlpc_2st_com_fx.c b/lib_com/vlpc_2st_com_fx.c
index 6f930f08f8aeeb7a8a7937360d1b32022f9969e4..eb3703e03a6cac3c595fb9da2858c24ce3cd58ba 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/weight_a_fx.c b/lib_com/weight_a_fx.c
index cb537a7d6ffed300a3f4d0b7fed2039150224a4c..997042e0f52e5e815fec72314bd81a79bbd94ba2 100644
--- a/lib_com/weight_a_fx.c
+++ b/lib_com/weight_a_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/weight_fx.c b/lib_com/weight_fx.c
index 87335d88d2b397603cca51110d616bd485c08f04..9ed5efa5185b5f10443df992be6e8f2b00a3f384 100644
--- a/lib_com/weight_fx.c
+++ b/lib_com/weight_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/wi_fx.c b/lib_com/wi_fx.c
index 189a48e3b0ecc039668a17bd7cd9717f44f539f3..90ef148efa7be3f389b5c0e4aac5bb84fb6e98f0 100644
--- a/lib_com/wi_fx.c
+++ b/lib_com/wi_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/window_fx.c b/lib_com/window_fx.c
index df92abadeb50e9014c2cb14b27afb51a78c07458..f6525e91e8000f640de2d42af59bcb30d730bd4e 100644
--- a/lib_com/window_fx.c
+++ b/lib_com/window_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/window_ola_fx.c b/lib_com/window_ola_fx.c
index 1ca29f82ade4802ed92b381927d4fd3bd242d490..04b95d83a2045e0f69fec52c04e6f9db7228d526 100644
--- a/lib_com/window_ola_fx.c
+++ b/lib_com/window_ola_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_com/wtda_fx.c b/lib_com/wtda_fx.c
index c285d88839db98375e926999334b926e69f695ff..a827c8c6ae3f05b4fcff3e8938183e3ae7aff3b0 100644
--- a/lib_com/wtda_fx.c
+++ b/lib_com/wtda_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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..f809e9a59749bae56210fce7cb8b77ffad268ad0 100644
--- a/lib_debug/wmc_auto.c
+++ b/lib_debug/wmc_auto.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
* (C) 2024 copyright VoiceAge Corporation. All Rights Reserved.
*
diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h
index 64e2c751a9261c0e8e02c147f194047f61b83786..28d27c6e2eabfcef3be4257559c32c1745f7c7c4 100644
--- a/lib_debug/wmc_auto.h
+++ b/lib_debug/wmc_auto.h
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*
* (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 60269751b1da0ff3c090390a467677449519fc6d..08e4c812e9993edf7a78b6ff96235296312fee84 100644
--- a/lib_dec/ACcontextMapping_dec_fx.c
+++ b/lib_dec/ACcontextMapping_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 43d1e26276cd38025a1f819bc580aa761ea3ec8d..ca4e9acf9e5f103311bb513fe8e6c204feb424e8 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/FEC_HQ_phase_ecu_fx.c b/lib_dec/FEC_HQ_phase_ecu_fx.c
index fbf8f96f5c27992f91c9b4af438a5475f39430b9..3d3e4d01a8c4de357e61267c9d573b4f41844db7 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 5428d057beff1ae7925cc2b19b65b12d76be8500..ee235df3be713191c7c5d6bc06b92ec563122b33 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/FEC_clas_estim_fx.c b/lib_dec/FEC_clas_estim_fx.c
index f968ccb9039e0b0e48468fdfa4c71cac64f846fa..d634a2b6ced29a789605a144777286034574d4c4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/FEC_fx.c b/lib_dec/FEC_fx.c
index fe2780a8600c7dc9457102ef016ee65929d384a1..fe69c8cee91cf3e762d027166f3b41770ed870f9 100644
--- a/lib_dec/FEC_fx.c
+++ b/lib_dec/FEC_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/FEC_lsf_estim_fx.c b/lib_dec/FEC_lsf_estim_fx.c
index ddf1f7df6fcde1af14d40dcb7448aba17bab9272..73af86369f1b422c614719eca8fcf0db652bffb4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/FEC_pitch_estim_fx.c b/lib_dec/FEC_pitch_estim_fx.c
index 066afccf9d46d7c2f8cd86f0febf8bd626e80c58..6e745beb4b506eda1983d5466ccbaa38f35e4783 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/FEC_scale_syn_fx.c b/lib_dec/FEC_scale_syn_fx.c
index a0e0b3981f01b78f7c96a4c19ca2867a4fe8242d..43f754840f1d7a61803f1315239c6013f1a67f71 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/LD_music_post_filter_fx.c b/lib_dec/LD_music_post_filter_fx.c
index fe643376858fc44c1117d3175da2ba38ebf0738d..6bb73e03d3885f71857c2d806fe0de48877f5edb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/TonalComponentDetection_fx.c b/lib_dec/TonalComponentDetection_fx.c
index 4d12457d71820232ddb207c438b039ee0655c287..12b914749b6d411037e64221f2e390fc39914ee0 100644
--- a/lib_dec/TonalComponentDetection_fx.c
+++ b/lib_dec/TonalComponentDetection_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 ad55c29c2f19d5c9ab8fd25ade51ada49428ee2f..b5cfe0264575e8fbfd8db744897589875e58b2c6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 2df489cc115889a8c470e271a0024175d44b0235..0dcbade7d2f8328527b8a0940cfb0411f7c105ec 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/amr_wb_dec_fx.c b/lib_dec/amr_wb_dec_fx.c
index d7dcf5b0315eb9da72405cfd072d546c53d8887d..25d8467297cce9b00fa263a1d38326cb1a1f8897 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/ari_dec_fx.c b/lib_dec/ari_dec_fx.c
index c9912eba88aba8924e815edf22b4cdb5a65cd286..dc83b2c5198657a8125f9bb53363dd8a4c33bfba 100644
--- a/lib_dec/ari_dec_fx.c
+++ b/lib_dec/ari_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/ari_hm_dec_fx.c b/lib_dec/ari_hm_dec_fx.c
index ecbf0b6b7fe405df68c12f6e652b08311718f549..95efa0a3ed23e64aab7f3c27e95c67b26860730e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/arith_coder_dec_fx.c b/lib_dec/arith_coder_dec_fx.c
index e91ac4ed0201b33814a3989abcd89222a50a3e8e..136a9aeffa74e7bde2492d637339f26b67b2ccc3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/avq_dec_fx.c b/lib_dec/avq_dec_fx.c
index 4e4735b8336dfb321e7cfa1345ac72ed332711d8..a2ea2fc12efa514e58a233f1a7926eb5cff4264c 100644
--- a/lib_dec/avq_dec_fx.c
+++ b/lib_dec/avq_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/bass_psfilter_fx.c b/lib_dec/bass_psfilter_fx.c
index 2fb37132f61825efa05bfac97b3e57e2a0080dbc..f7f853a7499bbe43ccc616bd457731a4d5299047 100644
--- a/lib_dec/bass_psfilter_fx.c
+++ b/lib_dec/bass_psfilter_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/cng_dec_fx.c b/lib_dec/cng_dec_fx.c
index 0006bacbbd2e6354d3e976b80a362a608103ee88..72524edf1afe5c991be0855e08542aed6e05f600 100644
--- a/lib_dec/cng_dec_fx.c
+++ b/lib_dec/cng_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c
index 22fed24cb2640ca07b98af6f1d0d7e2741e9924e..58b871b5966d0771400b6110980745bb394ec279 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/core_dec_reconf_fx.c b/lib_dec/core_dec_reconf_fx.c
index d844e666b1b6bcec91a7bc17b6496825a0867360..be5110348a1a158ab28237399cd22f6337ea7677 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/core_dec_switch_fx.c b/lib_dec/core_dec_switch_fx.c
index b22a48b43cf685fa4255336d593e0698cfaa7ba9..74e854b9b6dd835d8b931ebd7122b511748c589e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/core_switching_dec_fx.c b/lib_dec/core_switching_dec_fx.c
index 8bab0d0615082173235cbc1d82893dd6957d809d..2cc95618f1b182e4655c5099d8656885a3b96440 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/d_gain2p_fx.c b/lib_dec/d_gain2p_fx.c
index c9a35c181692332fca1e9078f4f584dc7a0a28d4..1f30adc7e68b92bdb066bddadfac817924198a2a 100644
--- a/lib_dec/d_gain2p_fx.c
+++ b/lib_dec/d_gain2p_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec2t32_fx.c b/lib_dec/dec2t32_fx.c
index 77ded3a34da5976e506f7e771c248f70def3edf2..906369bd184100652e0500c963857cbfc262421d 100644
--- a/lib_dec/dec2t32_fx.c
+++ b/lib_dec/dec2t32_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec4t64_fx.c b/lib_dec/dec4t64_fx.c
index 23313262ce1b2ac1f9c9e08a59df85e9114a1686..44878babe3bcddfd2da765cc0afa3cdfc9a8812d 100644
--- a/lib_dec/dec4t64_fx.c
+++ b/lib_dec/dec4t64_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_LPD_fx.c b/lib_dec/dec_LPD_fx.c
index 9515aefe898464d21f318f419e654ab748d92957..a81ba76a6c43ad70c2aa5dae3e1e23db60333c7a 100644
--- a/lib_dec/dec_LPD_fx.c
+++ b/lib_dec/dec_LPD_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_ace_fx.c b/lib_dec/dec_ace_fx.c
index 0d867fd6f0708fc01193345fa209e6302c4eabc9..a0a89c0388afdda35af6281558b70fe6379deb40 100644
--- a/lib_dec/dec_ace_fx.c
+++ b/lib_dec/dec_ace_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_acelp_fx.c b/lib_dec/dec_acelp_fx.c
index c07ba25a64db73f54e71cdf00458f31cd56c889e..80c4d356294c9eacc106860bf75e3126ad53079d 100644
--- a/lib_dec/dec_acelp_fx.c
+++ b/lib_dec/dec_acelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_acelp_tcx_main_fx.c b/lib_dec/dec_acelp_tcx_main_fx.c
index 94d4486b1692b4bb9c0d9d76ae127ae2d526748a..cbab5713a618ef908059392675f77ae71a9ef4bf 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_amr_wb_fx.c b/lib_dec/dec_amr_wb_fx.c
index c65162afcdb24dac8a49a954240e671cfc1272eb..9475e623e795bc472bc21d632aa935cd1978c750 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_gen_voic_fx.c b/lib_dec/dec_gen_voic_fx.c
index f7640abe7f632fc12eede8fbd214f933d651677c..1f6bd85477696dc90267e0ad560d20ad90d7fd3e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_higher_acelp_fx.c b/lib_dec/dec_higher_acelp_fx.c
index 85f83ca61a68c8f4dda8181f9c6093b4fbf1cd28..bedc529f5bf91b021290aa0207b4b162e3f0a6c1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_nelp_fx.c b/lib_dec/dec_nelp_fx.c
index 130b486ac70addbec3b8f18b9c6d35b67791e210..c4d0119ea98a585f4d5bb4412d44249385b44a8d 100644
--- a/lib_dec/dec_nelp_fx.c
+++ b/lib_dec/dec_nelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_pit_exc_fx.c b/lib_dec/dec_pit_exc_fx.c
index 645444e7da153aae1e206c04a23616839199f2c9..199f2cd71e66d8eb32902cf0130f31c75cde4d5d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_post_fx.c b/lib_dec/dec_post_fx.c
index bb24978b22dbfac33cece7743f571b7b12242d9a..e4d2c932f1207e951b95097b908a695c39dd3c69 100644
--- a/lib_dec/dec_post_fx.c
+++ b/lib_dec/dec_post_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_ppp_fx.c b/lib_dec/dec_ppp_fx.c
index 37277b06fce12d2060d84f1abbe99342cdb8e94b..ccfdfc7c74590474879b810ea2fa96e4a1e85993 100644
--- a/lib_dec/dec_ppp_fx.c
+++ b/lib_dec/dec_ppp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_prm_fx.c b/lib_dec/dec_prm_fx.c
index 6b6748b803ff1933f7b06c897de86590e86258e7..4d2a753604ca640691f2c95a33ae54ca514fff10 100644
--- a/lib_dec/dec_prm_fx.c
+++ b/lib_dec/dec_prm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_tcx_fx.c b/lib_dec/dec_tcx_fx.c
index aad249425e950f8799bb041a3f06feded53d57e3..c71614227a07488b36ab4ad8ab57d461bc8b7bdd 100644
--- a/lib_dec/dec_tcx_fx.c
+++ b/lib_dec/dec_tcx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 b00b445d791133d719b9027e7956584ccc86388f..21c7a710a44d1c98ba294f2c854477b46d9c6d50 100644
--- a/lib_dec/dec_tran_fx.c
+++ b/lib_dec/dec_tran_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dec_uv_fx.c b/lib_dec/dec_uv_fx.c
index b5c10232c4034725f0ef48a73c45102630738d31..4a0e4d2491f720bbb97284fdfdf68e0863015911 100644
--- a/lib_dec/dec_uv_fx.c
+++ b/lib_dec/dec_uv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/decision_matrix_dec_fx.c b/lib_dec/decision_matrix_dec_fx.c
index 1bd406e7a78568ba835ccb8a98d87b0a998fddfd..740d0fe7bd877136ece7f5ee53976da7995bcc47 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dlpc_avq_fx.c b/lib_dec/dlpc_avq_fx.c
index 97b41d98ba05840ab02db7f9be0a44e2a443cb68..a53d4ab38b2ed3b291c72e081fa61cd3d12c0b15 100644
--- a/lib_dec/dlpc_avq_fx.c
+++ b/lib_dec/dlpc_avq_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/dlpc_stoch_fx.c b/lib_dec/dlpc_stoch_fx.c
index 7a5175fb857c49f66b166f2a4c6d1e3f567fd65e..bad1493a6d10c68df69c85ed9f5dc60e7a5248e1 100644
--- a/lib_dec/dlpc_stoch_fx.c
+++ b/lib_dec/dlpc_stoch_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/er_dec_acelp_fx.c b/lib_dec/er_dec_acelp_fx.c
index 06e14650431b03a5e7fbc3e133b918e4a3119d9b..f6fea7497bc6b3f37ea1b35a49a82957520ae828 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/er_dec_tcx_fx.c b/lib_dec/er_dec_tcx_fx.c
index 762ead66e272ad75361842e8f0a8127f95fe5b2c..c035fcb5a6027e25975c8f8d29ed3becfbfd225f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 efe8aa965db7cba30a334469326fa52d453b8cc2..236e526bd9d96d1fbb3e4ef6d3dcca1976aa9ed0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/er_sync_exc_fx.c b/lib_dec/er_sync_exc_fx.c
index 22224f35e2971f2f6f73905f26500b318529b930..15dbce994e7d278c607fe011c8ac10dcaca1d20c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/er_util_fx.c b/lib_dec/er_util_fx.c
index 8e28dc546dec062e6312996c594534b9c502bd0f..082535185fafb00adcfd3ba8b1083576b6867b82 100644
--- a/lib_dec/er_util_fx.c
+++ b/lib_dec/er_util_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/evs_dec_fx.c b/lib_dec/evs_dec_fx.c
index a358cbe8ad5929f44104d7a45e7e9b53bb57dc5a..6f080d42b66b7193fed2d3e13a5e051e2fc08606 100644
--- a/lib_dec/evs_dec_fx.c
+++ b/lib_dec/evs_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/fd_cng_dec_fx.c b/lib_dec/fd_cng_dec_fx.c
index d0432c7713a46178a28b00dad4b96906bb8fb9e3..720253401eb30a40dcc9d32637f24d77b0b0e7ad 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 0848104afa84f0eb798d41eb438c02502ccc57de..d6aeac17c8d5145fa40de46ec1a044b85192842d 100644
--- a/lib_dec/gain_dec_fx.c
+++ b/lib_dec/gain_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/gaus_dec_fx.c b/lib_dec/gaus_dec_fx.c
index d49ecb5b7a90acfa8ff9ef6503a90004bfe22adc..b954c29b9dc526dbca891d718728981f9c55950b 100644
--- a/lib_dec/gaus_dec_fx.c
+++ b/lib_dec/gaus_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/gs_dec_amr_wb_fx.c b/lib_dec/gs_dec_amr_wb_fx.c
index 326c2f91976fd0087b8b6bdc60edd852091dd4d1..dd1e028ddba2403f5bf457e087a776c38f49efe4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/gs_dec_fx.c b/lib_dec/gs_dec_fx.c
index 5564dc1b8176c177c0076abf7362b40c43a02a26..f08f7febed2a3b7e39b2b60ddaa66d2cb5acba83 100644
--- a/lib_dec/gs_dec_fx.c
+++ b/lib_dec/gs_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/hdecnrm_fx.c b/lib_dec/hdecnrm_fx.c
index 2efea77b0c58de186f43de7ca73af3df8a88e3b7..5f5b32403bdfd5b33a749d081cd56aa328bf762a 100644
--- a/lib_dec/hdecnrm_fx.c
+++ b/lib_dec/hdecnrm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/hf_synth_fx.c b/lib_dec/hf_synth_fx.c
index 87e8b1fd7b813b8716bb15d9306a870631495ebf..fc71165468fb33d826c9a388c5b2174cb0481a1c 100644
--- a/lib_dec/hf_synth_fx.c
+++ b/lib_dec/hf_synth_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/hq_classifier_dec_fx.c b/lib_dec/hq_classifier_dec_fx.c
index d6df6e4f50103475295230f4c8012e7dabdc61ec..91da3958c37dc34f7324d3c20b6408171867ba38 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/hq_conf_fec_fx.c b/lib_dec/hq_conf_fec_fx.c
index 55c8bb8a0fe2fb4eaa0725531ba05bb89248dfdd..5fe66d73846593e2b957c02361ad14badfa3da84 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/hq_core_dec_fx.c b/lib_dec/hq_core_dec_fx.c
index 6be36bd1ac5cd96048cfda606148eb5f02ac6e29..56bfbd6427333a5880b1b645c0c531bd837fa266 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/hq_env_dec_fx.c b/lib_dec/hq_env_dec_fx.c
index c00b7711d744a181a67d8f39de9df61b7badf672..ee3d32409bf5f0c312e2018549e07a27056efc5a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/hq_hr_dec_fx.c b/lib_dec/hq_hr_dec_fx.c
index 0d342ba2dca4b8d6c76ba11a26494c5d88a9d067..ed7247dc5402dd1ce1610048a30271563a6202df 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/hq_lr_dec_fx.c b/lib_dec/hq_lr_dec_fx.c
index 3fe586a26d3bf9fc7a11127f7413c3ab695e4818..d918bb4c084224d4d95f630da93caf3221d3b647 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/igf_dec_fx.c b/lib_dec/igf_dec_fx.c
index 3178e4d392f058d97b8013654d00722ab0587c8d..bed0b926d030bcdcd5cbf7d54a0d6bea63e9514c 100644
--- a/lib_dec/igf_dec_fx.c
+++ b/lib_dec/igf_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 a8aa13e73dbb8f46754bc72183918a2cc77c489f..787af9cbc5022ff09e4700e6985b9719a30be994 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/init_dec_fx.c b/lib_dec/init_dec_fx.c
index ec2c0ce0bf2a289c6f395fd43c5d54feeff6ce7d..1ade0b3d29b5cc36045d6a5477b617afeb838ea2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/inov_dec_fx.c b/lib_dec/inov_dec_fx.c
index 4d44e5b5b421cffb7f2d5faa669a5fbfd39ad139..5061ea7a1cfe85016be5396dbf4d0b02b96c1a44 100644
--- a/lib_dec/inov_dec_fx.c
+++ b/lib_dec/inov_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/ivas_agc_dec_fx.c b/lib_dec/ivas_agc_dec_fx.c
index a196a1abdd8a157e472fdcf21913f8367fd42e63..6aaa53133d9621f0bb2d006d335442d46029fd60 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_binRenderer_internal_fx.c b/lib_dec/ivas_binRenderer_internal_fx.c
index 5d4a6d9645d7e4bb5d16cd973d8f3dbc20b37740..a613b392759573cffa454147d25a70d6b6a52a57 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..73130e972cab6d178f65cc819defef7192b5d400 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..1237bed47f568f7745980dc7ea65a98714f86541 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..7de9c72ad01a04c3a1b35db4458708c490ab6be4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_decision_matrix_dec_fx.c b/lib_dec/ivas_decision_matrix_dec_fx.c
index 3eac102a3dc4106b994df9b258ab6eb37d4a4f25..f78b5bf9e0a8c4bc98902a250f1cb5c89390d9fb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..5a82fd762096ff2a396842566846a233d67956bf 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..ea9a6102ae61583c2f72cbd3fe183154879147b0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..c8a386d77925aa79b60040f59a48615f9a88d4d6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_init_dec_fx.c b/lib_dec/ivas_init_dec_fx.c
index b6e7a558ec79902eaad55d95ecb0afbcde14eab5..1dbabc057307a475696a8a0368a223c1a565bc5d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..0231e0b3735cc34587d08e3513079fbd99cc81ee 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..d89ebfed1429d7c0bf7958c94f1392d64130177a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_ism_metadata_dec_fx.c b/lib_dec/ivas_ism_metadata_dec_fx.c
index 54cc5da15e24d25f025530478d84a4674a0c5ad2..d09d6a30ec3828aba1f596dbb1aa2cb322bc67ad 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..1b2751eca895a324299bd80a5ec7ccd9c6d2dbb6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..2feb91c46b3c34528b66b86b569df9c65f004f06 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..36e78378de1215942c21055b14be6b5ce6b2f7a6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..ec687013dc418df720b6da0ac4975cd8f8c64c3b 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_lfe_plc_fx.c b/lib_dec/ivas_lfe_plc_fx.c
index ac6da67598a31774ff7531ede0ba5a9052886a02..aa7fc76c043edda88844ad8d540fb6861eb85706 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..cbd53119acd1e065835032a54cd09594e14f8ecb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..ef69c7caad7cbcb34c959863e6211cd143db82f5 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_mc_param_dec_fx.c b/lib_dec/ivas_mc_param_dec_fx.c
index ca35d80e74834e30cf4e573fb184370cc6065fab..7900eef2233888c872bb9765815836c300d15564 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..cdf6ddee5b32d60d4141f1e0a901ee0e76774dc6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..114a370da6ed9cd7f00d990b39aab6ea841db187 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..839c99e5428f8b676cb492f405e606d635f6ca33 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..a493e9c84b185dfc2874be70c0147bce8db5491c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..f9ed9c1b359da6bd16c0c72ccb46825026d8a085 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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 f9d7386954e401b0e4f94d673a6adbf71a8a85b5..65d382865ad64a0908acdead8cfa7ae6aec9ead6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
@@ -185,14 +157,12 @@ static void dec_prm_tcx_sidebits_fx(
move16();
}
-#ifdef FIX_BASOP_ISSUE_1585_CUT_BS_CRASH
/* for first frame reset last_core to initialization value for better error-robustness*/
IF( EQ_16( st->ini_frame, 0 ) )
{
st->last_core = TCX_20_CORE;
move16();
}
-#endif
getTCXWindowing_ivas_fx( st->core, st->last_core, st->element_mode, st->hTcxCfg, st0 );
@@ -708,9 +678,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..0058a7aa23032c0ad6138f6f817ee99edf5350db 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_objectRenderer_internal_fx.c b/lib_dec/ivas_objectRenderer_internal_fx.c
index 069e2c0eb4e1f730aa4208d8b385d13af8949eaf..9292432cc6876f7216bc0e3be36ba25fde205357 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..661af878706c1403d3a2706755aca25692d39160 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..dbb612431db42e6388225cb8722b8898729f9f99 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..0d9ed1e3852131f1f0da249c66236513d079bab2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..9e6f7404b45c9c1a7379c6b8718bb6457126b390 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..f851ac2489d2038e835a4912bb0aeb96e98c8ea1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_post_proc_fx.c b/lib_dec/ivas_post_proc_fx.c
index f3254c4a547fa0f2d626ae87fe07da8b67067c98..61f263450e2d3de6e0aeeb6e2c53da6ec684e67e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_qmetadata_dec_fx.c b/lib_dec/ivas_qmetadata_dec_fx.c
index cc98c6ec494fba2b1fd1895bfb3e35de277421ce..43787b1fd6ed937ffb618b500fafb5e08872925c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_qspherical_dec_fx.c b/lib_dec/ivas_qspherical_dec_fx.c
index f443cc81de370ba99f5e6d3f4d018a40ff96322a..97b0dd8557858b55ed0e210080ac5906a6cee1f9 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..7b93843b6043179e2b4efdf6c557bd7ff40c6603 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "ivas_cnst.h"
diff --git a/lib_dec/ivas_rom_dec.h b/lib_dec/ivas_rom_dec.h
index 0b29588b2207de3cbb2cb1d3d2f7dd9839a940f6..8ba4353a89db1e44af7a49e8b2d1743f06fb1267 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..ff923db86c583e67274c067637d0e2c912702dfb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_sba_dec_fx.c b/lib_dec/ivas_sba_dec_fx.c
index c4a1b0de109f168d1d6bdd22b9b9c2a4c7f0999b..3bf9f1e537efa053ee57a2d053bf42916bf42eda 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..d4869b466c2cd45d0f68a4320c62732fa21ad2d5 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..a534f58e89bdf396b07a84a692d3c5453b91dd23 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..47d8718c81e682e30c846524368f9caaedc29990 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_sns_dec_fx.c b/lib_dec/ivas_sns_dec_fx.c
index 05bf47cb98fcd38164633d75a1c62cb1beb5c214..4a5048b6c4683b1724341014131cc42edee6bf95 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_spar_decoder_fx.c b/lib_dec/ivas_spar_decoder_fx.c
index 864d0543821e666566163296335a36ffc999ea3b..86455e767341a1ec9e596e77a5380d5c776e2260 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..3a93f683e2a5aa748b196f5ec81a6e15c245bfaf 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..5797076514380f316ab2fe177dc1b8d3bdd6f927 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..82e6186472050b8ee3a9adf8ad202ed11c76e1c3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..753508276bb315608bd9b1b3baa4622a525762e1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..2ac10481d9e6e8debe19f9f920302bacaa7b3ab6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_stereo_dft_dec_fx.c b/lib_dec/ivas_stereo_dft_dec_fx.c
index b5e19dad50ac01ae3d5f890611beba6fe26002ec..910270b571035ed81e7698d1b7f4d96c24350050 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..7dddd507164d598f832a36febbd16639488d05e6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..a95672ba7ab5818f417f6da41521535cf42046a8 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..27b422e9864986d483efed5a9dc5b4d191c76497 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..12d7d3e4eae021c72f275b3a7eb33d74a347ea47 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_dec/ivas_stereo_icbwe_dec_fx.c b/lib_dec/ivas_stereo_icbwe_dec_fx.c
index 647ad6e77f1ccb7f3a374f2a1fc804310a77a8b5..f3830fe462ba1741ba15bbae7c9904abd548b14a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..901002b2c00dd545bbd4f2667627d9763d0fa180 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..77734aaebbfc9b23915290bef6629affa7d4c683 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..6d647fd5868c76ead23c249e89e111af087c6e47 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..25cea29b4a35b7c1754639bda43497474c89329a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/ivas_svd_dec_fx.c b/lib_dec/ivas_svd_dec_fx.c
index d6811d2df5e53d7d48594daa858eefb15ef8dcd7..b374ffcdd4390dc55bc0329638b02df94cc19637 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..b43d0379eab10adead394a7ae09162d6798ae35e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..b24fbac3fe2c9953fc2077442544fa298801ac75 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_dec/jbm_jb4_circularbuffer.h b/lib_dec/jbm_jb4_circularbuffer.h
index 36325c8c71942843674cb0388f01b553ab4cad6f..b73848436d07b966180735f9ba85215626fa0beb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_jb4_circularbuffer_fx.c b/lib_dec/jbm_jb4_circularbuffer_fx.c
index 94341968436e8f28bf43ba8f4136a39b20062476..1ec086d97818566d885830ffa29b1a5a856b0c12 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_jb4_inputbuffer.h b/lib_dec/jbm_jb4_inputbuffer.h
index 93174a08284b532b449f6bef2d05fe7c730e1dbe..96d6d9c0a442d7cc26ebb0cbcaf8c2fc8c236a1a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_jb4_inputbuffer_fx.c b/lib_dec/jbm_jb4_inputbuffer_fx.c
index 3e16f8ef5d415d17ee13950bee113812a37f8168..2edab64f7c35008f1cb004fbc340e1aa6e469036 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_jb4_jmf.h b/lib_dec/jbm_jb4_jmf.h
index 255c8a39a3025264bc2bffb1d84fee3e2e583f62..578ba79f584a59501664cd8155663f30d139c320 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_jb4_jmf_fx.c b/lib_dec/jbm_jb4_jmf_fx.c
index 086c76e5a1640493e37b0e659e9ec997abf5e7f0..f16dde4e2cc94103cc6794d8590f4815a56e74b6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h
index f579a5f25ef2104de71a7a53a5ca718550cffbbb..9b776712369a695a8d7e3e095b81f7b26a26129e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 43ef69a9846152b5a860e2e7aa2a9f458337eb28..fd4bd81de4191820ef5a39d692bd90ef295730a3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 2fdc1f6253a48cdf75526760aba33b0f02b40a2c..08afa22880fa52b18e15d594d88d7698c2a01c76 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_pcmdsp_apa_fx.c b/lib_dec/jbm_pcmdsp_apa_fx.c
index 52f39eea4e9e2ce4356e35b8ce9b88bdf0ed4b9f..568d61954cbf0bfdee9085b56b27899776e1b049 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 80a3ddb900a73fdf8c6ee86a3e27e99c5094e892..02c40f9e0206d5ba5e93fb6c142e1e904c5b3794 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_pcmdsp_similarityestimation.h b/lib_dec/jbm_pcmdsp_similarityestimation.h
index 5b3b6ac61335005145ad9b6ca64505c4467f00a0..708cf8d699986a2b0002906362f6243337261cad 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c
index ee800fcc0940aeec74a845a556fc6263255bbb2d..c9a71ae40566dca04975390f0b1cf5ac3a48d727 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_pcmdsp_window.h b/lib_dec/jbm_pcmdsp_window.h
index 2d0d0be0b193cb12ff62adbd2aa275053f4d602d..b20735fc46f5cdf3cadd05ed19d6405508a0fbc0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/jbm_pcmdsp_window_fx.c b/lib_dec/jbm_pcmdsp_window_fx.c
index 3afeaf10661a044e5405fefe1bf87a41f3cd21ce..3eab2efecc21ecfa3d6cd5f587041760ddd6020f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/lead_deindexing_fx.c b/lib_dec/lead_deindexing_fx.c
index 3773990a1f55df3b3d9e1dd0201615ebb13fd001..a914fb1f29e7d472dcf965d56450a9f592c281bb 100644
--- a/lib_dec/lead_deindexing_fx.c
+++ b/lib_dec/lead_deindexing_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h
index 698ca55a6e843a9a21d9d6775caedd63e63ba487..ff973d90ed517870193c42c0a15f52edd1db9b0e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..7e5bed6fa57b1a5f779f2b04943ce0dbc444c77d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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 0ce010cebc579ba4be26a60f625a63a56f7b65f7..f62d8b2e5bd03e8a251c6baff0ea611975eda089 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/lsf_dec_fx.c b/lib_dec/lsf_dec_fx.c
index 3af2e35ed787b63cec3d72949833666bf8ed04e8..568adc627dfcf1c761d748c5a15037f600aeccaf 100644
--- a/lib_dec/lsf_dec_fx.c
+++ b/lib_dec/lsf_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/lsf_msvq_ma_dec_fx.c b/lib_dec/lsf_msvq_ma_dec_fx.c
index 71d57c29993f71199482d5acc239ab4e0beb3d98..19034c6f46acc008af7597c4cbcec9b45254211d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/nelp_dec_fx.c b/lib_dec/nelp_dec_fx.c
index ff9c44bcdd4a32ccaabcfb29f89110cc31ca6c14..c6e179e4fa7e1dd88a12f12f33f88649e8cbcffa 100644
--- a/lib_dec/nelp_dec_fx.c
+++ b/lib_dec/nelp_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/peak_vq_dec_fx.c b/lib_dec/peak_vq_dec_fx.c
index 80fa60560198ea9f2cda772a64713847c1d1ec66..7d9c7d0d722d8437d8a2c4d6fb5e1d49e03ee3e5 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/pit_dec_fx.c b/lib_dec/pit_dec_fx.c
index dc3e6277d09bbf8cbd05a263b8610fb8faa3f0ad..95732807f9c2a148da78ef64c6794355274bcc68 100644
--- a/lib_dec/pit_dec_fx.c
+++ b/lib_dec/pit_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/pitch_extr_fx.c b/lib_dec/pitch_extr_fx.c
index d6608cb33fc8a69d59f6f606156dae6f31c49443..172eb72be543138ece270ff53ec573923855a5f9 100644
--- a/lib_dec/pitch_extr_fx.c
+++ b/lib_dec/pitch_extr_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/post_dec_fx.c b/lib_dec/post_dec_fx.c
index 8bf9380b3fbe89ad809c452874a919b35cb61be8..7a2b2506667c5843db552bb564773cc15b25a758 100644
--- a/lib_dec/post_dec_fx.c
+++ b/lib_dec/post_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/ppp_dec_fx.c b/lib_dec/ppp_dec_fx.c
index a9254f68c0e43d7b976d7e0bf1535a5e915fbdc9..07a99625370f68dca2ed442b1d1348f822ffde36 100644
--- a/lib_dec/ppp_dec_fx.c
+++ b/lib_dec/ppp_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/pvq_core_dec_fx.c b/lib_dec/pvq_core_dec_fx.c
index 96595be9abd67706f1504eb4e1e25cd311236a9d..88ce56f1144fe9461acf702f552f06153b3ebc3d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/pvq_decode_fx.c b/lib_dec/pvq_decode_fx.c
index cf815e4e974729bed273748767bc954adc84103d..0abe0753d47647dae045543082ab2e903e09cedc 100644
--- a/lib_dec/pvq_decode_fx.c
+++ b/lib_dec/pvq_decode_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/range_dec_fx.c b/lib_dec/range_dec_fx.c
index fc68dee3521021ed909c631a209cef8c762db8d6..886fb3c7b2d4bc5e54d0de3653db36decb095cd8 100644
--- a/lib_dec/range_dec_fx.c
+++ b/lib_dec/range_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/re8_dec_fx.c b/lib_dec/re8_dec_fx.c
index 7c88bea92d8ca67b5a0cfcaea50bc578d3915c94..26ee7122ed744e9346198983e153c24cc82eae2e 100644
--- a/lib_dec/re8_dec_fx.c
+++ b/lib_dec/re8_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/rom_dec.h b/lib_dec/rom_dec.h
index b4c7e4780e61b1727c14c3ee912fbbd50d2654e0..e8f73c42aa47f6a2cce234e0c82b6f8e5ea125fb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/rom_dec_fx.c b/lib_dec/rom_dec_fx.c
index 01be2c7cc6b7baabe998292d80626cdb6ccf93c9..3cc34a297690f0c416c7865444afb7a56df726c1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_dec/rst_dec_fx.c b/lib_dec/rst_dec_fx.c
index cce198e33850939caae17e89a855e7aa2fb3ab84..42455b1b53e106c41bb13c1dd733843dde126389 100644
--- a/lib_dec/rst_dec_fx.c
+++ b/lib_dec/rst_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h
index 32ef7364dac91ec8d16872a40e05c6db8c67ab63..15516b311c3c3b0f2c215dfd28be81c55cba7c74 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 6972e4dd3bb8d90aedc26354a21d5b55d59e5e8c..7d121f4cda22ba57b8f25a595b91cfa52a9a7d05 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/swb_bwe_dec_fx.c b/lib_dec/swb_bwe_dec_fx.c
index 1845b32e4dd244574a21a025fbf7db78d3aac582..fe7df01200612246884e7c40554b86f07c57930d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/swb_bwe_dec_hr_fx.c b/lib_dec/swb_bwe_dec_hr_fx.c
index 813a26ea6aa28f4b5493fa3eae45d16421eafcb7..64f2e4c9c8d504f056cb8283de0d985375b96f21 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/swb_bwe_dec_lr_fx.c b/lib_dec/swb_bwe_dec_lr_fx.c
index c7c94adacf19b8170e9f3c4c9a44f0a259362ef6..4e04709e834290a296e53e05d8c9dca063d58ec3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/swb_tbe_dec_fx.c b/lib_dec/swb_tbe_dec_fx.c
index 5ca7ba1f640bc7d7c015c0833efcd0d66a6a4f57..bc8aba4d1b335ca3fd21890be6c427f9ace73514 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/syn_outp_fx.c b/lib_dec/syn_outp_fx.c
index 07f356665e4204a5e43e3ec1e3778c21e72196e0..d8abc3191c462f51afb072aa4f5edd17df0890c3 100644
--- a/lib_dec/syn_outp_fx.c
+++ b/lib_dec/syn_outp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/tcq_core_dec_fx.c b/lib_dec/tcq_core_dec_fx.c
index adebdb7039093760ac8c8454f311dc2e72685e10..bd39deb767dabc9acd0964125a017fe0d3357136 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/tcx_utils_dec_fx.c b/lib_dec/tcx_utils_dec_fx.c
index b688fa30ac8b2699478c85b8001ac715e2fdf78a..0fde3322f5404a1fc4712726230b6caf059ce69b 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/tns_base_dec_fx.c b/lib_dec/tns_base_dec_fx.c
index e245a4674acca3a9eed93f2b189caec8036ade81..3a0a970b673c7a92e1c469f90742135c031e8243 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/tonalMDCTconcealment_fx.c b/lib_dec/tonalMDCTconcealment_fx.c
index 1f37ae4bda12d0d5e0e52a27e6f38ca2afe2a1d9..d6767e15c3a6a4224011245a6d3246bdad6ff96c 100644
--- a/lib_dec/tonalMDCTconcealment_fx.c
+++ b/lib_dec/tonalMDCTconcealment_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
@@ -3098,7 +3101,6 @@ void TonalMdctConceal_create_concealment_noise_ivas_fx(
move32();
IF( concealment_noise[i] != 0 )
{
-#ifdef NONBE_FIX_2237_ZERO_CURR_NOISE_PROBLEM
Word32 cnp;
Word16 cnp_e;
@@ -3108,9 +3110,6 @@ void TonalMdctConceal_create_concealment_noise_ivas_fx(
cnp_e = shl( sub( *concealment_noise_exp, cnp_e ), 1 );
hTonalMDCTConc->curr_noise_nrg = BASOP_Util_Add_Mant32Exp( hTonalMDCTConc->curr_noise_nrg, hTonalMDCTConc->curr_noise_nrg_exp, cnp, cnp_e, &temp_e ); // Q31-temp_e
-#else
- hTonalMDCTConc->curr_noise_nrg = BASOP_Util_Add_Mant32Exp( hTonalMDCTConc->curr_noise_nrg, hTonalMDCTConc->curr_noise_nrg_exp, Mpy_32_32( concealment_noise[i], concealment_noise[i] ), shl( *concealment_noise_exp, 1 ), &temp_e ); // Q31-temp_e
-#endif
}
hTonalMDCTConc->curr_noise_nrg_exp = temp_e;
move16();
@@ -3130,7 +3129,6 @@ void TonalMdctConceal_create_concealment_noise_ivas_fx(
move32();
IF( concealment_noise[i] != 0 )
{
-#ifdef NONBE_FIX_2237_ZERO_CURR_NOISE_PROBLEM
Word32 cnp;
Word16 cnp_e;
@@ -3140,9 +3138,6 @@ void TonalMdctConceal_create_concealment_noise_ivas_fx(
cnp_e = shl( sub( *concealment_noise_exp, cnp_e ), 1 );
hTonalMDCTConc->curr_noise_nrg = BASOP_Util_Add_Mant32Exp( hTonalMDCTConc->curr_noise_nrg, hTonalMDCTConc->curr_noise_nrg_exp, cnp, cnp_e, &temp_e ); // Q31-temp_e
-#else
- hTonalMDCTConc->curr_noise_nrg = BASOP_Util_Add_Mant32Exp( hTonalMDCTConc->curr_noise_nrg, hTonalMDCTConc->curr_noise_nrg_exp, Mpy_32_32( concealment_noise[i], concealment_noise[i] ), shl( *concealment_noise_exp, 1 ), &temp_e ); // Q31-temp_e
-#endif
}
hTonalMDCTConc->curr_noise_nrg_exp = temp_e;
move16();
diff --git a/lib_dec/transition_dec_fx.c b/lib_dec/transition_dec_fx.c
index 8fb036d2adc76482f9a365e82ff5452b838bb138..079b733a12af568cbdaf89c1ad0773b00a2f433b 100644
--- a/lib_dec/transition_dec_fx.c
+++ b/lib_dec/transition_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/updt_dec_fx.c b/lib_dec/updt_dec_fx.c
index 240f9545c4cc8669299569d18ff755cbd35d77be..098a7b4375d6440c19e937ca3c44df25fbb7785d 100644
--- a/lib_dec/updt_dec_fx.c
+++ b/lib_dec/updt_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/vlpc_1st_dec_fx.c b/lib_dec/vlpc_1st_dec_fx.c
index 45fd00390aa85c2069a22724090211692c7871ad..f99d16ac0bab0503c8d5569b694c09732181ea8f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/vlpc_2st_dec_fx.c b/lib_dec/vlpc_2st_dec_fx.c
index 562cce4cf40daa5015e262ba3c37c6e36cbb6081..6a26901bcbc0525d930c4a6e4189dd13d90d3cc6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/voiced_dec_fx.c b/lib_dec/voiced_dec_fx.c
index 2108baad59d767c4900d18562756eae4a0247cab..1a69c8928f64c6b3bbdee3f92ff3d18cfcbffced 100644
--- a/lib_dec/voiced_dec_fx.c
+++ b/lib_dec/voiced_dec_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_dec/waveadjust_fec_dec_fx.c b/lib_dec/waveadjust_fec_dec_fx.c
index f72dfde5cb9a448bfda91c4f4ab3a65da22e20fb..1d32b76a7a4a3480e71e6e8ae00f738ae27b5536 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/ACcontextMapping_enc_fx.c b/lib_enc/ACcontextMapping_enc_fx.c
index 91edc47a5bf9fadfcd14628755e9408acf72c9b9..8b7fbe699ecaf4e67629f9b6da58c705189aba33 100644
--- a/lib_enc/ACcontextMapping_enc_fx.c
+++ b/lib_enc/ACcontextMapping_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/FEC_enc_fx.c b/lib_enc/FEC_enc_fx.c
index d6db81232ee9376c593bcaf04828c7e3bc90d869..880773dba2007539381b0b8396daebc3ef6f8c15 100644
--- a/lib_enc/FEC_enc_fx.c
+++ b/lib_enc/FEC_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/SNR_calc_fx.c b/lib_enc/SNR_calc_fx.c
index ef54f1841f3fa8cfd42d8b3eb485820e396d66da..ebab61ea375778b7a7e340fc2801598ca412fc1f 100644
--- a/lib_enc/SNR_calc_fx.c
+++ b/lib_enc/SNR_calc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/acelp_core_enc_fx.c b/lib_enc/acelp_core_enc_fx.c
index ff4c684e838c33e383021cd56e61be3292302b23..dafb3d87483d270616b75944052b44255b1b45ce 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/acelp_core_switch_enc_fx.c b/lib_enc/acelp_core_switch_enc_fx.c
index 2f51be28e414ed30a524fe93305985f51a158c48..7938b99c37fd390d358554fac0774e5a1317625f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 26ca2a020123a1c560ef400954049903ec854b0a..f87cc9d27475dfbb0fc2eabe2715bf4f0012a762 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/amr_wb_enc_fx.c b/lib_enc/amr_wb_enc_fx.c
index 9b20100ba13a75354a9069b188cc48b38997d9c2..582279fde83c86917e520d604cd7bddab09ab08e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 8739661168a5dd90e7c596fd8b261f9b572ac612..b26bcc59fb0030e6f86330fe4dca398fae1b914f 100644
--- a/lib_enc/analy_lp_fx.c
+++ b/lib_enc/analy_lp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/analy_sp_fx.c b/lib_enc/analy_sp_fx.c
index dc34ccc5b96557e1de1aeb9cde7e7d4941f845cb..eb2a9829c49e9b225e10f27add066443ea69a9f3 100644
--- a/lib_enc/analy_sp_fx.c
+++ b/lib_enc/analy_sp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/ari_enc_fx.c b/lib_enc/ari_enc_fx.c
index 0c44f113e95dc5ef0895032792288305ade7fb42..9a01e2258087488f19049a25598ed4b6c8904502 100644
--- a/lib_enc/ari_enc_fx.c
+++ b/lib_enc/ari_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/ari_hm_enc_fx.c b/lib_enc/ari_hm_enc_fx.c
index d70f09062cb44e073e60628be3a0994d0c39cb58..163ba892a08c8efb0aaaaa42810db7b609ef09c3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/arith_coder_enc_fx.c b/lib_enc/arith_coder_enc_fx.c
index b8c55ee1b82080e409abbe126116fe3d1cac4e74..300d28c541818b44f5793fdbebf90df46d335242 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/avq_cod_fx.c b/lib_enc/avq_cod_fx.c
index d42ae6c4dfd4d2f1b5f48640de08a663fa8c9629..85fd1a3de58b979efc1c6b112e81ccd109bf9eaa 100644
--- a/lib_enc/avq_cod_fx.c
+++ b/lib_enc/avq_cod_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/bass_psfilter_enc_fx.c b/lib_enc/bass_psfilter_enc_fx.c
index 083f8d68ed6a09e1b57cf14253695d9fadd9e301..7ecad45857a09692acc50bede26f32bf23952d8c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/bw_detect_fx.c b/lib_enc/bw_detect_fx.c
index 66fb8680b8b67a55b14abd199f2858b4ba90b8bc..7d184cd3e2543ce3f917842d6bbaf96eb1a1a46f 100644
--- a/lib_enc/bw_detect_fx.c
+++ b/lib_enc/bw_detect_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 e51dd4884a0c67da51b2261aa6754de2c62cd071..e7429417cb995cca391e229852af1b7e888497dd 100644
--- a/lib_enc/cng_enc_fx.c
+++ b/lib_enc/cng_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/cod2t32_fx.c b/lib_enc/cod2t32_fx.c
index fa66223cb9679fc3425e43f0b5e4e0f44ed510ee..3064a7bf09e836f6609587fb3713bb93c5f7aeb4 100644
--- a/lib_enc/cod2t32_fx.c
+++ b/lib_enc/cod2t32_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/cod4t64_fast_fx.c b/lib_enc/cod4t64_fast_fx.c
index 7079f65971792963c9701841da0e9cc00e80bd54..16dcb9dfd6d85228ac0b642a12ba3477a5e7ddaa 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/cod4t64_fx.c b/lib_enc/cod4t64_fx.c
index ac494e1604e858bc94d80eaee0a18abc5f543945..af0eafc3b0f7761226e296b2d2867d146a375e72 100644
--- a/lib_enc/cod4t64_fx.c
+++ b/lib_enc/cod4t64_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/cod_ace_fx.c b/lib_enc/cod_ace_fx.c
index 66819c4acfaff9185d2be31f54171452a3ba7286..276a3ec16ffed9849f2900b97d07794b338d4b70 100644
--- a/lib_enc/cod_ace_fx.c
+++ b/lib_enc/cod_ace_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c
index fbd76743fd0b6b1f76f66b94861597b22f1c1f4a..68751c0cdbf678cef8851d5b8674bf7dd51bdc6c 100644
--- a/lib_enc/cod_tcx_fx.c
+++ b/lib_enc/cod_tcx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 684282bdb4db989fab629aeb10529107dcaf0928..e3ad690ff10373a36fad3c48688082fba7db2f1e 100644
--- a/lib_enc/cod_uv_fx.c
+++ b/lib_enc/cod_uv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/comvad_decision_fx.c b/lib_enc/comvad_decision_fx.c
index 479781d27f81ada362100741eef47eb6c2d2915b..8397bb392352b17cfe8d0e3caa13cb5adfc4abb9 100644
--- a/lib_enc/comvad_decision_fx.c
+++ b/lib_enc/comvad_decision_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/cor_shif_fx.c b/lib_enc/cor_shif_fx.c
index 5e42145521b79d7ded9734a556cb8f8b2e3bf642..771a28666ff0d946bcf2345741f000affa448080 100644
--- a/lib_enc/cor_shif_fx.c
+++ b/lib_enc/cor_shif_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/core_enc_2div_fx.c b/lib_enc/core_enc_2div_fx.c
index 45aba6a058e66b7eddb206ed568604586c346529..33510827710f3329f593c5140e4e0dcd1cb3df4a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c
index a8c674170365bd4a43a6d0cee9216e58ffa83ab3..085121050ad657448f14702c02cdb2a67a385ba9 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/core_enc_ol_fx.c b/lib_enc/core_enc_ol_fx.c
index cdecaf3d6f34caa5d7f2bce86f20c85b8bc0ace5..dcd6c3cf07f91270028cd98ad83ec4bdfe57deb8 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 9f21792e353c441ee0ac0802ccf948cc48756b8a..c41af61811f49cb60d060463d76d70bfa106fd08 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c
index b61609e50c06e942b791564429ee2dad0f04fae0..bc1e3a0ccab7e369771da7b384a471c2cfed1d4c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/core_enc_updt_fx.c b/lib_enc/core_enc_updt_fx.c
index 94a2ef74651e237f5f7d2930b346d7cd00143bf1..46a8c7518dc657cf877dda1b570078fa1ecce906 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/core_switching_enc_fx.c b/lib_enc/core_switching_enc_fx.c
index aa06b12d20d5eeff4b7469045355661ab18be1d9..1b208e92e8a1165cddea908eb2ac6e4804a1fcf2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/corr_xh_fx.c b/lib_enc/corr_xh_fx.c
index 4f0614fba3265c0e0f93e072eadf366dbe6c065f..1f3c6079d7b6da216c52d9af3b4daf81278fd22d 100644
--- a/lib_enc/corr_xh_fx.c
+++ b/lib_enc/corr_xh_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/decision_matrix_enc_fx.c b/lib_enc/decision_matrix_enc_fx.c
index 086b6e86aedcdb5772da37fd780e00be60f03e7a..9f48afbb4900020a33cb32a86e220b3e716525a2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 71c56cecf76462223fb91a1f104a79b2dd5b9b5a..5524f6029bb140c3d8ea5ed1df6e74bfb3ec2d4f 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_enc/diffcod_fx.c b/lib_enc/diffcod_fx.c
index 871fd422fef42d0e3e513f23e2c9dfd0a0f90fe4..9e5f2b6bfc396302da787b52c629f8bcb86869b9 100644
--- a/lib_enc/diffcod_fx.c
+++ b/lib_enc/diffcod_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/dtx_fx.c b/lib_enc/dtx_fx.c
index 483304cdedf36ced3b85cb458bcec935acadf4fd..497416a020bc1ffed24ec154171e013cf8f184e8 100644
--- a/lib_enc/dtx_fx.c
+++ b/lib_enc/dtx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_acelp_fx.c b/lib_enc/enc_acelp_fx.c
index ba09a659407b4a72e66fd6d7d7d62fca96c19229..51260bf804e7d8c1a9990a49dc8430c8a3e42be5 100644
--- a/lib_enc/enc_acelp_fx.c
+++ b/lib_enc/enc_acelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_acelp_tcx_main_fx.c b/lib_enc/enc_acelp_tcx_main_fx.c
index da8443f06c0045c58772ae2284c051a81a7e5126..76c75825046e48209e315d1f0123f8eb44915120 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_acelpx_fx.c b/lib_enc/enc_acelpx_fx.c
index 95104c76ca247bbd3f99052eae64f5cee21b4971..3167ccccf3d0087cec53b16829ca60c01003892d 100644
--- a/lib_enc/enc_acelpx_fx.c
+++ b/lib_enc/enc_acelpx_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_amr_wb_fx.c b/lib_enc/enc_amr_wb_fx.c
index f68b94daf048b36d3bc6bced9833598f64a1c11a..36e099335da3650ad4b9a11048c9acc792f2afb1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_gain_fx.c b/lib_enc/enc_gain_fx.c
index 8c53a5d12204779630e1f0bc893a2b76dd8311fd..4898e6f0e81f98ac6b5d2398b8783d9344664e41 100644
--- a/lib_enc/enc_gain_fx.c
+++ b/lib_enc/enc_gain_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_gen_voic_fx.c b/lib_enc/enc_gen_voic_fx.c
index bfe50a588edf8c5f1fe5f0313c815d22fc7b6f77..cccecd45fd3e36225323a83097588e6712bc9a80 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_gen_voic_rf_fx.c b/lib_enc/enc_gen_voic_rf_fx.c
index 82794098a07a30943cc926d68f25395a3a8a8766..047512cfa699947f7893832ec6c48cd70c8bf122 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_higher_acelp_fx.c b/lib_enc/enc_higher_acelp_fx.c
index db4088ac581970a4b9af79fce9355fbfb13424e3..d980519119e2f942dfcc908005f9ac47f9e4affd 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_nelp_fx.c b/lib_enc/enc_nelp_fx.c
index 30756d19d6abcbf03857c417d4caaa5555cdb62d..79f32395ae8926b35d1c352e3878b33f831f711a 100644
--- a/lib_enc/enc_nelp_fx.c
+++ b/lib_enc/enc_nelp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_pit_exc_fx.c b/lib_enc/enc_pit_exc_fx.c
index 200c22a1a1f61c5469a8bdaa6b8d6e580ccd925a..dc4468c69fdfa0923c24c645eba6cada362a7613 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_ppp_fx.c b/lib_enc/enc_ppp_fx.c
index 70360f9d2c281e2c988ab6e82ac103f5d98dd708..03d016c06e65dc0c5e0cc757cfb25edd237df11e 100644
--- a/lib_enc/enc_ppp_fx.c
+++ b/lib_enc/enc_ppp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_prm_fx.c b/lib_enc/enc_prm_fx.c
index 6a861b8aff23a5fe0ad63888449f9b3eccfb3a97..3cb14d9759dad8bda71e0b6a9bba7a71f3649420 100644
--- a/lib_enc/enc_prm_fx.c
+++ b/lib_enc/enc_prm_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_tran_fx.c b/lib_enc/enc_tran_fx.c
index 879ed6dd038b6eb099713e169b84888e116fe48d..d8423b5458928aeeb1bf340394abf348842584a6 100644
--- a/lib_enc/enc_tran_fx.c
+++ b/lib_enc/enc_tran_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/enc_uv_fx.c b/lib_enc/enc_uv_fx.c
index eb614935941d19c4b4c467a5fd05438dc2e914db..b7bb658787d8138863b581a2c53c293a7cbbaecb 100644
--- a/lib_enc/enc_uv_fx.c
+++ b/lib_enc/enc_uv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 53cda71c19f689b630b1f9d6a9eebca739785d73..e1e5beb1eb8f87cdae92956d21b3a0bfe832a2f2 100644
--- a/lib_enc/energy_fx.c
+++ b/lib_enc/energy_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/eval_pit_contr_fx.c b/lib_enc/eval_pit_contr_fx.c
index 0aa1e1835d1f954de974e801b51d7e8ab6d5eb5d..b296189e867dd0cdc57873d94faed2402df46c3e 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/evs_enc_fx.c b/lib_enc/evs_enc_fx.c
index 416c2f4e974134a63139b6f4cb74cd4dc16b3a02..04ea5930959cbaad3f27ffd53aa547b0fdbec2e1 100644
--- a/lib_enc/evs_enc_fx.c
+++ b/lib_enc/evs_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 435bfb52dc7f04f49d042556868e5322bcfe7bd0..9397dce31bf5bf9010e6bb4e9f00aa1f53330cb3 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/fd_cng_enc_fx.c b/lib_enc/fd_cng_enc_fx.c
index 3dbf072ec5e2e866c4eb858413b0c91b07cdee6a..17ea79fdf106edaea5d8b2ed7355b84e4032b910 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 5b3ab4792a05a9c77c52a5183f23f976b7a2f5bd..33adef4292068d1e800e4fbbe38804f0308d1412 100644
--- a/lib_enc/find_tar_fx.c
+++ b/lib_enc/find_tar_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/find_tilt_fx.c b/lib_enc/find_tilt_fx.c
index 56ea1e9dd3f4193c9f93447498e8eba77adad866..1c8edd69b9684da5b1766dc3898fa1f828f8c75e 100644
--- a/lib_enc/find_tilt_fx.c
+++ b/lib_enc/find_tilt_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/find_uv_fx.c b/lib_enc/find_uv_fx.c
index a0fa4dbbd163b2de097f81659d929125cf00aaf7..062987df1e496c328e2b8a5c25b77057c172212b 100644
--- a/lib_enc/find_uv_fx.c
+++ b/lib_enc/find_uv_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/find_wsp_fx.c b/lib_enc/find_wsp_fx.c
index 6e75c36c2ce874ceb10b13e29c04967fdf12dc7f..2d2894c13119cd8771e35638b1f0bf6c4ec75227 100644
--- a/lib_enc/find_wsp_fx.c
+++ b/lib_enc/find_wsp_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/frame_spec_dif_cor_rate_fx.c b/lib_enc/frame_spec_dif_cor_rate_fx.c
index 54e6148af0ae94641339d7b0a962c83cf7cfd116..f4e8b8fa5010728ce6db408723ce204a690a4b41 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/gain_enc_fx.c b/lib_enc/gain_enc_fx.c
index 3e3c763230a571a5cd5e0486d3452c7a955585a7..bc10738a554bd6192cf8a15426a57c760cb34a3f 100644
--- a/lib_enc/gain_enc_fx.c
+++ b/lib_enc/gain_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/gaus_enc_fx.c b/lib_enc/gaus_enc_fx.c
index 5c53881cd0943f595f435c5d628ce3646b1cfbb2..bbf36324d210046fbba62ae4f74ff55a1715fecd 100644
--- a/lib_enc/gaus_enc_fx.c
+++ b/lib_enc/gaus_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/gp_clip_fx.c b/lib_enc/gp_clip_fx.c
index d565fea0cac33f830efc20e7992439704c43dfad..b7cf98c0dbc7394dbcb2a4d6fee56de5f6b5cbbb 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_enc/gs_enc_fx.c b/lib_enc/gs_enc_fx.c
index 472b9f7659e6adc26745c2071510f8ab30d73654..c54e74612834ac3a36cb4ca13d764bb4c31c8769 100644
--- a/lib_enc/gs_enc_fx.c
+++ b/lib_enc/gs_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/guided_plc_enc_fx.c b/lib_enc/guided_plc_enc_fx.c
index db33f6c6301524cb28f44dfe811e584af092315c..fa7c1df485b19969f47868c8f13e9d3152173c72 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/hf_cod_amrwb_fx.c b/lib_enc/hf_cod_amrwb_fx.c
index 84ba1b48438deae3fed33092423cbf1bcfee29fe..710f5ed70ee8ab59be65ad19eb4b2d4c52bcbc09 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/hq_classifier_enc_fx.c b/lib_enc/hq_classifier_enc_fx.c
index 07152c84267d8270bb762b7dab56c7f91772ad2f..57313b52dddd6977e8c0df25c01fc79c2bff5344 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/hq_core_enc_fx.c b/lib_enc/hq_core_enc_fx.c
index 1966a4256d90814ef52592010c1f6d0f313b5ca7..9eb95841ab792ea8e12320c94a9db00934557553 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/hq_env_enc_fx.c b/lib_enc/hq_env_enc_fx.c
index bcf0e3945c690e037de9bcebcf7440dc42322468..0d845aca5dc5457670d812169c609ec18efd1f85 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/hq_hr_enc_fx.c b/lib_enc/hq_hr_enc_fx.c
index 7f18bd48acb52566672112ce1bcd3cb09c5be3fb..416be775f34bcfa11feae807efd6d41f91d4f632 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/hq_lr_enc_fx.c b/lib_enc/hq_lr_enc_fx.c
index 48b3edc383944273200df8743edd40630a2f06fc..15f67532ec39e81dc80b395e1f8f2af51d32ebee 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/hvq_enc_fx.c b/lib_enc/hvq_enc_fx.c
index 57692bbefc0919f12b67ee156432804c8ae5b14f..9ae9fcb3f74ed70841aca9df17362bb2a9c0d003 100644
--- a/lib_enc/hvq_enc_fx.c
+++ b/lib_enc/hvq_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/igf_enc_fx.c b/lib_enc/igf_enc_fx.c
index d9d7c052585e634e0c97b1af28d8299bd8ae0f21..00708ad563db1a010beedfdf24e3ba944f9814f4 100755
--- a/lib_enc/igf_enc_fx.c
+++ b/lib_enc/igf_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/igf_scf_enc.c b/lib_enc/igf_scf_enc.c
index 16f2560d1e4a858f0c52b217bf2a956aaa1f7876..62456bead299332fcba1a6bdb6a8c6da719653e0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
diff --git a/lib_enc/igf_scf_enc_fx.c b/lib_enc/igf_scf_enc_fx.c
index d1341a98af3f27cc8846dcb3db7e735ea9597d7c..927a85ae8bf7d0d30d4fe4afb57dc424e9d1a2d6 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.0
====================================================================================*/
diff --git a/lib_enc/init_enc_fx.c b/lib_enc/init_enc_fx.c
index 7c29b4e06757134f1092b24d5013ee6ce1b86719..14704d779eb9aa145a39df540360e1ee2def8250 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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 81b9ba49e904333c5881cfc372e0e98dfe11db49..177bde103c2580a12c69f94f14ba654cd6bc837f 100644
--- a/lib_enc/inov_enc_fx.c
+++ b/lib_enc/inov_enc_fx.c
@@ -1,3 +1,6 @@
+/*====================================================================================
+ 3GPP TS26.251 Nov 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
/*====================================================================================
EVS Codec 3GPP TS26.452 Nov 04, 2021. Version 16.4.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..fd6ecd09e1e27548ce21aca16ca16e2ba7f785df 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..0f1b347402cb23b07ab51333b22efc1b1624be43 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
diff --git a/lib_enc/ivas_core_enc_fx.c b/lib_enc/ivas_core_enc_fx.c
index 96bbca887782fdb1e711c4ff9ae0b289ab940d66..5c2ca4d9454c7fa77b99cbf8d7922bd39c7e4a68 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..0338c58993ce29608e97b4bbaf45a88e40757b38 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..d98d6546519f1212b4970db249abb219e39b56de 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..de78a1655637fef55c1087254458a349f47cbcb0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..0d4a372b6706f3165afc6b5d3de3728d909a7dd0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..6fa880e6b2c8d44a87b940aa31a637f72fd3b984 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..8f64b876678f67a7f9af8e6f5221e452b0a83505 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_enc_cov_handler_fx.c b/lib_enc/ivas_enc_cov_handler_fx.c
index 32360fd41724fee407902034120f7dc671a4cab8..551cebf16c6a2510a41d5d7b584c0916a66105bd 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_enc_fx.c b/lib_enc/ivas_enc_fx.c
index ffd32570fdfb354337fa2400c504a47827f93683..c8082f2838fe80104b05f677779c6f0541ba9dac 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..31e203f4dc8be716bf9a3fff21c1cb25f02d8870 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..5e36924fe37c27633fa4c4b6e14a93cd1cb277b7 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..991a5d10595a279f0d52194e1ce5dbd6ac3c4e40 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..b1283730d71086c66fa93a43d74ae1bc4827b3c9 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_ism_enc_fx.c b/lib_enc/ivas_ism_enc_fx.c
index ea509dd1020653f78a9ad5a0835f270b027a92fe..b3918057b5d0572d284db44376199518f545d7ed 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..cd58d6f91aa0543fdba6f95754554930d4e6a9e0 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..d818f1d349177ad89ffb2026ae19d2b2f57273f7 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_lfe_enc_fx.c b/lib_enc/ivas_lfe_enc_fx.c
index 96959c9dd46fe0d60f391fcbb4c5da5f0e2d3f50..f0f3a5350ced0e564a673d02463c97831f7f66fd 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_masa_enc_fx.c b/lib_enc/ivas_masa_enc_fx.c
index 5613866ccc57e63116e7c224fcdfba71db62d480..46aa58772017c29e250050bb0c1c119e35ee5d4b 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_mc_param_enc_fx.c b/lib_enc/ivas_mc_param_enc_fx.c
index 67353a279874abd481163efd96eeaadc75d37759..8c0ce2a1d7320085dd0ef0a664bdba4490d5ab4a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
// 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..7127bf7d83db8636fa8edcd18c86b19945639eff 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..29867014a06f1f26e1365811de964d6c6487f337 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_mct_core_enc_fx.c b/lib_enc/ivas_mct_core_enc_fx.c
index 9bbf1260c8ed61e487b4b01a99eb6c38ebaea869..ca45683fa8ee0a51d14ad7508d22822132be4e5d 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_mct_enc_fx.c b/lib_enc/ivas_mct_enc_fx.c
index 39735ad030624045c49913f5a43e4c28e5f070b0..b41bc518f9897b4a2fd85b03fea67a31464ba782 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..38d7e67e487042c658934016f2e5ce39273f0d80 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..da8ea42630e55bc5b5eed1012e6b9cf24677ccd2 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..5ea23bb7f400e42ae96a28c7b6bb57571b2103a1 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..2be61df5ffe5bc56ca5fb496ac86223517e2b448 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include "options.h"
#include
diff --git a/lib_enc/ivas_pca_enc_fx.c b/lib_enc/ivas_pca_enc_fx.c
index 7eb4f18e71e4fc428d47427a68b9349633fd6667..18a7d36787dca2b55d4d0dfa604a2792f2986e2a 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c
index 3f18527746af83315451c5160e22d3e48c496f38..54c895d4f33a0327077179d9f255464cdd25ae1c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..cf60df2ccfaee9d88671418993c2493c30b13958 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_range_uni_enc_fx.c b/lib_enc/ivas_range_uni_enc_fx.c
index 6c322a3d953bfa19abc3df4d0196203117d76867..100338279c88e3bccdd7a0815237b82cce21ec47 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "ivas_prot_fx.h"
diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h
index d1e644a93e45e0ffb4ef355a64c6eb3308e3fc9c..e3403aee80fdbff8794a8b91148acd7287cc687c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#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..55d423fb3c825f4d59dd0482cd631ae97c3e0f2b 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include "options.h"
diff --git a/lib_enc/ivas_sba_enc_fx.c b/lib_enc/ivas_sba_enc_fx.c
index e630a70d954f4e5764dba5b446df8b125884a346..cbe197b2dceb13f9b0009d9ca4c9b6f08a3bc4b4 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include
#include
diff --git a/lib_enc/ivas_sce_enc_fx.c b/lib_enc/ivas_sce_enc_fx.c
index fa58f267479a7a380618fd19f7063b0541fa3d30..3a32b9b95d40ef66887f2e2f44c8fbfaa4e1539c 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 20, 2025. IVAS Codec Version IVAS-FX-3.0
+ ====================================================================================*/
#include