diff --git a/Workspace_msvc/lib_debug.vcxproj b/Workspace_msvc/lib_debug.vcxproj index ef9c58a89b4c4818ed2eef065e2e642903b850c4..f29b302f7879a38d5c6007c49e9196ab21417014 100644 --- a/Workspace_msvc/lib_debug.vcxproj +++ b/Workspace_msvc/lib_debug.vcxproj @@ -102,14 +102,9 @@ - - - - - diff --git a/apps/ambi_converter.c b/apps/ambi_converter.c index 816f96619e0eee30a04a7a61f8afe62ce22faf09..2621c61fb0c939a38bbbad4a1b0dc3b78c33a727 100644 --- a/apps/ambi_converter.c +++ b/apps/ambi_converter.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include #include diff --git a/apps/decoder.c b/apps/decoder.c index 1310ef4d865b0f14d65e4fa942a1e53a51897b62..955319586fe71228bcbe6e0995efd24da5adfd84 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "lib_dec.h" #include "options.h" @@ -44,17 +16,13 @@ #include "masa_file_writer.h" #include "render_config_reader.h" #include "rotation_file_reader.h" -#ifdef FIX_1053_REVERB_RECONFIGURATION #include "aeid_file_reader.h" -#endif #include "split_render_file_read_write.h" #include "obj_edit_file_reader.h" #include "vector3_pair_file_reader.h" #include "wmc_auto.h" #include "stl.h" -#ifdef IVAS_RTPDUMP #include "ivas_rtp_file.h" -#endif #define WMC_TOOL_SKIP @@ -63,23 +31,12 @@ * Local constants *------------------------------------------------------------------------------------------*/ -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; /* Counter of frames */ -#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS #define RANDOM_INITSEED_DEC ( 0xFADE ) -#else -#ifdef FIXED_RTP_SEQUENCE_NUM -#define RANDOM_INITSEED_DEC ( 0xFEEDFADE ) -#endif -#endif - -#ifdef DEBUGGING -#define MIN_NUM_BITS_ACTIVE_FRAME 56 -#define NUM_BITS_SID_IVAS_5K2 104 -#endif /*------------------------------------------------------------------------------------------* @@ -140,17 +97,11 @@ typedef struct uint16_t directivityPatternId[IVAS_MAX_NUM_OBJECTS]; bool objEditEnabled; char *objEditFileName; -#ifdef IVAS_RTPDUMP bool applyPiData; char *piOutputFilename; bool rtpOutSR; -#endif -#ifdef FIX_1419_MONO_STEREO_UMX bool evsMode; -#endif -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE IVAS_ROOM_SIZE_T roomSize; -#endif } DecArguments; @@ -189,23 +140,13 @@ static ivas_error decodeVoIP( RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ISAR_SPLIT_REND_BITS_DATA *splitRendBits, -#endif -#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART IVAS_RENDER_CONFIG_DATA *renderConfig, -#endif -#ifdef DECODER_FORMAT_SWITCHING IVAS_DEC_HANDLE *phIvasDec, -#else - IVAS_DEC_HANDLE hIvasDec, -#endif int16_t *pcmBuf ); static ivas_error load_hrtf_from_file( IVAS_DEC_HRTF_BINARY_WRAPPER *hHrtfBinary, IVAS_DEC_HANDLE hIvasDec, const IVAS_AUDIO_CONFIG OutputConfig, const int32_t output_Fs ); static void do_object_editing_fx( IVAS_EDITABLE_PARAMETERS *editableParameters, ObjectEditFileReader *objectEditFileReader ); -#ifdef DECODER_FORMAT_SWITCHING static ivas_error restartDecoder( IVAS_DEC_HANDLE *phIvasDec, const IVAS_DEC_MODE decMode, DecArguments *arg, IVAS_RENDER_CONFIG_DATA *renderConfig, IVAS_CUSTOM_LS_DATA *hLsCustomData ); -#endif /*------------------------------------------------------------------------------------------* @@ -238,13 +179,9 @@ int main( IVAS_RENDER_FRAMESIZE asked_frame_size; IVAS_DEC_HRTF_BINARY_WRAPPER hHrtfBinary; ObjectEditFileReader *objectEditFileReader = NULL; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT IVAS_ROOM_ACOUSTICS_CONFIG_DATA **pAE = NULL; uint32_t aeCount = 0; -#endif -#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART IVAS_RENDER_CONFIG_DATA renderConfig = { 0 }; -#endif #ifdef WMOPS reset_wmops(); reset_mem( USE_BYTES ); @@ -455,25 +392,13 @@ int main( *------------------------------------------------------------------------------------------*/ asked_frame_size = arg.renderFramesize; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT uint16_t aeID = arg.aeSequence.count > 0 ? arg.aeSequence.pID[0] : IVAS_DEFAULT_AEID; -#else - uint16_t aeID = arg.aeSequence.count > 0 ? arg.aeSequence.pID[0] : 65535; -#endif -#ifdef IVAS_RTPDUMP arg.enableHeadRotation = arg.enableHeadRotation || arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM; -#endif -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.renderFramesize, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, arg.roomSize, arg.non_diegetic_pan_enabled, arg.non_diegetic_pan_gain_fx, arg.dpidEnabled, aeID, arg.objEditEnabled, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_DEC_Configure( hIvasDec, arg.output_Fs, arg.outputConfig, arg.renderFramesize, arg.customLsOutputEnabled, arg.hrtfReaderEnabled, - arg.enableHeadRotation, arg.enableExternalOrientation, arg.orientation_tracking, arg.renderConfigEnabled, - arg.non_diegetic_pan_enabled, arg.non_diegetic_pan_gain_fx, arg.dpidEnabled, aeID, arg.objEditEnabled, arg.delayCompensationEnabled ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; @@ -508,9 +433,6 @@ int main( fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#ifndef IVAS_RTPDUMP - arg.enableHeadRotation = true; -#endif } /*------------------------------------------------------------------------------------------* @@ -542,9 +464,6 @@ int main( if ( arg.renderConfigEnabled ) { -#ifndef FIX_SPLIT_RENDERING_ON_DECODER_RESTART - IVAS_RENDER_CONFIG_DATA renderConfig; -#endif /* sanity check */ if ( arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR && arg.outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB && @@ -573,7 +492,6 @@ int main( goto cleanup; } -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT aeCount = RenderConfigReader_getAcousticEnvironmentCount( renderConfigReader ); if ( aeCount > 0 ) { @@ -613,7 +531,6 @@ int main( } } } -#endif if ( ( error = RenderConfigReader_getDirectivity( renderConfigReader, arg.directivityPatternId, renderConfig.directivity_fx ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Failed to get directivity patterns for one or more of IDs: %d %d %d %d\n\n", arg.directivityPatternId[0], arg.directivityPatternId[1], arg.directivityPatternId[2], arg.directivityPatternId[3] ); @@ -652,11 +569,7 @@ int main( if ( arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) { -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT if ( ( error = IVAS_DEC_GetAcousticEnvironment( hIvasDec, aeID, &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) -#else - if ( ( error = RenderConfigReader_getAcousticEnvironment( renderConfigReader, aeID, &renderConfig.roomAcoustics ) ) == IVAS_ERR_OK ) -#endif { if ( RenderConfigReader_checkValues( &renderConfig ) != IVAS_ERR_OK ) { @@ -746,17 +659,9 @@ int main( if ( arg.voipMode ) { error = decodeVoIP( arg, hBsReader, &hHrtfBinary, headRotReader, externalOrientationFileReader, refRotReader, referenceVectorReader, objectEditFileReader, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP &splitRendBits, -#endif -#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART &renderConfig, -#endif -#ifdef DECODER_FORMAT_SWITCHING &hIvasDec, -#else - hIvasDec, -#endif pcmBuf ); } else @@ -792,7 +697,6 @@ cleanup: free( pcmBuf ); -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT if ( pAE != NULL ) { uint16_t n; @@ -804,7 +708,6 @@ cleanup: free( pAE ); } -#endif if ( arg.aeSequence.count > 0 ) { @@ -817,14 +720,12 @@ cleanup: destroy_td_hrtf( hHrtfBinary.hHrtfTD ); destroy_hrtf_statistics( hHrtfBinary.hHrtfStatistics ); } -#ifdef FIX_1990_SANITIZER_IN_REVERB_LOAD // TODO: /* This free differs from float version. This is needed as HRTF statistics from ROM are currently converted from Word16 values to scaled Word32 values. */ IVAS_DEC_HRTF_STATISTICS_HANDLE *hHrtfStatistics = NULL; IVAS_DEC_GetHrtfStatisticsHandle( hIvasDec, &hHrtfStatistics ); destroy_hrtf_statistics( hHrtfStatistics ); -#endif IVAS_DEC_Close( &hIvasDec ); CustomLsReader_close( &hLsCustomReader ); hrtfFileReader_close( &hrtfReader ); @@ -965,9 +866,7 @@ static bool parseCmdlIVAS_dec( arg->output_Fs = IVAS_MAX_SAMPLING_RATE; arg->outputConfig = IVAS_AUDIO_CONFIG_MONO; arg->decMode = IVAS_DEC_MODE_IVAS; -#ifdef FIX_1419_MONO_STEREO_UMX arg->evsMode = false; -#endif arg->quietModeEnabled = false; arg->delayCompensationEnabled = true; arg->voipMode = false; @@ -982,11 +881,9 @@ static bool parseCmdlIVAS_dec( arg->referenceVectorTrajFileName = NULL; arg->enableExternalOrientation = false; arg->externalOrientationTrajFileName = NULL; -#ifdef IVAS_RTPDUMP arg->applyPiData = false; arg->piOutputFilename = NULL; arg->rtpOutSR = false; -#endif #ifdef SUPPORT_JBM_TRACEFILE arg->jbmTraceFilename = NULL; @@ -1025,9 +922,7 @@ static bool parseCmdlIVAS_dec( arg->objEditEnabled = false; arg->objEditFileName = NULL; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE arg->roomSize = IVAS_ROOM_SIZE_AUTO; -#endif /*-----------------------------------------------------------------* * Initialization @@ -1069,7 +964,6 @@ static bool parseCmdlIVAS_dec( arg->inputFormat = IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF; i++; } -#ifdef IVAS_RTPDUMP else if ( strcmp( argv_to_upper, "-PIDATAFILE" ) == 0 ) { i++; @@ -1092,7 +986,6 @@ static bool parseCmdlIVAS_dec( arg->rtpOutSR = true; i++; } -#endif #ifdef SUPPORT_JBM_TRACEFILE else if ( strcmp( argv_to_upper, "-TRACEFILE" ) == 0 ) { @@ -1372,7 +1265,6 @@ static bool parseCmdlIVAS_dec( if ( !is_digits_only( argv[i] ) ) { -#ifdef FIX_1053_REVERB_RECONFIGURATION aeidFileReader *aeidReader = NULL; if ( aeidFileReader_open( argv[i], &aeidReader ) != IVAS_ERR_OK ) { @@ -1388,67 +1280,6 @@ static bool parseCmdlIVAS_dec( } aeidFileReader_close( &aeidReader ); i++; -#else - uint16_t k; - char *s = argv[i]; - char *token = argv[i]; - - for ( k = 0; s[k]; ) - { - s[k] == ',' ? k++ : *s++; - } - k++; - - if ( k == 0 ) - { - fprintf( stdout, "Error: Invalid acoustic environment sequence specified: %s\n\n", argv[i] ); - usage_dec(); - return false; - } - - if ( NULL == ( arg->aeSequence.pID = malloc( sizeof( uint16_t ) * k ) ) || - NULL == ( arg->aeSequence.pValidity = malloc( sizeof( uint16_t ) * k ) ) ) - { - fprintf( stdout, "Error: Unable to allocate memory for acoustic environment sequence: %s\n\n", argv[i] ); - usage_dec(); - return false; - } - - arg->aeSequence.count = k; - - k = 0; - token = strtok( argv[i++], ":" ); - - while ( token != NULL ) - { - if ( !is_number( token ) ) - { - fprintf( stdout, "Error: Invalid token %s found in acoustic environment sequence: %s\n\n", token, argv[i] ); - usage_dec(); - return false; - } - arg->aeSequence.pID[k] = (uint16_t) atoi( token ); - - token = strtok( NULL, "," ); - if ( !is_number( token ) ) - { - fprintf( stdout, "Error: Invalid token %s found in acoustic environment sequence: %s\n\n", token, argv[i] ); - usage_dec(); - return false; - } - arg->aeSequence.pValidity[k] = (uint16_t) atoi( token ); - - token = strtok( NULL, ":" ); - k++; - } - - if ( k != arg->aeSequence.count ) - { - fprintf( stdout, "Error while parsing acoustic environment sequence: %s\n\n", argv[i] ); - usage_dec(); - return false; - } -#endif } else { @@ -1527,15 +1358,12 @@ static bool parseCmdlIVAS_dec( } i++; } -#ifdef FIX_1419_MONO_STEREO_UMX else if ( strcmp( argv_to_upper, "-EVS" ) == 0 ) { arg->evsMode = true; arg->decMode = IVAS_DEC_MODE_EVS; i++; } -#endif -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE else if ( strcmp( argv_to_upper, "-ROOM_SIZE" ) == 0 ) { i++; @@ -1573,7 +1401,6 @@ static bool parseCmdlIVAS_dec( } i++; } -#endif /*-----------------------------------------------------------------* * Option not recognized @@ -1624,7 +1451,6 @@ static bool parseCmdlIVAS_dec( usage_dec(); return false; } -#ifdef FIX_1419_MONO_STEREO_UMX else if ( arg->non_diegetic_pan_enabled && arg->outputConfig == IVAS_AUDIO_CONFIG_STEREO && arg->evsMode ) { fprintf( stderr, "Error: Both non-diegetic panning and stereo output specified!\n\n" ); @@ -1632,7 +1458,6 @@ static bool parseCmdlIVAS_dec( return false; } -#endif if ( arg->outputMdFilename != NULL && arg->outputConfig != IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) { fprintf( stderr, "Error: Output split rendering metadata file is supported for BINAURAL_SPLIT_PCM output config. only\n\n" ); @@ -1724,9 +1549,7 @@ static bool parseCmdlIVAS_dec( static void usage_dec( void ) { fprintf( stdout, "Usage for EVS: IVAS_dec.exe [Options] Fs bitstream_file output_file\n" ); -#ifdef FIX_1419_MONO_STEREO_UMX fprintf( stdout, " OR usage for IVAS (below) with -evs option and OutputConf\n" ); -#endif fprintf( stdout, "Usage for IVAS: IVAS_dec.exe [Options] OutputConf Fs bitstream_file output_file\n\n" ); fprintf( stdout, "Mandatory parameters:\n" ); @@ -1743,12 +1566,9 @@ static void usage_dec( void ) fprintf( stdout, "Options:\n" ); fprintf( stdout, "--------\n" ); -#ifdef FIX_1419_MONO_STEREO_UMX fprintf( stdout, "-evs : Specify that the supplied bitstream is an EVS bitstream\n" ); -#endif fprintf( stdout, "-VOIP : VoIP mode: RTP in G192\n" ); fprintf( stdout, "-VOIP_hf_only=0 : VoIP mode: EVS RTP Payload Format hf_only=0 in rtpdump\n" ); -#ifdef IVAS_RTPDUMP fprintf( stdout, "-VOIP_hf_only=1 : VoIP mode: EVS or IVAS RTP Payload Format hf_only=1 in rtpdump\n" ); fprintf( stdout, " The decoder may read rtpdump files containing TS26.445 Annex A.2.2\n" ); fprintf( stdout, " EVS RTP Payload Format or rtpdump files containing TS26.253 Annex A\n" ); @@ -1757,12 +1577,6 @@ static void usage_dec( void ) fprintf( stdout, "-PiDataFile PF Log the timestampped PI data.\n" ); fprintf( stdout, "-ApplyPiData Apply the PI data found in the rtp packet.\n" ); fprintf( stdout, "-rtpOutSR : Split Rendering bitstream RTPDump output \n" ); -#else - fprintf( stdout, "-VOIP_hf_only=1 : VoIP mode: EVS RTP Payload Format hf_only=1 in rtpdump\n" ); - fprintf( stdout, " The decoder may read rtpdump files containing TS26.445 Annex A.2.2\n" ); - fprintf( stdout, " EVS RTP Payload Format. The SDP parameter hf_only is required.\n" ); - fprintf( stdout, " Reading RFC4867 AMR/AMR-WB RTP payload format is not supported.\n" ); -#endif #ifdef SUPPORT_JBM_TRACEFILE fprintf( stdout, "-Tracefile TF : VoIP mode: Generate trace file named TF. Requires -no_delay_cmp to\n" ); fprintf( stdout, " be enabled so that trace contents remain in sync with audio output.\n" ); @@ -1787,10 +1601,8 @@ static void usage_dec( void ) fprintf( stdout, "-rvf File : Reference vector specified by external trajectory File\n" ); fprintf( stdout, " works only in combination with '-otr ref_vec' and 'ref_vec_lev' modes\n" ); fprintf( stdout, "-render_config File : Renderer configuration File\n" ); -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE fprintf( stdout, "-room_size (S|M|L) : Selects default reverb based on a room size (S - small | M - medium | L - large)\n" ); fprintf( stdout, " for BINAURAL_ROOM_REVERB output configuration,\n" ); -#endif fprintf( stdout, "-om File : Metadata output File for BINAURAL_SPLIT_PCM OutputConf (only for Fs = 48 kHz)\n" ); fprintf( stdout, "-non_diegetic_pan P : panning mono non-diegetic sound to stereo with panning P, -90<= P <=90,\n" ); fprintf( stdout, " left or l or 90->left, right or r or -90->right, center or c or 0->middle\n" ); @@ -1837,9 +1649,7 @@ static ivas_error initOnFirstGoodFrame( IsmFileWriter *ismWriters[IVAS_MAX_NUM_OBJECTS], /* o : */ int16_t *pNumOutChannels, /* o : */ uint16_t *pNumObj, /* o : */ -#ifdef IVAS_RTPDUMP - IVAS_RTP *srRtp, /* o : */ -#endif + IVAS_RTP *srRtp, /* o : */ SplitFileReadWrite **splitRendWriter ) { int16_t isSplitRend, isSplitCoded; @@ -1892,23 +1702,12 @@ static ivas_error initOnFirstGoodFrame( int16_t splitRendIsarFrameSizeMs; int16_t lc3plusHighRes; -#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we use fixed seed for random num generator for regression based tests. Any realtime application should implement this initialization seperately */ uint16_t rtpDecSeed = RANDOM_INITSEED_DEC; uint32_t ssrc = ( (uint32_t) IVAS_RTP_OwnRandom( &rtpDecSeed ) & 0x0000FFFF ) | ( (uint32_t) IVAS_RTP_OwnRandom( &rtpDecSeed ) << 16 ); uint16_t seqNumInitVal = IVAS_RTP_OwnRandom( &rtpDecSeed ); -#else -#ifdef FIXED_RTP_SEQUENCE_NUM - /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we - use fixed seed for random num generator for regression based tests. Any realtime - application should implement this initialization seperately */ - srand( RANDOM_INITSEED_DEC ); - uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 ); - uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF ); -#endif -#endif if ( ( error = IVAS_DEC_GetDelay( hIvasDec, delayNumSamples_temp, &delayTimeScale_temp ) ) != IVAS_ERR_OK ) { @@ -1922,7 +1721,6 @@ static ivas_error initOnFirstGoodFrame( return error; } -#ifdef IVAS_RTPDUMP /* Split Rendering RTPDump Output file */ if ( arg.rtpOutSR && srRtp != NULL ) { @@ -1935,36 +1733,20 @@ static ivas_error initOnFirstGoodFrame( fParamsSR = fopen( srParamsFile, "w" ); if ( NULL != fParamsSR ) { -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE fprintf( fParamsSR, "DOF = %d;\nLC3PLUS_HIGHRES = %d;\n", poseCorrection, lc3plusHighRes ); -#else - fprintf( fParamsSR, "CODEC = %s;\nDOF = %d;\nFRAMESIZE = %d;\nRENDERSIZE = %d;\nLC3PLUS_HIGHRES = %d;\n", - splitRendCodec == ISAR_SPLIT_REND_CODEC_LC3PLUS ? "LC3PLUS" : "LCLD", - poseCorrection, - splitRendCodecFrameSizeMs, - splitRendIsarFrameSizeMs, - lc3plusHighRes ); -#endif fclose( fParamsSR ); fParamsSR = NULL; } /* Split Rendering RTPDump Output file */ -#ifdef FIXED_RTP_SEQUENCE_NUM if ( ( error = IVAS_RTP_WRITER_Init( srRtp, arg.outputWavFilename, 1000 / ( IVAS_NUM_FRAMES_PER_SEC * splitRendCodecFrameSizeMs ), ssrc, seqNumInitVal ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_RTP_WRITER_Init( srRtp, arg.outputWavFilename, 1000 / ( IVAS_NUM_FRAMES_PER_SEC * splitRendCodecFrameSizeMs ) ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError: Can't open SR output bitstream file for RTP output %s \n\n", arg.outputWavFilename ); return error; } } else if ( isSplitCoded ) -#else - if ( isSplitCoded ) -#endif { if ( ( error = split_rend_writer_open( splitRendWriter, arg.outputWavFilename, delayNumSamples_temp[0], delayTimeScale_temp, splitRendCodec, poseCorrection, splitRendCodecFrameSizeMs, splitRendIsarFrameSizeMs, arg.output_Fs, lc3plusHighRes ) ) != IVAS_ERR_OK ) { @@ -1998,7 +1780,6 @@ static ivas_error initOnFirstGoodFrame( } } -#ifdef IVAS_RTPDUMP if ( !arg.rtpOutSR ) { int16_t pcmFrameSize; @@ -2018,11 +1799,7 @@ static ivas_error initOnFirstGoodFrame( for ( int16_t i = 0; i < numInitialBadFrames; ++i ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP if ( isSplitRend ) -#else - if ( *splitRendWriter != NULL ) -#endif { ISAR_SPLIT_REND_BITS_DATA splitRendBitsZero; splitRendBitsZero.bits_buf = NULL; @@ -2040,12 +1817,8 @@ static ivas_error initOnFirstGoodFrame( return error; } } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP if ( !isSplitCoded ) -#else - else -#endif { if ( *pRemainingDelayNumSamples < *numOutSamples ) { @@ -2065,71 +1838,6 @@ static ivas_error initOnFirstGoodFrame( free( zeroBuf ); } -#else - int16_t pcmFrameSize; - if ( ( error = IVAS_DEC_GetOutputBufferSize( hIvasDec, &pcmFrameSize ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetOutputBufferSize, error code: %d\n", error ); - return error; - } - - /* Write zeros to the output audio buffer */ - int16_t *zeroBuf = calloc( pcmFrameSize, sizeof( int16_t ) ); - if ( zeroBuf == NULL ) - { - fprintf( stdout, "Error: Unable to allocate memory for output buffer.\n" ); - return IVAS_ERR_FAILED_ALLOC; - } - - for ( int16_t i = 0; i < numInitialBadFrames; ++i ) - { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP - if ( isSplitRend ) -#else - if ( *splitRendWriter != NULL ) -#endif - { - ISAR_SPLIT_REND_BITS_DATA splitRendBitsZero; - splitRendBitsZero.bits_buf = NULL; - splitRendBitsZero.bits_read = 0; - splitRendBitsZero.bits_written = 0; - splitRendBitsZero.buf_len = 0; - splitRendBitsZero.codec = ISAR_SPLIT_REND_CODEC_DEFAULT; - splitRendBitsZero.pose_correction = ISAR_SPLIT_REND_POSE_CORRECTION_MODE_NONE; - splitRendBitsZero.codec_frame_size_ms = 0; - splitRendBitsZero.isar_frame_size_ms = 20; - - if ( split_rend_write_bitstream_to_file( *splitRendWriter, splitRendBitsZero.bits_buf, &splitRendBitsZero.bits_read, &splitRendBitsZero.bits_written ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nUnable to write to bitstream file!\n" ); - return error; - } - } - -#ifdef FIX_1119_SPLIT_RENDERING_VOIP - if ( !isSplitCoded ) -#else - else -#endif - { - if ( *pRemainingDelayNumSamples < *numOutSamples ) - { - if ( ( error = AudioFileWriter_write( *ppAfWriter, zeroBuf, *numOutSamples * *pNumOutChannels - ( *pRemainingDelayNumSamples * *pNumOutChannels ) ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nOutput audio file writer error\n" ); - return error; - } - *pRemainingDelayNumSamples = 0; - } - else - { - *pRemainingDelayNumSamples -= *numOutSamples; - } - } - } - - free( zeroBuf ); -#endif /* Open other output files if EXT output config - now details about ISM or MASA are known */ if ( arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL ) @@ -2223,11 +1931,7 @@ static ivas_error initOnFirstGoodFrame( } } -#ifdef IVAS_RTPDUMP if ( arg.rtpOutSR || *splitRendWriter != NULL ) -#else - if ( *splitRendWriter != NULL ) -#endif { if ( numOutSamples == NULL || vec_pos_len == NULL ) { @@ -2298,30 +2002,17 @@ static ivas_error decodeG192( IVAS_RENDER_CONFIG_DATA renderConfig; RenderConfigReader *renderConfigReader = NULL; -#ifdef VARIABLE_SPEED_DECODING - if ( arg.tsmEnabled ) - { - if ( ( error = IVAS_DEC_EnableTsm( hIvasDec ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_EnableTsm, code: %d\n", error ); - return error; - } - } - -#endif if ( ( error = IVAS_DEC_is_split_rendering_enabled( hIvasDec, &isSplitRend ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_is_split_rendering_enabled, code: %d\n", error ); return error; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP if ( !isSplitRend ) { /* Ensure split rendering output struct is not used when not outputting to a split rendering output configuration */ splitRendBits = NULL; } -#endif if ( ( error = IVAS_DEC_is_split_rendering_coded_out( hIvasDec, &isSplitCoded ) ) != IVAS_ERR_OK ) { @@ -2584,11 +2275,7 @@ static ivas_error decodeG192( } /* decode transport channels, do TSM and feed to renderer */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP if ( ( error = IVAS_DEC_GetSamplesDecoder( hIvasDec, splitRendBits ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_DEC_GetSamplesDecoder( hIvasDec, isSplitRend, splitRendBits ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -2682,11 +2369,7 @@ static ivas_error decodeG192( /* Once good frame decoded, catch up */ if ( decodedGoodFrame ) { -#ifdef IVAS_RTPDUMP if ( ( error = initOnFirstGoodFrame( hIvasDec, arg, numInitialBadFrames, &nOutSamples, &vec_pos_len, delayNumSamples_orig, &delayNumSamples, &delayTimeScale, &bsFormat, &afWriter, &masaWriter, ismWriters, &nOutChannels, &numObj, NULL, &splitRendWriter ) ) != IVAS_ERR_OK ) -#else - if ( ( error = initOnFirstGoodFrame( hIvasDec, arg, numInitialBadFrames, &nOutSamples, &vec_pos_len, delayNumSamples_orig, &delayNumSamples, &delayTimeScale, &bsFormat, &afWriter, &masaWriter, ismWriters, &nOutChannels, &numObj, &splitRendWriter ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "Error in initOnFirstGoodFrame(): %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; @@ -3034,17 +2717,9 @@ static ivas_error decodeVoIP( RotFileReader *refRotReader, Vector3PairFileReader *referenceVectorReader, ObjectEditFileReader *objectEditFileReader, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ISAR_SPLIT_REND_BITS_DATA *splitRendBits, -#endif -#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART IVAS_RENDER_CONFIG_DATA *renderConfig, -#endif -#ifdef DECODER_FORMAT_SWITCHING IVAS_DEC_HANDLE *phIvasDec, -#else - IVAS_DEC_HANDLE hIvasDec, -#endif int16_t *pcmBuf ) { bool decodingFailed = true; /* Assume failure until cleanup is reached without errors */ @@ -3076,29 +2751,13 @@ static ivas_error decodeVoIP( int16_t delayNumSamples = -1; int32_t delayTimeScale = -1; int16_t i; -#ifdef DECODER_FORMAT_SWITCHING IVAS_DEC_HANDLE hIvasDec = *phIvasDec; bool restartNeeded; -#endif -#ifdef IVAS_RTPDUMP IVAS_RTP ivasRtp = { 0 }; IVAS_RTP srRtp = { 0 }; -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE IVAS_RTP_SR_INFO srInfo = { true, false, 0, 20, IVAS_SR_TRANSPORT_LCLD }; -#else - IVAS_RTP_SR_INFO srInfo = { true, false, 0, IVAS_SR_TRANSPORT_LCLD }; -#endif int32_t initialTsOffsetSystemAndRTP = 0; -#else - FILE *f_rtpstream = NULL; - EVS_RTPDUMP_DEPACKER rtpdumpDepacker; - EVS_RTPDUMP_DEPACKER_ERROR rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_NO_ERROR; -#endif uint8_t *auPtr = NULL; -#ifndef IVAS_RTPDUMP - bool isAMRWB_IOmode; - uint16_t frameTypeIndex; -#endif bool qBit; IVAS_DEC_BS_FORMAT bsFormat = IVAS_DEC_BS_UNKOWN; @@ -3110,7 +2769,6 @@ static ivas_error decodeVoIP( bool parametersAvailableForEditing = false; uint16_t nSamplesRendered; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP SplitFileReadWrite *splitRendWriter = NULL; int16_t isSplitRend, isSplitCoded; @@ -3131,7 +2789,6 @@ static ivas_error decodeVoIP( fprintf( stderr, "\nError in IVAS_DEC_is_split_rendering_coded_out, code: %d\n", error ); return error; } -#endif vec_pos_update = 0; if ( ( error = IVAS_DEC_GetRenderFramesizeMs( hIvasDec, &systemTimeInc_ms ) ) != IVAS_ERR_OK ) @@ -3157,41 +2814,15 @@ static ivas_error decodeVoIP( delayNumSamples_orig[0] = -1; -#ifndef IVAS_RTPDUMP - rtpdumpDepacker.rtpdump = NULL; -#endif switch ( arg.inputFormat ) { case IVAS_DEC_INPUT_FORMAT_RTPDUMP: case IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF: -#ifdef IVAS_RTPDUMP -#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE -#ifdef RTP_S4_251135_CR26253_0016_REV1 - if ( ( error = IVAS_RTP_READER_Init( &ivasRtp, 0, arg.inputBitstreamFilename, arg.piOutputFilename, arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL, arg.outputWavFilename ) ) != IVAS_ERR_OK ) -#endif -#else if ( ( error = IVAS_RTP_READER_Init( &ivasRtp, arg.inputBitstreamFilename, arg.piOutputFilename, arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL, arg.outputWavFilename ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "error in IVAS_RTP_READER_Init(): %d\n", error ); goto cleanup; } -#else - f_rtpstream = fopen( arg.inputBitstreamFilename, "r" ); - - if ( f_rtpstream == NULL ) - { - fprintf( stderr, "could not open: %s\n", arg.inputBitstreamFilename ); - goto cleanup; - } - - rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_open( &rtpdumpDepacker, f_rtpstream, arg.inputFormat == IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF ); - if ( rtpdumpDepackerError != EVS_RTPDUMP_DEPACKER_NO_ERROR ) - { - fprintf( stderr, "error in EVS_RTPDUMP_DEPACKER_open(): %d\n", rtpdumpDepackerError ); - goto cleanup; - } -#endif break; case IVAS_DEC_INPUT_FORMAT_G192: auPtr = au; @@ -3233,25 +2864,13 @@ static ivas_error decodeVoIP( else { auPtr = au; /* might have been set to RTP packet in prev call */ -#ifdef IVAS_RTPDUMP -#ifdef RTP_S4_251135_CR26253_0016_REV1 error = IVAS_RTP_ReadNextFrame( &ivasRtp, auPtr, &auSize, &rtpTimeStamp, &rtpSequenceNumber, &nextPacketRcvTime_ms, NULL, &qBit ); -#else - error = IVAS_RTP_ReadNextFrame( &ivasRtp, auPtr, &auSize, &rtpTimeStamp, &rtpSequenceNumber, &nextPacketRcvTime_ms, &qBit ); -#endif initialTsOffsetSystemAndRTP = rtpTimeStamp - systemTime_ms * 16; /* For time mapping */ -#else - rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_readNextFrame( &rtpdumpDepacker, &rtpSequenceNumber, &rtpTimeStamp, &nextPacketRcvTime_ms, &isAMRWB_IOmode, &frameTypeIndex, &qBit, &auPtr, (uint16_t *) &auSize ); -#endif /* EVS RTP payload format has timescale 16000, JBM uses 1000 internally */ rtpTimeStamp = rtpTimeStamp / 16; } -#ifdef IVAS_RTPDUMP if ( error != IVAS_ERR_OK ) -#else - if ( error != IVAS_ERR_OK || rtpdumpDepackerError != EVS_RTPDUMP_DEPACKER_NO_ERROR ) -#endif { fprintf( stderr, "failed to read first RTP packet\n" ); goto cleanup; @@ -3280,7 +2899,6 @@ static ivas_error decodeVoIP( { nSamplesRendered = 0; -#ifdef DECODER_FORMAT_SWITCHING /* restart decoder in case of format switching */ if ( ivasRtp.restartNeeded ) { @@ -3289,11 +2907,7 @@ static ivas_error decodeVoIP( &hIvasDec, newDecModeInPacket, &arg, -#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART renderConfig, -#else - NULL, /* ToDo : Provide rendererConfig */ -#endif NULL /* ToDo : Provide LS Custom Data */ ) ) != IVAS_ERR_OK ) { @@ -3304,7 +2918,6 @@ static ivas_error decodeVoIP( *phIvasDec = hIvasDec; /* Update for main()' s free */ ivasRtp.restartNeeded = false; } -#endif /* reference vector */ if ( arg.enableReferenceVectorTracking && vec_pos_update == 0 ) @@ -3448,38 +3061,17 @@ static ivas_error decodeVoIP( else { auPtr = au; /* might have been set to RTP packet in prev call */ -#ifdef IVAS_RTPDUMP -#ifdef RTP_S4_251135_CR26253_0016_REV1 error = IVAS_RTP_ReadNextFrame( &ivasRtp, au, &auSize, &rtpTimeStamp, &rtpSequenceNumber, &nextPacketRcvTime_ms, NULL, &qBit ); -#else - error = IVAS_RTP_ReadNextFrame( &ivasRtp, au, &auSize, &rtpTimeStamp, &rtpSequenceNumber, &nextPacketRcvTime_ms, &qBit ); -#endif /* IVAS RTP payload format has timescale 16000, JBM uses 1000 internally */ rtpTimeStamp = rtpTimeStamp / 16; -#else - rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_readNextFrame( &rtpdumpDepacker, &rtpSequenceNumber, &rtpTimeStamp, - &nextPacketRcvTime_ms, - &isAMRWB_IOmode, &frameTypeIndex, &qBit, - &auPtr, (uint16_t *) &auSize ); - /* EVS RTP payload format has timescale 16000, JBM uses 1000 internally */ - rtpTimeStamp = rtpTimeStamp / 16; -#endif } -#ifdef IVAS_RTPDUMP if ( error == IVAS_ERR_END_OF_FILE ) -#else - if ( error == IVAS_ERR_END_OF_FILE || rtpdumpDepackerError == EVS_RTPDUMP_DEPACKER_EOF ) -#endif { /* finished reading */ nextPacketRcvTime_ms = (uint32_t) -1; } -#ifdef IVAS_RTPDUMP else if ( error != IVAS_ERR_OK ) -#else - else if ( error != IVAS_ERR_OK || rtpdumpDepackerError != EVS_RTPDUMP_DEPACKER_NO_ERROR ) -#endif { fprintf( stderr, "\nError in BS_Reader_ReadVoipFrame_compact, error code: %d\n", error ); goto cleanup; @@ -3503,7 +3095,6 @@ static ivas_error decodeVoIP( /* decode and get samples */ while ( nSamplesRendered < nOutSamples ) { -#ifdef IVAS_RTPDUMP if ( arg.applyPiData ) { /* Rudimentry Time Mapping to map system time to rtp timestamp */ @@ -3524,9 +3115,7 @@ static ivas_error decodeVoIP( ivasRtp.nProcPiData += numPiData; } -#endif -#ifdef FIX_1119_SPLIT_RENDERING_VOIP if ( isSplitRend ) { #ifdef SUPPORT_JBM_TRACEFILE @@ -3541,19 +3130,16 @@ static ivas_error decodeVoIP( } else { -#endif #ifdef SUPPORT_JBM_TRACEFILE if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, writeJbmTraceFileFrameWrapper, jbmTraceWriter, &bitstreamReadDone, &nSamplesRendered, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #else - if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, &bitstreamReadDone, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, (void *) pcmBuf, &bitstreamReadDone, ¶metersAvailableForEditing, systemTime_ms ) ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP } -#endif if ( bitstreamReadDone == true ) { @@ -3565,7 +3151,6 @@ static ivas_error decodeVoIP( return error; } -#ifdef DECODER_FORMAT_SWITCHING /* restart decoder in case of format switching */ if ( ( error = IVAS_DEC_isRestartNeeded( hIvasDec, &restartNeeded ) ) != IVAS_ERR_OK ) { @@ -3596,7 +3181,6 @@ static ivas_error decodeVoIP( *phIvasDec = hIvasDec; /* Update for main()' s free */ } -#endif /* Placeholder for memory reallocation */ /* ... */ @@ -3666,19 +3250,11 @@ static ivas_error decodeVoIP( /* Once good frame decoded, catch up */ if ( decodedGoodFrame ) { -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - SplitFileReadWrite *splitRendWriter = NULL; - -#endif if ( ( error = initOnFirstGoodFrame( hIvasDec, arg, numInitialBadFrames, &nOutSamples, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP &vec_pos_len, -#else - NULL, -#endif delayNumSamples_orig, &delayNumSamples, &delayTimeScale, @@ -3688,9 +3264,7 @@ static ivas_error decodeVoIP( ismWriters, &nOutChannels, &numObj, -#ifdef IVAS_RTPDUMP &srRtp, -#endif &splitRendWriter ) ) != IVAS_ERR_OK ) { goto cleanup; @@ -3703,13 +3277,8 @@ static ivas_error decodeVoIP( } /* Write current frame */ -#ifdef IVAS_RTPDUMP if ( !srRtp.hPack && decodedGoodFrame ) -#else - if ( decodedGoodFrame ) -#endif { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP if ( isSplitRend ) { if ( split_rend_write_bitstream_to_file( splitRendWriter, splitRendBits->bits_buf, &splitRendBits->bits_read, &splitRendBits->bits_written ) != IVAS_ERR_OK ) @@ -3721,7 +3290,6 @@ static ivas_error decodeVoIP( if ( !isSplitCoded ) { -#endif if ( delayNumSamples < nOutSamples ) { if ( ( error = AudioFileWriter_write( afWriter, &pcmBuf[delayNumSamples * nOutChannels], nOutSamples * nOutChannels - ( delayNumSamples * nOutChannels ) ) ) != IVAS_ERR_OK ) @@ -3735,9 +3303,7 @@ static ivas_error decodeVoIP( { delayNumSamples -= nOutSamples; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP } -#endif /* Write ISM metadata to external file(s) */ if ( decodedGoodFrame && arg.outputConfig == IVAS_AUDIO_CONFIG_EXTERNAL ) @@ -3792,20 +3358,15 @@ static ivas_error decodeVoIP( goto cleanup; } } -#ifdef IVAS_RTPDUMP IVAS_RTP_WriteExtPiData( ivasRtp.f_piExtOut, ivasRtp.piData, ivasRtp.nReadPiData, numObj ); -#endif } } -#ifdef IVAS_RTPDUMP else if ( decodedGoodFrame ) { srInfo.bitrateKbps = splitRendBits->bits_written * 1000 / splitRendBits->codec_frame_size_ms; srInfo.codec = ( splitRendBits->codec == ISAR_SPLIT_REND_CODEC_LC3PLUS ) ? IVAS_SR_TRANSPORT_LC3PLUS : IVAS_SR_TRANSPORT_LCLD; -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE srInfo.codecFrameSizeMs = (uint32_t) splitRendBits->codec_frame_size_ms; -#endif if ( ( error = IVAS_RTP_WriteNextFrame( &srRtp, splitRendBits->bits_buf, &srInfo, (int16_t) splitRendBits->bits_written, false, false ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError %s while pushing SR audio bitstream to RTP pack\n", ivas_error_to_string( error ) ); @@ -3814,7 +3375,6 @@ static ivas_error decodeVoIP( splitRendBits->bits_written = 0; splitRendBits->bits_read = 0; } -#endif vec_pos_update = ( vec_pos_update + 1 ) % vec_pos_len; if ( vec_pos_update == 0 ) @@ -3846,11 +3406,7 @@ static ivas_error decodeVoIP( goto cleanup; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP if ( nSamplesFlushed && !isSplitCoded ) -#else - if ( nSamplesFlushed ) -#endif { /* Write current frame */ if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, nSamplesFlushed * nOutChannels ) ) != IVAS_ERR_OK ) @@ -3912,10 +3468,8 @@ static ivas_error decodeVoIP( goto cleanup; } } -#ifdef IVAS_RTPDUMP IVAS_RTP_WriteExtPiData( ivasRtp.f_piExtOut, ivasRtp.piData, ivasRtp.nReadPiData, numObj ); -#endif } } @@ -3925,18 +3479,14 @@ static ivas_error decodeVoIP( memset( pcmBuf, 0, delayNumSamples_orig[0] * nOutChannels * sizeof( int16_t ) ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP if ( afWriter != NULL ) { -#endif if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, delayNumSamples_orig[0] * nOutChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError writing output file: %s\n", ivas_error_to_string( error ) ); goto cleanup; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP } -#endif /*------------------------------------------------------------------------------------------* * Printouts after decoding has finished @@ -3969,10 +3519,8 @@ static ivas_error decodeVoIP( { fprintf( stdout, "\nOutput MASA metadata file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); } -#ifdef IVAS_RTPDUMP fprintf( stdout, "\nOutput PI data file: %s\n", IVAS_RTP_GetExtPiFilePath( &ivasRtp ) ); -#endif } /*------------------------------------------------------------------------------------------* @@ -3983,16 +3531,10 @@ static ivas_error decodeVoIP( cleanup: -#ifdef IVAS_RTPDUMP IVAS_RTP_Term( &srRtp ); IVAS_RTP_Term( &ivasRtp ); -#else - EVS_RTPDUMP_DEPACKER_close( &rtpdumpDepacker ); -#endif AudioFileWriter_close( &afWriter ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP split_rend_reader_writer_close( &splitRendWriter ); -#endif JbmOffsetFileWriter_close( &jbmOffsetWriter ); #ifdef SUPPORT_JBM_TRACEFILE JbmTraceFileWriter_close( &jbmTraceWriter ); @@ -4043,11 +3585,7 @@ static void do_object_editing_fx( if ( readInfo->bg_gain_edited ) { -#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE editableParameters->gain_bed_fx = (Word32) ( readInfo->bg_gain * 536870912 ); /* Q29 */ -#else - editableParameters->gain_bed_fx = (Word32) readInfo->bg_gain * 536870912; /* Q29 */ -#endif } for ( obj_idx = 0; obj_idx < editableParameters->num_obj; obj_idx++ ) @@ -4060,19 +3598,11 @@ static void do_object_editing_fx( if ( readInfo->obj_azi_relative[obj_idx] ) { /* azimuth: apply relative edit + wrap */ -#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE editableParameters->ism_metadata[obj_idx].azimuth_fx = ( ( editableParameters->ism_metadata[obj_idx].azimuth_fx + (Word32) ( readInfo->obj_azi[obj_idx] * 4194304 ) + 2264924160 ) % 1509949440 ) - 754974720; /* Q22 */ -#else - editableParameters->ism_metadata[obj_idx].azimuth_fx = ( ( editableParameters->ism_metadata[obj_idx].azimuth_fx + (Word32) readInfo->obj_azi[obj_idx] * 4194304 + 2264924160 ) % 1509949440 ) - 754974720; /* Q22 */ -#endif } else { -#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE editableParameters->ism_metadata[obj_idx].azimuth_fx = (Word32) ( readInfo->obj_azi[obj_idx] * 4194304 ); /* Q22 */ -#else - editableParameters->ism_metadata[obj_idx].azimuth_fx = (Word32) readInfo->obj_azi[obj_idx] * 4194304; /* Q22 */ -#endif } } if ( readInfo->obj_ele_edited[obj_idx] ) @@ -4080,22 +3610,13 @@ static void do_object_editing_fx( if ( readInfo->obj_ele_relative[obj_idx] ) { /* elevation: apply relative edit + saturation */ -#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE editableParameters->ism_metadata[obj_idx].elevation_fx = L_max( L_min( editableParameters->ism_metadata[obj_idx].elevation_fx + (Word32) ( readInfo->obj_ele[obj_idx] * 4194304 ), 377487360 ), -377487360 ); /* Q22 */ -#else - editableParameters->ism_metadata[obj_idx].elevation_fx = L_max( L_min( editableParameters->ism_metadata[obj_idx].elevation_fx + (Word32) readInfo->obj_ele[obj_idx] * 4194304, 377487360 ), -377487360 ); /* Q22 */ -#endif } else { -#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE editableParameters->ism_metadata[obj_idx].elevation_fx = (Word32) ( readInfo->obj_ele[obj_idx] * 4194304 ); /* Q22 */ -#else - editableParameters->ism_metadata[obj_idx].elevation_fx = (Word32) readInfo->obj_ele[obj_idx] * 4194304; /* Q22 */ -#endif } } -#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA /* object direction editing only for diegetic objects */ if ( readInfo->obj_yaw_edited[obj_idx] ) { @@ -4145,7 +3666,6 @@ static void do_object_editing_fx( editableParameters->ism_metadata[obj_idx].radius_fx = (Word16) ( readInfo->obj_radius[obj_idx] * 512 ); /* Q9 */ } } -#endif } /* gain editing for all objects */ @@ -4154,23 +3674,11 @@ static void do_object_editing_fx( if ( readInfo->obj_gain_relative[obj_idx] ) { /* gain: apply relative edit + saturation */ -#ifdef FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES -#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE editableParameters->ism_metadata[obj_idx].gain_fx = L_max( L_min( L_shl_sat( Mpy_32_32( editableParameters->ism_metadata[obj_idx].gain_fx, (Word32) ( readInfo->obj_gain[obj_idx] * 536870912 ) ), 2 ), OBJ_EDIT_GAIN_MAX_FX ), OBJ_EDIT_GAIN_MIN_FX ); /* Q29*Q29 -> Q27 shift back to Q29 */ -#else - editableParameters->ism_metadata[obj_idx].gain_fx = L_max( L_min( L_shl_sat( Mpy_32_32( editableParameters->ism_metadata[obj_idx].gain_fx, (Word32) readInfo->obj_gain[obj_idx] * 536870912 ), 2 ), OBJ_EDIT_GAIN_MAX_FX ), OBJ_EDIT_GAIN_MIN_FX ); /* Q29*Q29 -> Q27 shift back to Q29 */ -#endif -#else - editableParameters->ism_metadata[obj_idx].gain_fx = L_max( L_min( editableParameters->ism_metadata[obj_idx].gain_fx * (Word32) readInfo->obj_gain[obj_idx] * 536870912, OBJ_EDIT_GAIN_MAX_FX ), OBJ_EDIT_GAIN_MIN_FX ); /* Q29 */ -#endif } else { -#ifdef FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE editableParameters->ism_metadata[obj_idx].gain_fx = (Word32) ( readInfo->obj_gain[obj_idx] * 536870912 ); /* Q29 */ -#else - editableParameters->ism_metadata[obj_idx].gain_fx = (Word32) readInfo->obj_gain[obj_idx] * 536870912; /* Q29 */ -#endif } } } @@ -4379,7 +3887,6 @@ static ivas_error load_hrtf_from_file( return IVAS_ERR_OK; } -#ifdef DECODER_FORMAT_SWITCHING /*---------------------------------------------------------------------* * restartDecoder() @@ -4420,15 +3927,9 @@ static ivas_error restartDecoder( uint16_t aeID = arg->aeSequence.count > 0 ? arg->aeSequence.pID[0] : 65535; IVAS_AUDIO_CONFIG outputConfig = ( decMode == IVAS_DEC_MODE_IVAS ) ? arg->outputConfig : IVAS_AUDIO_CONFIG_MONO; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE if ( ( error = IVAS_DEC_Configure( hIvasDec, arg->output_Fs, outputConfig, arg->renderFramesize, arg->customLsOutputEnabled, arg->hrtfReaderEnabled, arg->enableHeadRotation, arg->enableExternalOrientation, arg->orientation_tracking, arg->renderConfigEnabled, arg->roomSize, arg->non_diegetic_pan_enabled, arg->non_diegetic_pan_gain_fx, arg->dpidEnabled, aeID, arg->objEditEnabled, arg->delayCompensationEnabled ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_DEC_Configure( hIvasDec, arg->output_Fs, outputConfig, arg->renderFramesize, arg->customLsOutputEnabled, arg->hrtfReaderEnabled, - arg->enableHeadRotation, arg->enableExternalOrientation, arg->orientation_tracking, arg->renderConfigEnabled, arg->non_diegetic_pan_enabled, - arg->non_diegetic_pan_gain_fx, arg->dpidEnabled, aeID, arg->objEditEnabled, arg->delayCompensationEnabled ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; @@ -4440,24 +3941,6 @@ static ivas_error restartDecoder( goto cleanup; } -#ifndef FIX_SPLIT_RENDERING_ON_DECODER_RESTART - if ( arg->outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || arg->outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) - { - if ( ( error = IVAS_DEC_EnableSplitRendering( hIvasDec ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nSplit rendering configure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - if ( ( error = IVAS_DEC_GetRenderFramesize( hIvasDec, &arg->renderFramesize ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - arg->enableHeadRotation = true; - } -#endif if ( arg->voipMode ) { @@ -4474,14 +3957,12 @@ static ivas_error restartDecoder( goto cleanup; } -#ifdef FIX_SPLIT_RENDERING_ON_DECODER_RESTART /* ISAR frame size is set from command line, not renderer config file. * This will be ignored if output format is not split rendering. */ if ( renderConfig != NULL ) { renderConfig->split_rend_config.isar_frame_size_ms = (int16_t) arg->renderFramesize /* given in number of 5ms subframes */ * 5; } -#endif if ( arg->renderConfigEnabled && renderConfig != NULL ) { @@ -4509,6 +3990,5 @@ cleanup: return error; } -#endif #undef WMC_TOOL_SKIP diff --git a/apps/encoder.c b/apps/encoder.c index 551eee9af4130123b654c03d93c1bab6450a4350..9b2e63d676cd03f613e5b682d9d2b6956b3296ef 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "stl.h" #include "lib_enc.h" #include "cmdl_tools.h" @@ -44,24 +13,9 @@ #include "jbm_file_reader.h" #include "masa_file_reader.h" #include "wmc_auto.h" -#ifdef IVAS_RTPDUMP #include "rotation_file_reader.h" #include "ivas_rtp_file.h" -#endif -#ifdef DEBUG_FORCE_DIR -/* Windows does not define the S_ISREG and S_ISDIR macros in stat.h, so we do. - We have to define _CRT_INTERNAL_NONSTDC_NAMES 1 before #including sys/stat.h - in order for Microsoft's stat.h to define names like S_IFMT, S_IFREG, and S_IFDIR, - rather than just defining _S_IFMT, _S_IFREG, and _S_IFDIR as it normally does. */ -#include -#if !defined( S_ISREG ) && defined( S_IFMT ) && defined( S_IFREG ) -#define S_ISREG( m ) ( ( (m) &S_IFMT ) == S_IFREG ) -#endif -#if !defined( S_ISDIR ) && defined( S_IFMT ) && defined( S_IFDIR ) -#define S_ISDIR( m ) ( ( (m) &S_IFMT ) == S_IFDIR ) -#endif -#endif #define WMC_TOOL_SKIP @@ -69,18 +23,12 @@ * Local constants, enums *------------------------------------------------------------------------------------------*/ -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; /* Counter of frames */ -#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS #define RANDOM_INITSEED_ENC ( 0xDEAF ) -#else -#ifdef FIXED_RTP_SEQUENCE_NUM -#define RANDOM_INITSEED_ENC ( 0xFEEDDEAF ) -#endif -#endif #define DEFAULT_FIXED_SID_RATE 8 /* DTX SID rate */ @@ -90,10 +38,6 @@ typedef union _EncInputFormatConfig /* MONO details */ bool stereoToMonoDownmix; -#ifdef DEBUGGING - /* STEREO details */ - IVAS_ENC_STEREO_MODE stereoMode; -#endif /* ISM details */ struct EncIsmConfig @@ -158,21 +102,12 @@ typedef struct const char *ca_config_file; bool mimeOutput; IVAS_ENC_COMPLEXITY_LEVEL complexityLevel; -#ifdef DEBUGGING - IVAS_ENC_FORCED_MODE forcedMode; - const char *forcedModeFile; -#ifdef DEBUG_FORCE_DIR - const char *forcedModeDir; -#endif -#endif bool pca; bool ism_extended_metadata; -#ifdef IVAS_RTPDUMP bool rtpdumpOutput; uint32_t numFramesPerPacket; char *sceneOrientationTrajFileName; char *deviceOrientationTrajFileName; -#endif } EncArguments; @@ -185,10 +120,6 @@ static bool parseCmdlIVAS_enc( int16_t argc, char *argv[], EncArguments *arg ); static void usage_enc( void ); static bool readBandwidth( FILE *file, IVAS_ENC_BANDWIDTH *bandwidth, int32_t *bandwidthFrameCounter ); static bool readBitrate( FILE *file, int32_t *bitrate ); -#ifdef DEBUGGING -static ivas_error readForcedMode( FILE *file, IVAS_ENC_FORCED_MODE *forcedMode, int32_t *forceFrameCounter ); -static IVAS_ENC_FORCED_MODE parseForcedMode( char *forcedModeChar ); -#endif /*------------------------------------------------------------------------------------------* @@ -216,41 +147,23 @@ int main( MasaFileReader *masaReader = NULL; IsmFileReader *ismReaders[IVAS_MAX_NUM_OBJECTS] = { NULL, NULL, NULL, NULL }; int16_t *pcmBuf = NULL; -#ifdef IVAS_RTPDUMP RotFileReader *sceneOrientationFileReader = NULL; RotFileReader *deviceOrientationFileReader = NULL; -#endif -#ifdef DEBUGGING - FILE *f_forcedModeProfile = NULL; -#endif #ifdef WMOPS reset_wmops(); reset_mem( USE_BYTES ); #endif -#ifdef IVAS_RTPDUMP uint8_t au[IVAS_MAX_BITS_PER_FRAME / 8]; IVAS_RTP ivasRtp = { 0 }; -#endif -#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we use fixed seed for random num generator for regression based tests. Any realtime application should implement this initialization seperately */ uint16_t rtpEncSeed = RANDOM_INITSEED_ENC; uint32_t ssrc = ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) & 0x0000FFFF ) | ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) << 16 ); uint16_t seqNumInitVal = IVAS_RTP_OwnRandom( &rtpEncSeed ); -#else -#ifdef FIXED_RTP_SEQUENCE_NUM - /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we - use fixed seed for random num generator for regression based tests. Any realtime - application should implement this initialization seperately */ - srand( RANDOM_INITSEED_ENC ); - uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 ); - uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF ); -#endif -#endif /*------------------------------------------------------------------------------------------* * Parse command-line arguments @@ -278,11 +191,7 @@ int main( const BS_WRITER_FORMAT bsWriterFormat = arg.mimeOutput ? BS_WRITER_FORMAT_MIME : BS_WRITER_FORMAT_G192; -#ifdef IVAS_RTPDUMP if ( !arg.rtpdumpOutput && BS_Writer_Open_filename( &hBsWriter, arg.outputBitstreamFilename, bsWriterFormat ) != IVAS_ERR_OK ) -#else - if ( BS_Writer_Open_filename( &hBsWriter, arg.outputBitstreamFilename, bsWriterFormat ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nCan't open %s\n\n", arg.outputBitstreamFilename ); goto cleanup; @@ -415,14 +324,6 @@ int main( goto cleanup; } -#ifdef SUPPORT_FORCE_TCX10_TCX20 -#ifdef DEBUGGING - if ( arg.forcedMode == IVAS_ENC_FORCE_TCX10 && totalBitrate < 48000 ) - { - fprintf( stderr, "Warning: Enforcing the TCX10 mode is only supported for bitrates higher or equal than 48 kbps!\n\n" ); - } -#endif -#endif /*------------------------------------------------------------------------------------------* * Configure and initialize (allocate memory for static variables) the encoder @@ -438,11 +339,7 @@ int main( } break; case IVAS_ENC_INPUT_STEREO: -#ifdef DEBUGGING - if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural, arg.inputFormatConfig.stereoMode ) ) != IVAS_ERR_OK ) -#else if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nIVAS_ENC_ConfigureForStereo failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; @@ -590,20 +487,6 @@ int main( } } -#ifdef DEBUGGING - IVAS_ENC_FORCED_MODE forcedMode = arg.forcedMode; - int32_t force_profile_cnt = 0; - - if ( arg.forcedModeFile ) - { - if ( ( f_forcedModeProfile = fopen( arg.forcedModeFile, "rb" ) ) == NULL ) - { - fprintf( stderr, "\nError: Incorrect mode specification or the profile file could not be opened: %s\n\n", arg.forcedModeFile ); - usage_enc(); - goto cleanup; - } - } -#endif /*------------------------------------------------------------------------------------------* * Allocate input data buffer @@ -640,18 +523,13 @@ int main( } } -#ifdef IVAS_RTPDUMP /*------------------------------------------------------------------------------------------* * RTPDump *------------------------------------------------------------------------------------------*/ if ( arg.rtpdumpOutput ) { -#ifdef FIXED_RTP_SEQUENCE_NUM if ( ( error = IVAS_RTP_WRITER_Init( &ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket, ssrc, seqNumInitVal ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_RTP_WRITER_Init( &ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError: Can't open output bitstream file for RTP output %s \n\n", arg.outputBitstreamFilename ); goto cleanup; @@ -683,7 +561,6 @@ int main( goto cleanup; } } -#endif /*------------------------------------------------------------------------------------------* * Run the encoder @@ -787,31 +664,6 @@ int main( } } -#ifdef DEBUGGING - if ( f_forcedModeProfile ) - { - if ( ( error = readForcedMode( f_forcedModeProfile, &forcedMode, &force_profile_cnt ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError reading from file: %s\n%s\n", arg.forcedModeFile, IVAS_ENC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - /* Force mode not set when configuring, set in first frame even if not reading from file */ - if ( f_forcedModeProfile || frame == 0 ) - { - if ( ( error = IVAS_ENC_SetForcedMode( hIvasEnc, forcedMode -#ifdef DEBUG_FORCE_DIR - , - arg.forcedModeDir -#endif - ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_ENC_SetForcedMode failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); - goto cleanup; - } - } -#endif /* Read ISM input metadata */ for ( i = 0; i < numIsmInputs; ++i ) @@ -853,7 +705,6 @@ int main( } /* *** Encode one frame *** */ -#ifdef IVAS_RTPDUMP if ( ivasRtp.hPack ) { bool isMono = ( arg.inputFormat == IVAS_ENC_INPUT_MONO ); @@ -901,11 +752,7 @@ int main( goto cleanup; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( ( error = IVAS_RTP_WriteNextFrame( &ivasRtp, au, NULL, numBits, isMono, forcePacket ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_RTP_WriteNextFrame( &ivasRtp, au, numBits, isMono, forcePacket ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError %s while pushing audio frame to RTP pack\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; @@ -913,7 +760,6 @@ int main( } else { -#endif if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nencodeFrame failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); @@ -926,9 +772,7 @@ int main( fprintf( stderr, "\nBS_Writer_WriteFrame_short failed, error code %d\n\n", error ); goto cleanup; } -#ifdef IVAS_RTPDUMP } -#endif frame++; if ( !arg.quietModeEnabled ) @@ -997,7 +841,6 @@ cleanup: fclose( f_bitrateProfile ); } -#ifdef IVAS_RTPDUMP if ( sceneOrientationFileReader ) { RotationFileReader_close( &sceneOrientationFileReader ); @@ -1009,7 +852,6 @@ cleanup: } IVAS_RTP_Term( &ivasRtp ); -#endif IVAS_ENC_Close( &hIvasEnc ); @@ -1066,18 +908,9 @@ static bool parseCmdlIVAS_enc( arg->mimeOutput = false; arg->ism_extended_metadata = false; arg->complexityLevel = IVAS_ENC_COMPLEXITY_LEVEL_THREE; -#ifdef IVAS_RTPDUMP arg->rtpdumpOutput = false; arg->sceneOrientationTrajFileName = NULL; arg->deviceOrientationTrajFileName = NULL; -#endif -#ifdef DEBUGGING - arg->forcedMode = IVAS_ENC_FORCE_UNFORCED; - arg->forcedModeFile = NULL; -#ifdef DEBUG_FORCE_DIR - arg->forcedModeDir = NULL; -#endif -#endif arg->pca = false; /*-----------------------------------------------------------------* @@ -1190,83 +1023,6 @@ static bool parseCmdlIVAS_enc( return false; } } -#ifdef DEBUGGING - /*-----------------------------------------------------------------* - * Force specific mode - *-----------------------------------------------------------------*/ - - else if ( strcmp( argv_to_upper, "-FORCE" ) == 0 ) - { - strncpy( stmp, argv[i + 1], sizeof( stmp ) ); - - arg->forcedMode = parseForcedMode( stmp ); - -#ifdef DEBUG_FORCE_DIR - if ( arg->forcedMode < IVAS_ENC_FORCE_FILE ) - { - fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_FILE ) - { - arg->forcedModeFile = argv[i + 1]; - fprintf( stdout, "Force switching file: %s\n", argv[i + 1] ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_DIR ) - { - arg->forcedModeDir = argv[i + 1]; - fprintf( stdout, "Forcing switching directory: %s\n", argv[i + 1] ); - } - else - { - fprintf( stderr, "\nError: The force switching profile file/dir %s does not exist or could not be opened!\n\n", argv[i + 1] ); - usage_enc(); - return false; - } -#else - if ( arg->forcedMode == IVAS_ENC_FORCE_UNDEFINED ) - { - arg->forcedModeFile = argv[i + 1]; - fprintf( stdout, "Force switching file: %s\n", argv[i + 1] ); - } - else - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( arg->forcedMode == IVAS_ENC_FORCE_TCX10 ) - { - strcpy( stmp, "TCX10" ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_TCX20 ) - { - strcpy( stmp, "TCX20" ); - } - else - { - strncpy( stmp, argv[i + 1], sizeof( stmp ) ); - } - - fprintf( stdout, "Forcing codec to: %s\n", stmp ); -#else - fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] ); -#endif - } -#endif - - i += 2; - } -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - /*-----------------------------------------------------------------* - * Define additional subfolder for debug info output in ./res - *-----------------------------------------------------------------*/ - else if ( strcmp( argv_to_upper, "-INFO" ) == 0 ) - { - extern char infoFolder[FILENAME_MAX]; - strncpy( infoFolder, argv[i + 1], sizeof( infoFolder ) ); - i += 2; - } -#endif /* #ifdef DEBUG_MODE_INFO_TWEAK */ -#endif /* #ifdef DEBUG_MODE_INFO */ -#endif /* #ifdef DEBUGGING */ /*-----------------------------------------------------------------* * deactivate delay compensation @@ -1370,78 +1126,6 @@ static bool parseCmdlIVAS_enc( { i++; arg->inputFormat = IVAS_ENC_INPUT_STEREO; - -#ifdef DEBUGGING - if ( ( i < argc - 4 ) && argv[i][0] != 45 ) /* note: 45 corresponds to "-" */ - { - if ( sscanf( argv[i], "%d", &tmp ) > 0 ) - { - if ( tmp == 1 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_DFT; - i++; - } - else if ( tmp == 2 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_TD; - i++; - } - else if ( tmp == 3 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - i++; - - /* force mdct stereo mode for debugging purposes */ - if ( i < argc - 4 ) - { - if ( sscanf( argv[i], "%d", &tmp ) > 0 ) - { - if ( tmp == 0 ) - { - /* keep "DECISION" */ - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION; - i++; - } - else if ( tmp == 1 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR; - i++; - } - else if ( tmp == 2 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS; - i++; - } - else - { - fprintf( stderr, "Error: Incorrect mdct stereo coding method (%d) specified\n\n", tmp ); - usage_enc(); - return false; - } - } - } -#endif - } - else - { - fprintf( stderr, "Error: Incorrect stereo mode (%d) specified\n\n", tmp ); - usage_enc(); - return false; - } - } - else - { - fprintf( stderr, "Error: Stereo mode not specified.\n\n" ); /* in the debugging stage */ - usage_enc(); - return false; - } - } - else - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_UNIFIED; - } -#endif /* DEBUGGING */ } else if ( strcmp( argv_to_upper, "-BINAURAL" ) == 0 ) { @@ -1849,7 +1533,6 @@ static bool parseCmdlIVAS_enc( i++; } -#ifdef IVAS_RTPDUMP /*-----------------------------------------------------------------* * RTPDump output *-----------------------------------------------------------------*/ @@ -1915,7 +1598,6 @@ static bool parseCmdlIVAS_enc( i++; } -#endif /*-----------------------------------------------------------------* * Option not recognized @@ -2115,28 +1797,14 @@ static void usage_enc( void ) fprintf( stdout, "-pca : activate PCA in SBA format FOA at 256 kbps \n" ); fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" ); fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); -#ifdef DEBUGGING - fprintf( stdout, "-force T : Force specific mode, T = (speech, music, ACELP, GSC, TCX, HQ),\n" ); - fprintf( stdout, " alternatively, T can be a text file where each line contains \"nb_frames T\"\n" ); -#ifdef DEBUG_FORCE_DIR - fprintf( stdout, " or T can be a directory containing external binary files for modes/parameters enforcement\n" ); -#endif -#endif -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - fprintf( stdout, "-info : specify subfolder name for debug output\n" ); -#endif -#endif fprintf( stdout, "-q : Quiet mode, no frame counters\n" ); fprintf( stdout, " default is deactivated\n" ); -#ifdef IVAS_RTPDUMP fprintf( stdout, "-rtpdump : RTPDump output, hf_only=1 by default. The encoder will packetize the \n" ); fprintf( stdout, " bitstream frames into TS26.253 Annex A IVAS RTP Payload Format packets and \n" ); fprintf( stdout, " writes those to the output file. In EVS mono operating mode, TS26.445 Annex A.2.2 \n" ); fprintf( stdout, " EVS RTP Payload Format is used. Optional N represents number of frames per RTP packet\n" ); fprintf( stdout, "-scene_orientation : Scene orientation trajectory file. Only used with rtpdump output.\n" ); fprintf( stdout, "-device_orientation : Device orientation trajectory file. Only used with rtpdump output.\n" ); -#endif fprintf( stdout, "\n" ); return; @@ -2228,170 +1896,4 @@ static bool readBitrate( } -#ifdef DEBUGGING -/*---------------------------------------------------------------------* - * parseForcedMode() - * - * - *---------------------------------------------------------------------*/ - -static IVAS_ENC_FORCED_MODE parseForcedMode( - char *forcedModeChar ) -{ -#ifdef DEBUG_FORCE_DIR - struct stat path_stat; -#endif - - to_upper( forcedModeChar ); - -#ifdef DEBUG_FORCE_DIR - if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) || - ( strcmp( forcedModeChar, "0" ) == 0 ) ) - { - return IVAS_ENC_FORCE_SPEECH; - } - else if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) ) - { - return IVAS_ENC_FORCE_MUSIC; - } - else if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_ACELP; - } - else if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_GSC; - } - if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 ) -#ifdef SUPPORT_FORCE_TCX10_TCX20 - || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 ) -#endif - ) - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - return IVAS_ENC_FORCE_TCX20; -#else - return IVAS_ENC_FORCE_TCX; -#endif - } -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_TCX10; - } -#endif - else if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_HQ; - } - else - { - if ( stat( forcedModeChar, &path_stat ) != 0 ) - { - return IVAS_ENC_FORCE_UNDEFINED; - } - - /* check if the argument represents an existing file or directory */ - if ( S_ISDIR( path_stat.st_mode ) ) - { - /* it's a directory */ - return IVAS_ENC_FORCE_DIR; - } - else - { - /* it's a file */ - return IVAS_ENC_FORCE_FILE; - } - } -#else - if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) || - ( strcmp( forcedModeChar, "0" ) == 0 ) ) - { - return IVAS_ENC_FORCE_SPEECH; - } - if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) ) - { - return IVAS_ENC_FORCE_MUSIC; - } - if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_ACELP; - } - if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_GSC; - } - if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 ) -#ifdef SUPPORT_FORCE_TCX10_TCX20 - || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 ) -#endif - ) - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - return IVAS_ENC_FORCE_TCX20; -#else - return IVAS_ENC_FORCE_TCX; -#endif - } -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_TCX10; - } -#endif - if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_HQ; - } - - return IVAS_ENC_FORCE_UNDEFINED; -#endif -} - - -/*---------------------------------------------------------------------* - * readForcedMode() - * - * - *---------------------------------------------------------------------*/ - -static ivas_error readForcedMode( - FILE *file, - IVAS_ENC_FORCED_MODE *forcedMode, - int32_t *forceFrameCounter ) -{ - int16_t res; - char stmp[8]; - - if ( *forceFrameCounter == 0 ) - { - /* read next force and number of frames from the profile file */ - while ( ( res = (int16_t) fscanf( file, "%d %7s", forceFrameCounter, stmp ) ) != 2 && feof( file ) ) - { - rewind( file ); - } - - *forcedMode = parseForcedMode( stmp ); - - if ( *forcedMode == IVAS_ENC_FORCE_UNDEFINED ) - { - fprintf( stderr, "Error: incorect mode specification or the force profile file could not be opened: %s\n\n", stmp ); - return IVAS_ERR_WRONG_PARAMS; - } - - if ( res != 2 && !feof( file ) ) - { - fprintf( stderr, "Error: incorrect format of the force profile file (please ensure that it does not contain any empty lines)\n\n" ); - return IVAS_ERR_WRONG_PARAMS; - } - } - - /* current profile still active, only decrease the counter */ - ( *forceFrameCounter )--; - - return IVAS_ERR_OK; -} -#endif - - #undef WMC_TOOL_SKIP diff --git a/apps/encoder_fmtsw.c b/apps/encoder_fmtsw.c index 10d81fc2f8e6bdbae8eb8f3eb3a4abcab341870c..d4d33d1635bb2771743a8c378ef5d46201f0ce8a 100644 --- a/apps/encoder_fmtsw.c +++ b/apps/encoder_fmtsw.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "stl.h" #include "lib_enc.h" #include "cmdl_tools.h" @@ -44,24 +13,9 @@ #include "jbm_file_reader.h" #include "masa_file_reader.h" #include "wmc_auto.h" -#ifdef IVAS_RTPDUMP #include "rotation_file_reader.h" #include "ivas_rtp_file.h" -#endif -#ifdef DEBUG_FORCE_DIR -/* Windows does not define the S_ISREG and S_ISDIR macros in stat.h, so we do. - We have to define _CRT_INTERNAL_NONSTDC_NAMES 1 before #including sys/stat.h - in order for Microsoft's stat.h to define names like S_IFMT, S_IFREG, and S_IFDIR, - rather than just defining _S_IFMT, _S_IFREG, and _S_IFDIR as it normally does. */ -#include -#if !defined( S_ISREG ) && defined( S_IFMT ) && defined( S_IFREG ) -#define S_ISREG( m ) ( ( (m) &S_IFMT ) == S_IFREG ) -#endif -#if !defined( S_ISDIR ) && defined( S_IFMT ) && defined( S_IFDIR ) -#define S_ISDIR( m ) ( ( (m) &S_IFMT ) == S_IFDIR ) -#endif -#endif #define WMC_TOOL_SKIP @@ -72,18 +26,12 @@ #define MAX_ARGV 20 /* maximum number of command line arguments that can be \ in one line of the format switching file */ -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; /* Counter of frames */ -#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS #define RANDOM_INITSEED_ENC ( 0xDEAF ) -#else -#ifdef FIXED_RTP_SEQUENCE_NUM -#define RANDOM_INITSEED_ENC ( 0xFEEDDEAF ) -#endif -#endif #define DEFAULT_FIXED_SID_RATE 8 /* DTX SID rate */ @@ -93,10 +41,6 @@ typedef union _EncInputFormatConfig /* MONO details */ bool stereoToMonoDownmix; -#ifdef DEBUGGING - /* STEREO details */ - IVAS_ENC_STEREO_MODE stereoMode; -#endif /* ISM details */ struct EncIsmConfig @@ -161,21 +105,12 @@ typedef struct const char *ca_config_file; bool mimeOutput; IVAS_ENC_COMPLEXITY_LEVEL complexityLevel; -#ifdef DEBUGGING - IVAS_ENC_FORCED_MODE forcedMode; - const char *forcedModeFile; -#ifdef DEBUG_FORCE_DIR - const char *forcedModeDir; -#endif -#endif bool pca; bool ism_extended_metadata; -#ifdef IVAS_RTPDUMP bool rtpdumpOutput; uint32_t numFramesPerPacket; char *sceneOrientationTrajFileName; char *deviceOrientationTrajFileName; -#endif } EncArguments; @@ -188,16 +123,8 @@ static bool parseCmdlIVAS_enc( int16_t argc, char *argv[], EncArguments *arg ); static void usage_enc( void ); static bool readBandwidth( FILE *file, IVAS_ENC_BANDWIDTH *bandwidth, int32_t *bandwidthFrameCounter ); static bool readBitrate( FILE *file, int32_t *bitrate ); -#ifdef DEBUGGING -static ivas_error readForcedMode( FILE *file, IVAS_ENC_FORCED_MODE *forcedMode, int32_t *forceFrameCounter ); -static IVAS_ENC_FORCED_MODE parseForcedMode( char *forcedModeChar ); -#endif static void str2arg( char *str, int *argc_local, char *argv_local[] ); -#ifdef IVAS_RTPDUMP static int encoder_main( int argc, char *argv[], IVAS_RTP *ivasRtp, int init_RtpWriter ); -#else -static int encoder_main( int argc, char *argv[] ); -#endif /*------------------------------------------------------------------------------------------* * main() @@ -215,11 +142,9 @@ int main( char line[2048]; int argc_local = 0; char *argv_local[MAX_ARGV] = { 0 }; -#ifdef IVAS_RTPDUMP IVAS_RTP ivasRtp = { 0 }; char prev_outputBitstreamFilename[2048] = { 0 }; int rtp_term = 0; -#endif IVAS_ENC_PrintDisclaimer(); @@ -244,7 +169,6 @@ int main( printf( "Processing format switching commandline: %s\n", line ); str2arg( line, &argc_local, argv_local ); -#ifdef IVAS_RTPDUMP if ( strcmp( argv_local[argc_local - 1], (char *) prev_outputBitstreamFilename ) == 0 ) { /* append to last Rtp file */ @@ -269,9 +193,6 @@ int main( rtp_term = 1; } strcpy( (char *) prev_outputBitstreamFilename, argv_local[argc_local - 1] ); -#else - encoder_main( argc_local, argv_local ); -#endif } /*------------------------------------------------------------------------------------------* @@ -282,9 +203,7 @@ int main( cleanup: -#ifdef IVAS_RTPDUMP IVAS_RTP_Term( &ivasRtp ); -#endif if ( FmtSWFile ) { fclose( FmtSWFile ); @@ -318,13 +237,9 @@ void str2arg( int encoder_main( int argc, -#ifdef IVAS_RTPDUMP char *argv[], IVAS_RTP *ivasRtp, int init_RtpWriter ) -#else - char *argv[] ) -#endif { bool mainFailed = true; /* Assume main failed until cleanup is reached without errors */ EncArguments arg; @@ -341,41 +256,23 @@ int encoder_main( MasaFileReader *masaReader = NULL; IsmFileReader *ismReaders[IVAS_MAX_NUM_OBJECTS] = { NULL, NULL, NULL, NULL }; int16_t *pcmBuf = NULL; -#ifdef IVAS_RTPDUMP RotFileReader *sceneOrientationFileReader = NULL; RotFileReader *deviceOrientationFileReader = NULL; -#endif -#ifdef DEBUGGING - FILE *f_forcedModeProfile = NULL; -#endif #ifdef WMOPS reset_wmops(); reset_mem( USE_BYTES ); #endif -#ifdef IVAS_RTPDUMP uint8_t au[IVAS_MAX_BITS_PER_FRAME / 8]; /* IVAS_RTP ivasRtp = { 0 }; */ -#endif -#ifdef NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we use fixed seed for random num generator for regression based tests. Any realtime application should implement this initialization seperately */ uint16_t rtpEncSeed = RANDOM_INITSEED_ENC; uint32_t ssrc = ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) & 0x0000FFFF ) | ( (uint32_t) IVAS_RTP_OwnRandom( &rtpEncSeed ) << 16 ); uint16_t seqNumInitVal = IVAS_RTP_OwnRandom( &rtpEncSeed ); -#else -#ifdef FIXED_RTP_SEQUENCE_NUM - /* Ideally ssrc is negotiated via SDP and sequence number is radomized but we - use fixed seed for random num generator for regression based tests. Any realtime - application should implement this initialization seperately */ - srand( RANDOM_INITSEED_ENC ); - uint32_t ssrc = ( (uint32_t) rand() & 0x0000FFFF ) | ( (uint32_t) rand() << 16 ); - uint16_t seqNumInitVal = (uint16_t) ( rand() & 0xFFFF ); -#endif -#endif /*------------------------------------------------------------------------------------------* * Parse command-line arguments @@ -401,11 +298,7 @@ int encoder_main( const BS_WRITER_FORMAT bsWriterFormat = arg.mimeOutput ? BS_WRITER_FORMAT_MIME : BS_WRITER_FORMAT_G192; -#ifdef IVAS_RTPDUMP if ( !arg.rtpdumpOutput && BS_Writer_Open_filename( &hBsWriter, arg.outputBitstreamFilename, bsWriterFormat ) != IVAS_ERR_OK ) -#else - if ( BS_Writer_Open_filename( &hBsWriter, arg.outputBitstreamFilename, bsWriterFormat ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nCan't open %s\n\n", arg.outputBitstreamFilename ); goto cleanup; @@ -538,14 +431,6 @@ int encoder_main( goto cleanup; } -#ifdef SUPPORT_FORCE_TCX10_TCX20 -#ifdef DEBUGGING - if ( arg.forcedMode == IVAS_ENC_FORCE_TCX10 && totalBitrate < 48000 ) - { - fprintf( stderr, "Warning: Enforcing the TCX10 mode is only supported for bitrates higher or equal than 48 kbps!\n\n" ); - } -#endif -#endif /*------------------------------------------------------------------------------------------* * Configure and initialize (allocate memory for static variables) the encoder @@ -561,11 +446,7 @@ int encoder_main( } break; case IVAS_ENC_INPUT_STEREO: -#ifdef DEBUGGING - if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural, arg.inputFormatConfig.stereoMode ) ) != IVAS_ERR_OK ) -#else if ( ( error = IVAS_ENC_ConfigureForStereo( hIvasEnc, arg.inputFs, totalBitrate, arg.max_bwidth_user, bandwidth, arg.dtxConfig, arg.is_binaural ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nIVAS_ENC_ConfigureForStereo failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; @@ -713,20 +594,6 @@ int encoder_main( } } -#ifdef DEBUGGING - IVAS_ENC_FORCED_MODE forcedMode = arg.forcedMode; - int32_t force_profile_cnt = 0; - - if ( arg.forcedModeFile ) - { - if ( ( f_forcedModeProfile = fopen( arg.forcedModeFile, "rb" ) ) == NULL ) - { - fprintf( stderr, "\nError: Incorrect mode specification or the profile file could not be opened: %s\n\n", arg.forcedModeFile ); - usage_enc(); - goto cleanup; - } - } -#endif /*------------------------------------------------------------------------------------------* * Allocate input data buffer @@ -763,18 +630,13 @@ int encoder_main( } } -#ifdef IVAS_RTPDUMP /*------------------------------------------------------------------------------------------* * RTPDump *------------------------------------------------------------------------------------------*/ if ( arg.rtpdumpOutput && init_RtpWriter ) { -#ifdef FIXED_RTP_SEQUENCE_NUM if ( ( error = IVAS_RTP_WRITER_Init( ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket, ssrc, seqNumInitVal ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_RTP_WRITER_Init( ivasRtp, arg.outputBitstreamFilename, arg.numFramesPerPacket ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError: Can't open output bitstream file for RTP output %s \n\n", arg.outputBitstreamFilename ); goto cleanup; @@ -806,7 +668,6 @@ int encoder_main( goto cleanup; } } -#endif /*------------------------------------------------------------------------------------------* * Run the encoder @@ -910,31 +771,6 @@ int encoder_main( } } -#ifdef DEBUGGING - if ( f_forcedModeProfile ) - { - if ( ( error = readForcedMode( f_forcedModeProfile, &forcedMode, &force_profile_cnt ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError reading from file: %s\n%s\n", arg.forcedModeFile, IVAS_ENC_GetErrorMessage( error ) ); - goto cleanup; - } - } - - /* Force mode not set when configuring, set in first frame even if not reading from file */ - if ( f_forcedModeProfile || frame == 0 ) - { - if ( ( error = IVAS_ENC_SetForcedMode( hIvasEnc, forcedMode -#ifdef DEBUG_FORCE_DIR - , - arg.forcedModeDir -#endif - ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nIVAS_ENC_SetForcedMode failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); - goto cleanup; - } - } -#endif /* Read ISM input metadata */ for ( i = 0; i < numIsmInputs; ++i ) @@ -976,7 +812,6 @@ int encoder_main( } /* *** Encode one frame *** */ -#ifdef IVAS_RTPDUMP if ( ivasRtp->hPack ) { bool isMono = ( arg.inputFormat == IVAS_ENC_INPUT_MONO ); @@ -1024,11 +859,7 @@ int encoder_main( goto cleanup; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( ( error = IVAS_RTP_WriteNextFrame( ivasRtp, au, NULL, numBits, isMono, forcePacket ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_RTP_WriteNextFrame( ivasRtp, au, numBits, isMono, forcePacket ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError %s while pushing audio frame to RTP pack\n", IVAS_ENC_GetErrorMessage( error ) ); goto cleanup; @@ -1036,7 +867,6 @@ int encoder_main( } else { -#endif if ( ( error = IVAS_ENC_EncodeFrameToSerial( hIvasEnc, pcmBuf, pcmBufSize, bitStream, &numBits ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nencodeFrame failed: %s\n\n", IVAS_ENC_GetErrorMessage( error ) ); @@ -1049,9 +879,7 @@ int encoder_main( fprintf( stderr, "\nBS_Writer_WriteFrame_short failed, error code %d\n\n", error ); goto cleanup; } -#ifdef IVAS_RTPDUMP } -#endif frame++; if ( !arg.quietModeEnabled ) @@ -1120,7 +948,6 @@ cleanup: fclose( f_bitrateProfile ); } -#ifdef IVAS_RTPDUMP if ( sceneOrientationFileReader ) { RotationFileReader_close( &sceneOrientationFileReader ); @@ -1132,7 +959,6 @@ cleanup: } /* IVAS_RTP_Term( &ivasRtp ); */ -#endif IVAS_ENC_Close( &hIvasEnc ); @@ -1185,18 +1011,9 @@ static bool parseCmdlIVAS_enc( arg->mimeOutput = false; arg->ism_extended_metadata = false; arg->complexityLevel = IVAS_ENC_COMPLEXITY_LEVEL_THREE; -#ifdef IVAS_RTPDUMP arg->rtpdumpOutput = false; arg->sceneOrientationTrajFileName = NULL; arg->deviceOrientationTrajFileName = NULL; -#endif -#ifdef DEBUGGING - arg->forcedMode = IVAS_ENC_FORCE_UNFORCED; - arg->forcedModeFile = NULL; -#ifdef DEBUG_FORCE_DIR - arg->forcedModeDir = NULL; -#endif -#endif arg->pca = false; /*-----------------------------------------------------------------* @@ -1309,83 +1126,6 @@ static bool parseCmdlIVAS_enc( return false; } } -#ifdef DEBUGGING - /*-----------------------------------------------------------------* - * Force specific mode - *-----------------------------------------------------------------*/ - - else if ( strcmp( argv_to_upper, "-FORCE" ) == 0 ) - { - strncpy( stmp, argv[i + 1], sizeof( stmp ) ); - - arg->forcedMode = parseForcedMode( stmp ); - -#ifdef DEBUG_FORCE_DIR - if ( arg->forcedMode < IVAS_ENC_FORCE_FILE ) - { - fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_FILE ) - { - arg->forcedModeFile = argv[i + 1]; - fprintf( stdout, "Force switching file: %s\n", argv[i + 1] ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_DIR ) - { - arg->forcedModeDir = argv[i + 1]; - fprintf( stdout, "Forcing switching directory: %s\n", argv[i + 1] ); - } - else - { - fprintf( stderr, "\nError: The force switching profile file/dir %s does not exist or could not be opened!\n\n", argv[i + 1] ); - usage_enc(); - return false; - } -#else - if ( arg->forcedMode == IVAS_ENC_FORCE_UNDEFINED ) - { - arg->forcedModeFile = argv[i + 1]; - fprintf( stdout, "Force switching file: %s\n", argv[i + 1] ); - } - else - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( arg->forcedMode == IVAS_ENC_FORCE_TCX10 ) - { - strcpy( stmp, "TCX10" ); - } - else if ( arg->forcedMode == IVAS_ENC_FORCE_TCX20 ) - { - strcpy( stmp, "TCX20" ); - } - else - { - strncpy( stmp, argv[i + 1], sizeof( stmp ) ); - } - - fprintf( stdout, "Forcing codec to: %s\n", stmp ); -#else - fprintf( stdout, "Forcing codec to: %s\n", argv[i + 1] ); -#endif - } -#endif - - i += 2; - } -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - /*-----------------------------------------------------------------* - * Define additional subfolder for debug info output in ./res - *-----------------------------------------------------------------*/ - else if ( strcmp( argv_to_upper, "-INFO" ) == 0 ) - { - extern char infoFolder[FILENAME_MAX]; - strncpy( infoFolder, argv[i + 1], sizeof( infoFolder ) ); - i += 2; - } -#endif /* #ifdef DEBUG_MODE_INFO_TWEAK */ -#endif /* #ifdef DEBUG_MODE_INFO */ -#endif /* #ifdef DEBUGGING */ /*-----------------------------------------------------------------* * deactivate delay compensation @@ -1489,78 +1229,6 @@ static bool parseCmdlIVAS_enc( { i++; arg->inputFormat = IVAS_ENC_INPUT_STEREO; - -#ifdef DEBUGGING - if ( ( i < argc - 4 ) && argv[i][0] != 45 ) /* note: 45 corresponds to "-" */ - { - if ( sscanf( argv[i], "%d", &tmp ) > 0 ) - { - if ( tmp == 1 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_DFT; - i++; - } - else if ( tmp == 2 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_TD; - i++; - } - else if ( tmp == 3 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - i++; - - /* force mdct stereo mode for debugging purposes */ - if ( i < argc - 4 ) - { - if ( sscanf( argv[i], "%d", &tmp ) > 0 ) - { - if ( tmp == 0 ) - { - /* keep "DECISION" */ - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_DECISION; - i++; - } - else if ( tmp == 1 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR; - i++; - } - else if ( tmp == 2 ) - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS; - i++; - } - else - { - fprintf( stderr, "Error: Incorrect mdct stereo coding method (%d) specified\n\n", tmp ); - usage_enc(); - return false; - } - } - } -#endif - } - else - { - fprintf( stderr, "Error: Incorrect stereo mode (%d) specified\n\n", tmp ); - usage_enc(); - return false; - } - } - else - { - fprintf( stderr, "Error: Stereo mode not specified.\n\n" ); /* in the debugging stage */ - usage_enc(); - return false; - } - } - else - { - arg->inputFormatConfig.stereoMode = IVAS_ENC_STEREO_MODE_UNIFIED; - } -#endif /* DEBUGGING */ } else if ( strcmp( argv_to_upper, "-BINAURAL" ) == 0 ) { @@ -1968,7 +1636,6 @@ static bool parseCmdlIVAS_enc( i++; } -#ifdef IVAS_RTPDUMP /*-----------------------------------------------------------------* * RTPDump output *-----------------------------------------------------------------*/ @@ -2032,7 +1699,6 @@ static bool parseCmdlIVAS_enc( i++; } -#endif /*-----------------------------------------------------------------* * Option not recognized @@ -2232,28 +1898,14 @@ static void usage_enc( void ) fprintf( stdout, "-pca : activate PCA in SBA format FOA at 256 kbps \n" ); fprintf( stdout, "-level level : Complexity level, level = (1, 2, 3), will be defined after characterisation. \n" ); fprintf( stdout, " Currently, all values default to level 3 (full functionality).\n" ); -#ifdef DEBUGGING - fprintf( stdout, "-force T : Force specific mode, T = (speech, music, ACELP, GSC, TCX, HQ),\n" ); - fprintf( stdout, " alternatively, T can be a text file where each line contains \"nb_frames T\"\n" ); -#ifdef DEBUG_FORCE_DIR - fprintf( stdout, " or T can be a directory containing external binary files for modes/parameters enforcement\n" ); -#endif -#endif -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - fprintf( stdout, "-info : specify subfolder name for debug output\n" ); -#endif -#endif fprintf( stdout, "-q : Quiet mode, no frame counters\n" ); fprintf( stdout, " default is deactivated\n" ); -#ifdef IVAS_RTPDUMP fprintf( stdout, "-rtpdump : RTPDump output, hf_only=1 by default. The encoder will packetize the \n" ); fprintf( stdout, " bitstream frames into TS26.253 Annex A IVAS RTP Payload Format packets and \n" ); fprintf( stdout, " writes those to the output file. In EVS mono operating mode, TS26.445 Annex A.2.2 \n" ); fprintf( stdout, " EVS RTP Payload Format is used. Optional N represents number of frames per RTP packet\n" ); fprintf( stdout, "-scene_orientation : Scene orientation trajectory file. Only used with rtpdump output.\n" ); fprintf( stdout, "-device_orientation : Device orientation trajectory file. Only used with rtpdump output.\n" ); -#endif fprintf( stdout, "\n" ); return; @@ -2345,170 +1997,4 @@ static bool readBitrate( } -#ifdef DEBUGGING -/*---------------------------------------------------------------------* - * parseForcedMode() - * - * - *---------------------------------------------------------------------*/ - -static IVAS_ENC_FORCED_MODE parseForcedMode( - char *forcedModeChar ) -{ -#ifdef DEBUG_FORCE_DIR - struct stat path_stat; -#endif - - to_upper( forcedModeChar ); - -#ifdef DEBUG_FORCE_DIR - if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) || - ( strcmp( forcedModeChar, "0" ) == 0 ) ) - { - return IVAS_ENC_FORCE_SPEECH; - } - else if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) ) - { - return IVAS_ENC_FORCE_MUSIC; - } - else if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_ACELP; - } - else if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_GSC; - } - if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 ) -#ifdef SUPPORT_FORCE_TCX10_TCX20 - || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 ) -#endif - ) - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - return IVAS_ENC_FORCE_TCX20; -#else - return IVAS_ENC_FORCE_TCX; -#endif - } -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_TCX10; - } -#endif - else if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_HQ; - } - else - { - if ( stat( forcedModeChar, &path_stat ) != 0 ) - { - return IVAS_ENC_FORCE_UNDEFINED; - } - - /* check if the argument represents an existing file or directory */ - if ( S_ISDIR( path_stat.st_mode ) ) - { - /* it's a directory */ - return IVAS_ENC_FORCE_DIR; - } - else - { - /* it's a file */ - return IVAS_ENC_FORCE_FILE; - } - } -#else - if ( ( strcmp( forcedModeChar, "SPEECH" ) == 0 ) || ( strcmp( forcedModeChar, "'SPEECH'" ) == 0 ) || - ( strcmp( forcedModeChar, "0" ) == 0 ) ) - { - return IVAS_ENC_FORCE_SPEECH; - } - if ( ( strcmp( forcedModeChar, "MUSIC" ) == 0 ) || ( strcmp( forcedModeChar, "'MUSIC'" ) == 0 ) || ( strcmp( forcedModeChar, "AUDIO" ) == 0 ) || ( strcmp( forcedModeChar, "'AUDIO'" ) == 0 ) || ( strcmp( forcedModeChar, "1" ) == 0 ) ) - { - return IVAS_ENC_FORCE_MUSIC; - } - if ( ( strcmp( forcedModeChar, "ACELP" ) == 0 ) || ( strcmp( forcedModeChar, "'ACELP'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_ACELP; - } - if ( ( strcmp( forcedModeChar, "GSC" ) == 0 ) || ( strcmp( forcedModeChar, "'GSC'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_GSC; - } - if ( ( strcmp( forcedModeChar, "TCX" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX'" ) == 0 ) -#ifdef SUPPORT_FORCE_TCX10_TCX20 - || ( strcmp( forcedModeChar, "TCX20" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX20'" ) == 0 ) -#endif - ) - { -#ifdef SUPPORT_FORCE_TCX10_TCX20 - return IVAS_ENC_FORCE_TCX20; -#else - return IVAS_ENC_FORCE_TCX; -#endif - } -#ifdef SUPPORT_FORCE_TCX10_TCX20 - if ( ( strcmp( forcedModeChar, "TCX10" ) == 0 ) || ( strcmp( forcedModeChar, "'TCX10'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_TCX10; - } -#endif - if ( ( strcmp( forcedModeChar, "HQ" ) == 0 ) || ( strcmp( forcedModeChar, "'HQ'" ) == 0 ) ) - { - return IVAS_ENC_FORCE_HQ; - } - - return IVAS_ENC_FORCE_UNDEFINED; -#endif -} - - -/*---------------------------------------------------------------------* - * readForcedMode() - * - * - *---------------------------------------------------------------------*/ - -static ivas_error readForcedMode( - FILE *file, - IVAS_ENC_FORCED_MODE *forcedMode, - int32_t *forceFrameCounter ) -{ - int16_t res; - char stmp[8]; - - if ( *forceFrameCounter == 0 ) - { - /* read next force and number of frames from the profile file */ - while ( ( res = (int16_t) fscanf( file, "%d %7s", forceFrameCounter, stmp ) ) != 2 && feof( file ) ) - { - rewind( file ); - } - - *forcedMode = parseForcedMode( stmp ); - - if ( *forcedMode == IVAS_ENC_FORCE_UNDEFINED ) - { - fprintf( stderr, "Error: incorect mode specification or the force profile file could not be opened: %s\n\n", stmp ); - return IVAS_ERR_WRONG_PARAMS; - } - - if ( res != 2 && !feof( file ) ) - { - fprintf( stderr, "Error: incorrect format of the force profile file (please ensure that it does not contain any empty lines)\n\n" ); - return IVAS_ERR_WRONG_PARAMS; - } - } - - /* current profile still active, only decrease the counter */ - ( *forceFrameCounter )--; - - return IVAS_ERR_OK; -} -#endif - - #undef WMC_TOOL_SKIP diff --git a/apps/isar_post_rend.c b/apps/isar_post_rend.c index a2933f432deafac4f5f3f60ee48d33870def260c..e64726a6050045e07841ef8ec7e867fc55d4ee57 100644 --- a/apps/isar_post_rend.c +++ b/apps/isar_post_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "lib_isar_post_rend.h" #include @@ -42,14 +14,9 @@ #include "rotation_file_reader.h" #include "split_render_file_read_write.h" #include "split_rend_bfi_file_reader.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "stl.h" #include "wmc_auto.h" -#ifdef RTP_S4_251135_CR26253_0016_REV1 #include "ivas_rtp_file.h" -#endif #define WMC_TOOL_SKIP @@ -65,7 +32,7 @@ #define ISAR_MAX16B_FX 32767 #define ISAR_MIN16B_FX ( -32768 ) -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; @@ -82,9 +49,7 @@ static typedef struct { -#ifdef RTP_S4_251135_CR26253_0016_REV1 bool srRtp; -#endif IVAS_AUDIO_CONFIG audioConfig; int32_t inputChannelIndex; float gain_dB; @@ -106,9 +71,7 @@ typedef struct char executableName[POST_REND_MAX_CLI_ARG_LENGTH]; char inputFilePath[POST_REND_MAX_CLI_ARG_LENGTH]; char outputFilePath[POST_REND_MAX_CLI_ARG_LENGTH]; -#ifdef RTP_S4_251135_CR26253_0016_REV1 char srParamsFilePath[POST_REND_MAX_CLI_ARG_LENGTH]; -#endif int32_t sampleRate; InputConfig inConfig; OutputConfig outConfig; @@ -138,9 +101,7 @@ typedef enum CmdLnOptionId_listFormats, CmdLnOptionId_SplitRendBFIFile, CmdLnOptionId_framing, -#ifdef RTP_S4_251135_CR26253_0016_REV1 CmdLnOptionId_srParamsFile, -#endif } CmdLnOptionId; static const CmdLnParser_Option cliOptions[] = { @@ -216,14 +177,12 @@ static const CmdLnParser_Option cliOptions[] = { .matchShort = "fr", .description = "Set Render audio framing.", }, -#ifdef RTP_S4_251135_CR26253_0016_REV1 { .id = CmdLnOptionId_srParamsFile, .match = "sr_params", .matchShort = "s", .description = "Path to the split rendering init params file", }, -#endif }; @@ -235,11 +194,7 @@ static const int32_t numCliOptions = sizeof( cliOptions ) / sizeof( CmdLnParser_ static void printSupportedAudioConfigs( void ); -#ifdef RTP_S4_251135_CR26253_0016_REV1 static IVAS_AUDIO_CONFIG parseAudioConfig( const char *configString, bool *srRtp ); -#else -static IVAS_AUDIO_CONFIG parseAudioConfig( const char *configString ); -#endif static void convertOutputBuffer( const Word32 *fixedBuffer, Word16 q, const int16_t numSamplesPerChannel, const int16_t numChannels, int16_t *intBuffer ); @@ -327,20 +282,14 @@ static bool parseInConfig( } /* Check for single-format inputs. The given string should map to a member of AUDIO_CONFIG enum. */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 bool srRtp = false; IVAS_AUDIO_CONFIG audioConfig = parseAudioConfig( inFormatStr, &srRtp ); -#else - IVAS_AUDIO_CONFIG audioConfig = parseAudioConfig( inFormatStr ); -#endif switch ( audioConfig ) { case IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED: case IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM: inConfig->numBinBuses = 1; -#ifdef RTP_S4_251135_CR26253_0016_REV1 inConfig->binBuses[0].srRtp = srRtp; -#endif inConfig->binBuses[0].audioConfig = audioConfig; inConfig->binBuses[0].inputChannelIndex = 0; inConfig->binBuses[0].gain_dB = 0.0f; @@ -391,19 +340,13 @@ static bool parseRenderFramesize( static IVAS_AUDIO_CONFIG parseAudioConfig( -#ifdef RTP_S4_251135_CR26253_0016_REV1 const char *configString, bool *srRtp ) -#else - const char *configString ) -#endif { char charBuf[25]; charBuf[24] = '\0'; -#ifdef RTP_S4_251135_CR26253_0016_REV1 *srRtp = false; -#endif strncpy( charBuf, configString, sizeof( charBuf ) - 1 ); charBuf[sizeof( charBuf ) - 1] = '\0'; to_upper( charBuf ); @@ -420,13 +363,11 @@ static IVAS_AUDIO_CONFIG parseAudioConfig( { return IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( strcmp( charBuf, "RTPDUMP" ) == 0 ) { *srRtp = true; return IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED; } -#endif return IVAS_AUDIO_CONFIG_INVALID; } @@ -483,9 +424,7 @@ static CmdlnArgs defaultArgs( strncpy( args.executableName, executableName, POST_REND_MAX_CLI_ARG_LENGTH ); clearString( args.inputFilePath ); clearString( args.outputFilePath ); -#ifdef RTP_S4_251135_CR26253_0016_REV1 clearString( args.srParamsFilePath ); -#endif args.sampleRate = 0; args.outConfig.audioConfig = IVAS_AUDIO_CONFIG_INVALID; @@ -593,12 +532,10 @@ static void parseOption( } break; -#ifdef RTP_S4_251135_CR26253_0016_REV1 case CmdLnOptionId_srParamsFile: assert( numOptionValues == 1 ); strncpy( args->srParamsFilePath, optionValues[0], POST_REND_MAX_CLI_ARG_LENGTH - 1 ); break; -#endif default: assert( 0 && "This should be unreachable - all command line options should be explicitly handled." ); break; @@ -635,9 +572,7 @@ static void printSupportedAudioConfigs( void ) "BINAURAL (output only)", "BINAURAL_SPLIT_PCM", "BINAURAL_SPLIT_CODED", -#ifdef RTP_S4_251135_CR26253_0016_REV1 "RTPDUMP", -#endif }; fprintf( stdout, "Supported audio formats:\n" ); @@ -729,7 +664,6 @@ static void convertOutputBuffer( return; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 static void trim( char *str ) { char c; @@ -749,9 +683,7 @@ static void trim( char *str ) static ivas_error parseSRParamsFile( const char *srParamsFilePath, -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE const char *rtpFilePath, -#endif ISAR_SPLIT_REND_CODEC *codec, ISAR_SPLIT_REND_POSE_CORRECTION_MODE *poseCorrection, int16_t *codec_frame_size_ms, @@ -778,7 +710,6 @@ static ivas_error parseSRParamsFile( trim( key ); trim( value ); -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE if ( 0 == strncmp( key, "DOF", 3 ) ) { int val = atoi( value ); @@ -795,51 +726,11 @@ static ivas_error parseSRParamsFile( *lc3plusHighRes = (int16_t) val; } } -#else - if ( 0 == strncmp( key, "CODEC", 5 ) ) - { - *codec = ( 0 == strncmp( value, "LCLD", 4 ) ) ? ISAR_SPLIT_REND_CODEC_LCLD : *codec; - *codec = ( 0 == strncmp( value, "LC3PLUS", 7 ) ) ? ISAR_SPLIT_REND_CODEC_LC3PLUS : *codec; - } - else if ( 0 == strncmp( key, "DOF", 3 ) ) - { - int val = atoi( value ); - if ( val == 0 || val == 1 ) - { - *poseCorrection = ( val == 0 ) ? ISAR_SPLIT_REND_POSE_CORRECTION_MODE_NONE : ISAR_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB; - } - } - else if ( 0 == strncmp( key, "FRAMESIZE", 9 ) ) - { - int val = atoi( value ); - if ( val == 5 || val == 10 || val == 20 ) - { - *codec_frame_size_ms = (int16_t) val; - } - } - else if ( 0 == strncmp( key, "RENDERSIZE", 9 ) ) - { - int val = atoi( value ); - if ( val == 5 || val == 10 || val == 20 ) - { - *isar_frame_size_ms = (int16_t) val; - } - } - else if ( 0 == strncmp( key, "LC3PLUS_HIGHRES", 15 ) ) - { - int val = atoi( value ); - if ( val == 0 || val == 1 ) - { - *lc3plusHighRes = (int16_t) val; - } - } -#endif } } fclose( fParamSR ); -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE { /* Peek the RTP stream to ascertain the codec and codec_frame_size */ ivas_error error = IVAS_ERR_OK; @@ -877,11 +768,9 @@ static ivas_error parseSRParamsFile( } IVAS_RTP_Term( &srRtp ); } -#endif return IVAS_ERR_OK; } -#endif /*------------------------------------------------------------------------------------------* @@ -923,9 +812,7 @@ int main( int16_t i, numChannels; ivas_error error = IVAS_ERR_OK; bool splitBinNeedsNewFrame = true; -#ifdef RTP_S4_251135_CR26253_0016_REV1 IVAS_RTP srRTP = { 0 }; -#endif #ifdef WMOPS reset_wmops(); @@ -955,9 +842,7 @@ int main( convert_backslash( args.inputFilePath ); convert_backslash( args.outputFilePath ); convert_backslash( args.headRotationFilePath ); -#ifdef RTP_S4_251135_CR26253_0016_REV1 convert_backslash( args.srParamsFilePath ); -#endif /*------------------------------------------------------------------------------------------* * Open head-rotation file @@ -1008,13 +893,10 @@ int main( } } -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( ( args.inConfig.numBinBuses > 0 ) && ( args.inConfig.binBuses[0].srRtp ) ) { error = parseSRParamsFile( args.srParamsFilePath, -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE args.inputFilePath, -#endif &bitsBuffer.config.codec, &bitsBuffer.config.poseCorrection, &bitsBuffer.config.codec_frame_size_ms, @@ -1026,28 +908,18 @@ int main( goto cleanup; } -#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE - if ( ( error = IVAS_RTP_READER_Init( &srRTP, (uint32_t) bitsBuffer.config.codec_frame_size_ms, args.inputFilePath, NULL, false, NULL ) ) != IVAS_ERR_OK ) -#else if ( ( error = IVAS_RTP_READER_Init( &srRTP, args.inputFilePath, NULL, false, NULL ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "error in IVAS_RTP_READER_Init(): %d\n", error ); goto cleanup; } audioReader = NULL; -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE /* Force owerwrite of command line provided rendersize to align with codec frame size */ args.render_framesize = bitsBuffer.config.isar_frame_size_ms / 5; -#endif } /*if split renderer is running in post renderer mode*/ else if ( ( args.inConfig.numBinBuses > 0 ) && ( args.inConfig.binBuses[0].audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) ) -#else - /*if split renderer is running in post renderer mode*/ - if ( ( args.inConfig.numBinBuses > 0 ) && ( args.inConfig.binBuses[0].audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) ) -#endif { error = split_rend_reader_open( &hSplitRendFileReadWrite, args.inputFilePath, @@ -1254,7 +1126,6 @@ int main( num_in_channels = inBuffer.config.numChannels; numSamplesRead = 0; -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( srRTP.hRtpFile && splitBinNeedsNewFrame ) { IVAS_RTP_SR_INFO srInfo = { 0 }; @@ -1277,9 +1148,7 @@ int main( if ( error == IVAS_ERR_END_OF_FILE ) { numSamplesRead = 0; -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE break; -#endif } else { @@ -1301,9 +1170,6 @@ int main( } } else if ( ( hSplitRendFileReadWrite != NULL ) && splitBinNeedsNewFrame ) -#else - if ( ( hSplitRendFileReadWrite != NULL ) && splitBinNeedsNewFrame ) -#endif { ivas_error error_tmp; numSamplesRead = (int16_t) inBufferSize; @@ -1416,7 +1282,6 @@ int main( goto cleanup; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /* Set BFI if frame is empty */ int16_t frameEmpty = (int16_t) ( bitsBuffer.config.bitsWritten == 0 ); if ( frameEmpty ) @@ -1427,7 +1292,6 @@ int main( goto cleanup; } } -#endif } } @@ -1531,17 +1395,6 @@ int main( fprintf( stdout, "\n\nRendering of %d frames finished\n\n", frame ); -#ifdef DEBUGGING - int32_t cnt_frames_limited, noClipping; - if ( ( cnt_frames_limited = ISAR_POST_REND_GetCntFramesLimited( hIsarPostRend ) ) > 0 ) - { - fprintf( stdout, "Limiter applied in %d frames.\n\n", cnt_frames_limited ); - } - if ( ( noClipping = ISAR_POST_REND_GetNoCLipping( hIsarPostRend ) ) > 0 ) - { - fprintf( stdout, "Clipping (saturation) detected: %d samples clipped!!!\n\n", noClipping ); - } -#endif /*------------------------------------------------------------------------------------------* * Close files and deallocate resources @@ -1573,9 +1426,6 @@ cleanup: ISAR_POST_REND_Close( &hIsarPostRend ); -#ifdef DEBUGGING - dbgclose(); -#endif #ifdef WMOPS print_wmops(); print_mem( NULL ); diff --git a/apps/renderer.c b/apps/renderer.c index 8256f1e467ba927f5fd9c46fdf1250ac3395db6c..12b96f4b1065e3f87fe1db6e2dc34b548c6525c6 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "lib_rend.h" #include "typedef.h" @@ -46,9 +18,7 @@ #include "masa_file_writer.h" #include "render_config_reader.h" #include "rotation_file_reader.h" -#ifdef FIX_1053_REVERB_RECONFIGURATION #include "aeid_file_reader.h" -#endif #include "split_render_file_read_write.h" #include "split_rend_bfi_file_reader.h" #include "vector3_pair_file_reader.h" @@ -78,7 +48,7 @@ #define OMASA_TDREND_MATCHING_GAIN_DB ( -2.0f ) -#if !defined( DEBUGGING ) && !defined( WMOPS ) +#if !defined( WMOPS ) static #endif int32_t frame = 0; @@ -198,9 +168,7 @@ typedef struct IVAS_RENDER_FRAMESIZE render_framesize; uint16_t directivityPatternId[RENDERER_MAX_ISM_INPUTS]; AcousticEnvironmentSequence aeSequence; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE IVAS_ROOM_SIZE_T reverbRoomSize; -#endif } CmdlnArgs; typedef enum @@ -231,12 +199,8 @@ typedef enum CmdLnOptionId_framing, CmdLnOptionId_syncMdDelay, CmdLnOptionId_directivityPatternId, -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE CmdLnOptionId_acousticEnvironmentId, CmdLnOptionId_roomSize, -#else - CmdLnOptionId_acousticEnvironmentId -#endif } CmdLnOptionId; static const CmdLnParser_Option cliOptions[] = { @@ -400,20 +364,14 @@ static const CmdLnParser_Option cliOptions[] = { .id = CmdLnOptionId_acousticEnvironmentId, .match = "acoustic_environment_id", .matchShort = "aeid", -#ifdef FIX_1053_REVERB_RECONFIGURATION .description = "Acoustic environment ID (number > 0) alternatively, it can be a text file where each line contains \"ID duration\" for BINAURAL_ROOM_REVERB output configuration.", -#else - .description = "Acoustic environment ID( number > 0 ) or a sequence thereof in the format [ID1:duration1,ID2:duration2...] without braces and spaces, with ':' character separating ID from duration and ',' separating ID and duration pairs, where duration is specified in frames for BINAURAL_ROOM_REVERB output configuration.", -#endif }, -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE { .id = CmdLnOptionId_roomSize, .match = "room_size", .matchShort = "rsz", .description = "Selects default reverb based on a room size (S - small | M - medium | L - large)", } -#endif }; @@ -729,9 +687,6 @@ static int16_t get_cldfb_in_flag( cldfb_in_flag = 0; if ( renderConfig->split_rend_config.rendererSelection == IVAS_BIN_RENDERER_TYPE_FASTCONV ) { -#ifdef DEBUGGING - cldfb_in_flag = 1; -#endif if ( audioConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) { cldfb_in_flag = 1; @@ -818,9 +773,7 @@ int main( int32_t delayTimeScale = 0; int16_t i, numChannels; uint16_t aeID; -#ifdef FIX_1053_REVERB_RECONFIGURATION IVAS_RENDER_CONFIG_DATA renderConfig; -#endif ivas_error error = IVAS_ERR_OK; #ifdef WMOPS @@ -1184,9 +1137,6 @@ int main( if ( args.renderConfigFilePath[0] != '\0' ) { -#ifndef FIX_1053_REVERB_RECONFIGURATION - IVAS_RENDER_CONFIG_DATA renderConfig; -#endif /* sanity check */ if ( ( args.outConfig.audioConfig != IVAS_AUDIO_CONFIG_BINAURAL ) && @@ -1258,7 +1208,6 @@ int main( goto cleanup; } -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE /* Set reverb room size if specified */ if ( args.reverbRoomSize != IVAS_ROOM_SIZE_AUTO ) @@ -1269,7 +1218,6 @@ int main( goto cleanup; } } -#endif /* Set up output custom layout configuration */ if ( args.outConfig.audioConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM ) @@ -1354,15 +1302,11 @@ int main( { masaIds[i] = 0u; } -#ifdef FIX_1377_HANDLE_ERROR_CODE if ( ( error = IVAS_REND_SetObjectIDs( hIvasRend ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nIVAS_REND_SetObjectIDs: %s\n", ivas_error_to_string( error ) ); goto cleanup; } -#else - IVAS_REND_SetObjectIDs( hIvasRend ); -#endif for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i ) { @@ -1556,16 +1500,12 @@ int main( audioWriter = NULL; } -#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES if ( ( error = IVAS_REND_GetSplitRendBitstreamHeader( hIvasRend, &bitsBuffer.config.codec, &bitsBuffer.config.poseCorrection, &bitsBuffer.config.codec_frame_size_ms, &bitsBuffer.config.isar_frame_size_ms, &bitsBuffer.config.lc3plus_highres ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_REND_GetSplitRendBitstreamHeader( hIvasRend, &bitsBuffer.config.codec, &bitsBuffer.config.poseCorrection, &bitsBuffer.config.codec_frame_size_ms, &bitsBuffer.config.isar_frame_size_ms ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError in IVAS_REND_GetSplitRendBitstreamHeader(): %s!\n", ivas_error_to_string( error ) ); goto cleanup; @@ -1690,9 +1630,6 @@ int main( { if ( ++args.aeSequence.frameCounter >= args.aeSequence.pValidity[args.aeSequence.selected] ) { -#ifndef FIX_1053_REVERB_RECONFIGURATION - IVAS_RENDER_CONFIG_DATA renderConfig; -#endif if ( ++args.aeSequence.selected >= args.aeSequence.count ) { args.aeSequence.selected = 0; @@ -2668,7 +2605,6 @@ static bool parseAcousticEnvironmentIds( const char *value, AcousticEnvironmentSequence *aeSequence ) { -#ifdef FIX_1053_REVERB_RECONFIGURATION char config_string[RENDERER_MAX_METADATA_LINE_LENGTH]; strncpy( config_string, value, RENDERER_MAX_METADATA_LINE_LENGTH ); if ( !is_digits_only( config_string ) ) @@ -2686,72 +2622,6 @@ static bool parseAcousticEnvironmentIds( } aeidFileReader_close( &aeidReader ); } -#else - uint16_t k; - char config_string[RENDERER_MAX_METADATA_LINE_LENGTH]; - char *s; - char *token; - - strncpy( config_string, value, RENDERER_MAX_METADATA_LINE_LENGTH ); - s = config_string; - token = config_string; - - if ( !is_digits_only( config_string ) ) - { - - for ( k = 0; s[k]; ) - { - s[k] == ',' ? k++ : *s++; - } - k++; - - if ( k == 0 ) - { - fprintf( stdout, "Error: Invalid acoustic environment sequence specified: %s\n\n", config_string ); - return false; - } - - if ( NULL == ( aeSequence->pID = malloc( sizeof( uint16_t ) * k ) ) || - NULL == ( aeSequence->pValidity = malloc( sizeof( uint16_t ) * k ) ) ) - { - fprintf( stdout, "Error: Unable to allocate memory for acoustic environment sequence: %s\n\n", config_string ); - return false; - } - - aeSequence->count = k; - - k = 0; - - token = strtok( config_string, ":" ); - - while ( token != NULL ) - { - if ( !is_number( token ) ) - { - fprintf( stdout, "Error: Invalid token %s found in acoustic environment sequence: %s\n\n", token, config_string ); - return false; - } - aeSequence->pID[k] = (uint16_t) atoi( token ); - - token = strtok( NULL, "," ); - if ( !is_number( token ) ) - { - fprintf( stdout, "Error: Invalid token %s found in acoustic environment sequence: %s\n\n", token, config_string ); - return false; - } - aeSequence->pValidity[k] = (uint16_t) atoi( token ); - - token = strtok( NULL, ":" ); - k++; - } - - if ( k != aeSequence->count ) - { - fprintf( stdout, "Error while parsing acoustic environment sequence: %s\n\n", config_string ); - return false; - } - } -#endif else { /* A single acoustic environment */ @@ -2768,7 +2638,6 @@ static bool parseAcousticEnvironmentIds( return true; } -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE static bool parseReverbRoomSize( @@ -2800,7 +2669,6 @@ static bool parseReverbRoomSize( return true; } -#endif static bool checkRequiredArgs( @@ -2922,10 +2790,8 @@ static CmdlnArgs defaultArgs( args.aeSequence.pValidity = NULL; args.aeSequence.selected = 0; args.aeSequence.frameCounter = 0; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE args.reverbRoomSize = IVAS_ROOM_SIZE_AUTO; -#endif return args; } @@ -3107,7 +2973,6 @@ static void parseOption( /* Metadata Delay to sync with audio delay in ms */ args->syncMdDelay = (int16_t) strtol( optionValues[0], NULL, 10 ); break; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE case CmdLnOptionId_roomSize: assert( numOptionValues == 1 ); if ( !parseReverbRoomSize( optionValues[0], &args->reverbRoomSize ) ) @@ -3116,7 +2981,6 @@ static void parseOption( exit( -1 ); } break; -#endif default: assert( 0 && "This should be unreachable - all command line options should be explicitly handled." ); break; @@ -3211,25 +3075,11 @@ void getMetadataFromFileReader( fprintf( stderr, "\nError (%s) while reading ISM metadata from: %s\n\n", ivas_error_to_string( error ), IsmFileReader_getFilePath( ismReader ) ); exit( -1 ); } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS objectMetadataBuffer->positions[objIdx].azimuth_fx = ismMetadata.azimuth_fx; objectMetadataBuffer->positions[objIdx].elevation_fx = ismMetadata.elevation_fx; objectMetadataBuffer->positions[objIdx].radius_fx = ismMetadata.radius_fx; objectMetadataBuffer->positions[objIdx].yaw_fx = ismMetadata.yaw_fx; objectMetadataBuffer->positions[objIdx].pitch_fx = ismMetadata.pitch_fx; -#else - objectMetadataBuffer->positions[objIdx].azimuth_fx = (Word32) ( ismMetadata.azimuth * ( 1 << 22 ) ); - objectMetadataBuffer->positions[objIdx].elevation_fx = (Word32) ( ismMetadata.elevation * ( 1 << 22 ) ); - objectMetadataBuffer->positions[objIdx].radius_fx = (Word16) ( ismMetadata.radius * ( 1 << 9 ) ); - objectMetadataBuffer->positions[objIdx].yaw_fx = (Word32) ( ismMetadata.yaw * ( 1 << 22 ) ); - objectMetadataBuffer->positions[objIdx].pitch_fx = (Word32) ( ismMetadata.pitch * ( 1 << 22 ) ); - - objectMetadataBuffer->positions[objIdx].azimuth = ismMetadata.azimuth; - objectMetadataBuffer->positions[objIdx].elevation = ismMetadata.elevation; - objectMetadataBuffer->positions[objIdx].radius = ismMetadata.radius; - objectMetadataBuffer->positions[objIdx].yaw = ismMetadata.yaw; - objectMetadataBuffer->positions[objIdx].pitch = ismMetadata.pitch; -#endif objectMetadataBuffer->positions[objIdx].non_diegetic_flag = ismMetadata.non_diegetic_flag; return; @@ -3283,25 +3133,15 @@ static void IsmPositionProvider_getNextFrame( /* Otherwise fall back to default position */ else { -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS objectMetadataBuffer->positions[objIdx].azimuth_fx = 0; objectMetadataBuffer->positions[objIdx].elevation_fx = 0; objectMetadataBuffer->positions[objIdx].radius_fx = 512; // 1.f in Q9 objectMetadataBuffer->positions[objIdx].yaw_fx = 0; objectMetadataBuffer->positions[objIdx].pitch_fx = 0; objectMetadataBuffer->positions[objIdx].non_diegetic_flag = 0; -#else - objectMetadataBuffer->positions[objIdx].azimuth = 0.0f; - objectMetadataBuffer->positions[objIdx].elevation = 0.0f; - objectMetadataBuffer->positions[objIdx].radius = 1.0f; - objectMetadataBuffer->positions[objIdx].yaw = 0.0f; - objectMetadataBuffer->positions[objIdx].pitch = 0.0f; - objectMetadataBuffer->positions[objIdx].non_diegetic_flag = 0; -#endif } /* Wrap azimuth to lie within (-180, 180] range */ -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS while ( LT_32( objectMetadataBuffer->positions[objIdx].azimuth_fx, 0 ) ) { objectMetadataBuffer->positions[objIdx].azimuth_fx = L_add( objectMetadataBuffer->positions[objIdx].azimuth_fx, DEG_360_IN_Q22 ); @@ -3326,35 +3166,6 @@ static void IsmPositionProvider_getNextFrame( /* Clamp pitch to lie within [-90, 90] range (can't be wrapped easily) */ objectMetadataBuffer->positions[objIdx].pitch_fx = L_min( L_max( objectMetadataBuffer->positions[objIdx].pitch_fx, -DEG_90_IN_Q22 ), DEG_90_IN_Q22 ); -#else - while ( objectMetadataBuffer->positions[objIdx].azimuth < 0.0f ) - { - objectMetadataBuffer->positions[objIdx].azimuth += 360.0f; - } - while ( objectMetadataBuffer->positions[objIdx].azimuth >= 360.0f ) - { - objectMetadataBuffer->positions[objIdx].azimuth -= 360.0f; - } - - /* Clamp elevation to lie within [-90, 90] range (can't be wrapped easily) */ - objectMetadataBuffer->positions[objIdx].elevation = min( max( objectMetadataBuffer->positions[objIdx].elevation, -90 ), 90 ); - objectMetadataBuffer->positions[objIdx].azimuth_fx = (Word32) ( objectMetadataBuffer->positions[objIdx].azimuth * ( 1 << 22 ) ); - objectMetadataBuffer->positions[objIdx].elevation_fx = (Word32) ( objectMetadataBuffer->positions[objIdx].elevation * ( 1 << 22 ) ); - /* Wrap yaw to lie within (-180, 180] range */ - while ( objectMetadataBuffer->positions[objIdx].yaw < 0.0f ) - { - objectMetadataBuffer->positions[objIdx].yaw += 360.0f; - } - while ( objectMetadataBuffer->positions[objIdx].yaw >= 360.0f ) - { - objectMetadataBuffer->positions[objIdx].yaw -= 360.0f; - } - - /* Clamp pitch to lie within [-90, 90] range (can't be wrapped easily) */ - objectMetadataBuffer->positions[objIdx].pitch = min( max( objectMetadataBuffer->positions[objIdx].pitch, -90 ), 90 ); - objectMetadataBuffer->positions[objIdx].yaw_fx = (Word32) ( ( objectMetadataBuffer->positions[objIdx].yaw ) * ( 1 << Q22 ) ); - objectMetadataBuffer->positions[objIdx].pitch_fx = (Word32) ( ( objectMetadataBuffer->positions[objIdx].pitch ) * ( 1 << Q22 ) ); -#endif } ++positionProvider->frameCounter; @@ -3660,23 +3471,12 @@ static void parseObjectPosition( exit( -1 ); } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS position->azimuth_fx = (Word32) ( meta_prm[0] * ( 1 << Q22 ) ); /* Q22 */ position->elevation_fx = (Word32) ( meta_prm[1] * ( 1 << Q22 ) ); /* Q22 */ position->radius_fx = (Word16) ( meta_prm[2] * ( 1 << Q9 ) ); /* Q9 */ position->yaw_fx = (Word32) ( meta_prm[5] * ( 1 << Q22 ) ); /* Q22 */ position->pitch_fx = (Word32) ( meta_prm[6] * ( 1 << Q22 ) ); /* Q22 */ position->non_diegetic_flag = (Word16) meta_prm[7]; -#else - position->azimuth = meta_prm[0]; - position->elevation = meta_prm[1]; - position->azimuth_fx = (Word32) ( meta_prm[0] * ( 1 << 22 ) ); - position->elevation_fx = (Word32) ( meta_prm[1] * ( 1 << 22 ) ); - position->radius = meta_prm[2]; - position->yaw = meta_prm[5]; - position->pitch = meta_prm[6]; - position->non_diegetic_flag = (int16_t) meta_prm[7]; -#endif return; } diff --git a/lib_basop/basop32.c b/lib_basop/basop32.c index eebc1684915ccba9a062a49f561a112f2208d36d..f5104b90dcaf8d846a275da074bd31dbae6d80ed 100644 --- a/lib_basop/basop32.c +++ b/lib_basop/basop32.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* v.2.3 - 30.Nov.2009 ============================================================================= diff --git a/lib_basop/basop32.h b/lib_basop/basop32.h index 9bbf24f1c52e1c5159ad4ff22fa6720f3bfcd60a..5f3655529872aca9a200f24d822a021b04a4583c 100644 --- a/lib_basop/basop32.h +++ b/lib_basop/basop32.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/complex_basop.c b/lib_basop/complex_basop.c index cf3b40154acf5119739354e855db0e55a78822cd..46324efe0e7fe6fc07f7d7cdeb94f8912d1afb9d 100644 --- a/lib_basop/complex_basop.c +++ b/lib_basop/complex_basop.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /***************************************************************************** * diff --git a/lib_basop/complex_basop.h b/lib_basop/complex_basop.h index bf1641e749960b5fdf2c9ee4130ebce852f39c81..b8879bbba3e9b58ce1b11f1f404f3df5d79dbe05 100644 --- a/lib_basop/complex_basop.h +++ b/lib_basop/complex_basop.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /***************************************************************************** * diff --git a/lib_basop/enh1632.c b/lib_basop/enh1632.c index f397c3432b9dc63b6a376cfb394e3efb50a82bc0..0021ca6d6b84d6a814c77ba6d776985b1d910af6 100644 --- a/lib_basop/enh1632.c +++ b/lib_basop/enh1632.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* =========================================================================== File: ENH1632.C v.2.3 - 30.Nov.2009 diff --git a/lib_basop/enh1632.h b/lib_basop/enh1632.h index f91494fb137d799d461cca6afa5bbfa5b160ba39..182625183297d228c2d8f0f7958fdd84e0fcce1e 100644 --- a/lib_basop/enh1632.h +++ b/lib_basop/enh1632.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* =========================================================================== File: ENH1632.H v.2.3 - 30.Nov.2009 diff --git a/lib_basop/enh32.c b/lib_basop/enh32.c index d2931dd5da697b0410a425adf4163018800cd5bf..67e97923ff42651e254977e0f98b01f21adcf901 100644 --- a/lib_basop/enh32.c +++ b/lib_basop/enh32.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /***************************************************************************** * * Enhanced 32 bit operators : diff --git a/lib_basop/enh32.h b/lib_basop/enh32.h index 1d275cdd26834f7c04572763575f65c1d7bf00d6..d53273e28ab973a5ea549973debda0ec70909de0 100644 --- a/lib_basop/enh32.h +++ b/lib_basop/enh32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef _ENH32_H #define _ENH32_H diff --git a/lib_basop/enh40.c b/lib_basop/enh40.c index 570f4b211ab675c8fd924a2b0d4786ddec25c679..2dfa4ffb5874bcf0fc298994f95d97d5358a50bc 100644 --- a/lib_basop/enh40.c +++ b/lib_basop/enh40.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/enh40.h b/lib_basop/enh40.h index 9c3742f3ef23b24bced88e87e71b85a8ac83baca..06d309a9d4b5af827a13eb39bcf5934c07a171cd 100644 --- a/lib_basop/enh40.h +++ b/lib_basop/enh40.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* =========================================================================== diff --git a/lib_basop/enh64.c b/lib_basop/enh64.c index 8bffb620cc8dfb0b2164e718b83fa365fb048430..70b08bd3920cb4ea34bb971d09c63c9a394fe119 100644 --- a/lib_basop/enh64.c +++ b/lib_basop/enh64.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /***************************************************************************** * * Enhanced 64 bit operators : diff --git a/lib_basop/enh64.h b/lib_basop/enh64.h index c3896bb0d257aa053df48da5c84948b8255e0401..0ecd52a9e9491a0770bdfb3668d0d73f0a65f496 100644 --- a/lib_basop/enh64.h +++ b/lib_basop/enh64.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef _ENH64_H #define _ENH64_H diff --git a/lib_basop/enhUL32.c b/lib_basop/enhUL32.c index 5650821200a63bc8404fbb31286f78d2d60c27ef..76c6cfd3b601f172ff508cf3028aaeef3a97fb53 100644 --- a/lib_basop/enhUL32.c +++ b/lib_basop/enhUL32.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* ============================================================================ File: ENHUL32.C v.1.0 - 01.July.2018 diff --git a/lib_basop/enhUL32.h b/lib_basop/enhUL32.h index d200342b4b24e054ba0e5b92fea5b34d3ed37718..cb57f387b7d252d1154fddb30aa3b846a8bd0281 100644 --- a/lib_basop/enhUL32.h +++ b/lib_basop/enhUL32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* ============================================================================ File: ENHUL32.H v.1.0 - 01.July.2018 diff --git a/lib_basop/move.h b/lib_basop/move.h index 8f97ad49ec895c1f8425dc8f53ab79eded6c45c3..8665f64b1956432a84b8d90e213c5d486b5711e1 100644 --- a/lib_basop/move.h +++ b/lib_basop/move.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_basop/stl.h b/lib_basop/stl.h index f27c6892a65f6380f6c53fd86ba80a6638d5590b..bba9e3e66dde4f4c912f6ccadd2274212ce027db 100644 --- a/lib_basop/stl.h +++ b/lib_basop/stl.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_basop/typedef.h b/lib_basop/typedef.h index 867ed71ca77cf51afff82dccb5fdeb671c6085bb..7d8c6d3c54983a06cecbadd7bf0da7e5d7f21986 100644 --- a/lib_basop/typedef.h +++ b/lib_basop/typedef.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_basop/typedefs.h b/lib_basop/typedefs.h index ed38603911cecf6c9cfaefaad4d9132214a64ae7..c7259f965cdb180c009c8134e4668a48b939831b 100644 --- a/lib_basop/typedefs.h +++ b/lib_basop/typedefs.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* =========================================================================== File: TYPEDEFS.H v.2.3 - 30.Nov.2009 diff --git a/lib_com/ACcontextMapping_fx.c b/lib_com/ACcontextMapping_fx.c index ee51f0ca3ed48bb9c5c4c3963835b134ff0639db..c64359e6ab8ff35136dbfdae77e5a87c320229fd 100644 --- a/lib_com/ACcontextMapping_fx.c +++ b/lib_com/ACcontextMapping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/ari_fx.c b/lib_com/ari_fx.c index aef9a6635e32836e7b3a52f505db4cb9c05584a4..aa9342e81bc299781a54720725a084b5a718c8cf 100644 --- a/lib_com/ari_fx.c +++ b/lib_com/ari_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/ari_hm_fx.c b/lib_com/ari_hm_fx.c index 46f8ecea1e78f01164d1acc083f29d3c26b145b6..7cd04047efbb9ff128d23cffdf919acca3f16a52 100644 --- a/lib_com/ari_hm_fx.c +++ b/lib_com/ari_hm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/arith_coder_fx.c b/lib_com/arith_coder_fx.c index 58ff0047c492066bcb8e0ab640e2466e4481698a..cf00e4019d9f0d3004402ee0dcedacc683d74413 100644 --- a/lib_com/arith_coder_fx.c +++ b/lib_com/arith_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/basop_com_lpc.c b/lib_com/basop_com_lpc.c index 0c6754371ae8eae03fe70b1ed256835b2977e6e0..0b0da150f0a726d4d49afc9b0a5b2ab261f3da5c 100644 --- a/lib_com/basop_com_lpc.c +++ b/lib_com/basop_com_lpc.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/basop_lsf_tools.c b/lib_com/basop_lsf_tools.c index 74f35bb0a1a37921398f37b099e518f18fe02902..26364b7ffc699cdd6535bccbd38b920666b2497d 100644 --- a/lib_com/basop_lsf_tools.c +++ b/lib_com/basop_lsf_tools.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/basop_proto_func.h b/lib_com/basop_proto_func.h index 55c15f29107dbeb67291ed4b950b7569a6ca8b75..be8a2f1f384d6d5c97a249a5c61dc816be53f951 100644 --- a/lib_com/basop_proto_func.h +++ b/lib_com/basop_proto_func.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/basop_settings.h b/lib_com/basop_settings.h index a23491a2635dbf9792836a176efe1ba432c19bdf..ef4da241680eff7dbceafee410d7715b9a2d13bb 100644 --- a/lib_com/basop_settings.h +++ b/lib_com/basop_settings.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/basop_tcx_utils.c b/lib_com/basop_tcx_utils.c index 7c3ec835625dd45cd3f4a188c1c3623bfb9a37ad..78fa371b44886c620466c3df96187a8bd9305efc 100644 --- a/lib_com/basop_tcx_utils.c +++ b/lib_com/basop_tcx_utils.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/basop_util.c b/lib_com/basop_util.c index bd55e59b689079f8ddb9241bee234173229763b4..71dd5158563c75e4cec27cb552d66a3e40fd073a 100644 --- a/lib_com/basop_util.c +++ b/lib_com/basop_util.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -987,59 +959,6 @@ Word32 div_w( Word32 L_num, Word32 L_den ) } } -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence -Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, Word32 y, Word16 *s ) -{ - Word32 z; - Word16 sx; - Word16 sy; - Word32 sign; - - /* assert (x >= (Word32)0); */ - assert( y != (Word32) 0 ); - - sign = 0; - move16(); - - IF( x < 0 ) - { - x = L_negate( x ); - sign = L_xor( sign, 1 ); - } - - IF( y < 0 ) - { - y = L_negate( y ); - sign = L_xor( sign, 1 ); - } - - IF( x == (Word32) 0 ) - { - *s = 0; - return ( (Word32) 0 ); - } - - sx = norm_l( x ); - x = L_shl( x, sx ); - x = L_shr( x, 1 ); - move16(); - *s = sub( 1, sx ); - - sy = norm_l( y ); - y = L_shl( y, sy ); - move16(); - *s = add( *s, sy ); - - z = div_w( x, y ); - - if ( sign != 0 ) - { - z = L_negate( z ); - } - - return z; -} -#endif Word32 div_w_newton( Word32 num, Word32 den ); /* @@ -2565,7 +2484,6 @@ Word16 BASOP_Util_Cmp_Mant32Exp /*!< o: flag: result of comparison */ headroom is introduced into acc */ -#ifdef OPT_2146_BASOP_UTIL_ADD_MANT32EXP Word32 BASOP_Util_Add_Mant32Exp /* o : normalized result mantissa */ ( Word32 a_m, /* i : Mantissa of 1st operand a */ Word16 a_e, /* i : Exponent of 1st operand a */ @@ -2629,65 +2547,6 @@ Word32 BASOP_Util_Add_Mant32Exp /* o : normalized result mantissa */ return ( a_m ); } -#else -Word32 BASOP_Util_Add_Mant32Exp /* o : normalized result mantissa */ - ( Word32 a_m, /* i : Mantissa of 1st operand a */ - Word16 a_e, /* i : Exponent of 1st operand a */ - Word32 b_m, /* i : Mantissa of 2nd operand b */ - Word16 b_e, /* i : Exponent of 2nd operand b */ - Word16 *ptr_e ) /* o : exponent of result */ -{ - Word32 L_tmp; - Word16 shift; - - /* Compare exponents: the difference is limited to +/- 30 - The Word32 mantissa of the operand with lower exponent is shifted right by the exponent difference. - Then, the unshifted mantissa of the operand with the higher exponent is added. The addition result - is normalized and the result represents the mantissa to return. The returned exponent takes into - account all shift operations. - */ - if ( !a_m ) - { - a_e = b_e; - move16(); - } - - if ( !b_m ) - { - b_e = a_e; - move16(); - } - - shift = sub( a_e, b_e ); - shift = s_max( -31, shift ); - shift = s_min( 31, shift ); - if ( shift < 0 ) - { - /* exponent of b is greater than exponent of a, shr a_m */ - a_m = L_shl( a_m, shift ); - } - if ( shift > 0 ) - { - /* exponent of a is greater than exponent of b */ - b_m = L_shr( b_m, shift ); - } - a_e = add( s_max( a_e, b_e ), 1 ); - L_tmp = L_add( L_shr( a_m, 1 ), L_shr( b_m, 1 ) ); - shift = norm_l( L_tmp ); - if ( shift ) - L_tmp = L_shl( L_tmp, shift ); - if ( L_tmp == 0 ) - { - a_e = 0; - move16(); - } - if ( L_tmp != 0 ) - a_e = sub( a_e, shift ); - *ptr_e = a_e; - - return ( L_tmp ); -} -#endif static const Word16 shift_lc[] = { 9, 10 }; diff --git a/lib_com/basop_util.h b/lib_com/basop_util.h index 3ef5cf664a244490e845819569656c8dc9667db6..74843bac17f580ad47c65d1682723f946519e03b 100644 --- a/lib_com/basop_util.h +++ b/lib_com/basop_util.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -328,12 +300,6 @@ Word16 BASOP_Util_Divide3232_Scale( Word32 x, /*!< i : Numerator*/ Word32 y, /*!< i : Denominator*/ Word16 *s ); /*!< o : Additional scalefactor difference*/ -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence -Word32 BASOP_Util_Divide3232_Scale_cadence( Word32 x, /*!< i : Numerator*/ - Word32 y, /*!< i : Denominator*/ - Word16 *s ); /*!< o : Additional scalefactor difference*/ -#endif - Word32 BASOP_Util_Divide3232_Scale_newton( Word32 x, /*!< i : Numerator*/ Word32 y, /*!< i : Denominator*/ diff --git a/lib_com/bitalloc_fx.c b/lib_com/bitalloc_fx.c index 4d9c587994ed297a34d8b739e1658dca1805e154..7365159487e276861238ba16376a191b20da24c9 100644 --- a/lib_com/bitalloc_fx.c +++ b/lib_com/bitalloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/bitallocsum_fx.c b/lib_com/bitallocsum_fx.c index fa71c92f88fc5ed4ba28841385395be2a1b3e37f..93ce3e1374fb44a56e584d99d79bc9dfe4dd2f24 100644 --- a/lib_com/bitallocsum_fx.c +++ b/lib_com/bitallocsum_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/bits_alloc_fx.c b/lib_com/bits_alloc_fx.c index 5aea2c790268184b5b8ccb460abdc8cdb91ab442..267fe38d75dc7c2546e4ce859def50a2933e949b 100644 --- a/lib_com/bits_alloc_fx.c +++ b/lib_com/bits_alloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -1750,9 +1753,6 @@ static Word16 allocate_unused( } ELSE { -#ifdef DEBUG_MODE_TD - IVAS_ERROR( IVAS_ERR_WRONG_MODE, "unknown mode in bit_alloc.c" ); -#endif } max_bit_per_pos = s_min( unused_bits, sub( max_bit_per_pos, prm_bit_mode[subfr] ) ); diff --git a/lib_com/bitstream_fx.c b/lib_com/bitstream_fx.c index ea576255a6642b622038be557aac1e0c25671b0c..3dd883cbaa7edb97e636d1de212a308987c82496 100644 --- a/lib_com/bitstream_fx.c +++ b/lib_com/bitstream_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -48,23 +20,7 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#ifdef DBG_BITSTREAM_ANALYSIS -#include -#endif -#endif - -#ifdef DEBUGGING - -#define FEC_SEED 12558 - -/*-------------------------------------------------------------------* - * Global variables - *--------------------------------------------------------------------*/ -FILE *FEC_pattern = NULL; /* FEC pattern file (for simulation of FEC) */ -#endif #define STEP_MAX_NUM_INDICES 100 /* increase the maximum number of allowed indices in the list by this amount */ @@ -359,9 +315,6 @@ ivas_error ind_list_realloc( { new_ind_list[i].id = old_ind_list[i].id; new_ind_list[i].value = old_ind_list[i].value; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif move16(); move16(); } @@ -373,9 +326,6 @@ ivas_error ind_list_realloc( FOR( ; i < max_num_indices; i++ ) { new_ind_list[i].nb_bits = -1; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( new_ind_list[i].function_name, "RESET in ind_list_realloc" ); -#endif move16(); } @@ -971,9 +921,6 @@ void move_indices( move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif old_ind_list[i].nb_bits = -1; move16(); } @@ -988,15 +935,9 @@ void move_indices( move16(); move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( new_ind_list[i].function_name, old_ind_list[i].function_name, 100 ); -#endif old_ind_list[i].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( old_ind_list[i].function_name, "RESET in move_indices" ); -#endif } } @@ -1058,1892 +999,13 @@ ivas_error check_ind_list_limits( } ELSE { -#ifdef DEBUGGING - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Buffer of indices corrupted in frame %d! Attempt to overwrite indice ID = %d (value: %d, bits: %d)!\n", frame, hBstr->ind_list[hBstr->nb_ind_tot].id, hBstr->ind_list[hBstr->nb_ind_tot].value, hBstr->ind_list[hBstr->nb_ind_tot].nb_bits ); -#else return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Buffer of indices corrupted! Attempt to overwrite indice ID = %d (value: %d, bits: %d)!\n", hBstr->ind_list[hBstr->nb_ind_tot].id, hBstr->ind_list[hBstr->nb_ind_tot].value, hBstr->ind_list[hBstr->nb_ind_tot].nb_bits ); -#endif } } return error; } -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -const char *named_indices_table[] = { - "IND_IVAS_FORMAT", - "IND_SMODE_OMASA", - "IND_SMODE", - "IND_SID_TYPE", - "IND_BWIDTH", - "IND_CORE", - "IND_PPP_NELP_MODE", - "IND_ACELP_16KHZ", - "IND_ACELP_SIGNALLING", - "IND_SHARP_FLAG", - "IND_MDCT_CORE", - "IND_TCX_CORE", - "IND_BWE_FLAG", - "IND_HQ_SWITCHING_FLG", - "IND_LAST_L_FRAME", - "IND_VAD_FLAG", - "IND_HQ_BWIDTH", - "IND_TC_SUBFR", - "IND_TC_SUBFR", - "IND_TC_SUBFR", - "IND_TC_SUBFR", - "IND_GSC_IVAS_SP", - "IND_LSF_PREDICTOR_SELECT_BIT", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_LSF", - "IND_MID_FRAME_LSF_INDEX", - "IND_ISF_0_0", - "IND_ISF_0_1", - "IND_ISF_0_2", - "IND_ISF_0_3", - "IND_ISF_0_4", - "IND_ISF_1_0", - "IND_ISF_1_1", - "IND_ISF_1_2", - "IND_ISF_1_3", - "IND_ISF_1_4", - "IND_IC_LSF_PRED", - "IND_GSC_ATTACK", - "IND_GSC_SWB_SPEECH", - "IND_NOISE_LEVEL", - "IND_HF_NOISE", - "IND_PIT_CONTR_IDX", - "IND_FEC_CLAS", - "IND_FEC_ENR", - "IND_FEC_POS", - "IND_ES_PRED", - "IND_HARM_FLAG_ACELP", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "IND_ALG_CDBK_4T64_2_24KBIT", - "TAG_ALG_CDBK_4T64_24KBIT_END", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "IND_HF_GAIN_MODIFICATION", - "TAG_ACELP_SUBFR_LOOP_END", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_MEAN_GAIN2", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_TMP", - "IND_Y_GAIN_HF", - "IND_HQ_VOICING_FLAG", - "IND_HQ_SWB_CLAS", - "IND_NF_IDX", - "IND_LC_MODE", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_YNRM", - "IND_SWB_FENV_HQ", - "IND_SWB_FENV_HQ", - "IND_SWB_FENV_HQ", - "IND_SWB_FENV_HQ", - "IND_SWB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_FB_FENV_HQ", - "IND_DELTA_ENV_HQ", - "IND_HVQ_BWE_NL", - "IND_HVQ_BWE_NL", - "IND_NUM_PEAKS", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_POS_IDX", - "IND_FLAGN", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_PG_IDX", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_PEAKS", - "IND_HVQ_NF_GAIN", - "IND_HVQ_NF_GAIN", - "IND_HQ2_SWB_CLAS", - "IND_HQ2_DENG_MODE", - "IND_HQ2_DENG_8SMODE", - "IND_HQ2_DENG_8SMODE_N0", - "IND_HQ2_DENG_8SMODE_N1", - "IND_HQ2_DENG_8SPOS", - "IND_HQ2_DENG_8SDEPTH", - "IND_HQ2_DENG_HMODE", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_DIFF_ENERGY", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_P2A_FLAGS", - "IND_HQ2_LAST_BA_MAX_BAND", - "IND_HQ2_LAST_BA_MAX_BAND", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_START", - "IND_RC_END", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_HVQ_PVQ_GAIN", - "IND_NOISINESS", - "IND_ENERGY", - "IND_CNG_HO", - "IND_SID_BW", - "IND_CNG_ENV1", - "IND_WB_FENV", - "IND_WB_CLASS", - "IND_IG1", - "IND_IG2A", - "IND_IG2B", - "IND_NELP_FID", - "IND_DELTALAG", - "IND_POWER", - "IND_AMP0", - "IND_AMP1", - "IND_GLOBAL_ALIGNMENT", - "IND_PVQ_FINE_GAIN", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_UV_FLAG", - "IND_SHB_SUBGAIN", - "IND_SHB_FRAMEGAIN", - "IND_STEREO_ICBWE_MSFLAG", - "IND_SHB_ENER_SF", - "IND_SHB_RES_GS", - "IND_SHB_RES_GS", - "IND_SHB_RES_GS", - "IND_SHB_RES_GS", - "IND_SHB_RES_GS", - "IND_SHB_VF", - "IND_SHB_LSF", - "IND_SHB_LSF", - "IND_SHB_LSF", - "IND_SHB_LSF", - "IND_SHB_LSF", - "IND_SHB_MIRROR", - "IND_SHB_GRID", - "IND_SWB_CLASS", - "IND_SWB_TENV", - "IND_SWB_TENV", - "IND_SWB_TENV", - "IND_SWB_TENV", - "IND_SWB_FENV", - "IND_SWB_FENV", - "IND_SWB_FENV", - "IND_SWB_FENV", - "IND_SHB_CNG_GAIN", - "IND_DITHERING", - "IND_FB_SLOPE", - "IND_HQ2_SPT_SHORTEN", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_TCQ", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_SUBBAND_GAIN", - "IND_HQ2_DUMMY", - "IND_LAGINDICES", - "IND_NOISEG", - "IND_AUDIO_GAIN", - "IND_AUDIO_DELAY", - "IND_AUDIO_DELAY", - "IND_AUDIO_DELAY", - "IND_AUDIO_DELAY", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "IND_NQ2", - "TAG_HR_BWE_LOOP_END", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_CELP_SUBFRAME", - "IND_CORE_SWITCHING_AUDIO_DELAY", - "IND_CORE_SWITCHING_AUDIO_GAIN", - "IND_STEREO_ICBWE_REF", - "IND_STEREO_ICBWE_SP", - "IND_STEREO_ICBWE_GS", - "IND_STEREO_REFCHAN", - "IND_STEREO_CORRSTATS", - "IND_STEREO_GD", - "IND_STEREO_LRTD_FLAG", - "IND_STEREO_LPC_REUSE", - "IND_STEREO_TD_ALPHA", - "IND_STEREO_2ND_CODER_T", - "IND_UNUSED" -}; -#endif - /*-------------------------------------------------------------------* * push_indice() @@ -2968,11 +1030,7 @@ ivas_error push_indice( /* check the limits of the list of indices */ IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) ) { -#ifdef DEBUGGING - return IVAS_ERROR( error, "Error occured in push_indice() while re-allocating the list of indices (frame %d) !\n", frame ); -#else return IVAS_ERROR( error, "Error occured in push_indice() while re-allocating the list of indices!\n" ); -#endif } /* find the location in the list of indices based on ID */ @@ -2993,9 +1051,6 @@ ivas_error push_indice( hBstr->ind_list[j].id = hBstr->ind_list[j - 1].id; hBstr->ind_list[j].nb_bits = hBstr->ind_list[j - 1].nb_bits; hBstr->ind_list[j].value = hBstr->ind_list[j - 1].value; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[j - 1].function_name, 100 ); -#endif move16(); move16(); move16(); @@ -3007,9 +1062,6 @@ ivas_error push_indice( hBstr->ind_list[i].id = id; hBstr->ind_list[i].value = value; hBstr->ind_list[i].nb_bits = nb_bits; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hBstr->ind_list[i].function_name, named_indices_table[id], 100 ); -#endif move16(); move16(); move16(); @@ -3028,12 +1080,7 @@ ivas_error push_indice( * * Push a new indice into the buffer at the next position *-------------------------------------------------------------------*/ -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -ivas_error push_next_indice_( - const char *caller, -#else ivas_error push_next_indice( -#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ UWord16 value, /* i : value of the quantized indice */ Word16 nb_bits /* i : number of bits used to quantize the indice */ @@ -3071,9 +1118,6 @@ ivas_error push_next_indice( move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hBstr->ind_list[hBstr->nb_ind_tot].function_name, caller, 100 ); -#endif /* updates */ hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); @@ -3090,12 +1134,7 @@ ivas_error push_next_indice( * Push a bit buffer into the buffer at the next position *-------------------------------------------------------------------*/ -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -ivas_error push_next_bits_( - const char *caller, -#else ivas_error push_next_bits( -#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ const Word16 nb_bits /* i : number of bits to pack */ @@ -3132,20 +1171,13 @@ ivas_error push_next_bits( /* check the limits of the list of indices */ IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) ) { -#ifdef DEBUGGING - return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices (frame %d) !\n", frame ); -#else return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices!\n" ); -#endif } ptr = &hBstr->ind_list[hBstr->nb_ind_tot]; ptr->value = code; ptr->nb_bits = 16; ptr->id = prev_id; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( ptr->function_name, caller, 100 ); -#endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); move16(); move16(); @@ -3160,20 +1192,13 @@ ivas_error push_next_bits( /* check the limits of the list of indices */ IF( NE_32( ( error = check_ind_list_limits( hBstr ) ), IVAS_ERR_OK ) ) { -#ifdef DEBUGGING - return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices (frame %d) !\n", frame ); -#else return IVAS_ERROR( error, "Error occured in push_next_bits() while re-allocating the list of indices!\n" ); -#endif } ptr = &hBstr->ind_list[hBstr->nb_ind_tot]; ptr->value = bits[i]; ptr->nb_bits = 1; ptr->id = prev_id; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( ptr->function_name, caller, 100 ); -#endif hBstr->nb_ind_tot = add( hBstr->nb_ind_tot, 1 ); move16(); move16(); @@ -3253,9 +1278,6 @@ UWord16 delete_indice( move16(); move16(); move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hBstr->ind_list[j].function_name, hBstr->ind_list[i].function_name, 100 ); -#endif } j++; @@ -3268,9 +1290,6 @@ UWord16 delete_indice( /* reset the shifted indices at the end of the list */ hBstr->ind_list[j].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( hBstr->ind_list[j].function_name, "RESET in delete_indice" ); -#endif } return i - j; @@ -3692,72 +1711,6 @@ static ivas_error write_indices_element_fx( } } -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - if ( is_SCE ) /* EVS and SCE */ - { - static FILE *f1 = 0; - - if ( f1 == 0 ) - f1 = fopen( "bitstream_text", "w" ); - - for ( int16_t i = 0; i < sts[0]->hBstr->nb_ind_tot; i++ ) - { - Indice *ind_list = sts[0]->hBstr->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf( f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value ); - } - - if ( st_ivas->hSCE[element_id]->hMetaData != NULL ) - { - for ( int16_t i = 0; i < st_ivas->hSCE[element_id]->hMetaData->nb_ind_tot; i++ ) - { - Indice *ind_list = st_ivas->hSCE[element_id]->hMetaData->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf( f1, "%d %d %d %s %d %d\n", frame, element_id, i, function_name, nb_bits, value ); - } - } - } - else - { - static FILE *f1 = 0; - - if ( f1 == 0 ) - f1 = fopen( "bitstream_text", "w" ); - - - for ( n = 0; n < n_channels; n++ ) - { - for ( int16_t i = 0; i < sts[n]->hBstr->nb_ind_tot; i++ ) - { - Indice *ind_list = sts[n]->hBstr->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf( f1, "%d %d %d %d %s %d %d\n", frame, element_id, n, i, function_name, nb_bits, value ); - } - } - - if ( st_ivas->hCPE[element_id]->hMetaData != NULL ) - { - for ( int16_t i = 0; i < st_ivas->hCPE[element_id]->hMetaData->nb_ind_tot; i++ ) - { - Indice *ind_list = st_ivas->hCPE[element_id]->hMetaData->ind_list; - int16_t value = ind_list[i].value; - int16_t nb_bits = ind_list[i].nb_bits; - char *function_name = ind_list[i].function_name; - - fprintf( f1, "%d %d %d %d %s %d %d\n", frame, element_id, -1, i, function_name, nb_bits, value ); - } - } - } -#endif /*----------------------------------------------------------------* * Clearing of indices @@ -3839,7 +1792,6 @@ ivas_error write_indices_ivas_fx( return error; } -#ifdef IVAS_RTPDUMP /*---------------------------------------------------------------------* @@ -3856,10 +1808,6 @@ void convertSerialToBytestream_fx( { Word16 i, ia7, isr3; UWord8 bit, bitinbyte; -#ifdef DEBUGGING - UWord8 bitinbyte2, bytestream_tmp; - assert( num_bits <= MAX_16 ); /* 512 kbps = 10240 bits, num_bits should always fits Word16 */ -#endif FOR( i = 0; i < num_bits; ++i ) { @@ -3877,30 +1825,18 @@ void convertSerialToBytestream_fx( ia7 = s_and( i, 0x7 ); isr3 = shr( i, 3 ); bitinbyte = (UWord8) shl( (Word16) bit, sub( 7, ia7 ) ); -#ifdef DEBUGGING - bitinbyte2 = bit << ( 7 - ( i & 0x7 ) ); - assert( bitinbyte2 == bitinbyte ); -#endif IF( !( ia7 ) ) { bytestream[isr3] = 0; move16(); } /*bytestream[i >> 3] |= bitinbyte;*/ -#ifdef DEBUGGING - bytestream_tmp = bytestream[isr3]; - bytestream_tmp |= bitinbyte2; -#endif bytestream[isr3] = (Word8) s_or( bytestream[isr3], bitinbyte ); -#ifdef DEBUGGING - assert( bytestream_tmp == bytestream[isr3] ); -#endif move16(); } return; } -#endif /*-------------------------------------------------------------------* @@ -4437,58 +2373,6 @@ void ivas_set_bitstream_pointers( return; } -#ifdef DEBUGGING - -/*-------------------------------------------------------------------* - * file_read_FECpattern() - * - * Simulate packet losses by reading FEC pattern from external file - *-------------------------------------------------------------------*/ - -static ivas_error file_read_FECpattern( - Word16 *bfi ) -{ - ivas_error error; - - error = IVAS_ERR_OK; - *bfi = 0; - - /* FEC pattern file provided */ - if ( FEC_pattern != NULL ) - { - Word16 tmp = 0; - if ( fread( &tmp, sizeof( Word16 ), 1, FEC_pattern ) != 1 ) - { - if ( feof( FEC_pattern ) != 0 ) - { -#ifdef WRAP_AS_EIDXOR - fseek( FEC_pattern, 0L, SEEK_SET ); - fread( &tmp, sizeof( Word16 ), 1, FEC_pattern ); -#else - tmp = 0; - fseek( FEC_pattern, 0L, SEEK_SET ); -#endif - } - else - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error reading the FEC pattern file !" ); - } - } - - if ( tmp == 2609 || tmp == 1 || tmp == (UWord16) 0x6B20 /* == G192_SYNC_BAD_FRAME */ ) - { - *bfi = 1; - } - else - { - *bfi = 0; - } - } - - return error; -} - -#endif /*-------------------------------------------------------------------* * read_indices() @@ -4525,21 +2409,8 @@ ivas_error read_indices_fx( move16(); sts = reset_elements( st_ivas ); -#ifdef DEBUGGING - file_read_FECpattern( &st_ivas->bfi ); - st_ivas->bfi |= bfi; - - if ( bfi == FRAMEMODE_MISSING ) - { - for ( k = 0; k < num_bits; k++ ) - { - bit_stream[k] = 0; - } - } -#else st_ivas->bfi = bfi; move16(); -#endif /* convert the frame length to total bitrate */ total_brate = imult3216( num_bits, FRAMES_PER_SEC ); @@ -5296,23 +3167,3 @@ void evs_dec_previewFrame( return; } - -#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG -void dtx_read_padding_bits_fx( - DEC_CORE_HANDLE st, - const Word16 num_bits ) -{ - /* TODO: temporary hack, need to decide what to do with core-coder bitrate */ - Word32 tmp; - - tmp = st->total_brate; - move32(); - st->total_brate = L_add( st->total_brate, L_mult0( num_bits, FRAMES_PER_SEC ) ); - move32(); - get_next_indice_fx( st, num_bits ); - st->total_brate = tmp; - move32(); - - return; -} -#endif diff --git a/lib_com/cb_shape_fx.c b/lib_com/cb_shape_fx.c index 56d645ce087d5b54b9eef1509cc3a0009abc43d5..2509865ad46dd77c2d57938d30a487a1e0a36867 100644 --- a/lib_com/cb_shape_fx.c +++ b/lib_com/cb_shape_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/cldfb_evs_fx.c b/lib_com/cldfb_evs_fx.c index 74f53f5e6aa670c3570e0d97fd591dc442da8c36..daddd722d28cc89e6c445bdf77fd9551e2dd5f75 100644 --- a/lib_com/cldfb_evs_fx.c +++ b/lib_com/cldfb_evs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/cldfb_fx.c b/lib_com/cldfb_fx.c index e6f77e731754822ecff4b06e136afe95cf410df8..e19bbdd83417e9ec5068ec65de1ae7206d9ea46f 100644 --- a/lib_com/cldfb_fx.c +++ b/lib_com/cldfb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/cng_exc_fx.c b/lib_com/cng_exc_fx.c index f23ef505c946ff2e687a3c0243b48488754f0e7e..61fcf0c51422013c52171d3ba6a7c90aa76a0d56 100644 --- a/lib_com/cng_exc_fx.c +++ b/lib_com/cng_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/cnst.h b/lib_com/cnst.h index 8aecbedaf00a635ff07b64fbaa177a673b85e423..e2318a2c31bfbff21db743c137983ca4dec4b49a 100644 --- a/lib_com/cnst.h +++ b/lib_com/cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -189,22 +161,6 @@ #define DEC_IVAS 2 /* Index for IVAS decoder */ #define OUTPUT_Q 11 -#ifdef DEBUGGING -#define FORCE_SPEECH 100 /* debugging - force speech on the command line */ -#define FORCE_MUSIC 101 /* debugging - force music on the command line */ -#define FORCE_ACELP 102 /* debugging - force ACELP core on the command line */ -#define FORCE_GSC 103 /* debugging - force GSC core on the command line */ -#ifdef SUPPORT_FORCE_TCX10_TCX20 -#define FORCE_TCX10 104 /* debugging - force TCX10 core on the command line */ -#define FORCE_TCX20 105 /* debugging - force TCX20 core on the command line */ -#define FORCE_HQ 106 /* debugging - force HQ core on the command line */ -#else -#define FORCE_TCX 104 /* debugging - force TCX core on the command line */ -#define FORCE_HQ 105 /* debugging - force HQ core on the command line */ -#endif -#define FORCE_TD_RENDERER 201 -#define FORCE_CLDFB_RENDERER 202 -#endif enum{ NB = 0, /* Indicator of 4 kHz bandwidth */ @@ -2790,9 +2746,7 @@ enum #define LOG2_10 27213 /* log base 2 of 10 in Q12 */ #define LOG2_10_Q29 1783446566 /* log base 2 of 10 in Q12 */ #define LOG10_2_Q31 646456993 /* inverse log base 10 of 2 in Q31 */ -#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA #define INV_LOG2_10 9864 /* 1/log2(10), Q15*/ -#endif #define MU_MA_FX 10923 /* original prediction factor for the AMR WB tables (Q15) */ #define E_MIN_FXQ15 115 /* Q15*/ diff --git a/lib_com/codec_tcx_common_fx.c b/lib_com/codec_tcx_common_fx.c index 515a1a43e75cd9389f7348cce804990c1d427fcf..cccfe9c79f7bee69d4bc63f95edc3df381ae16ba 100644 --- a/lib_com/codec_tcx_common_fx.c +++ b/lib_com/codec_tcx_common_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index 27290eb18a741f71e6957e070cfcf9a7f227797f..ebe29847a2463da2d74e19f8e755068492eca519 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef COMMON_API_TYPES_H #define COMMON_API_TYPES_H @@ -62,9 +34,7 @@ #define IVAS_REVERB_PREDELAY_MAX 20 /* Max input delay for reverb module */ #define IVAS_ER_LIST_HEIGHT 1.6f #define IVAS_ER_LIST_HEIGHT_FX 6710886 /* 1.6f in Q.22 */ -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT -#define IVAS_DEFAULT_AEID 65535 -#endif +#define IVAS_DEFAULT_AEID 65535 /* JBM constants for adaptive-playout */ #define IVAS_TIME_SCALE_MIN 50 /* min. time-scaling [%] */ @@ -135,15 +105,6 @@ typedef struct _IVAS_ISM_METADATA Word32 gainFactor_fx; /* Q29 */ Word32 yaw_fx; /* Q22 */ Word32 pitch_fx; /* Q22 */ -#ifndef FIX_2084_FLOATING_POINT_LEFTOVERS - float azimuth; - float elevation; - float radius; - float spread; - float gainFactor; - float yaw; - float pitch; -#endif Word16 non_diegetic_flag; Word32 gain_fx; /* Q29 */ @@ -192,7 +153,6 @@ typedef enum } IVAS_RENDER_FRAMESIZE; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE typedef enum { IVAS_ROOM_SIZE_AUTO = -1, @@ -200,7 +160,6 @@ typedef enum IVAS_ROOM_SIZE_MEDIUM, IVAS_ROOM_SIZE_LARGE } IVAS_ROOM_SIZE_T; -#endif typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE; typedef struct ivas_masa_decoder_ext_out_meta_struct *IVAS_MASA_DECODER_EXT_OUT_META_HANDLE; @@ -331,21 +290,9 @@ typedef struct _ISAR_SPLIT_REND_CONFIG * Renderer API structures and enums *----------------------------------------------------------------------------------*/ -#ifdef DEBUGGING -typedef enum -{ - IVAS_RENDER_TYPE_OVERRIDE_NONE, - IVAS_RENDER_TYPE_OVERRIDE_CREND, - IVAS_RENDER_TYPE_OVERRIDE_FASTCONV - -} IVAS_RENDER_TYPE_OVERRIDE; - -#endif typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG { -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - UWord16 aeID; /* Acoustic environment ID */ -#endif + UWord16 aeID; /* Acoustic environment ID */ Word16 nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q16 Center frequencies for which following values are provided: */ Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /*Q26 - The room's T60 per center frequency */ @@ -365,9 +312,6 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG typedef struct _IVAS_RENDER_CONFIG { -#ifdef DEBUGGING - IVAS_RENDER_TYPE_OVERRIDE renderer_type_override; -#endif IVAS_ROOM_ACOUSTICS_CONFIG_DATA roomAcoustics; ISAR_SPLIT_REND_CONFIG_DATA split_rend_config; float directivity[IVAS_MAX_NUM_OBJECTS * 3]; diff --git a/lib_com/core_com_config_fx.c b/lib_com/core_com_config_fx.c index 744dafa695a6c70e26ea12d3f03cef9794ed77ac..a9d37207adcb068062c02f66e2746005a677886c 100644 --- a/lib_com/core_com_config_fx.c +++ b/lib_com/core_com_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/deemph_fx.c b/lib_com/deemph_fx.c index d801362728c09f1435b384059df931f92e71656b..d4e7c4424d909c47313fd6006d9e78ddc8b819e9 100644 --- a/lib_com/deemph_fx.c +++ b/lib_com/deemph_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/delay_comp_fx.c b/lib_com/delay_comp_fx.c index aff51ac2d9e68c6f017eb902a5abc929894849eb..efd893a4e7c710dc57ddd736d861381a222033b3 100644 --- a/lib_com/delay_comp_fx.c +++ b/lib_com/delay_comp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/disclaimer.c b/lib_com/disclaimer.c index 53210b9fe68764e1432438f2781ee4ccad778dbd..e0e18df5d7854e493930e451c20af39234394293 100644 --- a/lib_com/disclaimer.c +++ b/lib_com/disclaimer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/dlpc_bfi_fx.c b/lib_com/dlpc_bfi_fx.c index 2d6b1126862da9bd153687b0194c73b13ef165bb..74507082f4327b1b11f5f59bbd130ae34491e2ff 100644 --- a/lib_com/dlpc_bfi_fx.c +++ b/lib_com/dlpc_bfi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/edct_fx.c b/lib_com/edct_fx.c index 86a8ad268b57c74982476ea5ab364fa2a7df9cc5..ed8994bad53580f337ecb6827ac08a95bf48d880 100644 --- a/lib_com/edct_fx.c +++ b/lib_com/edct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/enhancer_fx.c b/lib_com/enhancer_fx.c index 620904d08e6f6a299b6ae0adcb5e1f0ceeea078c..7760a601bc30ef32db0eca4bf56ed6d39196e59b 100644 --- a/lib_com/enhancer_fx.c +++ b/lib_com/enhancer_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/enr_1_az_fx.c b/lib_com/enr_1_az_fx.c index afcd5b83821a83cf092a765114284cb4f0e8f311..b7dac537f64d9ec63f983ce36fb3dd4c208424d7 100644 --- a/lib_com/enr_1_az_fx.c +++ b/lib_com/enr_1_az_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/env_adj_fx.c b/lib_com/env_adj_fx.c index 07cddb0cd1022770cf1dafda2f74cd81513de013..fc732563922e67ca584dbaf7f4df191fcfbf69c6 100644 --- a/lib_com/env_adj_fx.c +++ b/lib_com/env_adj_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/env_stab_fx.c b/lib_com/env_stab_fx.c index 033417ce6c0869706aa05cd3bb20eec877beae0e..535d3f3443f730ab48ead7873c601ba15fb5c1d9 100644 --- a/lib_com/env_stab_fx.c +++ b/lib_com/env_stab_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/env_stab_trans_fx.c b/lib_com/env_stab_trans_fx.c index ccab6f2c196468e08effb36a56340946a62aea05..bcefa02a91d09dc32ffc3f3a0532cc67f05f71c4 100644 --- a/lib_com/env_stab_trans_fx.c +++ b/lib_com/env_stab_trans_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/est_tilt_fx.c b/lib_com/est_tilt_fx.c index f3a30403f189517a6edbc97e89e5f462e0443653..a3d3abb86b654639d27aa2a308d5f7fbaa0d3618 100644 --- a/lib_com/est_tilt_fx.c +++ b/lib_com/est_tilt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/fd_cng_com_fx.c b/lib_com/fd_cng_com_fx.c index 390afbd005b0c3590004d65cbe454a1ee08fb35d..deb1ac2c7f80beb7032ee07458dce1a96aee915c 100644 --- a/lib_com/fd_cng_com_fx.c +++ b/lib_com/fd_cng_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -162,12 +165,7 @@ void ivas_initFdCngCom_fx( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale ) hFdCngCom->exp_cldfb_periodog = 0; move16(); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG set16_fx( hFdCngCom->coherence_fx, 16384 /* 0.5 in Q15 */, MDCT_ST_DTX_NUM_COHERENCE_BANDS ); -#else - hFdCngCom->coherence_fx = 16384; /* 0.5 in Q15 */ - move16(); -#endif set32_fx( hFdCngCom->olapBufferSynth_fx, 0, FFTLEN ); set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN ); diff --git a/lib_com/fft_cldfb_fx.c b/lib_com/fft_cldfb_fx.c index d522751fe8b2b8d6ceecfc19b384b515c636bc2d..8bdd87d9cb26b5268d713d84834b5bd575411abe 100644 --- a/lib_com/fft_cldfb_fx.c +++ b/lib_com/fft_cldfb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/fft_evs.c b/lib_com/fft_evs.c index 94c2dea8ff0a7df4fc62fb898eb379e5d2d31a79..c76c4bf23ba2db729b2f05eca241d95a42ddd211 100644 --- a/lib_com/fft_evs.c +++ b/lib_com/fft_evs.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/fft_fx.c b/lib_com/fft_fx.c index 018020cbed36c64ca5bc85d21147afdd3f4a6de2..bebca8dd108060f70fa131bee1f58539c389f82a 100644 --- a/lib_com/fft_fx.c +++ b/lib_com/fft_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/fft_fx_evs.c b/lib_com/fft_fx_evs.c index 77d8bdd34d7e470198c5806338809657a11e2eb0..325a88672468cfa1e0b13fdd8afb8098af031e59 100644 --- a/lib_com/fft_fx_evs.c +++ b/lib_com/fft_fx_evs.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -2322,36 +2325,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) l = sub( shr( n, 3 ), 1 ); /* (3*m/8) - 1 = (n/8) - 1 */ FOR( i = 0; i < l; i++ ) { -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0++, 15 ); /* Align with the following non-fractional mode so as to gain 1 more bit headroom. Q15 + Qx*/ acc = L_mac0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ acc = L_mac0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0++, 15 ); /* Align with the following non-fractional mode so as to gain 1 more bit headroom. Q15 + Qx*/ - acc = L_mac0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ - acc = L_mac0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#endif - *RY++ = round_fx( acc ); /* bit growth = 1 (compensated by non-fractional mode MAC). Qx - 1*/ + *RY++ = round_fx( acc ); /* bit growth = 1 (compensated by non-fractional mode MAC). Qx - 1*/ move16(); -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *IZ0--, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_shl( *IZ0--, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx -#endif - *IY-- = round_fx( acc ); // Qx - 1 + *IY-- = round_fx( acc ); // Qx - 1 move16(); c1_ind = add( c1_ind, c1_step ); @@ -2364,36 +2351,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) l = shr( m, 3 ); /* (4*m/8) - (3*m/8) = m/8 */ FOR( i = 0; i < l; i++ ) { -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0++, 15 ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ acc = L_mac0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0++, 15 ); // Q15 + Qx - acc = L_mac0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ - acc = L_mac0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#endif - *RY++ = round_fx( acc ); // Qx - 1 + *RY++ = round_fx( acc ); // Qx - 1 move16(); -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *IZ0--, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_shl( *IZ0--, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx - acc = L_msu0( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx -#endif - *IY-- = round_fx( acc ); // Qx - 1 + *IY-- = round_fx( acc ); // Qx - 1 move16(); c1_ind = add( c1_ind, c1_step ); @@ -2403,16 +2374,10 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) } /* special case: i = m/2 i.e. 1/3 */ -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0--, 15 ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0--, 15 ); // Q15 + Qx - acc = L_mac0( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx -#endif - *RY++ = round_fx( acc ); // Qx - 1 + *RY++ = round_fx( acc ); // Qx - 1 move16(); acc = 0; @@ -2434,35 +2399,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) l = sub( shr( m, 2 ), 1 ); /* (6*m/8) - ((m/2)+1) = m/4 - 1 */ FOR( i = 0; i < l; i++ ) { -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0--, 15 ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ acc = L_msu0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0--, 15 ); // Q15 + Qx - acc = L_mac0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ - acc = L_msu0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx - acc = L_msu0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#endif - *RY++ = round_fx( acc ); // Qx - 1 - move16(); - - acc = L_mult0( *IZ0++, -32768 ); // Q15 + Qx -#ifdef FIX_2170_ASSERT_IN_FFT3 + *RY++ = round_fx( acc ); // Qx - 1 + move16(); + + acc = L_mult0( *IZ0++, -32768 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1--, t_sin[s1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *IZ1++, t_sin[c1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2--, t_sin[s2_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ2++, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_msu0( acc, *RZ1--, t_sin[s1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *IZ1++, t_sin[c1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2--, t_sin[s2_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ2++, t_sin[c2_ind] ); // Q15 + Qx -#endif - *IY-- = round_fx( acc ); // Qx - 1 + *IY-- = round_fx( acc ); // Qx - 1 move16(); c1_ind = add( c1_ind, c1_step ); @@ -2476,35 +2426,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) l = shr( m, 2 ); FOR( i = 0; i < l; i++ ) { -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0--, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ acc = L_msu0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0--, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ - acc = L_msu0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#endif - *RY++ = round_fx( acc ); // Qx - 1 - move16(); - - acc = L_mult0( *IZ0++, -32768 ); // Q15 + Qx -#ifdef FIX_2170_ASSERT_IN_FFT3 + *RY++ = round_fx( acc ); // Qx - 1 + move16(); + + acc = L_mult0( *IZ0++, -32768 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1--, t_sin[s1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ1++, t_sin[c1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ2--, t_sin[s2_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ2++, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_msu0( acc, *RZ1--, t_sin[s1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ1++, t_sin[c1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *RZ2--, t_sin[s2_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ2++, t_sin[c2_ind] ); // Q15 + Qx -#endif - *IY-- = round_fx( acc ); // Qx - 1 + *IY-- = round_fx( acc ); // Qx - 1 move16(); c1_ind = sub( c1_ind, c1_step ); @@ -2514,27 +2449,16 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) } /* special case: i = m, i.e 2/3 */ -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0++, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0++, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx -#endif - *RY++ = round_fx( acc ); // Qx - 1 + *RY++ = round_fx( acc ); // Qx - 1 move16(); acc = L_deposit_l( 0 ); -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx -#else - acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx -#endif - *IY-- = round_fx( acc ); // Qx - 1 + *IY-- = round_fx( acc ); // Qx - 1 move16(); IZ0--; /* Just decrement the address counter */ IZ1--; @@ -2549,36 +2473,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) l = sub( shr( m, 3 ), 1 ); /* (9*m/8) - (m +1) = m/8 - 1 */ FOR( i = 0; i < l; i++ ) { -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0++, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ acc = L_mac0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0++, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ - acc = L_mac0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx - acc = L_msu0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#endif - *RY++ = round_fx( acc ); // Qx - 1 + *RY++ = round_fx( acc ); // Qx - 1 move16(); -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *IZ0--, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_shl( *IZ0--, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx - acc = L_msu0( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx -#endif - *IY-- = round_fx( acc ); // Qx - 1 + *IY-- = round_fx( acc ); // Qx - 1 move16(); c1_ind = sub( c1_ind, c1_step ); @@ -2591,36 +2499,20 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) l = shr( n, 3 ); /* (12*m/8) - (9*m/8) = 3*m/8 = n/8 */ FOR( i = 0; i < l; i++ ) { -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0++, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ acc = L_mac0_sat( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0++, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); /* Non-fractional mode gains 1 more bit headroom. Q15 + Qx*/ - acc = L_mac0( acc, *IZ1, t_sin[s1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx - acc = L_msu0( acc, *IZ2, t_sin[s2_ind] ); // Q15 + Qx -#endif - *RY++ = round_fx( acc ); // Qx - 1 + *RY++ = round_fx( acc ); // Qx - 1 move16(); -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *IZ0--, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx acc = L_msu0_sat( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_shl( *IZ0--, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1++, t_sin[s1_ind] ); // Q15 + Qx - acc = L_msu0( acc, *IZ1--, t_sin[c1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *RZ2++, t_sin[s2_ind] ); // Q15 + Qx - acc = L_mac0( acc, *IZ2--, t_sin[c2_ind] ); // Q15 + Qx -#endif - *IY-- = round_fx( acc ); // Qx - 1 + *IY-- = round_fx( acc ); // Qx - 1 move16(); c1_ind = sub( c1_ind, c1_step ); @@ -2630,16 +2522,10 @@ void fft3_fx( const Word16 X[] /*Qx*/, Word16 Y[] /*Qx*/, const Word16 n ) } /* special case: i = 3*m/2 */ -#ifdef FIX_2170_ASSERT_IN_FFT3 acc = L_shl_sat( *RZ0, 15 ); // Q15 + Qx acc = L_msu0_sat( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx acc = L_mac0_sat( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx -#else - acc = L_shl( *RZ0, 15 ); // Q15 + Qx - acc = L_msu0( acc, *RZ1, t_sin[c1_ind] ); // Q15 + Qx - acc = L_mac0( acc, *RZ2, t_sin[c2_ind] ); // Q15 + Qx -#endif - *RY = round_fx( acc ); // Qx - 1 + *RY = round_fx( acc ); // Qx - 1 move16(); return; diff --git a/lib_com/fft_rel_fx.c b/lib_com/fft_rel_fx.c index b3fcc967ae7a272a4a1b404aa9de971884cf105f..c394b34a682dedb9521021870225f4a04194ae9b 100644 --- a/lib_com/fft_rel_fx.c +++ b/lib_com/fft_rel_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/fill_spectrum_fx.c b/lib_com/fill_spectrum_fx.c index 84d3127077201edd0c41ec9daacdf25850a91254..dde70105cd764ae1c2e93d2d15d6f883939882db 100644 --- a/lib_com/fill_spectrum_fx.c +++ b/lib_com/fill_spectrum_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/findpulse_fx.c b/lib_com/findpulse_fx.c index 7e0f535b37e9262d84da0a8592f3dd87401a306f..b4a17c65ca1405721be1ca04d20690b48b363b5d 100644 --- a/lib_com/findpulse_fx.c +++ b/lib_com/findpulse_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/fine_gain_bits_fx.c b/lib_com/fine_gain_bits_fx.c index dd306f872344a86753e2db927bbd45c662389805..f911346f29618ac846c75baac4c409fcbd2259f6 100644 --- a/lib_com/fine_gain_bits_fx.c +++ b/lib_com/fine_gain_bits_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/frame_ener_fx.c b/lib_com/frame_ener_fx.c index 1ba05337caf20f13b8ad1494daf9aedb809cf03f..660e748cfcc3422b86dd2c909446ce3a855d6d2f 100644 --- a/lib_com/frame_ener_fx.c +++ b/lib_com/frame_ener_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/gain_inov_fx.c b/lib_com/gain_inov_fx.c index cd0d34290986934dfef02fd158202ad6c2dfe685..02da8264ec23a95f385a65bb2e01404c157fc92b 100644 --- a/lib_com/gain_inov_fx.c +++ b/lib_com/gain_inov_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/get_gain_fx.c b/lib_com/get_gain_fx.c index 69d18b600c2396544fa6e013dfc246dcbc442936..16c5ff403d17de06b8f15e87e8648d8c7378b264 100644 --- a/lib_com/get_gain_fx.c +++ b/lib_com/get_gain_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/gs_bitallocation_fx.c b/lib_com/gs_bitallocation_fx.c index ee2c3f98ce1b1ea05e1ced73cb1f14bf78cc5824..f72d200ed5907e631bd0d46a6038bcb126cdacd3 100644 --- a/lib_com/gs_bitallocation_fx.c +++ b/lib_com/gs_bitallocation_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/gs_bitallocation_ivas_fx.c b/lib_com/gs_bitallocation_ivas_fx.c index 549edd34516730e8ac68c60dba09d3f231843913..9c797fbdf1abedf11adfefbb3f135e6545bd7cb6 100644 --- a/lib_com/gs_bitallocation_ivas_fx.c +++ b/lib_com/gs_bitallocation_ivas_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -869,9 +872,6 @@ static Word32 Find_bit_frac_fx( } ELSE { -#ifdef DEBUGGING - printf( "1/%d NOT DEFINED in Find_bit_frac\n", nb_band ); -#endif } L_out = L_mult( inv_bandQ15, shl( remaining_bits, 2 ) ); /*Q18*/ diff --git a/lib_com/gs_gains_fx.c b/lib_com/gs_gains_fx.c index b1c20904028ea87f87d92bb1ca9770049d4d3455..7cc2ed1779a947fd296354b18f30506947289fcc 100644 --- a/lib_com/gs_gains_fx.c +++ b/lib_com/gs_gains_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/gs_inact_switching_fx.c b/lib_com/gs_inact_switching_fx.c index 9ad4241021d84cd0bbe6c58c6cf9cc8f02b7b57b..592e6dc37e364bfe0588c56e2df60e7638d77446 100644 --- a/lib_com/gs_inact_switching_fx.c +++ b/lib_com/gs_inact_switching_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/gs_noisefill_fx.c b/lib_com/gs_noisefill_fx.c index 3668c3d77c08ab1245727deea349de7ec7e9acdc..f65da7301d7dc7c98dded34391e3580d42e1ee5e 100644 --- a/lib_com/gs_noisefill_fx.c +++ b/lib_com/gs_noisefill_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/gs_preech_fx.c b/lib_com/gs_preech_fx.c index 3b4c4f2a83a74aea508d987f5e1d64ff69358c97..0df8db0b69074ca8ed52080de7c3bed8e155c825 100644 --- a/lib_com/gs_preech_fx.c +++ b/lib_com/gs_preech_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/guided_plc_util_fx.c b/lib_com/guided_plc_util_fx.c index 7f5e4488105366e416f7ba90baa464c2c56302cb..63a87e4435c3a1a40960c86173b12cc9e26328d5 100644 --- a/lib_com/guided_plc_util_fx.c +++ b/lib_com/guided_plc_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/hp50_fx.c b/lib_com/hp50_fx.c index 26cc777940b510fd64b2289ad1743540febf0197..93e115f7bc9ab791b115f5e4ea0f6fa9768c3468 100644 --- a/lib_com/hp50_fx.c +++ b/lib_com/hp50_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -316,12 +288,8 @@ void hp20_fx_32_opt( prescale = s_min( prescale, diff ); prescale = sub( 1 + HP20_FX_COEFF_SCALE, prescale ); -#ifdef FIX_2086_ENABLE_HP20_OPT_FOR_ENC if ( EQ_16( prescale_current_frame, 1 + HP20_FX_COEFF_SCALE - 31 ) || // signal_fx buffer contains only zeros, so use the mem_fx scale_factor instead LT_16( prescale_current_frame, prescale ) ) // To avoid overflow in the subsequent shr() scaling for W_y1, W_y2, x2, and x1 calculations before the for loop. -#else - if ( EQ_16( prescale_current_frame, 1 + HP20_FX_COEFF_SCALE - 31 ) ) // signal_fx buffer contains only zeros, so use the mem_fx scale_factor instead -#endif { prescale_current_frame = prescale; } diff --git a/lib_com/hq2_bit_alloc_fx.c b/lib_com/hq2_bit_alloc_fx.c index e4c671a74c7b65877dd9facc121b2c9dcd644d4a..d225579c9622a8057dad39e24abb5140744f3ce2 100644 --- a/lib_com/hq2_bit_alloc_fx.c +++ b/lib_com/hq2_bit_alloc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/hq2_core_com_fx.c b/lib_com/hq2_core_com_fx.c index 78f60d4659b3eb2e3d64e98c2904dd75eccfc1ee..e1a3bb8e6fcdeff503e58a845e0ea814b8929fa8 100644 --- a/lib_com/hq2_core_com_fx.c +++ b/lib_com/hq2_core_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include diff --git a/lib_com/hq2_noise_inject_fx.c b/lib_com/hq2_noise_inject_fx.c index 76efad10e991b289bd73e343153f8440468cc7b5..53a760224d86406729bbe14d4d244ed6477e824b 100644 --- a/lib_com/hq2_noise_inject_fx.c +++ b/lib_com/hq2_noise_inject_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/hq_bit_allocation_fx.c b/lib_com/hq_bit_allocation_fx.c index c3fc6a3a59ca8ff21dd5fedbf9c52095ffb6463f..89d806b480ee0246f9a84909c0cc8d8d16cbbfcd 100644 --- a/lib_com/hq_bit_allocation_fx.c +++ b/lib_com/hq_bit_allocation_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/hq_conf_fx.c b/lib_com/hq_conf_fx.c index b400624487bfbb9c5b3bd897c1d88f791382cbb2..b95d9e66df33d03e0ded43c2b97a9778793758cd 100644 --- a/lib_com/hq_conf_fx.c +++ b/lib_com/hq_conf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/hq_tools_fx.c b/lib_com/hq_tools_fx.c index df36099a4fa057a7395ccf118873179e30755823..dc06f1cb6d11fe9b4e75e8b73bf03555500ca567 100644 --- a/lib_com/hq_tools_fx.c +++ b/lib_com/hq_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/hvq_pvq_bitalloc_fx.c b/lib_com/hvq_pvq_bitalloc_fx.c index bc15fe2660fdeea5d42264efee3fcb4e5eb14c1f..5c61f8e6ab48a270dde0614327d176fe8f46db7c 100644 --- a/lib_com/hvq_pvq_bitalloc_fx.c +++ b/lib_com/hvq_pvq_bitalloc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/ifft_rel_fx.c b/lib_com/ifft_rel_fx.c index f404a10c8f72d25c02b3d00260226591f0399cad..5792f08d50cdd1373de3cc0573d511fcfb523962 100644 --- a/lib_com/ifft_rel_fx.c +++ b/lib_com/ifft_rel_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/igf_base_fx.c b/lib_com/igf_base_fx.c index ae2e9c51bd168a96b6229eb421d5438425568a83..dd559c56b88c2e92846149f387af78a18986b9f1 100644 --- a/lib_com/igf_base_fx.c +++ b/lib_com/igf_base_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/index_pvq_opt_fx.c b/lib_com/index_pvq_opt_fx.c index e2d2690cea7f5236548ad13365125b6f6ebb7db8..e8fa48f6a8fe27a8923cedfd069952db3532652e 100644 --- a/lib_com/index_pvq_opt_fx.c +++ b/lib_com/index_pvq_opt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/int_lsp_fx.c b/lib_com/int_lsp_fx.c index 0404a2f618d7453a82c9cd9627abbd6da55fd16c..9539e8dcd4a97b5745e8e65898065762bbc8d97f 100644 --- a/lib_com/int_lsp_fx.c +++ b/lib_com/int_lsp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/interleave_spectrum_fx.c b/lib_com/interleave_spectrum_fx.c index 3dc1672ec86a746cd74d1f2d8ee3fe59fe4ab094..a969b7e2ec04792f0a44ac616dd9557c580a7119 100644 --- a/lib_com/interleave_spectrum_fx.c +++ b/lib_com/interleave_spectrum_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/interpol_fx.c b/lib_com/interpol_fx.c index 7d4c2208de4c78c372e870f16da623948d69fa93..5b92284638f11caf13fc094aa2ea7d15b0c30611 100644 --- a/lib_com/interpol_fx.c +++ b/lib_com/interpol_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/isf_dec_amr_wb_fx.c b/lib_com/isf_dec_amr_wb_fx.c index 5ab82ee6dc158e877fd24f908e16cd20545f4f5c..7c08f7a43ab17881f666d454a61a08eb6d313450 100644 --- a/lib_com/isf_dec_amr_wb_fx.c +++ b/lib_com/isf_dec_amr_wb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_com/ivas_agc_com_fx.c b/lib_com/ivas_agc_com_fx.c index 3f6e181efb2154cf8fc2ce949321b0959c1dab90..d83d96662cd6c15ec28929fb9f1726103b5642bd 100644 --- a/lib_com/ivas_agc_com_fx.c +++ b/lib_com/ivas_agc_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_arith_fx.c b/lib_com/ivas_arith_fx.c index c708976dac8552562abb21fd47637ec18a9eb61f..4c4877c5fde8a7c2c26d1dc5ab6c2ecd7007a2ca 100644 --- a/lib_com/ivas_arith_fx.c +++ b/lib_com/ivas_arith_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_avq_pos_reorder_com_fx.c b/lib_com/ivas_avq_pos_reorder_com_fx.c index 25f8be3ad2ae64b4b05bc88bfc19b22043377621..d7de0584cc4a6130f5f574cac7ea08878627a26f 100644 --- a/lib_com/ivas_avq_pos_reorder_com_fx.c +++ b/lib_com/ivas_avq_pos_reorder_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index b8415b7fd28d70214bf80f153a9130b0d2428291..332cd40c1dcb83dc8ef7417dd789ef27ceb1dd52 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_CNST_H #define IVAS_CNST_H @@ -197,12 +169,10 @@ typedef enum #define MAX_SPAR_INTERNAL_CHANNELS IVAS_SPAR_MAX_CH #define MAX_CLDFB_DIGEST_CHANNELS 3 /* == maximum of ParamISM TCs and ParamMC TCs */ -#ifdef FIX_GAIN_EDIT_LIMITS #define EDIT_GAIN_MIN_Q29 33874260 /* Minimum allowed object gain edit with parametric modes in Q29: 0.0630957f, -24 dB */ #define EDIT_GAIN_MAX_Q29 2137321728 /* Maximum allowed object gain edit in Q29: 3.9810719f, +12 dB */ #define EDIT_GAIN_MIN_Q12 258 /* Minimum allowed object gain edit with parametric modes in Q12: 0.0630957f, -24 dB */ #define EDIT_GAIN_MAX_Q12 16306 /* Maximum allowed object gain edit in Q12: 3.9810719f, +12 dB */ -#endif @@ -258,9 +228,7 @@ typedef enum /* format signaling in SID frames */ #define SID_FORMAT_NBITS 3 /* Bit 0 | Bit 1 | Bit 2 */ /*-------|-------|------ */ -#ifdef FIX_1384_MSAN_ivas_spar_dec_open #define SID_FORMAT_NONE (-0x1) /* n/a| n/a| n/a*/ -#endif #define SID_DFT_STEREO 0x0 /* 0| 0| 0 */ #define SID_MDCT_STEREO 0x1 /* 1| 0| 0 */ #define SID_ISM 0x2 /* 0| 1| 0 */ @@ -854,10 +822,6 @@ enum fea_names /* MDCT stereo modes */ #define SMDCT_MS_DECISION 0 -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE -#define SMDCT_FORCE_LR 1 -#define SMDCT_FORCE_MS 2 -#endif #define MAX_SFB 70 /* Maximum number of stereo frequency bands = 64 + 6 for TCX after ACELP */ @@ -893,10 +857,8 @@ enum fea_names #define MDCT_ST_PLC_FADEOUT_TO_ZERO_LEN 20 #define MDCT_ST_PLC_FADEOUT_DELAY_4_LSP_FADE 3 -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG #define MDCT_ST_DTX_NUM_COHERENCE_BANDS 5 #define MDCT_ST_DTX_FIRST_BAND_OFFSET 2 -#endif typedef enum { NOISE_GEN_MODE_UNDEF = -1, @@ -1299,11 +1261,7 @@ typedef enum *----------------------------------------------------------------------------------*/ #define MC_LS_SETUP_BITS 3 /* number of bits for writing the MC LS configuration */ -#ifdef FIX_1419_MONO_STEREO_UMX #define LS_SETUP_CONVERSION_NUM_MAPPINGS 41 /* number of mappings for LS setup conversion */ -#else -#define LS_SETUP_CONVERSION_NUM_MAPPINGS 35 /* number of mappings for LS setup conversion */ -#endif typedef enum { @@ -1656,18 +1614,13 @@ typedef enum #define RV_LENGTH_NR_FC ( RV_FILTER_MAX_FFT_SIZE / 2 ) + 1 #define RV_LENGTH_NR_FC_16KHZ ( RV_FILTER_MAX_FFT_SIZE / 4 ) + 1 -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE #define IVAS_REVERB_DEFAULT_L_N_BANDS 31 #define IVAS_REVERB_DEFAULT_M_N_BANDS 31 #define IVAS_REVERB_DEFAULT_S_N_BANDS 60 -#else -#define IVAS_REVERB_DEFAULT_N_BANDS 31 -#endif #define LR_IAC_LENGTH_NR_FC ( RV_LENGTH_NR_FC ) #define LR_IAC_LENGTH_NR_FC_16KHZ ( RV_LENGTH_NR_FC_16KHZ ) -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE typedef enum { DEFAULT_REVERB_UNSET = -1, @@ -1675,7 +1628,6 @@ typedef enum DEFAULT_REVERB_MEDIUM, DEFAULT_REVERB_LARGE } IVAS_DefaultReverbSize; -#endif /*----------------------------------------------------------------------------------* diff --git a/lib_com/ivas_cov_smooth_fx.c b/lib_com/ivas_cov_smooth_fx.c index 9a8de3c1f055c1e3a119181c3c404a3a903242a7..684864a12b85911e6ed601b8273b77e2c26f2897 100644 --- a/lib_com/ivas_cov_smooth_fx.c +++ b/lib_com/ivas_cov_smooth_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_dirac_com_fx.c b/lib_com/ivas_dirac_com_fx.c index cba992070911995e986aa23a6637d2802d189c5f..93a80953d6f36ae52845fb4c3cf46f96f383705a 100644 --- a/lib_com/ivas_dirac_com_fx.c +++ b/lib_com/ivas_dirac_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_entropy_coder_common_fx.c b/lib_com/ivas_entropy_coder_common_fx.c index f52d59859e7833964f125b0837b23a7d18c91dce..d79b7d456536f1b056e4e14557ddbbeb30d60c3c 100644 --- a/lib_com/ivas_entropy_coder_common_fx.c +++ b/lib_com/ivas_entropy_coder_common_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index 563fdeb367b47f902fe2777819ab69832515aee6..232b670f6ba9055600d4761e910309dfbf6dd63d 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -93,9 +65,6 @@ typedef enum IVAS_ERR_IO_CONFIG_PAIR_NOT_SUPPORTED, IVAS_ERR_TSM_NOT_ENABLED, IVAS_ERR_FETCH_SIZE_NO_MULTIPLE_OF_5MS, -#ifdef DEBUGGING - IVAS_ERR_INVALID_FORCE_MODE, -#endif /*----------------------------------------* * input data errors * @@ -145,7 +114,6 @@ typedef enum IVAS_ERR_LC3PLUS_INVALID_BITRATE, IVAS_ERR_INVALID_SPLIT_REND_CONFIG, -#ifdef IVAS_RTPDUMP /*----------------------------------------* * rtp errors * *----------------------------------------*/ @@ -153,7 +121,6 @@ typedef enum IVAS_ERR_RTP_INSUFFICIENT_OUTPUT_SIZE, IVAS_ERR_RTP_UNPACK_PI_DATA, IVAS_ERR_RTP_UNSUPPORTED_FRAME, -#endif /*----------------------------------------* * unknown error * @@ -232,10 +199,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "Unexpected NULL pointer"; case IVAS_ERR_METADATA_NOT_EXPECTED: return "Metadata input not expected for current configuration"; -#ifdef DEBUGGING - case IVAS_ERR_INVALID_FORCE_MODE: - return "Invalid force mode"; -#endif case IVAS_ERR_NOT_IMPLEMENTED: return "Not implemented"; case IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT: @@ -292,7 +255,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) { return "data error"; } -#ifdef IVAS_RTPDUMP if ( ( error_code & 0x7000 ) == 0x7000 ) { switch ( error_code ) @@ -309,7 +271,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "rtp error"; } } -#endif return "Unknown error"; } diff --git a/lib_com/ivas_error_utils.h b/lib_com/ivas_error_utils.h index 0c3d5ce042d74d7b9ea0c4be32729f5c161889de..8e015039e0acc192fbe01197c32a1d84a03754de 100644 --- a/lib_com/ivas_error_utils.h +++ b/lib_com/ivas_error_utils.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" diff --git a/lib_com/ivas_fb_mixer_fx.c b/lib_com/ivas_fb_mixer_fx.c index c860b354e27a271e5a6384bde2e3e15f9512408e..412669a73445bdb639d15e68f6b7ce84b9c5d56e 100644 --- a/lib_com/ivas_fb_mixer_fx.c +++ b/lib_com/ivas_fb_mixer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_filters_fx.c b/lib_com/ivas_filters_fx.c index 02e7b272a4beb7759335c88421067918f710763f..f435f8b78c28595580ee5a8d6693b0f1011072b5 100644 --- a/lib_com/ivas_filters_fx.c +++ b/lib_com/ivas_filters_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_ism_com_fx.c b/lib_com/ivas_ism_com_fx.c index ea276c944920f227648b8d0fccf79076571f0806..efefaa89dbffd13e1aa2b23b2b2ee82277c07365 100644 --- a/lib_com/ivas_ism_com_fx.c +++ b/lib_com/ivas_ism_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_lfe_com_fx.c b/lib_com/ivas_lfe_com_fx.c index d515cc5fbc77ce306b43d6d8607a430a74c3f5b7..99ba08cbfc85b9bbda167a05fec39ac4e94c2173 100644 --- a/lib_com/ivas_lfe_com_fx.c +++ b/lib_com/ivas_lfe_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "math.h" diff --git a/lib_com/ivas_limiter_fx.c b/lib_com/ivas_limiter_fx.c index a293b629c189f7cedfff46ed6caf5e6b4213873d..9f8ed4fa026fb2c94f7edb1048df86103cf0d9df 100644 --- a/lib_com/ivas_limiter_fx.c +++ b/lib_com/ivas_limiter_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_masa_com_fx.c b/lib_com/ivas_masa_com_fx.c index 9c706bc74a1dc6bfdeefea66b3835ef25fe0f2bd..078292db4430b6fbd65c715ca081dc3fd1284523 100644 --- a/lib_com/ivas_masa_com_fx.c +++ b/lib_com/ivas_masa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mc_com_fx.c b/lib_com/ivas_mc_com_fx.c index 8201037a1a5f89eb53acb0e81787b0a87f68da5c..a292d59a3d1726b1c18c5a03df00ea629581479f 100644 --- a/lib_com/ivas_mc_com_fx.c +++ b/lib_com/ivas_mc_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mc_param_com_fx.c b/lib_com/ivas_mc_param_com_fx.c index e3827c5685d146777de8975f73bd52b7b5791873..b072798f589a0ddbe10ff109395c722304aa10c5 100644 --- a/lib_com/ivas_mc_param_com_fx.c +++ b/lib_com/ivas_mc_param_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_mcmasa_com_fx.c b/lib_com/ivas_mcmasa_com_fx.c index 23a3800fb792ba9eeee06ef4cd26001a9b54d5e6..75984111e7649ffe1113c7d4e2e1771aa5263d8f 100644 --- a/lib_com/ivas_mcmasa_com_fx.c +++ b/lib_com/ivas_mcmasa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "ivas_cnst.h" #include "options.h" diff --git a/lib_com/ivas_mct_com_fx.c b/lib_com/ivas_mct_com_fx.c index 81a56df146d9ba7378dbcadacb6aeb39b98f28b0..e83a0f8cdc8f56065b80ae80ef4948c6882c1714 100644 --- a/lib_com/ivas_mct_com_fx.c +++ b/lib_com/ivas_mct_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_mdct_core_com_fx.c b/lib_com/ivas_mdct_core_com_fx.c index fe313eecdd7c3be915f9d9aa73c37081e79b61ac..8f4b75f4b48fe5ffce6270a13065b667ca9700c5 100644 --- a/lib_com/ivas_mdct_core_com_fx.c +++ b/lib_com/ivas_mdct_core_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_mdct_imdct_fx.c b/lib_com/ivas_mdct_imdct_fx.c index 960b823ae605a2c890c6b77a3e305039fe0af208..9479830dfce4767d9005bc5aa1d18640832621be 100644 --- a/lib_com/ivas_mdct_imdct_fx.c +++ b/lib_com/ivas_mdct_imdct_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_fx.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "ivas_stat_com.h" #include "wmc_auto.h" diff --git a/lib_com/ivas_mdft_imdft_fx.c b/lib_com/ivas_mdft_imdft_fx.c index 1d07ab13356e8b5b418e841bd302a6dd002df1dd..336f4c8563b5b61c898e15f4532b6536eb0a8577 100644 --- a/lib_com/ivas_mdft_imdft_fx.c +++ b/lib_com/ivas_mdft_imdft_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -39,7 +11,6 @@ #include "wmc_auto.h" #include #include -#include "debug.h" #include "ivas_prot_fx.h" /*-----------------------------------------------------------------------------------------* diff --git a/lib_com/ivas_omasa_com_fx.c b/lib_com/ivas_omasa_com_fx.c index 1c1d4bf6cb6ca87def78b29f60c793547d2f3e4d..5b23ebc89adfc28e8d823601ff20d1bb2e632557 100644 --- a/lib_com/ivas_omasa_com_fx.c +++ b/lib_com/ivas_omasa_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_com/ivas_osba_com_fx.c b/lib_com/ivas_osba_com_fx.c index 79ce8443ace24e625bd32134f6817c56bd34b78c..702b6205c8bdfa56acffca6e1c3559625b7c6697 100644 --- a/lib_com/ivas_osba_com_fx.c +++ b/lib_com/ivas_osba_com_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include "ivas_cnst.h" #include "ivas_prot_fx.h" #include "prot_fx.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*! r : ISM format mode */ ISM_MODE ivas_osba_ism_mode_select( diff --git a/lib_com/ivas_pca_tools_fx.c b/lib_com/ivas_pca_tools_fx.c index e0d42e4040cd90a6dc4f59c0d193d7c2d6d1022a..dada21a76617fdfa3d98bbc36f57642a704af5de 100644 --- a/lib_com/ivas_pca_tools_fx.c +++ b/lib_com/ivas_pca_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_prot_fx.h b/lib_com/ivas_prot_fx.h index b75b3813733be9bd945bc824afe53d0c7ff2c9f0..06dd3c8f44a680fe4c1bc79f5c63d748786cb184 100644 --- a/lib_com/ivas_prot_fx.h +++ b/lib_com/ivas_prot_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_PROT_FX_H #define IVAS_PROT_FX_H @@ -1490,13 +1462,6 @@ ivas_error ivas_dirac_config_fx( void *st_ivas, /* i/o: IVAS encoder/decoder state structure */ const Word16 enc_dec /* i : encoder or decoder flag */ ); -#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG - -void dtx_read_padding_bits_fx( - DEC_CORE_HANDLE st, - const Word16 num_bits -); -#endif void FdCngEncodeMDCTStereoSID_fx( CPE_ENC_HANDLE hCPE /* i/o: CPE encoder state structure */ @@ -5997,10 +5962,6 @@ ivas_error pre_proc_front_ivas_fx( const Word32 last_ivas_total_brate, /* i : last IVAS total bitrate Q0*/ const Word32 ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX Q0*/ Word16 *Q_new -#ifdef DEBUG_MODE_INFO - , - const Word16 ch_idx -#endif ); ivas_error pre_proc_ivas_fx( @@ -6695,7 +6656,6 @@ void ivas_binaural_hrtf_close_fx( HRTFS_FASTCONV_HANDLE *hHrtfFastConv /* i/o: decoder binaural hrtf handle */ ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*---------------------------------------------------------------------------------* * Multi-pose ring buffer Prototypes @@ -6731,7 +6691,6 @@ void ivas_CLDFB_RINGBUF_GetByIdx( const Word16 idx ); -#endif /*----------------------------------------------------------------------------------* * renderer prototypes @@ -6824,10 +6783,6 @@ ivas_error ivas_osba_enc_reconfig( void ivas_set_surplus_brate_enc( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -#ifdef DEBUG_MODE_INFO - , - const int16_t *nb_bits_metadata /* i : number of metadata bits */ -#endif ); void ivas_set_surplus_brate_dec( diff --git a/lib_com/ivas_qmetadata_com_fx.c b/lib_com/ivas_qmetadata_com_fx.c index 906277f54294d732a576187b64c798e8e375c836..3f4cf46930c38714281b78361b69a87b0563000a 100644 --- a/lib_com/ivas_qmetadata_com_fx.c +++ b/lib_com/ivas_qmetadata_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_qspherical_com_fx.c b/lib_com/ivas_qspherical_com_fx.c index 7d7c159b365ed4e89520a51b472381c25d7b7c8a..76ec9d610a57db95d60d296d43954621fbb8a9e7 100644 --- a/lib_com/ivas_qspherical_com_fx.c +++ b/lib_com/ivas_qspherical_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_rom_com.h b/lib_com/ivas_rom_com.h index 9773d0715db6cd47bb27636649ea460ce60daf37..ddc1a7a8abc77220127e65d77055b3b7113c87fd 100644 --- a/lib_com/ivas_rom_com.h +++ b/lib_com/ivas_rom_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_ROM_COM_H #define IVAS_ROM_COM_H @@ -133,10 +105,8 @@ extern const SpectrumWarping sw32000Hz[]; /* PsychLPC */ extern const MDCTStereoBands_config mdctStereoBands_32000_640[]; -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG extern const Word16 mdct_stereo_dtx_coherence_bandlengths[MDCT_ST_DTX_NUM_COHERENCE_BANDS]; extern const Word16 get_next_index_4_by_15[16]; -#endif /*----------------------------------------------------------------------------------* @@ -300,9 +270,7 @@ extern const Word32 diffuseness_thresholds_hr_fx[HR_MASA_ER_LEVELS + 1]; extern const Word32 no_phi_masa_inv_fx[NO_SPHERICAL_GRIDS][MAX_NO_THETA]; extern const Word32 azimuth_cb_fx[8]; extern const Word32 delta_theta_masa_fx[NO_SPHERICAL_GRIDS - 2]; -#ifdef OBJ_EDIT_BASOP extern const Word32 delta_theta_masa_inv_fx[NO_SPHERICAL_GRIDS - 2]; -#endif extern const Word16 coherence_cb0_masa_Q14[DIRAC_DIFFUSE_LEVELS * 2 * MASA_NO_CV_COH]; extern const Word32 coherence_cb0_masa_fx[DIRAC_DIFFUSE_LEVELS * 2 * MASA_NO_CV_COH]; extern const Word16 coherence_cb1_masa_Q15[MASA_NO_CV_COH1 * MASA_MAXIMUM_CODING_SUBBANDS]; /* 25 */ diff --git a/lib_com/ivas_rom_com_fx.c b/lib_com/ivas_rom_com_fx.c index a5af89655248c5f0066fd6c0fb6f5df4a39c823b..3f608daa7e9b02ad99dda0444ec05aefad988224 100644 --- a/lib_com/ivas_rom_com_fx.c +++ b/lib_com/ivas_rom_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -546,7 +518,6 @@ const MDCTStereoBands_config mdctStereoBands_32000_640[] = {33, 29, 26, 18}/*number of bands for frame lengths 480, 320, 256, 160 respectively*/ }}; -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG const Word16 mdct_stereo_dtx_coherence_bandlengths[MDCT_ST_DTX_NUM_COHERENCE_BANDS] = { 6, /* 8 - MDCT_ST_DTX_FIRST_BAND_OFFSET */ 8, 16, 16, 80 }; @@ -554,7 +525,6 @@ const Word16 mdct_stereo_dtx_coherence_bandlengths[MDCT_ST_DTX_NUM_COHERENCE_BAN const Word16 get_next_index_4_by_15[16] = { 0, 2184, 4369, 6553, 8738, 10922, 13107, 15291, 17476, 19660, 21845, 24029, 26214, 28398, 30583, 32767 }; -#endif const Word16 dft_cng_coh_u2i[9] = { 4, 5, 3, 6, 2, 7, 1, 8, 0 }; /* Coherence unary codeword -> residual codeword conversion table */ @@ -4416,12 +4386,10 @@ const Word32 delta_theta_masa_fx[NO_SPHERICAL_GRIDS - 2] = { 188743680, 188743680, 150994944, 106954752, 83886080, 62914560, 45214596, 28101836, 20971520 }; -#ifdef OBJ_EDIT_BASOP // Q31 const Word32 delta_theta_masa_inv_fx[NO_SPHERICAL_GRIDS - 2] = { 47721859, 47721859, 59652324, 84215045, 107374182, 143165577, 199209986, 320519947, 429496730 }; -#endif // q = 14 const Word16 coherence_cb0_masa_Q14[DIRAC_DIFFUSE_LEVELS * 2 * MASA_NO_CV_COH] = { diff --git a/lib_com/ivas_rotation_com_fx.c b/lib_com/ivas_rotation_com_fx.c index d399c6a660e352ebd6ad625d8d13753c88d432a0..e5948e642985dd5c79f3fa99541887015a2da657 100644 --- a/lib_com/ivas_rotation_com_fx.c +++ b/lib_com/ivas_rotation_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "ivas_cnst.h" #include @@ -38,9 +10,6 @@ #include "cnst.h" #include "prot_fx.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "basop_util.h" #include "enh64.h" diff --git a/lib_com/ivas_sba_config_fx.c b/lib_com/ivas_sba_config_fx.c index 4caa22da2a0b258d80f3dcc3068db56af2c80911..002aa78a2897b856e13b18b2148c566a6088ac83 100644 --- a/lib_com/ivas_sba_config_fx.c +++ b/lib_com/ivas_sba_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_sns_com_fx.c b/lib_com/ivas_sns_com_fx.c index 48be0cfd083000e5f134b7d50633a61a12d5ab67..44cf874a88e0f729085b29453973ea4e27e7dc42 100644 --- a/lib_com/ivas_sns_com_fx.c +++ b/lib_com/ivas_sns_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_spar_com_fx.c b/lib_com/ivas_spar_com_fx.c index afb639ef00c92528308d8e5ceabf7085007fd8c4..8064468bcef6999bcc8bd9a2dd9bc9cda7157c75 100644 --- a/lib_com/ivas_spar_com_fx.c +++ b/lib_com/ivas_spar_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "math.h" diff --git a/lib_com/ivas_spar_com_quant_util_fx.c b/lib_com/ivas_spar_com_quant_util_fx.c index 8e84e4e374273d2b97988a01283fac18405d859d..d732efc22be5d9be9f0e739320b1239875a52a13 100644 --- a/lib_com/ivas_spar_com_quant_util_fx.c +++ b/lib_com/ivas_spar_com_quant_util_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h index 65a081c9c9884c49cda797f81a9889a55959c056..ceb91b3abfc1b9a722f1a2df75cd8b0334916153 100644 --- a/lib_com/ivas_stat_com.h +++ b/lib_com/ivas_stat_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_STAT_COM #define IVAS_STAT_COM diff --git a/lib_com/ivas_stereo_dft_com_fx.c b/lib_com/ivas_stereo_dft_com_fx.c index 6d63bc6d1565160d0a3a3edb4f84b812077e882e..83885304bbe3c54887d7d5b8ccd7724740b26543 100644 --- a/lib_com/ivas_stereo_dft_com_fx.c +++ b/lib_com/ivas_stereo_dft_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_stereo_eclvq_com_fx.c b/lib_com/ivas_stereo_eclvq_com_fx.c index 958781473910ff0f164ad50b9eb076fd3e0796e3..a9f815d07bc7a0f35525ba26ae2f480a3af9cb81 100644 --- a/lib_com/ivas_stereo_eclvq_com_fx.c +++ b/lib_com/ivas_stereo_eclvq_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stereo_ica_com_fx.c b/lib_com/ivas_stereo_ica_com_fx.c index 11f16d0a5fde3f8b3f14e48230b90860028650ce..019836592bc7c3965877c82ce993020517ab9848 100644 --- a/lib_com/ivas_stereo_ica_com_fx.c +++ b/lib_com/ivas_stereo_ica_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively FOR experts who have experience with such software and - solely FOR the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness FOR a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_stereo_mdct_bands_com_fx.c b/lib_com/ivas_stereo_mdct_bands_com_fx.c index 43f2f16c7efc13d125717975cc63064027644d3d..48881491a0d28534d07d5116fc65c21863821288 100644 --- a/lib_com/ivas_stereo_mdct_bands_com_fx.c +++ b/lib_com/ivas_stereo_mdct_bands_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_stereo_mdct_stereo_com_fx.c b/lib_com/ivas_stereo_mdct_stereo_com_fx.c index 0a773169d07313155482bed27f0613b1cccb7a40..e32fd0c27c9c9dbb8113bb5211223672a30e79a4 100644 --- a/lib_com/ivas_stereo_mdct_stereo_com_fx.c +++ b/lib_com/ivas_stereo_mdct_stereo_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stereo_psychlpc_com_fx.c b/lib_com/ivas_stereo_psychlpc_com_fx.c index df514089560c440dde31ff103bf87fd0b1ff740f..e19a16e84544fb09db96efc304552e8bc3f215ac 100644 --- a/lib_com/ivas_stereo_psychlpc_com_fx.c +++ b/lib_com/ivas_stereo_psychlpc_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_stereo_td_bit_alloc_fx.c b/lib_com/ivas_stereo_td_bit_alloc_fx.c index fe18e7bad6caea89ed7c019b09a57943b5499eeb..220f5be0bd265feec18239e179b7388e48623464 100644 --- a/lib_com/ivas_stereo_td_bit_alloc_fx.c +++ b/lib_com/ivas_stereo_td_bit_alloc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/ivas_tools_fx.c b/lib_com/ivas_tools_fx.c index bc080f2f832a86c95ef4ee01a7b709ee6492da90..8ff35e2237e30c7b82b397234cf50615b025dedc 100644 --- a/lib_com/ivas_tools_fx.c +++ b/lib_com/ivas_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_com/ivas_transient_det_fx.c b/lib_com/ivas_transient_det_fx.c index 39dee9314d95f5acf0175589995418fc9918d52f..3a413bc21d0aa4f4f747efb14ebac3dd2b4c061c 100644 --- a/lib_com/ivas_transient_det_fx.c +++ b/lib_com/ivas_transient_det_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/lag_wind_fx.c b/lib_com/lag_wind_fx.c index fd203805baabbe835078cf1125729b97e1ee6e04..d0d7024fc2b17c4884d346105d2f04a60fd38fa9 100644 --- a/lib_com/lag_wind_fx.c +++ b/lib_com/lag_wind_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/lerp_fx.c b/lib_com/lerp_fx.c index e35814b12b18064be9cfbc9d996509398609833d..75c7e86d1588836dbc20d8faddd46b9640057344 100644 --- a/lib_com/lerp_fx.c +++ b/lib_com/lerp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/limit_t0_fx.c b/lib_com/limit_t0_fx.c index d3cff10d9733e7170b05ce287534cbfa63406be2..9fb12872cb96bdb9d4e02e15f291986b7d63fd1e 100644 --- a/lib_com/limit_t0_fx.c +++ b/lib_com/limit_t0_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/log2.c b/lib_com/log2.c index 70e6b93c00dd2b1203eee6c8e9801c05d3a0aadb..83d8ca6971aacec60f83e5a9975c17dd799d438d 100644 --- a/lib_com/log2.c +++ b/lib_com/log2.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /******************************************************************************** * * File : log2.c diff --git a/lib_com/log2.h b/lib_com/log2.h index d87f677b550d0a38a80aa71387582a498620799c..ed6ea9788401756ebe8540b3f238e1dccaab5716 100644 --- a/lib_com/log2.h +++ b/lib_com/log2.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /******************************************************************************** * * File : log2.h diff --git a/lib_com/logqnorm_fx.c b/lib_com/logqnorm_fx.c index 833ff03fb572f67dff94fca968c9136a5baec042..9b631b52173017681d81a1502b316bfa06082cb2 100644 --- a/lib_com/logqnorm_fx.c +++ b/lib_com/logqnorm_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_com/longarith.c b/lib_com/longarith.c index 5983c11f8a7730be0ecb9eb469831d04f8fff361..df88ac5a02d55095b6238ba2c0f2a771441e4287 100644 --- a/lib_com/longarith.c +++ b/lib_com/longarith.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/low_rate_band_att_fx.c b/lib_com/low_rate_band_att_fx.c index f0fbf9bd67327f65120c8506261167690e7a75e6..5cc22ad1adb4fc74c8428dbc5cf7bba53fc3b9b6 100644 --- a/lib_com/low_rate_band_att_fx.c +++ b/lib_com/low_rate_band_att_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/lpc_tools_fx.c b/lib_com/lpc_tools_fx.c index a5aee205d0d15c8c7dd833ce858cc9749881d56a..f60b337e13d2f80fe1ade438ddacafc23d878513 100644 --- a/lib_com/lpc_tools_fx.c +++ b/lib_com/lpc_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/lsf_dec_bfi_fx.c b/lib_com/lsf_dec_bfi_fx.c index 33de5d9ac09d01ac656426a142cbec602cb610c9..af163a66fe32d540a8c428cd551281f08b977858 100644 --- a/lib_com/lsf_dec_bfi_fx.c +++ b/lib_com/lsf_dec_bfi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/lsf_msvq_ma_fx.c b/lib_com/lsf_msvq_ma_fx.c index 6f8ea44c2866d7d545400846520d544efc8415ed..fc7562277c818f54ebee1d170105a7eb10d25e10 100644 --- a/lib_com/lsf_msvq_ma_fx.c +++ b/lib_com/lsf_msvq_ma_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/lsf_tools_fx.c b/lib_com/lsf_tools_fx.c index e4dbd7e2a9530e465ca94197dd625124167ee4ae..f6d59e1ebb91fa8263f9c083746d51770950e418 100644 --- a/lib_com/lsf_tools_fx.c +++ b/lib_com/lsf_tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -2065,12 +2037,6 @@ ivas_error lsf_allocate_fx( move16(); } } -#ifdef DEBUGGING - ELSE - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "lsf_allocate(): invalid number of bits in used predictive mode\n" ); - } -#endif } return error; @@ -2154,12 +2120,6 @@ ivas_error find_pred_mode( } } } -#ifdef DEBUGGING - if ( *predmode == -1 ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "\nfind_pred_mode(): incorrect coder_type specification: %d\n", coder_type ); - } -#endif return error; diff --git a/lib_com/lsp_conv_poly_fx.c b/lib_com/lsp_conv_poly_fx.c index e9b4a559b8ebee99b86abef60ea53dd8fbae1fbc..c5fca021a113396f0244bfd021c91acab7f5d7bc 100644 --- a/lib_com/lsp_conv_poly_fx.c +++ b/lib_com/lsp_conv_poly_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/math_32.h b/lib_com/math_32.h index aa3bc1f2713e0cfdb86137287ad380c3a15ca327..e62eeb8839374650174e8bf4101ae304c0696ea8 100644 --- a/lib_com/math_32.h +++ b/lib_com/math_32.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef _MATH_32_H_ #define _MATH_32_H_ diff --git a/lib_com/math_op.c b/lib_com/math_op.c index 12d14ca6a0d1fe86141d377ef7907d0150aa6f4e..2a62e4bad510f340a290319df14b014463765b84 100644 --- a/lib_com/math_op.c +++ b/lib_com/math_op.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*___________________________________________________________________________ | | | This file contains mathematic operations in fixed point. | diff --git a/lib_com/math_op.h b/lib_com/math_op.h index d4eca9f2bad2b0664c9fec0e26f7896c22a887e2..6c7bb5dc7d70c5973916b4e9237d699dbb8391f1 100644 --- a/lib_com/math_op.h +++ b/lib_com/math_op.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*--------------------------------------------------------------------------* * MATH_OP.H * *--------------------------------------------------------------------------* diff --git a/lib_com/mime.h b/lib_com/mime.h index 5a6eb8fee6fa6d13cc0b0d558ad994cc63542ccf..ae4ac18ce356269e60a63edb126d7b4f5c66d6dc 100644 --- a/lib_com/mime.h +++ b/lib_com/mime.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/modif_fs_fx.c b/lib_com/modif_fs_fx.c index 1a73578ae33a691767d221a05108462d956fce20..c76e96bda87831ea0a7f3c5dbf9a2ff9ac968e09 100644 --- a/lib_com/modif_fs_fx.c +++ b/lib_com/modif_fs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/mslvq_com_fx.c b/lib_com/mslvq_com_fx.c index bbca861591070cc59549d592ad221314cc7ebfd9..8a1a220e03aa9907b2568934ef7e0adfe4b23f1f 100644 --- a/lib_com/mslvq_com_fx.c +++ b/lib_com/mslvq_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/nelp_fx.c b/lib_com/nelp_fx.c index 39d57299e7dad568f0bf2d5c65e1f454d250f127..37e2080976504bf6bd45995fd19461b186fe17b1 100644 --- a/lib_com/nelp_fx.c +++ b/lib_com/nelp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/oper_32b.c b/lib_com/oper_32b.c index cb8c773004d605c06b6b3b595db70639be814a36..53bb877878c537a7886fb02c9fb6c7ca49dc040f 100644 --- a/lib_com/oper_32b.c +++ b/lib_com/oper_32b.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /***************************************************************************** * $Id: oper_32b.c 1094 2014-02-10 17:12:11Z jdr $ * diff --git a/lib_com/oper_32b.h b/lib_com/oper_32b.h index d68fb5d6836bcfd8106384bd837ba67c8d866956..3cc0307cca64c9c8664122eec29c0a7bce0789fb 100644 --- a/lib_com/oper_32b.h +++ b/lib_com/oper_32b.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* Double precision operations */ /* $Id: oper_32b.h 1094 2014-02-10 17:12:11Z jdr $ */ #ifndef _OPER_32b_H diff --git a/lib_com/options.h b/lib_com/options.h index b1d98931d142e92bc91c4ee518d947dfef8b8788..9f75cb9a301b8bb7b324414bf7eb2dbbd72da7d6 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -41,17 +13,6 @@ /* ################### Start DEBUGGING switches ######################## */ -/*#define DEBUGGING*/ /* Allows debugging message to be printed out during runtime */ -#ifdef DEBUGGING -/*#define DBG_BITSTREAM_ANALYSIS*/ /* Write bitstream with annotations to a text file */ -#define DEBUG_MODE_INFO /* Define to output most important parameters to the subdirectory "res/" */ -#define DEBUG_MODE_INFO_TWEAK /* Enable command line switch to specify subdirectory for debug info output inside "./res/" */ -#define DEBUG_FORCE_MDCT_STEREO_MODE /* Force stereo mode decision for MDCT stereo: -stereo 3 1 forces L/R coding and -stereo 3 2 forces full M/S coding */ -/*#define DEBUG_FORCE_DIR*/ /* Force modes/parameters by reading from external binary files */ -/*#define DBG_WAV_WRITER*/ /* Enable dbgwrite_wav() function for generating ".wav" files */ -#define SUPPORT_FORCE_TCX10_TCX20 /* VA: Enable -force tcx10|tcx20 command-line option */ -/*#define DEBUG_MODE_JBM */ /* define to output JBM relevant parameters */ -#endif #define SUPPORT_JBM_TRACEFILE /* Support for JBM tracefile, which is needed for 3GPP objective/subjective testing, but not relevant for real-world implementations */ @@ -63,108 +24,10 @@ /*define MEM_COUNT_DETAILS*/ /* Output detailed memory analysis for the worst-case frame (writes to the file "mem_analysis.csv") */ #endif -/*#define DISABLE_LIMITER*/ -/*#define DEBUG_APA_SILENCE_NON_SCALED*/ /* Switch APA into mode that replaces contents of non-scaled frames with silence. Useful for identifying scaled regions in the audio output of the decoder */ /* #################### End DEBUGGING switches ############################ */ -/* ################### Start FIXES switches ########################### */ -/*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ -#define REMOVE_BASOP_Util_Divide3232_Scale_cadence /* remove this division variant */ -#define FIX_1990_SANITIZER_IN_REVERB_LOAD /* Nokia: Fix issue part of issue 1990 by introducing missing free of structure - keep until #2059 is addressed */ -#define FIX_1999_TEMPORARY_DISABLE_DIST_ATT_CHECK /* Eri: Issue 1999: Range check on float values of distance attenuation, while the float values are not propagated to this function. The test is not correct, but configurable distance attenuation is not used in Characterization.*/ -#define TEMP_FIX_2088_MSAN_INIT_ERROR /* Eri: Temporary fix for Issue 2088 - MSAN error. Will come with later port of JBM+Split rendering update */ -#define FIX_2092_ASSERT_IN_OMASA_RENDER /* FhG, Nokia: Fix LTV crash due to overflow in OMASA EXT output */ -#define FIX_2084_FLOATING_POINT_LEFTOVERS /* FhG: convert floating-point leftovers in IVAS_ENC_FeedObjectMetadata() */ -#define FIX_2141_ASSERT_IN_OMASA_BITRATE_SWITSCHING /* FhG: Replace L_shl with L_shl_sat to prevent overflow when calculating scale factors for very small numbers in the logarithmic domain */ -#define FIX_APA_EXECS_SCALING /* VA: fix scaling of JBM APA buffer */ -#define FIX_2164_ASSERT_IN_OMASA_PREPROC_FOR_EDIT /* Nokia: Issue 2164: Prevent overflow when calculating equalization coefficient for editing before clamping to safe range */ -#define FIX_BASOP_ASSERT_IN_TONAL_MDCT_PLC /* FhG: fix for issue 2165 - using saturating addition in tonal MDCT PLC function */ -#define OPT_2146_BASOP_UTIL_ADD_MANT32EXP /* Dlb: optimized version of BASOP_Util_Add_Mant32Exp() */ -#define FIX_2166_ASSERT_OSBA_PLC_STEREO_OUT /* FhG: fix for issue 2166 - add missing averaging factor 0.5 in for the sum of energies in function stereo_dft_dmx_swb_nrg_fx()*/ -#define FIX_2086_ENABLE_HP20_OPT_FOR_ENC /* FhG: Enable hp20_fx_32_opt() for Encoder */ -#define FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE /* FhG: Use dynamic Q factor for synth_fx and synthFB_fx to prevent overflow */ -#define FIX_2170_ASSERT_IN_FFT3 /* Eri: Assert in fft3_fx from EVS, adding _sat */ -#define FIX_2082_FP_LEFTOVERS_OMASA_DEC /* Nokia: fix for issue 2082, cleaning remaining floating point code */ -#define FIX_2174_JBM_BASOP_ALIGNMENT /* VoiceAge, Nokia: Fixes to JBM BASOP implementation and alignment to float */ -#define FIX_GAIN_EDIT_LIMITS /* Harmonize gain edit limits for all opertation points. For all modes, limit to max +12dB. For parametric modes, limit to min -24dB. */ - -#define FIX_2176_ASSERT_DEC_MAP_PARAMS_DIRAC2STEREO /* FhG: Reduce hStereoDft->q_smooth_buf_fx by one to prevent overflow in the subframe_band_nrg[][] calculation */ -#define FIX_2015_PREMPH_SAT_ALT /* VA: saturation can happen during preemphasis filtering due to a too aggressive scaling factor, allows preemphis to get 1 more bit headroom */ -#define FIX_2178_FL_TO_FX_WITH_OBJ_EDIT_FILE_INTERFACE /* Nokia: Fixes float to fx conversion in decoder app with object edit file interface */ -#define FIX_2070_JBM_TC_CHANNEL_RESCALING_ISSUE /* Eri/Orange: scale_sig32 problem on p_tc_fx[] */ - -#define FIX_2173_UBSAN_IN_JBM_PCMDSP_APA /* FhG: Fix UBSAN problems in jbm_pcmdsp_apa_fx.c */ -#define FIX_1947_DEC_HIGH_MLD_FOR_STEREO2MONO /* FhG: Make Q-factor of synth_16_fx and output_16_fx dynamic to prevent overflow in HQ_CORE mode */ - -#define FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING /* Orange: Fix for issue 2184 - to prevent one channel from becoming inaudible in the mono downmix output */ -#define FIX_2148_OBJ_EDIT_ISSUE_WITH_OSBA /* Nokia: Add missing code to solve issue */ -#define FIX_2200_ISAR_PLC_CRASH /* Dolby: Fix for ISAR PLC crash observed with newly added BASOP tests */ -#define FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA /* FhG: Resolve overflow by swapping the order of addition and multiplication */ -#define FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC /* FhG: Adjust Q_real to prevent overflow in st->cldfbSyn->cldfb_state_fx scaling */ -#define FIX_2211_ASSERT_IN_REND_CREND_CONVOLER /* FhG: Add headroom to p_output_fx to prevent overflow in ivas_rend_crendProcessSubframe_fx() */ - -#define NONBE_FIX_2205_SATURATE_ALTERNATIVE -#define NONBE_FIX_2206_SATURATE_ALTERNATIVE -#define FIX_2226_ISAR_PRE_CRASH_CLDFB_NO_CHANNELS /* Dolby: Fix crash of ISAR pre-renderer due to an attempt of re-scaling uninitialized values in the CLDFB filter bank */ -#define RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE /* Dolby: CR for split rendering codec framesize signalling in Toc Byte */ - - -#define NONBE_FIX_ISSUE_2232_CHECK_CLDFB_STATES /* FhG: Adjust scaleFactor according to st->cldfbSyn->cldfb_state_fx too to avoid overflow in cldfbSynthesis_ivas_fx() */ - -#define NONBE_FIX_BASOP_2233_RTPDUMP_DIFFERING_BITSTREAMS /* Nokia: fix basop issue 2233: Fix differing rtpdump streams */ - -/* ################### End FIXES switches ########################### */ - -/* #################### Start BASOP porting switches ############################ */ - -#define NONBE_1244_FIX_SWB_BWE_MEMORY /* VA: issue 1244: fix to SWB BWE memory in case of switching from FB coding - pending a review by Huawei */ -#define NONBE_1328_FIX_NON_LINEARITY /* VA: Fix possible issue when computing bwe_exc_extended and previous frame were almost 0, float issue 1328 */ -#define FIX_1377_HANDLE_ERROR_CODE /* Eri: Add missing error code handling from IVAS_REND_SetObjectIDs */ -#define FIX_1053_REVERB_RECONFIGURATION -#define FIX_1119_SPLIT_RENDERING_VOIP /* FhG: Add split rendering support to decoder in VoIP mode */ -#define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */ -#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR. */ -#define FIX_1385_INIT_IGF_STOP_FREQ /* FhG: Initialize infoIGFStopFreq in init_igf_dec() */ -#define FIX_1387_INIT_PRM_SQQ /* FhG: initialize pointer prm_sqQ, which might be uninitialized in case of bfi == 1 */ -#define FIX_1349_TNS_CRASH /* FhG: Fix crash in TNS entropy coding, in case order of joint TNS coding is reduced to 0 */ -#define FIX_1384_MSAN_stereo_tcx_core_enc /* VA: issue 1384: fix use-of-uninitialized value in stereo_tcx_core_enc() */ -#define FIX_1384_MSAN_ivas_spar_dec_open /* VA: issue 1386: fix use-of-uninitialized value in ivas_spar_dec_open() */ -#define FIX_1388_MSAN_ivas_init_decoder /* VA: issue 1388: fix use-of-uninitialized value in ivas_init_decoder() */ -#define FIX_1413_IGF_INIT_PRINTOUT /* FhG: use correct variable for IGF initiliazation */ -#define FIX_1383_HEAD_TRACK_SANITIZER /* Nok: issue 1383: Fix head tracking struc values reading in renderer */ -#define FIX_1330_JBM_MEMORY_FIX /* VA: basop issue: 2179 fix non-BE difference in FIX_1330_JBM_MEMORY */ -#define FIX_1411_IGF_CRASH_BW_SWITCHING /* FhG: Fix for issue 1411: fixes crash that can happen for IGF with BW switching and DTX*/ -#define FIX_1419_MONO_STEREO_UMX /* FhG: fix for issue 1419 : support upmix to all output formats for mono and stereo */ -#define NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG /* FhG: Fix MDCT-Stereo comfort noise for certain noise types */ -#define NONBE_1344_REND_MASA_LOW_FS /* Nokia: Issue 1344: Fix sanitizer errors when using IVAS_rend to render MASA with lower sampling rates */ -#define FIX_1437_LC3PLUS_EXTREND_HIRES /* FhG: fix external renderer split bitstream header writing causing a crash for LC3plus High-res mode */ -#define NONBE_1412_AVOID_ROUNDING_AZ_ELEV /* FhG: Avoid rounding when passing azimuth and elevation to efap_determine_gains() */ -#define FIX_1318_ROOM_SIZE_CMD_LINE /* Philips/Nokia/FhG: Default room sizes support */ -#define NONBE_FIX_1442_MASA_EXT_REND_ORIENT_IDX /* Nokia: Fix issue 1442 of wrong index to combinedOrientationData */ -#define BE_FIX_1391_COVERAGE_SPAR_DYN__CHANNEL /* Dolby: Fix coverage of SBA SPAR Dynamic active W not getting hit by the tests */ - -// object-editing feature porting -#define TMP_FIX_SPLIT_REND // temporary fix to split-rendering (it follows the later state of the framework but it is needed now because of current test-conditions) -/*#define TMP_FIX_OMASA_SR_BE*/ // temporary fix to keep OMASA split-rendering BE - mul, 20251112: disabled, since this causes diffs to ivas-codec/main -#define NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES // Nokia: Fix 1399_1400 issue in float, this is essential for the BASOP porting -#define OBJ_EDIT_BASOP -#define FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES /* Nokia: Issue 2140, fixes three different sanitizer issues persisting in object editing code. */ -#define FIX_2193_ISM_GAINS_WITH_OE /* FhG: fix issue 2193: use edited angles in ISM gain calculation */ -#define FIX_2192_OBJ_EDITING_EXT_METADATA /* Eri: Add support for extended metadata in object editing */ - -// RTPDUMP porting -#define RTP_S4_251135_CR26253_0016_REV1 /* RTP Pack/Unpack API corresponding to CR 26253 */ -#define IVAS_RTPDUMP /* RTPDUMP writing and reading for IVAS payloads */ -#define FIXED_RTP_SEQUENCE_NUM /* Remove random sequence number initialization */ -#define IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT /* RTPDUMP acoustic environment */ -#define ISM_PI_DATA /* Add reading and packing/unpacking of ISM PI data */ -#define REVERSE_ISM_PI_DATA /* Add reading and packing/unpacking of reverse ISM PI data */ -#define PI_LATENCY /* Support for PI latency */ -#define DECODER_FORMAT_SWITCHING /* Re-initialize the decoder when the format/subformat of the incoming stream is changed */ -#define FIX_SPLIT_RENDERING_ON_DECODER_RESTART /* Re-configure split rendering on decoder restart */ -/* #################### End BASOP porting switches ############################ */ #endif diff --git a/lib_com/parameter_bitmaping_fx.c b/lib_com/parameter_bitmaping_fx.c index 92387209012c8cd2dfd7a6bacdb30ab3903715ad..1579265d16a292327d72182dd60027b3f215caed 100644 --- a/lib_com/parameter_bitmaping_fx.c +++ b/lib_com/parameter_bitmaping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include #include "options.h" diff --git a/lib_com/phase_dispersion_fx.c b/lib_com/phase_dispersion_fx.c index ce4f70e5a5c98944957ecbbc0f8f785090a471fb..7f4b394987833c18d9916055ea0ae924fc325f7d 100644 --- a/lib_com/phase_dispersion_fx.c +++ b/lib_com/phase_dispersion_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/ppp_fx.c b/lib_com/ppp_fx.c index 2f44e1081feb6c81b81d336b92bfe37b088fb00d..775ac59a703fb5b874bc47c3c75561e762ec5f86 100644 --- a/lib_com/ppp_fx.c +++ b/lib_com/ppp_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/pred_lt4_fx.c b/lib_com/pred_lt4_fx.c index 0da3c2742fcc30082a2599c65a0a3ec022ca9032..f5aeae26c6454436659db362f5d62f6f2c09e019 100644 --- a/lib_com/pred_lt4_fx.c +++ b/lib_com/pred_lt4_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/preemph_fx.c b/lib_com/preemph_fx.c index 52ee865323d1bd8f2419e5d055846f78f3b1ad18..3fae436ed5da82a6f07a76126b1c630f5d4f86b6 100644 --- a/lib_com/preemph_fx.c +++ b/lib_com/preemph_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -39,34 +42,6 @@ void preemph_copy_fx( return; } -#ifndef FIX_2015_PREMPH_SAT_ALT -void preemph_copy_32fx( - const Word16 x[], /* i : input signal Qx */ - Word32 y[], /* o : output signal Qx */ - const Word16 mu, /* i : preemphasis coefficient Q15 */ - const Word16 lg, /* i : vector size Q0 */ - Word16 *mem /* i/o: memory (x[-1]) Qx */ -) -{ - Word16 i, temp; - - temp = x[lg - 1]; /* Qx */ - move16(); - - FOR( i = lg - 1; i > 0; i-- ) - { - y[i] = L_msu_sat( L_deposit_h( x[i] ), x[i - 1], mu ); /* Qx+16 */ - move16(); - } - y[0] = L_msu_sat( L_deposit_h( x[0] ), *mem, mu ); /* Qx+16 */ - move16(); - - *mem = temp; /* Qx */ - move16(); - - return; -} -#else void preemph_copy_32fx2( const Word16 x[], /* i : input signal Qx */ Word32 y[], /* o : output signal Qx-1*/ @@ -93,7 +68,6 @@ void preemph_copy_32fx2( return; } -#endif /*-------------------------------------------------------------* * preemph_ivas_fx() * diff --git a/lib_com/prot_fx.h b/lib_com/prot_fx.h index 624d5aeface1b8cbd2584c19dd4297c89d6b90e0..56d2f8935c0de17fcae4b4b6942d82fe4382ce47 100644 --- a/lib_com/prot_fx.h +++ b/lib_com/prot_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef PROT_FX2_H #define PROT_FX2_H @@ -2687,12 +2659,8 @@ void lag_wind_32( ); // preemp_fx.c -#define PREEMPH_FX( signal, mu, L, mem ) preemph_copy_fx( ( signal ), ( signal ), ( mu ), ( L ), ( mem ) ) -#ifndef FIX_2015_PREMPH_SAT_ALT -#define PREEMPH_32FX( signal, signal_out, mu, L, mem ) preemph_copy_32fx( ( signal ), ( signal_out ), ( mu ), ( L ), ( mem ) ) -#else +#define PREEMPH_FX( signal, mu, L, mem ) preemph_copy_fx( ( signal ), ( signal ), ( mu ), ( L ), ( mem ) ) #define PREEMPH_32FX( signal, signal_out, mu, L, mem ) preemph_copy_32fx2( ( signal ), ( signal_out ), ( mu ), ( L ), ( mem ) ) -#endif void preemph_copy_fx( const Word16 x[], /* i : i signal Qx */ Word16 y[], /* o : output signal Qx */ @@ -2701,15 +2669,6 @@ void preemph_copy_fx( Word16 *mem /* i/o: memory (x[-1]) Qx */ ); -#ifndef FIX_2015_PREMPH_SAT_ALT -void preemph_copy_32fx( - const Word16 x[], /* i : i signal Qx */ - Word32 y[], /* o : output signal Qx */ - const Word16 mu, /* i : preemphasis coefficient Q15 */ - const Word16 lg, /* i : vector size Q0 */ - Word16 *mem /* i/o: memory (x[-1]) Qx */ -); -#else void preemph_copy_32fx2( const Word16 x[], /* i : i signal Qx */ Word32 y[], /* o : output signal Qx */ @@ -2717,7 +2676,6 @@ void preemph_copy_32fx2( const Word16 lg, /* i : vector size Q0 */ Word16 *mem /* i/o: memory (x[-1]) Qx */ ); -#endif void E_UTIL_f_preemph2( Word16 shift, /* Q0 */ @@ -9029,9 +8987,7 @@ void decoder_tcx_ivas_fx( Word16 Aind[], Word16 synth_fx[], Word16 synthFB_fx[], -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Word16 *synth_q, -#endif const Word16 bfi, const Word16 frame_cnt, const Word16 sba_dirac_stereo_flag ); @@ -10680,28 +10636,14 @@ ivas_error config_acelp1_fx( const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */ ); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#define push_next_indice( ... ) push_next_indice_( __func__, __VA_ARGS__ ) -#define push_next_bits( ... ) push_next_bits_( __func__, __VA_ARGS__ ); -#endif -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -ivas_error push_next_indice_( - const char *caller, -#else ivas_error push_next_indice( -#endif BSTR_ENC_HANDLE hBstr, UWord16 value, /* i : value of the quantized indice */ Word16 nb_bits /* i : number of bits used to quantize the indice */ ); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -ivas_error push_next_bits_( - const char *caller, -#else ivas_error push_next_bits( -#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ const Word16 nb_bits /* i : number of bits to pack */ @@ -10986,18 +10928,12 @@ ivas_error push_indice( ); ivas_error push_next_indice_( -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - const char *caller, -#endif BSTR_ENC_HANDLE hBstr, UWord16 value, /* i : value of the quantized indice */ Word16 nb_bits /* i : number of bits used to quantize the indice */ ); ivas_error push_next_bits_( -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - const char *caller, -#endif BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ const UWord16 bits[], /* i : bit buffer to pack, sequence of single bits */ const Word16 nb_bits /* i : number of bits to pack */ @@ -11082,14 +11018,12 @@ void ivas_set_bitstream_pointers( Decoder_State **reset_elements( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); -#ifdef IVAS_RTPDUMP void convertSerialToBytestream_fx( const UWord16 *const serial, /* i : input serial bitstream with values 0 and 1 */ const UWord16 num_bits, /* i : number of bits in the input bitstream */ UWord8 *const bytestream /* o : output compact bitstream (bytestream) */ ); -#endif void mdct_switching_dec_fx( Decoder_State *st /* i/o: decoder state structure */ @@ -11130,13 +11064,6 @@ Word32 Mult_32_32( Word32 a, Word32 b ); -#ifdef DEBUGGING -void read_next_force( - int16_t *force, /* i/o: force value (0/1, 0 = speech, 1 = music)*/ - FILE *f_force, /* i : force switching profile (0 if N/A) */ - int32_t *force_profile_cnt /* i/o: counter of frames for force switching profile file */ -); -#endif ivas_error init_encoder_fx( Encoder_State *st, /* i/o: state structure */ diff --git a/lib_com/pvq_com_fx.c b/lib_com/pvq_com_fx.c index 7bb7dbb8d2981a106f9e7964cf6a4c008b4da685..08e3d6bb0f0255f33db38be85d0da3a7f48f68b9 100644 --- a/lib_com/pvq_com_fx.c +++ b/lib_com/pvq_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/range_com_fx.c b/lib_com/range_com_fx.c index 23eeaea17bf177e3688953fb595bfde178dced60..dbc7ae5278f1234a1b9ad561ea272b1c88934bd5 100644 --- a/lib_com/range_com_fx.c +++ b/lib_com/range_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/re8_ppv_fx.c b/lib_com/re8_ppv_fx.c index 9a09e02d12c4efd2bcc6185ea33311c4f5c74ebf..388eb4e2294abd551b62bbdee8ff534c4cf06c81 100644 --- a/lib_com/re8_ppv_fx.c +++ b/lib_com/re8_ppv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/re8_util_fx.c b/lib_com/re8_util_fx.c index d18a9577de6488d22420ff824af7e216f28de5c8..cb18823c4fe55dfefe0c9563841ebfaa1a88ec94 100644 --- a/lib_com/re8_util_fx.c +++ b/lib_com/re8_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/recovernorm_fx.c b/lib_com/recovernorm_fx.c index 695ad424f1b224de854c959bf59f2e155e2f05be..56eaed62d72a1f636039437a2af5352ac781d69d 100644 --- a/lib_com/recovernorm_fx.c +++ b/lib_com/recovernorm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/reordvct_fx.c b/lib_com/reordvct_fx.c index 62eb2f352665c97f24322207fc2092e4ac2e5c64..6dcdc84a9215c0bd5dde5fb4cb9bc90e4abd76c9 100644 --- a/lib_com/reordvct_fx.c +++ b/lib_com/reordvct_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_com/residu_fx.c b/lib_com/residu_fx.c index b7923a3ecf17cd7fccce27327b608a2d7696c04b..410478a989d8e5f2c606415ea256bbc72b722d7c 100644 --- a/lib_com/residu_fx.c +++ b/lib_com/residu_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/rom_basic_math.c b/lib_com/rom_basic_math.c index 5899352544450ff5fbe73354ca6a3af250d8eb34..b8c28c9cc273335c4afb21afdd369df385fb8f9a 100644 --- a/lib_com/rom_basic_math.c +++ b/lib_com/rom_basic_math.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" /* Compilation switches */ #include "cnst.h" /* Decoder static structure */ #include "stl.h" diff --git a/lib_com/rom_basic_math.h b/lib_com/rom_basic_math.h index 0f4826d0c5178e73d4642d00ad93e2a0d81d3f8e..4edd49e08fb8ae5c5a590a4257c121132ead8155 100644 --- a/lib_com/rom_basic_math.h +++ b/lib_com/rom_basic_math.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" /* Compilation switches */ #include "cnst.h" /* Decoder static structure */ #include "stl.h" diff --git a/lib_com/rom_basop_util.c b/lib_com/rom_basop_util.c index eb79cc02648c67df6dbd075f3da2a9704142e2f8..0412b6c27a9778e0b99338c6b0faccf1926394f8 100644 --- a/lib_com/rom_basop_util.c +++ b/lib_com/rom_basop_util.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "rom_basop_util.h" #include "stl.h" diff --git a/lib_com/rom_basop_util.h b/lib_com/rom_basop_util.h index e7811db89fa50d2dce8a529ae386ae1654dd03bc..85a61cf48e399499a2d449d20b753f9c981e371b 100644 --- a/lib_com/rom_basop_util.h +++ b/lib_com/rom_basop_util.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/rom_com.h b/lib_com/rom_com.h index 75950a7a3c426057faf7bf30d5ddc674752124ff..17c9c9fc24bfe171a6326d1581d6454c72773ddc 100644 --- a/lib_com/rom_com.h +++ b/lib_com/rom_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/rom_com_fx.c b/lib_com/rom_com_fx.c index 2102ae86f05289e6b099e9f0c4c1b955c65bbf06..941ca947bb8d3c902330fbb0fbaae6f629e3767c 100644 --- a/lib_com/rom_com_fx.c +++ b/lib_com/rom_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/scale_mem_fx.c b/lib_com/scale_mem_fx.c index 168a96011ce4b8e8affb9cc6a16d3b900b946526..9256f45e071c63cd9844debf89a56bc71e7979ac 100644 --- a/lib_com/scale_mem_fx.c +++ b/lib_com/scale_mem_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/stab_est_fx.c b/lib_com/stab_est_fx.c index 15cd254dfb9fbb09fc2dcacf3828682921c94baf..85f7b6101236c1330e7d14b3f959bc12e6820d46 100644 --- a/lib_com/stab_est_fx.c +++ b/lib_com/stab_est_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h index eab0aa77bfc2fa6e55d71c0291ea26dcd6c12e17..6e7b57e7516ff0655d48ce8e0ed02260ac2895d2 100644 --- a/lib_com/stat_com.h +++ b/lib_com/stat_com.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -443,13 +415,9 @@ typedef struct Word16 CngBandwidth; Word16 flag_noisy_speech; - Word16 likelihood_noisy_speech; /* Q15 */ -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG + Word16 likelihood_noisy_speech; /* Q15 */ Word16 coherence_fx[MDCT_ST_DTX_NUM_COHERENCE_BANDS]; /* inter-channel coherence of noise Q15 */ -#else - Word16 coherence_fx; /* inter-channel coherence of noise Q15 */ -#endif - Word16 no_side_flag; /* indicates whether the side noise shape should be zeroed-out or not */ + Word16 no_side_flag; /* indicates whether the side noise shape should be zeroed-out or not */ } FD_CNG_COM, *HANDLE_FD_CNG_COM; diff --git a/lib_com/stat_noise_uv_mod_fx.c b/lib_com/stat_noise_uv_mod_fx.c index 0ba901db76430e2233e7b7a8ba101f66a42c2fcd..216a6d8a8bf1d67416ca1297240a4b78050bab7c 100644 --- a/lib_com/stat_noise_uv_mod_fx.c +++ b/lib_com/stat_noise_uv_mod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/swb_bwe_com_fx.c b/lib_com/swb_bwe_com_fx.c index cc8b22db64fdf8b46a65290c72a58d61667a3615..23af2e203f441b795f869f1c334e36b0a014ccbc 100644 --- a/lib_com/swb_bwe_com_fx.c +++ b/lib_com/swb_bwe_com_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/swb_bwe_com_hr_fx.c b/lib_com/swb_bwe_com_hr_fx.c index 7755ec697b57343c855cfa39f012147fba2cc310..f028977941f98e83310397e7b937a8f0cbca9f56 100644 --- a/lib_com/swb_bwe_com_hr_fx.c +++ b/lib_com/swb_bwe_com_hr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/swb_bwe_com_lr_fx.c b/lib_com/swb_bwe_com_lr_fx.c index 1326b31a98eac391da7fa04154e79c9759448955..7bfc729cba2cb3cded5b52d9d469ec812beff0c5 100644 --- a/lib_com/swb_bwe_com_lr_fx.c +++ b/lib_com/swb_bwe_com_lr_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_com/swb_tbe_com_fx.c b/lib_com/swb_tbe_com_fx.c index 5a786c10ba987787b59e843aaaf39ca08ce62bcb..65f74434468a971c829b95a19024d908414e3703 100644 --- a/lib_com/swb_tbe_com_fx.c +++ b/lib_com/swb_tbe_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -5901,9 +5904,7 @@ void non_linearity_ivas_fx( Word16 nframes; Word32 prev_scale; Word16 length_half; -#ifdef NONBE_1328_FIX_NON_LINEARITY Word16 sc_factor; -#endif IF( EQ_16( L_frame, L_FRAME16k ) ) { @@ -5964,15 +5965,10 @@ void non_linearity_ivas_fx( move32(); /* Q31; 0.67 in Q31 */ } -#ifdef NONBE_1328_FIX_NON_LINEARITY sc_factor = s_max( sub( 13, norm_s( add( j, 1 ) ) ), 0 ); /* Adapt the scaling factor allowed depending of max position */ sc_factor = s_max( sc_factor, 1 ); /* Note: The sc_factor is the log2 of the sc_factor in the float code to simplify condition below */ test(); IF( prev_scale <= 0 || GT_32( L_shr( prev_scale, sub( sc_factor, 1 ) /*Q30 -> Q31*/ ), scale /*Q31*/ ) ) /* Since the sc_factor is the log2 of sc_factor in float, we apply it using L_shr */ -#else - test(); - IF( prev_scale <= 0 || GT_32( Mult_32_16( prev_scale, 64 ) /*Q30 -> Q31*/, scale /*Q31*/ ) ) -#endif { scale_step = 16384; move16(); /* Q14 */ @@ -6045,16 +6041,12 @@ void non_linearity_ivas_fx( move32(); /* Q31; 0.67 in Q31 */ } -#ifdef NONBE_1328_FIX_NON_LINEARITY /* if ( element_mode > EVS_MONO ) */ /* element mode is not needed because the function is duplicated for IVAS */ sc_factor = s_max( sub( 12, norm_s( add( sub( j, length_half ), 1 ) ) ), 0 ); /* allowed intra frame jump is smaller */ sc_factor = s_max( sc_factor, 1 ); /* Note: The sc_factor is the log2 of the sc_factor in the float code to simplify condition below */ test(); IF( prev_scale <= 0 || GT_32( L_shr( prev_scale, sub( sc_factor, 1 ) /*Q30 -> Q31*/ ), scale /*Q31*/ ) ) /* Since the sc_factor is the log2 of sc_factor in float, we apply it using L_shr */ -#else - IF( prev_scale <= 0 || GT_32( Mult_32_16( prev_scale, 64 ), scale ) ) -#endif { scale_step = 16384; move16(); /*Q14 */ diff --git a/lib_com/syn_12k8_fx.c b/lib_com/syn_12k8_fx.c index a69759157283aa61f74afb07143bce37aad2f4a3..d82231c8504518b7bd982cdf9417870e49d14388 100644 --- a/lib_com/syn_12k8_fx.c +++ b/lib_com/syn_12k8_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/syn_filt_fx.c b/lib_com/syn_filt_fx.c index cfa254042c6c823b921156e0265d369e40ffffa4..6257b9b79344c792440b9399b2fdb5cfb2fc3094 100644 --- a/lib_com/syn_filt_fx.c +++ b/lib_com/syn_filt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/tcq_position_arith_fx.c b/lib_com/tcq_position_arith_fx.c index 3abd527ca8bfa8b8690066da37fd978afd1aadb9..a41688b3968c951be546a9e81187e6dcaaf1441a 100644 --- a/lib_com/tcq_position_arith_fx.c +++ b/lib_com/tcq_position_arith_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/tcx_ltp_fx.c b/lib_com/tcx_ltp_fx.c index 11157adc75fcf4bb9afea398372d2c8acc3fde08..0ccf9b777797fbb84772de7cc0bc18d02d2fcb4a 100644 --- a/lib_com/tcx_ltp_fx.c +++ b/lib_com/tcx_ltp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/tcx_mdct_fx.c b/lib_com/tcx_mdct_fx.c index 5d13d69f9c392bbe587236ad43e9c947d65a4173..08891d91841cfb54510605a2482d7196ea91cb8a 100644 --- a/lib_com/tcx_mdct_fx.c +++ b/lib_com/tcx_mdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/tcx_mdct_window_fx.c b/lib_com/tcx_mdct_window_fx.c index 576f5bef6a2dae5cff530d734f61e3ed10ebbd39..d74b9aa1fa7390874658191538cde83a2b546156 100644 --- a/lib_com/tcx_mdct_window_fx.c +++ b/lib_com/tcx_mdct_window_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_com/tcx_utils_fx.c b/lib_com/tcx_utils_fx.c index a6b32f31040b2c362336ad848a422d6b3b622a40..5dce3a8134c4ecdfc7e26c3199fa32dc0e77677d 100644 --- a/lib_com/tcx_utils_fx.c +++ b/lib_com/tcx_utils_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/tec_com_fx.c b/lib_com/tec_com_fx.c index 0a37504df957bc577c8fc9eed3c64c0b4fa17de3..f542797023472efe5dc697164576fbed2aa198b8 100644 --- a/lib_com/tec_com_fx.c +++ b/lib_com/tec_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/tns_base.c b/lib_com/tns_base.c index 54e6478d45df63fd6324ce70b84f20528e9523b5..9f3c8f3e4233b642a1141b681284c165989ac690 100755 --- a/lib_com/tns_base.c +++ b/lib_com/tns_base.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/tools_fx.c b/lib_com/tools_fx.c index 69968d5dba82b6f0371ef67363c7c06599e18169..a1ec052d4f73352625cb76f784a987692c5093b2 100644 --- a/lib_com/tools_fx.c +++ b/lib_com/tools_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -1341,14 +1313,7 @@ void Copy_Scale_sig_16_32_DEPREC( } return; } -#ifdef DEBUGGING - if ( exp0 >= 16 ) - { - printf( "Issue in Copy_Scale_sig_16_32_DEPREC\n" ); - } -#else assert( exp0 < 16 ); -#endif tmp = shl_sat( 1, exp0 ); FOR( i = 0; i < lg; i++ ) { diff --git a/lib_com/trans_direct_fx.c b/lib_com/trans_direct_fx.c index 6a3cdf108733bc3601d87d7398f6686087eae3cf..338cee003ce054ccce5fd745f82c2f54be8ad266 100644 --- a/lib_com/trans_direct_fx.c +++ b/lib_com/trans_direct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/trans_inv_fx.c b/lib_com/trans_inv_fx.c index 36678487a263a9b9737b86959583bc4456ec0a83..cc81bbb9c38a77ca25e0f886d677a3c4815cf30c 100644 --- a/lib_com/trans_inv_fx.c +++ b/lib_com/trans_inv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/vlpc_2st_com_fx.c b/lib_com/vlpc_2st_com_fx.c index 09828330bda7f98a6033a2d792f79e0bd3a2a736..f67d71a6320f8504db7a5b00bd2925d33524f728 100644 --- a/lib_com/vlpc_2st_com_fx.c +++ b/lib_com/vlpc_2st_com_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/weight_a_fx.c b/lib_com/weight_a_fx.c index 8ebcdfcf9552d36e7284817afe00e977d008ebd5..97748204a34b5b5c9e2e4505ef1c20dd9d2947de 100644 --- a/lib_com/weight_a_fx.c +++ b/lib_com/weight_a_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/weight_fx.c b/lib_com/weight_fx.c index 824f6b344c0f5218a33a3a4d53f2b93375dfe14f..61fe1dc3d5c688cc9ebbeaa6c16ec98cc49d68fb 100644 --- a/lib_com/weight_fx.c +++ b/lib_com/weight_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/wi_fx.c b/lib_com/wi_fx.c index 171e04269dc80ca36782f20ff2b121b782bfde9e..d326f8c0c864d99a778f752a3870941e4e238dc1 100644 --- a/lib_com/wi_fx.c +++ b/lib_com/wi_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/window_fx.c b/lib_com/window_fx.c index b028b438a68eb735f90fb6d754aa6274ee1b871e..35d972a80f10de15f879b7b0f8d51814c1e26816 100644 --- a/lib_com/window_fx.c +++ b/lib_com/window_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/window_ola_fx.c b/lib_com/window_ola_fx.c index 2948e725ecdb0ca7d1add2a05b91500c4b2b8aaa..0f8fdf46e792fdcef7b1f78f3d68d508f1f436d4 100644 --- a/lib_com/window_ola_fx.c +++ b/lib_com/window_ola_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_com/wtda_fx.c b/lib_com/wtda_fx.c index 7943a87c5fc11a276127169b3e0dd8ee8f88895a..a4bda5dc0a85c57be295cab7930e192e4f41e593 100644 --- a/lib_com/wtda_fx.c +++ b/lib_com/wtda_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_debug/debug.c b/lib_debug/debug.c deleted file mode 100644 index f9b0e34c3d44bbbfc4c40ae16464fc3dfa83caac..0000000000000000000000000000000000000000 --- a/lib_debug/debug.c +++ /dev/null @@ -1,997 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include -#include -#include -#include -#include -#include -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#include -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -#include -#include -#endif -#endif -#endif -#include "cnst.h" -#include -#include -#include -#ifdef _WIN32 -#include -#else -#endif -#ifdef DBG_WAV_WRITER -#include "tinywaveout_c.h" -#endif -#include "wmc_auto.h" - - -/*-------------------------------------------------------------------* - * Global variables used for debugging but not under DEBUGGING flag - *--------------------------------------------------------------------*/ - -#ifdef DEBUGGING -uint16_t g_nPrintedLines = 0; - -int16_t g_verbose = 0; /* global variable for debugging */ -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -char infoFolder[FILENAME_MAX]; -#endif -#endif -#endif - -FILE *DJB_delay = NULL; /* per-frame de-jitter buffer delay dump out file */ - -#ifdef DEBUGGING -int16_t debug_level = 0; -#endif - -/*-------------------------------------------------------------------* - * Read/write I/O tool - *--------------------------------------------------------------------*/ - -#ifdef DEBUGGING -#define N_FILEPTR 500 -#define N_DBGFLAG 100 -#define N_DBGVAL 100 -#define N_TYPES 6 - -static FILE *in_fileptr[N_FILEPTR]; -static FILE *out_fileptr[N_FILEPTR]; -#ifdef DBG_WAV_WRITER -static WAVEFILEOUT *out_wavfileptr[N_FILEPTR]; -#endif -static char *in_filename[N_FILEPTR]; -static char *out_filename[N_FILEPTR]; -#ifdef DBG_WAV_WRITER -static char *out_wavfilename[N_FILEPTR]; -#endif -static int16_t in_count = 0; -static int16_t out_count = 0; -#ifdef DBG_WAV_WRITER -static int16_t out_wav_count = 0; -#endif - -static int16_t flag_count = 0; -static char *flag_name[N_DBGFLAG]; -static int16_t val_count = 0; -static char *val_name[N_DBGVAL]; -static char *val[N_DBGVAL]; - -static char *type_list[N_TYPES] = { "char", "short", "int", "long", "float", "double" }; - -static void setvalue( - const char *value_name, /* i : Value name */ - const char *value /* i : Value as string */ -); - -static int16_t make_dirs( const char *const pathname ); - -/*-------------------------------------------------------------------* - * dbgwrite() - * - * Writes the buffer content to the specified file. If the file is not in the - * debug file list, it is opened before write. - *--------------------------------------------------------------------*/ - -int16_t dbgwrite( - const void *const buffer, /* i : Write buffer */ - const int16_t size, /* i : Element size */ - const int16_t count, /* i : Number of elements */ - const int16_t repeat, /* i : Number of times the elements are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -) -{ - int16_t index, i; - void *tmp_buf; - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - char filename_mod[FILENAME_MAX]; - int16_t textmode = 0; - int16_t x = *(const int16_t *const) buffer; /* currently the textmode is only defined with "short" as input */ - memset( filename_mod, 0, FILENAME_MAX ); - tweakdbgfolder( filename, filename_mod, &textmode ); - if ( filename_mod[0] != 0 ) - { - filename = filename_mod; - } -#endif -#endif - - index = lookup( filename, (const char *const *) out_filename, out_count ); - - if ( index == -1 ) - { - if ( make_dirs( filename ) != 0 ) - { - fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename ); - exit( -1 ); - } - - index = out_count; - out_fileptr[index] = fopen( filename, "wb" ); - out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( out_filename[index], filename ); - out_count++; - } - - if ( out_fileptr[index] != NULL ) - { - tmp_buf = calloc( count * repeat, size ); - if ( buffer != NULL ) - { - for ( i = 0; i < repeat; i++ ) - { - memcpy( (char *) tmp_buf + i * size * count, buffer, size * count ); - } - } -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - if ( 1 == textmode && 2 == size ) - { /* currently the textmode is only defined with "short" as input */ - fprintf( out_fileptr[index], "%d\n", x ); - } - else - { -#endif -#endif - fwrite( tmp_buf, size * count * repeat, 1, out_fileptr[index] ); -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - } -#endif -#endif - free( tmp_buf ); - } - else - { - fprintf( stderr, "dbgwrite: Could not write to file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} - - -/*-------------------------------------------------------------------* - * dbgwrite_mat_repeat() - * - * Writes buffer a buffer containing a column-wise ordered matrix - * to the specified file. If the file is not in the - * debug file list, it is opened before write. - *--------------------------------------------------------------------*/ - -void dbgwrite_mat_repeat( float *buffer, /* i : write buffer */ - int16_t nRow, /* i : matrix size (rows) */ - int16_t mCol, /* i : matrix size (columns) */ - int16_t row_repeat, /* i : number of times rows are repeated */ - int16_t col_repeat, /* i : number of times columns are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -) -{ - float *copy_buffer = calloc( nRow * row_repeat * mCol * col_repeat, sizeof( float ) ); - int16_t r, c, rr, cc; - float *cp = ©_buffer[0]; - float *colp; - for ( c = 0; c < mCol; c++ ) - { - for ( cc = 0; cc < col_repeat; cc++ ) - { - colp = buffer + c * nRow; - for ( r = 0; r < nRow; r++ ) - { - for ( rr = 0; rr < row_repeat; rr++ ) - { - *( cp++ ) = *colp; - } - colp++; - } - } - } - - dbgwrite( copy_buffer, sizeof( float ), nRow * row_repeat * mCol * col_repeat, 1, filename ); - free( copy_buffer ); -} - - -/*-------------------------------------------------------------------* - * dbgappend() - * - * Appends the buffer content to the specified file. If the file is not in the - * debug file list, it is opened before first write. - *--------------------------------------------------------------------*/ - -int16_t dbgappend( - const void *const buffer, /* i : Append buffer */ - const int16_t size, /* i : Element size */ - const int16_t count, /* i : Number of elements */ - const int16_t repeat, /* i : Number of times the elements are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -) -{ - int16_t index, i; - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - char filename_mod[FILENAME_MAX]; - int16_t textmode = 0; /* textmode is only implemented in dbgwrite() currently */ - memset( filename_mod, 0, FILENAME_MAX ); - tweakdbgfolder( filename, filename_mod, &textmode ); - if ( filename_mod[0] != 0 ) - { - filename = filename_mod; - } -#endif -#endif - index = lookup( filename, (const char *const *) out_filename, out_count ); - - if ( index == -1 ) - { - if ( make_dirs( filename ) != 0 ) - { - fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename ); - exit( -1 ); - } - - index = out_count; - out_fileptr[index] = fopen( filename, "ab" ); - out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( out_filename[index], filename ); - out_count++; - } - - if ( out_fileptr[index] != NULL ) - { - for ( i = 0; i < repeat; i++ ) - { - fwrite( buffer, size, count, out_fileptr[index] ); - } - } - else - { - fprintf( stderr, "dbgappend: Could not write to file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} - -/*-------------------------------------------------------------------* - * dbgread() - * - * Reads data from the specified file. If the file is not open, it will be - * opened. - *--------------------------------------------------------------------*/ - -int16_t dbgread( - void *const buffer, /* o : Read buffer */ - const int16_t size, /* i : Element size */ - const int16_t count, /* i : Number of elements */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Input file name */ -#else - const char *const filename -#endif -) -{ - int16_t index; - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK - char filename_mod[FILENAME_MAX]; - int16_t textmode = 0; /* textmode is only implemented in dbgwrite() currently */ - memset( filename_mod, 0, FILENAME_MAX ); - tweakdbgfolder( filename, filename_mod, &textmode ); - if ( filename_mod[0] != 0 ) - { - filename = filename_mod; - } -#endif -#endif - - index = lookup( filename, (const char *const *) in_filename, in_count ); - - if ( index == -1 ) - { - index = in_count; - in_fileptr[index] = fopen( filename, "rb" ); -#ifdef DEBUG_FORCE_DIR - if ( in_fileptr[index] == NULL ) - { - /* file does not exist or could not be opened -> just return */ - return -1; - } -#endif - in_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( in_filename[index], filename ); - in_count++; - } - - if ( in_fileptr[index] != NULL ) - { - fread( buffer, size, count, in_fileptr[index] ); - } - else - { - fprintf( stderr, "dbgread: Could not read from file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} - -/*-------------------------------------------------------------------* - * dbgclose() - * - * Closes opened files and frees allocated memory - *--------------------------------------------------------------------*/ - -void dbgclose( void ) -{ - int16_t i; - - for ( i = 0; i < in_count; i++ ) - { - fclose( in_fileptr[i] ); - free( in_filename[i] ); - } - - for ( i = 0; i < out_count; i++ ) - { - fclose( out_fileptr[i] ); - free( out_filename[i] ); - } - -#ifdef DBG_WAV_WRITER - for ( i = 0; i < out_wav_count; i++ ) - { - CloseWav( out_wavfileptr[i] ); - free( out_wavfilename[i] ); - } -#endif - for ( i = 0; i < snr_count; i++ ) - { - free( snr_name[i] ); - } - - for ( i = 0; i < flag_count; i++ ) - { - free( flag_name[i] ); - } - - for ( i = 0; i < val_count; i++ ) - { - free( val_name[i] ); - free( val[i] ); - } - - return; -} - - -/*-------------------------------------------------------------------* - * dbgflag() - * - * Checks if a debug flag is set. The flag is identified with a string. - *--------------------------------------------------------------------*/ - -int16_t dbgflag( - const char *flagname /* i : Flag name */ -) -{ - int16_t result; - - result = lookup( flagname, (const char *const *) flag_name, flag_count ); - - return ( result != -1 ); -} - -/*-------------------------------------------------------------------* - * setflag() - * - * Sets the flag with the specified string - *--------------------------------------------------------------------*/ - -void setflag( - const char *flagname /* i : Flag name */ -) -{ - int16_t result; - - result = lookup( flagname, (const char *const *) flag_name, flag_count ); - - if ( result == -1 ) - { - flag_name[flag_count] = malloc( sizeof( char ) * ( strlen( flagname ) + 1 ) ); - strcpy( flag_name[flag_count], flagname ); - flag_count++; - } - - return; -} - -/*----------------------------------------------------------------------------* - * dbgargs() - * - * N.B. Should be run before existing command line interpretation - * - * Command line interpreter for debug arguments. Removes the debug - * arguments after interpretation so that existing command line interpretation - * may be run afterwards. - * - * Arguments: - * -D flag_name Sets the debug flag labelled flag_name. - * The function dbgflag("flag_name") will return 1. - * - * -V val_name val Sets the debug value labelled val_name to val. - * dbgvalue("type","val_name",&value) will retrieve the value - * - *-----------------------------------------------------------------------------*/ - -/*! r: No. debug arguments */ -int16_t dbgargs( - int32_t *argc, /* i/o: No. input arguments / No. arguments without dbg arguments */ - char *argv[] /* i/o: Input arguments / Input arguments without dbg arguments */ -) -{ - int16_t i, j, dbgargs; - - i = 0; - dbgargs = 0; - while ( i < *argc ) - { - if ( strcmp( argv[i], "-D" ) == 0 ) - { - j = i; - dbgargs++; - i++; - setflag( argv[i] ); - for ( ; j < *argc - 2; j++ ) - { - argv[j] = argv[j + 2]; - } - *argc -= 2; - i -= 2; - } - - if ( strcmp( argv[i], "-V" ) == 0 ) - { - j = i; - dbgargs++; - i++; - setvalue( argv[i], argv[i + 1] ); - for ( ; j < *argc - 3; j++ ) - { - argv[j] = argv[j + 3]; - } - *argc -= 3; - i -= 3; - } - i++; - } - - return dbgargs; -} - -/*-------------------------------------------------------------------* - * dbgvalue() - * - * Lookup a debug value - * - * Allowed typestr values: - * "char","short","int","long","float","double" - * - * If the value is not set, the output value is not assigned - * - *-------------------------------------------------------------------*/ - -/*! r: Returns 1 if value is assigned, otherwise 0 */ -int16_t dbgvalue( - const char *typestr, /* i : Type as string:"int","char",... */ - const char *value_name, /* i : Value tag name given on command line */ - ... /* o : Output variable, type: pointer to "typestr" */ -) -{ - int16_t index; - char *value; - int16_t assigned; - char *c; - int16_t *sh; - int *i; - int32_t *l; - float *f; - double *d; - va_list ap; - va_start( ap, value_name ); - - index = lookup( value_name, (const char *const *) val_name, val_count ); - - if ( index != -1 ) - { - value = val[index]; - index = lookup( typestr, (const char *const *) type_list, N_TYPES ); - switch ( index ) - { - case 0: - c = va_arg( ap, char * ); - sscanf( value, "%c", c ); - break; - case 1: - sh = va_arg( ap, int16_t * ); - sscanf( value, "%hi", sh ); - break; - case 2: - i = va_arg( ap, int * ); - sscanf( value, "%i", i ); - break; - case 3: - l = va_arg( ap, int32_t * ); - sscanf( value, "%i", l ); - break; - case 4: - f = va_arg( ap, float * ); - sscanf( value, "%f", f ); - break; - case 5: - d = va_arg( ap, double * ); - sscanf( value, "%lf", d ); - break; - default: - fprintf( stderr, "dbgvalue::Unsupported type string %s. Exiting...\n", typestr ); - exit( -1 ); - } - assigned = 1; - } - else - { - assigned = 0; - } - - va_end( ap ); - - return assigned; -} - -/*-------------------------------------------------------------------* - * lookup() - * - * Returns the index of the given string, or -1 if not found - *--------------------------------------------------------------------*/ - -/*! r: Index of string, -1 if not found */ -int16_t lookup( - const char *const str, /* i : String to lookup */ - const char *const *const list, /* i : List of strings */ - const int16_t n_elem /* i : Number of elements */ -) -{ - int16_t i, result; - - result = -1; - i = 0; - while ( i < n_elem && result == -1 ) - { - if ( strcmp( str, list[i] ) == 0 ) - { - result = i; - } - i++; - } - - return result; -} - -/*-------------------------------------------------------------------* - * setvalue() - * - * Sets the debug name value pair - *--------------------------------------------------------------------*/ - -static void setvalue( - const char *value_name, /* i : Value name */ - const char *value ) /* i : Value as string */ - -{ - int16_t result; - - result = lookup( value_name, (const char *const *) val_name, val_count ); - - if ( result == -1 ) - { - val_name[val_count] = malloc( sizeof( char ) * ( strlen( value_name ) + 1 ) ); - strcpy( val_name[val_count], value_name ); - val[val_count] = malloc( sizeof( char ) * ( strlen( value ) + 1 ) ); - strcpy( val[val_count], value ); - val_count++; - fprintf( stdout, "\nDebug value set: %s = %s\n", value_name, value ); - } - else - { - fprintf( stdout, "\n*** Value %s already set: %s\n", value_name, val[result] ); - } - - return; -} - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -/*-------------------------------------------------------------------* - * tweakdbgfolder() - * - * in: filename - * out: filename_mod - * - * returns modified path to debug files for reading and writing functions. - * creates in "./res" if given on command line - * with switch -info . - * - *--------------------------------------------------------------------*/ - -int16_t tweakdbgfolder( const char *filename, char *filename_mod, int16_t *textmode ) -{ - int16_t i, j; - char *p_infoFolder = infoFolder; - char *p_filename_mod = filename_mod; - int16_t n_prefix = 0; - char *suffix; - - /* if debug folder name given on command line, write debug info to sub folder */ - if ( infoFolder[0] != 0 ) - { - if ( filename[0] == '.' ) - { - n_prefix = 5; - } - else if ( filename[0] == 'r' ) - { - n_prefix = 3; - } - else - { - fprintf( stderr, "tweakdbgfolder: Unexpected debug folder. Exiting..\n" ); - exit( -1 ); - } - for ( i = 0; i <= n_prefix; i++ ) - { - p_filename_mod[i] = filename[i]; - } - j = i; - while ( *p_infoFolder != 0 ) - { - p_filename_mod[i] = *p_infoFolder; - i++; - p_infoFolder++; - } - p_filename_mod[i] = '/'; - i++; - - while ( filename[j] != 0 ) - { - p_filename_mod[i] = filename[j]; - i++; - j++; - } - /* detect textmode, only working with given debug folder name, otherwise no counter available for length of filename */ - suffix = &p_filename_mod[i - 4]; - if ( strncmp( suffix, ".txt", 4 ) == 0 ) - { - *textmode = 1; - } - else - { - *textmode = 0; - } - } - - - return 0; -} -#endif -#endif - - -#ifdef DEBUGGING -/*-------------------------------------------------------------------* - * fname() - * - * returns file name (string) that identifies - parameter/signal to be outputted - - channel ID (0 or 1) - - element ID (0, 1, etc.) - *--------------------------------------------------------------------*/ - -char debug_dir[6] = "res/"; - -char tmp_fname[FILENAME_MAX]; - -char *fname( - char *dir, - char *file, - const int16_t n, - const int16_t id, - const int16_t enc_dec ) -{ - char idd[6]; - - assert( id < 100 ); - sprintf( idd, ".id%d", id ); - - strcpy( tmp_fname, dir ); -#ifdef DEBUG_FORCE_DIR - size_t len; - len = strlen( tmp_fname ); - if ( tmp_fname[len - 1] != '/' && tmp_fname[len - 1] != '\\' ) - { - /* add trailing '/' slash */ - strcat( tmp_fname, "/" ); - } -#endif - strcat( tmp_fname, file ); - - if ( enc_dec == DEC ) - strcat( tmp_fname, ".dec" ); - if ( id > 0 ) - strcat( tmp_fname, idd ); - if ( n > 0 ) - strcat( tmp_fname, ".ch2" ); - - return tmp_fname; -} -#endif - - -/*-------------------------------------------------------------------* - * make_dirs() - * - * extract path(s) form the pathname and create them if not existing - *--------------------------------------------------------------------*/ - -int16_t make_dirs( const char *const pathname ) -{ - const char *p; - char *temp; - char sep = 0; -#ifdef _WIN32 - struct _stat s = { 0 }; -#else - struct stat s = { 0 }; -#endif - /* find path separator */ - if ( strchr( pathname, '\\' ) != NULL ) - { - sep = '\\'; - } - else if ( strchr( pathname, '/' ) != NULL ) - { - sep = '/'; - } - - if ( sep != 0 ) - { - temp = calloc( strlen( pathname ) + 1, sizeof( char ) ); - p = pathname; - while ( ( p = strchr( p, sep ) ) != NULL ) - { - /* skip consecutive separators and '.', '..' symbols */ - if ( p != pathname && ( *( p - 1 ) == sep || *( p - 1 ) == '.' ) ) - { - p++; - continue; - } - - /* put the path up to this point into a temp dir */ - memcpy( temp, pathname, p - pathname ); - temp[p - pathname] = '\0'; - p++; - - /* check if path exists and create it with mkdir() if not */ -#ifdef _WIN32 - if ( _stat( temp, &s ) == -1 ) - { - if ( _mkdir( temp ) != 0 ) - { - if ( errno != 0 ) - { - return 1; - } - } - } -#else - if ( stat( temp, &s ) == -1 ) - { - if ( mkdir( temp, 0755 ) != 0 ) - { - if ( errno != 0 ) - { - return 1; - } - } - } -#endif - } - - free( temp ); - } - - return 0; -} - -#ifdef DBG_WAV_WRITER -int16_t dbgwrite_wav( - const float *buffer[], /* i : Write buffer */ - const int16_t count_per_ch, /* i : Number of elements */ - const char *const filename, - int32_t fs, - int16_t num_chs ) -{ - int16_t index, i; - int16_t *tmp_buf; - - index = lookup( filename, (const char *const *) out_wavfilename, out_wav_count ); - - if ( index == -1 ) - { - if ( make_dirs( filename ) != 0 ) - { - fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename ); - exit( -1 ); - } - - index = out_wav_count; - out_wavfileptr[index] = CreateWav( (const char *) filename, fs, num_chs, 16 /* const uint32_t writeWaveExt */ ); - out_wavfilename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( out_wavfilename[index], filename ); - out_wav_count++; - } - - if ( out_wavfileptr[index] != NULL ) - { - int16_t j, k; - float tmp; - tmp_buf = (int16_t *) calloc( count_per_ch * num_chs, sizeof( int16_t ) ); - k = 0; - for ( j = 0; j < count_per_ch; j++ ) - { - for ( i = 0; i < num_chs; i++, k++ ) - { - tmp = roundf( buffer[i][j] ); - tmp_buf[k] = ( tmp > MAX16B_FLT ) ? MAX16B : ( tmp < MIN16B_FLT ) ? MIN16B - : (short) tmp; - } - } - WriteWavShort( out_wavfileptr[index], tmp_buf, count_per_ch * num_chs ); - free( tmp_buf ); - } - else - { - fprintf( stderr, "dbgwrite_wav: Could not write to file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} -#endif - - -int16_t dbgwrite_txt( - const float *buffer, /* i : Write buffer */ - const int16_t count, /* i : Number of elements */ - const char *const filename, - const char *const msg_opt ) -{ - int16_t index, i; - - index = lookup( filename, (const char *const *) out_filename, out_count ); - - if ( index == -1 ) - { - if ( make_dirs( filename ) != 0 ) - { - fprintf( stderr, "dbgwrite: Could not create directory structure for %s. Exiting..\n", filename ); - exit( -1 ); - } - - index = out_count; - out_fileptr[index] = fopen( filename, "w" ); - out_filename[index] = malloc( sizeof( char ) * ( strlen( filename ) + 1 ) ); - strcpy( out_filename[index], filename ); - out_count++; - } - - if ( out_fileptr[index] != NULL ) - { - if ( buffer != NULL ) - { - if ( msg_opt == NULL ) - { - for ( i = 0; i < count; i++ ) - { - fprintf( out_fileptr[index], "%f\n", buffer[i] ); - } - } - else - { - for ( i = 0; i < count; i++ ) - { - fprintf( out_fileptr[index], "%s %f\n", msg_opt, buffer[i] ); - } - } - } - } - else - { - fprintf( stderr, "dbgwrite_txt: Could not write to file: %s. Exiting..\n", filename ); - exit( -1 ); - } - - return 0; -} -#endif /* DEBUGGING */ diff --git a/lib_debug/debug.h b/lib_debug/debug.h deleted file mode 100644 index c79ff60465cf7fc043aff2930846e853c02edde2..0000000000000000000000000000000000000000 --- a/lib_debug/debug.h +++ /dev/null @@ -1,263 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef DEBUG_H -#define DEBUG_H - -#include "options.h" -#include -#include -#ifdef DEBUG_SBA -#include "sba_debug.h" -#endif - -/*------------------------------------------------------------------------------------------* - * Global variables used for debugging - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING -extern int32_t frame; -#endif - -#ifdef DEBUGGING -extern uint16_t g_nPrintedLines; -extern int16_t g_verbose; -#endif - -#ifdef DEBUGGING -extern int16_t debug_level; -#define DEBUG_LINE( level ) if ( ( level ) <= debug_level ) -#else -#define DEBUG_LINE( level ) if ( 0 ) -#endif - -#ifdef DEBUGGING -extern char tmp_fname[]; -extern char debug_dir[6]; -char *fname( char *dir, char *file, const int16_t n, const int16_t id, const int16_t enc_dec ); -#endif - -#ifdef DEBUG_FORCE_DIR -#define FORCE_DIR_MAX_LENGTH 255 /* maximum length of the directory for modes/parameters enforcement */ -#endif - -/*------------------------------------------------------------------------------------------* - * Read/write I/O tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -int16_t lookup( - const char *const str, - const char *const *const list, - const int16_t n_elem ); - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -int16_t tweakdbgfolder( - const char *filename, - char *filename_mod, - int16_t *textmode ); -#endif -#endif - -int16_t dbgwrite( - const void *const buffer, - const int16_t size, - const int16_t count, - const int16_t repeat, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -#ifdef DBG_WAV_WRITER -int16_t dbgwrite_wav( - const float *buffer[], /* i : Write buffer */ - const int16_t count_per_ch, /* i : Number of elements */ - const char *const filename, - int32_t fs, - int16_t num_chs ); -#endif - -int16_t dbgwrite_txt( - const float *buffer, /* i : Write buffer */ - const int16_t count, /* i : Number of elements */ - const char *const filename, - const char *const msg_opt ); - -void dbgwrite_mat_repeat( - float *buffer, /* i : write buffer */ - int16_t nRow, /* i : matrix size (rows) */ - int16_t mCol, /* i : matrix size (columns) */ - int16_t row_repeat, /* i : number of times rows are repeated */ - int16_t col_repeat, /* i : number of times columns are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -); - -int16_t dbgappend( - const void *const buffer, - const int16_t size, - const int16_t count, - const int16_t repeat, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -int16_t dbgread( - void *const buffer, - const int16_t size, - const int16_t count, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -void dbgclose( void ); - -int16_t dbgflag( - const char *flagname ); - -void setflag( - const char *flagname ); - -int16_t dbgargs( - int32_t *argc, - char *argv[] ); - -int16_t dbgvalue( - const char *typestr, - const char *value_name, - ... ); - -extern FILE *DJB_delay; - -extern FILE *FEC_pattern; - -#endif /* DEBUGGING */ - -/*------------------------------------------------------------------------------------------* - * SNR measurement tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -extern int16_t snr_count; -extern char *snr_name[]; - -void snr( - const float *const signal, - const float *const noise, - const int16_t length, - const char *const name ); - -void snr_diff( - const float *const clean, - const float *const degraded, - const int16_t length, - const int16_t delay, - const char *const name ); - -void snr_celp( - const int16_t L_frame, - const int16_t L_subfr, - const float gamma, - const float tilt_fac, - const int16_t vad_flag, - const int16_t coder_type, - const float *input, - const float *output, - const float *A, - const int16_t idchan, - const char *name ); - -void print_snr( void ); - -#else - -#define print_snr( void ) - -#endif - -/*------------------------------------------------------------------------------------------* - * SD analysis tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -/*! r: SD in a given frequency range */ -float sd_range( - const float lsf[], /* i : vector of unquantized LSF values */ - const float lsf_q[], /* i : vector of quantized LSF values */ - const int16_t order, /* i : dimension of the vectors */ - const int32_t fs, /* i : sampling frequency */ - const float min_freq, /* i : minimum frequency of interest */ - const float max_freq, /* i : maximum frequency of interest */ - const char *const name, /* i : string for SD entry in the global table */ - const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */ -); - -/*! r: SD respecting critical bands */ -float sd_crit( - const float lsf[], /* i : vector of unquantized LSF values */ - const float lsf_q[], /* i : vector of quantized LSF values */ - const int16_t order, /* i : dimension of the vectors */ - const int32_t fs, /* i : sampling frequency */ - const float min_freq, /* i : minimal frequency */ - const float max_freq, /* i : maximal frequency */ - int16_t *min_band, /* o : minimal critical band */ - int16_t *max_band, /* o : maximal critical band */ - float sd_bands[], /* i/o: SD in critical bands */ - const char *const name, /* i : string for SD entry in the global table */ - const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */ -); - -void print_sd( void ); - -#else - -#define print_sd( void ) - -#endif - -#endif /* DEBUG_H */ diff --git a/lib_debug/sba_debug.c b/lib_debug/sba_debug.c deleted file mode 100644 index c05ae96ef6279111db026a5dadff58fa2ce72045..0000000000000000000000000000000000000000 --- a/lib_debug/sba_debug.c +++ /dev/null @@ -1,431 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include -#include -#include -#include -#include -#include "options.h" -#include "ivas_cnst.h" -#include "sba_debug.h" -#include -#include "wmc_auto.h" -#ifdef DEBUG_SBA -#include -#include "tinywaveout_c.h" - -/*-------------------------------------------------------------------* - * Global variables used for debugging but not under DEBUGGING flag - *--------------------------------------------------------------------*/ - -#define MAX_IN_FILE_LEN ( 1000 ) -#define MAX_PLUG_IN_FILE_LEN ( MAX_IN_FILE_LEN ) -#define MAX_DEBUG_TAG_LEN ( 50 ) -#define NUM_DEBUG_FILES ( 5 ) -#define MAX_TAG_LEN ( 200 ) - -WAVEFILEOUT *spar_foa_enc_wav[3]; -WAVEFILEOUT *spar_foa_dec_wav[NUM_DEBUG_FILES]; -float max_diff = 0; -int32_t dbg_frm_num; -int32_t dbg_band; -int32_t dbg_type; -int32_t iter_max = 0; -FILE *fFb_pcm = NULL; -int8_t file_names[NUM_DEBUG_FILES][MAX_TAG_LEN + MAX_DEBUG_TAG_LEN]; - - -#ifdef DEBUG_AGC -FILE *agcOut = NULL; /* temporary AGC bitstream */ -#endif - -/*-----------------------------------------------------------------------------------------* - * Function description - * cstrcpy() - Custom implementation of strcpy - * - * Inputs: - * const char* _Source -> Source buffer - * _SizeInBytes -> Destination buffer size in bytes - * - * Outputs: - * char* _Destination -> Destination buffer - *-----------------------------------------------------------------------------------------*/ - -static void cstrcpy( char *_Destination, size_t _SizeInBytes, const char *_Source ) -{ - size_t SourceSizeInBytes = strlen( _Source ); - if ( _SizeInBytes > SourceSizeInBytes ) - { - strcpy( _Destination, _Source ); - } - else - { - assert( 0 ); - } - - return; -} - - -/*-----------------------------------------------------------------------------------------* - * Function description - * cstrcat() - Custom implementation of strcat - * - * Inputs: - * const char* _Source -> Source buffer - * _SizeInBytes -> Destination buffer size in bytes - * - * Outputs: - * char* _Destination -> Destination buffer - *-----------------------------------------------------------------------------------------*/ - -static void cstrcat( char *_Destination, size_t _SizeInBytes, const char *_Source ) -{ - size_t SourceSizeInBytes = strlen( _Source ); - size_t DestSizeInBytes = _SizeInBytes - strlen( _Destination ); - if ( DestSizeInBytes > SourceSizeInBytes ) - { - strcat( _Destination, _Source ); - } - else - { - assert( 0 ); - } - - return; -} - - -#ifdef DEBUG_AGC -void ivas_close_agc_debug_files( void ) -{ - if ( agcOut != NULL ) - { - fclose( agcOut ); - agcOut = NULL; - } - - return; -} - -void ivas_open_agc_debug_files( int16_t agc ) -{ - /* Temporary AGC file */ - if ( agc > 0 ) - { - char agcFilename[50] = "agcBitstream.bin"; - if ( ( agcOut = fopen( agcFilename, "wb" ) ) == NULL ) - { - fprintf( stderr, "Error: Gain Control bitstream file %s could not be opened\n\n", agcFilename ); - exit( -1 ); - } - fprintf( stdout, "Temporary gain control bitstream file %s is opened\n", agcFilename ); - } - - return; -} -#endif - -static void UpdateWave( - const uint32_t sampleRate, - const uint32_t numChannels, - const uint32_t bps, - WAVEFILEOUT *spar_wav ) -{ - uint32_t blockAlignment = 0; - uint16_t writeValue16; - uint32_t writeValue32; - - writeValue16 = LittleEndian16( (int16_t) numChannels ); - /*Fseek to number of channel writing position*/ - fseek( spar_wav->theFile, 22, SEEK_SET ); - fwrite( &writeValue16, sizeof( writeValue16 ), 1, spar_wav->theFile ); - blockAlignment = numChannels * ( bps >> 3 ); - writeValue16 = LittleEndian16( (int16_t) blockAlignment ); - fseek( spar_wav->theFile, 4, SEEK_CUR ); - writeValue32 = LittleEndian32( sampleRate * blockAlignment ); - fwrite( &writeValue32, sizeof( writeValue32 ), 1, spar_wav->theFile ); - fwrite( &writeValue16, sizeof( writeValue16 ), 1, spar_wav->theFile ); - - return; -} - - -void ivas_spar_dump_signal_wav( - const int16_t input_frame, - float **ppPcm, - float pcm_array[IVAS_SPAR_MAX_CH][L_FRAME48k], - const int16_t no_channel, - WAVEFILEOUT *wave_file, - char *location ) -{ - float tmp_value; - int16_t pcm_value, i, j, k; - int16_t debug_tmp[IVAS_SPAR_MAX_CH * L_FRAME48k * 2]; - - k = 0; - int16_t Clipping = 0; - float largest_value = 0; - float db_value = 0; - - for ( j = 0; j < input_frame; j++ ) - { - for ( i = 0; i < no_channel; i++, k++ ) - { - if ( ppPcm ) - { - tmp_value = roundf( ppPcm[i][j] ); - } - else - { - tmp_value = roundf( pcm_array[i][j] ); - } - - if ( tmp_value > MAX16B_FLT ) - { - largest_value = (float) fabs( tmp_value ) > largest_value ? (float) fabs( tmp_value ) : largest_value; - tmp_value = MAX16B; - Clipping++; - } - else if ( tmp_value < MIN16B_FLT ) - { - largest_value = (float) fabs( tmp_value ) > largest_value ? (float) fabs( tmp_value ) : largest_value; - tmp_value = MIN16B; - Clipping++; - } - pcm_value = (int16_t) tmp_value; - /*pcm_value = (tmp_value > MAX16B_FLT) ? MAX16B : (tmp_value < MIN16B_FLT) ? MIN16B - : (short)tmp_value;*/ - debug_tmp[k] = pcm_value; - } - } - if ( Clipping ) - { - db_value = 20.f * (float) log( largest_value ); - fprintf( stderr, "%d\t Clipping detected ", Clipping ); - } - - WriteWavShort( wave_file, debug_tmp, ( no_channel * input_frame ) ); - - if ( db_value ) - { - fprintf( stderr, "\t In %s largest clipped sample in dB %f \n", location, db_value ); - } - - return; -} - - -void ivas_close_sba_decoder_debug_files( - const int32_t fs, - const int16_t n_ch, - const int16_t n_transport, - const int16_t pca_ingest_channels ) -{ - if ( spar_foa_dec_wav[0] != NULL ) - { - UpdateWave( fs, n_transport, 32, spar_foa_dec_wav[0] ); - CloseWav( spar_foa_dec_wav[0] ); - } - if ( spar_foa_dec_wav[1] != NULL ) - { - UpdateWave( fs, n_transport, 16, spar_foa_dec_wav[1] ); - CloseWav( spar_foa_dec_wav[1] ); - } - if ( spar_foa_dec_wav[2] != NULL ) - { - UpdateWave( fs, pca_ingest_channels, 16, spar_foa_dec_wav[2] ); - CloseWav( spar_foa_dec_wav[2] ); - } - if ( spar_foa_dec_wav[3] != NULL ) - { - UpdateWave( fs, n_ch, 16, spar_foa_dec_wav[3] ); - CloseWav( spar_foa_dec_wav[3] ); - } - - if ( spar_foa_dec_wav[4] != NULL ) - { - UpdateWave( fs, n_ch, 16, spar_foa_dec_wav[4] ); - CloseWav( spar_foa_dec_wav[4] ); - } - - return; -} - - -void ivas_close_sba_encoder_debug_files( void ) -{ - - if ( spar_foa_enc_wav[0] != NULL ) - { - CloseWav( spar_foa_enc_wav[0] ); - } - if ( spar_foa_enc_wav[1] != NULL ) - { - CloseWav( spar_foa_enc_wav[1] ); - } - if ( spar_foa_enc_wav[2] != NULL ) - { - CloseWav( spar_foa_enc_wav[2] ); - } - - /* Enable print max diff to a file */ - - /* FILE *fp = fopen("max_diff.txt", "a"); - fprintf(fp, "%s\n", file_names[0]); - fprintf(fp, "max diff = %0.15f\n frame_no = %d\n band num = %d\n coeff type %d\n", max_diff, dbg_frm_num, dbg_band, dbg_type); - fclose(fp); */ - - /* Enable print max eig iters to a file */ - - /*FILE *fp = fopen("max_iters.txt", "a"); - fprintf(fp, "%s\n", file_names[0]); - fprintf(fp, "%d\n", iter_max); - fclose(fp); */ - - return; -} - - -void ivas_open_sba_decoder_debug_files( - const int32_t fs, - const int16_t n_ch, - const int16_t n_transport ) -{ - int8_t fb_wav_dump_path[NUM_DEBUG_FILES][MAX_PLUG_IN_FILE_LEN] = { "", "", "", "", "" }; - - cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), "dec_out.wav" ); - spar_foa_dec_wav[0] = CreateWav( (const char *) fb_wav_dump_path[0], fs, n_ch, 32 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), "agc_dec_out.wav" ); - spar_foa_dec_wav[1] = CreateWav( (const char *) fb_wav_dump_path[1], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), "pca_dec.wav" ); - spar_foa_dec_wav[2] = CreateWav( (const char *) fb_wav_dump_path[2], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[3], sizeof( fb_wav_dump_path[3] ), "cldfbSynthesis_ivas.wav" ); - spar_foa_dec_wav[3] = CreateWav( (const char *) fb_wav_dump_path[3], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[4], sizeof( fb_wav_dump_path[4] ), "cldfbAnalysis_ivas.wav" ); - spar_foa_dec_wav[4] = CreateWav( (const char *) fb_wav_dump_path[4], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - return; -} - - -void ivas_open_sba_encoder_debug_files( - const int32_t fs, - const int16_t n_transport, - const char *file_tag, - const int32_t ivas_total_brate, - const int16_t dtx_on ) -{ - int8_t fb_wav_dump_path[3][MAX_PLUG_IN_FILE_LEN] = { "spar_foa_enc", "spar_foa_enc", "spar_foa_enc" }; - - if ( file_tag != NULL ) - { - cstrcpy( (char *) file_names[0], sizeof( file_names[0] ), (const char *) file_tag ); - } - - /* ivas_total_brate */ - switch ( ivas_total_brate ) - { - case IVAS_24k4: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr24k" ); - break; - case IVAS_32k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr32k" ); - break; - case IVAS_48k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr48k" ); - break; - case IVAS_64k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr64k" ); - break; - case IVAS_80k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr80k" ); - break; - case IVAS_96k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr96k" ); - break; - case IVAS_128k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr128k" ); - break; - case IVAS_160k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr160k" ); - break; - case IVAS_192k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr192k" ); - break; - case IVAS_256k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr256k" ); - break; - case IVAS_384k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr384k" ); - break; - case IVAS_512k: - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_ivasbr512k" ); - break; - } - - /* DTX */ - if ( dtx_on ) - { - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_DTX1" ); - } - else - { - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_DTX0" ); - } - - cstrcpy( (char *) file_names[1], sizeof( file_names[1] ), (const char *) file_names[0] ); - cstrcpy( (char *) file_names[2], sizeof( file_names[2] ), (const char *) file_names[0] ); - cstrcpy( (char *) file_names[3], sizeof( file_names[3] ), (const char *) file_names[0] ); - cstrcat( (char *) file_names[0], sizeof( file_names[0] ), "_pcm.txt" ); - - cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), (const char *) file_names[2] ); - cstrcat( (char *) fb_wav_dump_path[0], sizeof( fb_wav_dump_path[0] ), "_pca_enc.wav" ); - spar_foa_enc_wav[0] = CreateWav( (const char *) fb_wav_dump_path[0], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), (const char *) file_names[2] ); - cstrcat( (char *) fb_wav_dump_path[1], sizeof( fb_wav_dump_path[1] ), "_fb_mixer_enc.wav" ); - spar_foa_enc_wav[1] = CreateWav( (const char *) fb_wav_dump_path[1], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), (const char *) file_names[2] ); - cstrcat( (char *) fb_wav_dump_path[2], sizeof( fb_wav_dump_path[2] ), "_agc_enc.wav" ); - spar_foa_enc_wav[2] = CreateWav( (const char *) fb_wav_dump_path[2], fs, n_transport, 16 /* const uint32_t writeWaveExt */ ); - - return; -} - -#endif /* DEBUG_SBA */ diff --git a/lib_debug/sba_debug.h b/lib_debug/sba_debug.h deleted file mode 100644 index 2be427d524e82f92deec2ab9e8c0964374474dab..0000000000000000000000000000000000000000 --- a/lib_debug/sba_debug.h +++ /dev/null @@ -1,61 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef SBA_DEBUG_H -#define SBA_DEBUG_H - -#include "options.h" -#include -#include -#ifdef DEBUG_SBA -#include "cnst.h" -#include "ivas_cnst.h" -#include "tinywaveout_c.h" - - -#ifdef DEBUG_SBA_AUDIO_DUMP -extern WAVEFILEOUT *spar_foa_enc_wav[3]; -extern WAVEFILEOUT *spar_foa_dec_wav[5]; -#endif - -#ifdef DEBUG_AGC -void ivas_close_agc_debug_files( void ); -void ivas_open_agc_debug_files( int16_t agc ); -#endif -void ivas_spar_dump_signal_wav( const int16_t input_frame, float **ppPcm, float pcm_array[IVAS_SPAR_MAX_CH][L_FRAME48k], const int16_t no_channel, WAVEFILEOUT *wave_file, char *location ); -void ivas_close_sba_encoder_debug_files( void ); -void ivas_open_sba_encoder_debug_files( const int32_t fs, const int16_t n_transport, const char *file_tag, const int32_t ivas_total_brate, const int16_t dtx_on ); -void ivas_close_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport, const int16_t pca_ingest_channels ); -void ivas_open_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport ); -#endif - -#endif /* SBA_DEBUG_H */ diff --git a/lib_debug/snr.c b/lib_debug/snr.c deleted file mode 100644 index cf15a2907b50dec0580121c2773f91191c8b4afc..0000000000000000000000000000000000000000 --- a/lib_debug/snr.c +++ /dev/null @@ -1,465 +0,0 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include -#include -#include -#include "wmc_auto.h" -#include "cnst.h" -#include "ivas_cnst.h" - -#ifdef DEBUGGING - -/*-------------------------------------------------------------------* - * Local constants - *--------------------------------------------------------------------*/ - -#define N_SNRPTR 100 -#define MAX_SIGNAL_LENGTH 1024 -#define MAX_DELAY 320 - -/*-------------------------------------------------------------------* - * Global variables - *--------------------------------------------------------------------*/ - -int16_t snr_count = 0; -char *snr_name[N_SNRPTR] = { 0 }; - -#ifdef DEBUG_MODE_INFO -float snr_[2][320]; -#endif - -/*-------------------------------------------------------------------* - * Local variables - *--------------------------------------------------------------------*/ - -static double signal_energy[N_SNRPTR]; -static double noise_energy[N_SNRPTR]; -static double acc_seg_snr[N_SNRPTR]; -static int32_t seg_count[N_SNRPTR]; -static double acc_wseg_snr[N_SNRPTR]; -static double wseg_count[N_SNRPTR]; -static float *mem_delay_comp[N_SNRPTR] = { 0 }; -static float mem_deemph_x[MAX_INPUT_CHANNELS] = { 0 }; -static float mem_deemph_y[MAX_INPUT_CHANNELS] = { 0 }; -static float mem_synth_snr[MAX_INPUT_CHANNELS][M]; - - -/*-------------------------------------------------------------------* - * Local functions - they are copies of functions declared in prot.h but - here we do not want to include prot.h due to its dependencies - *--------------------------------------------------------------------*/ - -#ifdef DEBUG_MODE_INFO -static void set_f( - float y[], /* i/o: Vector to set */ - const float a, /* i : Value to set the vector to */ - const int16_t N /* i : Lenght of the vector */ -) -{ - int16_t i; - - for ( i = 0; i < N; i++ ) - { - y[i] = a; - } - - return; -} -#endif - -static float sum2_f( - const float *vec, /* i : input vector */ - const int16_t lvec /* i : length of input vector */ -) -{ - int16_t i; - float tmp; - - tmp = 0.0f; - for ( i = 0; i < lvec; i++ ) - { - tmp += vec[i] * vec[i]; - } - - return tmp; -} - - -static void mvr2r( - const float x[], /* i : input vector */ - float y[], /* o : output vector */ - const int16_t n /* i : vector size */ -) -{ - int16_t i; - - if ( n <= 0 ) - { - /* cannot transfer vectors with size 0 */ - return; - } - - if ( y < x ) - { - for ( i = 0; i < n; i++ ) - { - y[i] = x[i]; - } - } - else - { - for ( i = n - 1; i >= 0; i-- ) - { - y[i] = x[i]; - } - } - - return; -} - -static void residu( - const float *a, /* i : LP filter coefficients */ - const int16_t m, /* i : order of LP filter */ - const float *x, /* i : input signal (usually speech) */ - float *y, /* o : output signal (usually residual) */ - const int16_t l /* i : size of filtering */ -) -{ - float s; - int16_t i, j; - - for ( i = 0; i < l; i++ ) - { - s = x[i]; - for ( j = 1; j <= m; j++ ) - { - s += a[j] * x[i - j]; - } - y[i] = s; - } - - return; -} - -static void deemph( - float *signal, /* i/o: signal */ - const float mu, /* i : deemphasis factor */ - const int16_t L, /* i : vector size */ - float *mem /* i/o: memory (y[-1]) */ -) -{ - int16_t i; - - signal[0] = signal[0] + mu * ( *mem ); - for ( i = 1; i < L; i++ ) - { - signal[i] = signal[i] + mu * signal[i - 1]; - } - - *mem = signal[L - 1]; - - if ( ( *mem < 1e-10 ) & ( *mem > -1e-10 ) ) - { - *mem = 0; - } - - return; -} - -static void weight_a( - const float *a, /* i : LP filter coefficients */ - float *ap, /* o : weighted LP filter coefficients */ - const float gamma, /* i : weighting factor */ - const int16_t m /* i : order of LP filter */ -) -{ - float f; - int16_t i; - - ap[0] = a[0]; - f = gamma; - - for ( i = 1; i <= m; i++ ) - { - ap[i] = f * a[i]; - f *= gamma; - } - - return; -} - - -/*-------------------------------------------------------------------* - * snr() - * - * Calculates and accumulates SNR values for a signal specified with a - * certain string. The signal is input in segments having certain length, - * for which a global SNR, segmental SNR and weighted segmental SNR is computed. - *--------------------------------------------------------------------*/ - -void snr( - const float *const signal, - const float *const noise, - const int16_t length, - const char *const name ) -{ - int16_t index; - double signal_sumsq, noise_sumsq, frame_snr, seg_en; - - index = lookup( name, (const char *const *) snr_name, snr_count ); - if ( index == -1 ) - { - index = snr_count; - signal_energy[index] = 0; - noise_energy[index] = 0; - acc_seg_snr[index] = 0; - seg_count[index] = 0; - acc_wseg_snr[index] = 0; - wseg_count[index] = 0; - snr_name[index] = malloc( sizeof( char ) * ( strlen( name ) + 1 ) ); - strcpy( snr_name[index], name ); - snr_count++; - } - - signal_sumsq = sum2_f( signal, length ) + 0.001f; - noise_sumsq = sum2_f( noise, length ) + 0.001f; - if ( signal_sumsq < noise_sumsq ) - signal_sumsq = noise_sumsq; - frame_snr = 10 * log10( signal_sumsq / noise_sumsq ); - seg_en = 10 * log10( signal_sumsq / length ); - if ( seg_en < 0.0 ) - seg_en = 0.0; - - signal_energy[index] += signal_sumsq; - noise_energy[index] += noise_sumsq; - acc_seg_snr[index] += frame_snr; - seg_count[index]++; - acc_wseg_snr[index] += frame_snr * seg_en; - wseg_count[index] += seg_en; - - return; -} - - -/*-------------------------------------------------------------------* - * snr_diff() - * - * Calculates and accumulates SNR values for a signal specified with a - * certain string. The signal is input in segments having certain length, - * for which a global SNR, segmental SNR and weighted segmental SNR is computed. - * A delay between both signals is taken into account - * and compensated for (positive value means degraded signal is delayed). - *--------------------------------------------------------------------*/ - -void snr_diff( - const float *const clean, - const float *const degraded, - const int16_t length, - const int16_t delay, - const char *const name ) -{ - int16_t i, index; - float noise[MAX_SIGNAL_LENGTH], comp_buf[MAX_SIGNAL_LENGTH + MAX_DELAY]; - - if ( length > MAX_SIGNAL_LENGTH ) - { - fprintf( stdout, "snr_diff::Input segment too long. Exiting...\n" ); - exit( -1 ); - } - - if ( delay < 0 ) - { - fprintf( stdout, "snr_diff::Degraded signal cannot have negative delay. Exiting...\n" ); - exit( -1 ); - } - - /* search for the name in the database */ - index = (int16_t) lookup( name, (const char *const *) snr_name, snr_count ); - if ( index == -1 ) - { - index = (int16_t) snr_count; - signal_energy[index] = 0.0f; - noise_energy[index] = 0.0f; - acc_seg_snr[index] = 0.0f; - seg_count[index] = 0; - acc_wseg_snr[index] = 0.001f; - wseg_count[index] = 0.001f; - snr_name[index] = malloc( sizeof( char ) * ( strlen( name ) + 1 ) ); - mem_delay_comp[index] = calloc( delay, sizeof( float ) ); - strcpy( snr_name[index], name ); - snr_count++; - } - - /* delay compensation - introduction of delay to the clean signal */ - mvr2r( mem_delay_comp[index], comp_buf, delay ); - mvr2r( clean, comp_buf + delay, length ); - mvr2r( comp_buf + length, mem_delay_comp[index], delay ); - - for ( i = 0; i < length; i++ ) - { - noise[i] = comp_buf[i] - degraded[i]; - } - - snr( comp_buf, noise, length, name ); - - return; -} - - -/*-------------------------------------------------------------------* - * snr_celp() - * - * Calculates SNR, segmental SNR and weighted segmental SNR values for active - * frames (GENERIC, VOICED, TRANSITION and AUDIO) of CELP-coded signals. Both, the input and output - * signals are first converted to the perceptually weighted domain, subtracted to - * obtain the noise signal and de-emphasized. - *--------------------------------------------------------------------*/ - -void snr_celp( - const int16_t L_frame, - const int16_t L_subfr, - const float gamma, - const float tilt_fac, - const int16_t vad_flag, - const int16_t coder_type, - const float *input, - const float *output, - const float *A, - const int16_t idchan, - const char *name ) -{ - int16_t i; - float noise[L_FRAME16k], Ap[M + 1], x[L_FRAME16k], y[L_FRAME16k], synth_buf[M + L_FRAME16k], *synth; - const float *p_A; - int16_t j; -#ifdef DEBUG_MODE_INFO - float signal2, noise2, subframe_snr; -#endif - - synth = synth_buf + M; - mvr2r( mem_synth_snr[idchan], synth_buf, M ); - mvr2r( output, synth, L_frame ); - mvr2r( synth_buf + L_frame, mem_synth_snr[idchan], M ); - - p_A = A; - for ( i = 0; i < L_frame; i += L_subfr ) - { - weight_a( p_A, Ap, gamma, M ); - residu( Ap, M, &input[i], &x[i], L_subfr ); - residu( Ap, M, &synth[i], &y[i], L_subfr ); - p_A += ( M + 1 ); - - deemph( &x[i], tilt_fac, L_subfr, &mem_deemph_x[idchan] ); - deemph( &y[i], tilt_fac, L_subfr, &mem_deemph_y[idchan] ); - - for ( j = 0; j < L_subfr; j++ ) - { - noise[i + j] = x[i + j] - y[i + j]; - } - -#ifdef DEBUG_MODE_INFO - signal2 = sum2_f( &x[i], L_subfr ) + 0.001f; - noise2 = sum2_f( &noise[i], L_subfr ) + 0.001f; - if ( signal2 < noise2 ) - signal2 = noise2; - subframe_snr = 10.0f * log10f( signal2 / noise2 ); - - if ( L_frame == L_FRAME ) - { - set_f( snr_[idchan] + i * 5 / 4, subframe_snr, L_subfr * 5 / 4 ); - } - else - { - set_f( snr_[idchan] + i, subframe_snr, L_subfr ); - } -#endif - } - - if ( vad_flag == 1 && ( coder_type == GENERIC || coder_type == VOICED || coder_type == TRANSITION || coder_type == AUDIO ) ) - { - snr( x, noise, L_frame, name ); - } - - return; -} - -/*-------------------------------------------------------------------* - * print_snr() - * - * Finalizes and presents accumulated SNR data - *--------------------------------------------------------------------*/ - -void print_snr( void ) -{ - int16_t i; - double snr, segsnr, wsegsnr; - - if ( snr_count > 0 ) - { - fprintf( stdout, "\n --- SNR report --- \n" ); - - for ( i = 0; i < snr_count; i++ ) - { - snr = 10 * log10( signal_energy[i] / ( noise_energy[i] + 0.0001f ) ); - segsnr = acc_seg_snr[i] / ( seg_count[i] + 0.0001f ); - wsegsnr = acc_wseg_snr[i] / ( wseg_count[i] + 0.0001f ); - fprintf( stdout, "%-22s %6.3f dB SNR %6.3f dB SegSNR %6.3f dB WSegSNR\n", snr_name[i], snr, segsnr, wsegsnr ); - } - fprintf( stdout, "\n" ); - } - - /* free allocated memory */ - for ( i = 0; i < N_SNRPTR; i++ ) - { - if ( snr_name[i] ) - { - free( snr_name[i] ); - snr_name[i] = NULL; - } - - if ( mem_delay_comp[i] ) - { - free( mem_delay_comp[i] ); - mem_delay_comp[i] = NULL; - } - } - - return; -} - -#endif diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 5afd9de166568531c15df05978d588430d1cad77..e874bc46e1d5e3b42d17571b8557ddcd40c1552d 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* * (C) 2024 copyright VoiceAge Corporation. All Rights Reserved. * diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index 64e2c751a9261c0e8e02c147f194047f61b83786..55678bc51c7cbe67101380cb88f4e885bf8641be 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* * (C) 2024 copyright VoiceAge Corporation. All Rights Reserved. * diff --git a/lib_dec/ACcontextMapping_dec_fx.c b/lib_dec/ACcontextMapping_dec_fx.c index acf372565408b238d2a86c40b85a396f5660b5ae..92142728da5b8b46f47389083a003f53ca8d869e 100644 --- a/lib_dec/ACcontextMapping_dec_fx.c +++ b/lib_dec/ACcontextMapping_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -523,9 +526,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx( move16(); /* Confirm that there is no overflow */ -#ifdef DEBUGGING - assert( st->next_bit_pos - start_bit_pos + rest_bits <= 0 ); -#endif /* Store decoded data */ x[a1_i] = a; @@ -577,9 +577,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx( assert( rc_st_dec.bit_error_detected == 0 ); /* Cross-check: No overflow */ -#ifdef DEBUGGING - assert( k == lastnz ); -#endif /* Decode signs */ n = nt; @@ -682,9 +679,6 @@ Word16 RCcontextMapping_decode2_no_mem_s17_LCS_fx( move16(); /* Confirm that there is no overflow */ -#ifdef DEBUGGING - assert( st->next_bit_pos - start_bit_pos + rest_bits <= 0 ); -#endif /* Store decoded data */ x[k + 0] = a; diff --git a/lib_dec/FEC_HQ_core_fx.c b/lib_dec/FEC_HQ_core_fx.c index c90530d5dc23b5316d00bbf860197b4377ec78be..ec9cd17ffb20171968a2c744a59d0d596ba53105 100644 --- a/lib_dec/FEC_HQ_core_fx.c +++ b/lib_dec/FEC_HQ_core_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/FEC_HQ_phase_ecu_fx.c b/lib_dec/FEC_HQ_phase_ecu_fx.c index f79e9e4b1edd9e7e0dc61b99aa06883a5e01d6ba..811129a29fa6b900fad7aae57e4f305b460c1f11 100644 --- a/lib_dec/FEC_HQ_phase_ecu_fx.c +++ b/lib_dec/FEC_HQ_phase_ecu_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -2139,11 +2142,7 @@ static void ivas_subst_spec_fx( im = *pImX; move16(); tmp = sub_sat( mult_r( re, cos_F ), mult_r( im, sin_F ) ); -#ifdef FIX_2170_ASSERT_IN_FFT3 im = add_sat( mult_r( re, sin_F ), mult_r( im, cos_F ) ); -#else - im = add( mult_r( re, sin_F ), mult_r( im, cos_F ) ); -#endif IF( LT_16( alpha[k], 32766 ) ) { alpha_local = mag_chg_local; diff --git a/lib_dec/FEC_adapt_codebook_fx.c b/lib_dec/FEC_adapt_codebook_fx.c index 24ddc6463b456cab77b31fec330af17b6b00b081..9fdd1a1126074c9598c1f642f59565f54eebc92e 100644 --- a/lib_dec/FEC_adapt_codebook_fx.c +++ b/lib_dec/FEC_adapt_codebook_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/FEC_clas_estim_fx.c b/lib_dec/FEC_clas_estim_fx.c index 595e750f49e710ae9d93a00654cc8aed40850b8d..f0baa23e28088d8b1ea51a56c04bf2810581aa6b 100644 --- a/lib_dec/FEC_clas_estim_fx.c +++ b/lib_dec/FEC_clas_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/FEC_fx.c b/lib_dec/FEC_fx.c index 574e2e14f9e209a4cef2a1ea22b86bcbf3971dcd..cd4dfbaad15e4203f1f2e5d445de9cee22d48e33 100644 --- a/lib_dec/FEC_fx.c +++ b/lib_dec/FEC_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/FEC_lsf_estim_fx.c b/lib_dec/FEC_lsf_estim_fx.c index d64b6fe3ee6c24dee1d547b6f82dc71f9fcdc500..0e4baec5a5e19e7205a7a41e809c3fd3d9705bfa 100644 --- a/lib_dec/FEC_lsf_estim_fx.c +++ b/lib_dec/FEC_lsf_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/FEC_pitch_estim_fx.c b/lib_dec/FEC_pitch_estim_fx.c index f2522dc511f119150fdbc9e8b3fb1efb6ddac23c..88d4022c002b441abfbea07e7d1f677ecb53fb61 100644 --- a/lib_dec/FEC_pitch_estim_fx.c +++ b/lib_dec/FEC_pitch_estim_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/FEC_scale_syn_fx.c b/lib_dec/FEC_scale_syn_fx.c index f26c4bffe0dac9a296ceb0811c28381e9745e41a..d183ce7a4463b7819587bb73c79133fd94d8db3e 100644 --- a/lib_dec/FEC_scale_syn_fx.c +++ b/lib_dec/FEC_scale_syn_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/LD_music_post_filter_fx.c b/lib_dec/LD_music_post_filter_fx.c index d1ec20b0b88a35f8e3217eb632e085cbaabf384f..51cf134540673e647a3e75287711c4e0a9819386 100644 --- a/lib_dec/LD_music_post_filter_fx.c +++ b/lib_dec/LD_music_post_filter_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/TonalComponentDetection_fx.c b/lib_dec/TonalComponentDetection_fx.c index 093752bb704853083266223ebb8d55dd15ba7721..dfd295f238217abd6913bbc8226697ca1c60479a 100644 --- a/lib_dec/TonalComponentDetection_fx.c +++ b/lib_dec/TonalComponentDetection_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -453,11 +456,7 @@ static void getEnvelope( FOR( i = 0; i < n2; i++ ) { -#ifdef FIX_BASOP_ASSERT_IN_TONAL_MDCT_PLC sum = L_add_sat( sum, powerSpec[i] ); /*powerSpec_exp*/ -#else - sum = L_add( sum, powerSpec[i] ); /*powerSpec_exp*/ -#endif } /* No need for PTR_INIT for powerSpec[i+n2] as we continue from the previous loop */ FOR( i = 0; i < n1; i++ ) diff --git a/lib_dec/acelp_core_dec_fx.c b/lib_dec/acelp_core_dec_fx.c index 0bc1b8403fdaed1f55c2e6a984558d662fd4d622..64bba1979eb73a448541a2084b24fa960437c65e 100644 --- a/lib_dec/acelp_core_dec_fx.c +++ b/lib_dec/acelp_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -124,11 +96,7 @@ ivas_error acelp_core_dec_fx( ivas_error error; Word32 bpf_error_signal_fx[L_FRAME16k]; Word16 bpf_error_signal_16fx[L_FRAME16k]; -#ifdef FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC Word16 Q_real, scf; -#else - Word16 Q_real; -#endif Word32 max_real, max_imag, max_val; set32_fx( bpf_error_signal_fx, 0, L_FRAME16k ); @@ -2087,22 +2055,16 @@ ivas_error acelp_core_dec_fx( } max_val = L_max( max_real, max_imag ); Q_real = sub( norm_l( max_val ), 3 ) /* Guard bits */; -#ifdef FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC scf = L_norm_arr( st->cldfbSyn->cldfb_state_fx, st->cldfbSyn->p_filter_length ); scf = s_min( scf, sub( Q_real, Q11 ) ); Q_real = add( scf, Q11 ); -#endif FOR( i = 0; i < CLDFB_NO_COL_MAX; i++ ) { scale_sig32( realBuffer_fx[i], CLDFB_NO_CHANNELS_MAX, Q_real ); // Q_real scale_sig32( imagBuffer_fx[i], CLDFB_NO_CHANNELS_MAX, Q_real ); // Q_real } -#ifdef FIX_2217_ASSERT_IN_IVAS_CORE_DECODER_WITH_MC scale_sig32( st->cldfbSyn->cldfb_state_fx, st->cldfbSyn->p_filter_length, scf ); // Q10 - > (Q_real-1) -#else - scale_sig32( st->cldfbSyn->cldfb_state_fx, st->cldfbSyn->p_filter_length, sub( Q_real, Q11 ) ); // Q10 - > (Q_real-1) -#endif st->cldfbSyn->Q_cldfb_state = sub( Q_real, 1 ); move16(); diff --git a/lib_dec/acelp_core_switch_dec_fx.c b/lib_dec/acelp_core_switch_dec_fx.c index dc801242cf9e566dfcb0454780a7b609fcafa308..66ee0fc81a04b414d8fdf93c4a6dfd3130a21b4a 100644 --- a/lib_dec/acelp_core_switch_dec_fx.c +++ b/lib_dec/acelp_core_switch_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/amr_wb_dec_fx.c b/lib_dec/amr_wb_dec_fx.c index 375565f622cf9c4d1b8242617769ef5af106059b..0076e4ece4fbcffdb4e5765c58d9ed88fcf8ee31 100644 --- a/lib_dec/amr_wb_dec_fx.c +++ b/lib_dec/amr_wb_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/ari_dec_fx.c b/lib_dec/ari_dec_fx.c index 680c492dbffe245174b88e8e63d179b954195132..bd91bd5f10cc9eb66307362658c6f22ff5516acf 100644 --- a/lib_dec/ari_dec_fx.c +++ b/lib_dec/ari_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/ari_hm_dec_fx.c b/lib_dec/ari_hm_dec_fx.c index 51949328c550ed6428311ee6c78ec5efc42c53fd..2b54cf84c28b3a1a18f02d1286ba2b17107534e9 100644 --- a/lib_dec/ari_hm_dec_fx.c +++ b/lib_dec/ari_hm_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/arith_coder_dec_fx.c b/lib_dec/arith_coder_dec_fx.c index 997bc43c798b89482834e3b511cd74e9948b00f1..c92400d60511b5d6e2d9a1e47b7ffe3e4e20b457 100644 --- a/lib_dec/arith_coder_dec_fx.c +++ b/lib_dec/arith_coder_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/avq_dec_fx.c b/lib_dec/avq_dec_fx.c index 21f7d4e1c61301aacba4d0557a280fd7910ba1a8..6193d68c0cc978e1b0d00983ced801aae9993c01 100644 --- a/lib_dec/avq_dec_fx.c +++ b/lib_dec/avq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/bass_psfilter_fx.c b/lib_dec/bass_psfilter_fx.c index d2f1679e8f9dccbd0c1e1ec5f6c28c39a4c41d1a..88e47d78f7fcdc4d807bd82935389a64852e56b2 100644 --- a/lib_dec/bass_psfilter_fx.c +++ b/lib_dec/bass_psfilter_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/cng_dec_fx.c b/lib_dec/cng_dec_fx.c index 77bb6386fdbb4b3a4783aeb2d74e94c47a4d4788..18e99d74b027bde6e6e6cbe3688c239f8bf78c59 100644 --- a/lib_dec/cng_dec_fx.c +++ b/lib_dec/cng_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_init_fx.c b/lib_dec/core_dec_init_fx.c index 8b78def57acbc7f588645e80fa8cf4d476dee938..3c481d8e41da5c160d63f71674183f95c18ae1ed 100644 --- a/lib_dec/core_dec_init_fx.c +++ b/lib_dec/core_dec_init_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_reconf_fx.c b/lib_dec/core_dec_reconf_fx.c index 77da861c1d54ddb3b09daf55da450f4b73da0d2e..e0c5a25b5f9a8b63bb66355602975e3e3aa949b3 100644 --- a/lib_dec/core_dec_reconf_fx.c +++ b/lib_dec/core_dec_reconf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/core_dec_switch_fx.c b/lib_dec/core_dec_switch_fx.c index 7355b912e3d1e63a8b9d4383b1c22c6d14bfdf1d..c5c4970de0ea395e502aeaa270d5a80770ef7a84 100644 --- a/lib_dec/core_dec_switch_fx.c +++ b/lib_dec/core_dec_switch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/core_switching_dec_fx.c b/lib_dec/core_switching_dec_fx.c index 5946f577a06dd73ecee1d753aa9032d2921904ef..684de8c10b9ce5b911ec85ec7db319d7f5f45330 100644 --- a/lib_dec/core_switching_dec_fx.c +++ b/lib_dec/core_switching_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/d_gain2p_fx.c b/lib_dec/d_gain2p_fx.c index 4d1c101c05441b731f8d866b3d1b8e5cc92c40e3..05d8d9e53f627025109c3c49f11189f2c65f0dca 100644 --- a/lib_dec/d_gain2p_fx.c +++ b/lib_dec/d_gain2p_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec2t32_fx.c b/lib_dec/dec2t32_fx.c index 87058fe54bd9c956eb6be622a4df94dc5485c8c1..fbc6822e789f5694a74c797d3e6276e1d0b921e3 100644 --- a/lib_dec/dec2t32_fx.c +++ b/lib_dec/dec2t32_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec4t64_fx.c b/lib_dec/dec4t64_fx.c index 69efcb79eace1224b1ed0dec8a969240cb16b2df..b693b3cd8728e201e9069a7bfc32d500d48df299 100644 --- a/lib_dec/dec4t64_fx.c +++ b/lib_dec/dec4t64_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_LPD_fx.c b/lib_dec/dec_LPD_fx.c index de1e3ea0d0023b2786ff73d12dff622e6e1c9c8c..ae19ca01d998a57c8307cacda2862e8c0d2614a3 100644 --- a/lib_dec/dec_LPD_fx.c +++ b/lib_dec/dec_LPD_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_ace_fx.c b/lib_dec/dec_ace_fx.c index 8453a16cf1e309bfee4336387e866b86300949a9..231295140dd930b545255a21da1b902105ed4365 100644 --- a/lib_dec/dec_ace_fx.c +++ b/lib_dec/dec_ace_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_acelp_fx.c b/lib_dec/dec_acelp_fx.c index e7f8c98ce7332dc3283ce290c5851eca31e78850..6e88ece7eb7415a81b02edcb726263cd40f6439e 100644 --- a/lib_dec/dec_acelp_fx.c +++ b/lib_dec/dec_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_acelp_tcx_main_fx.c b/lib_dec/dec_acelp_tcx_main_fx.c index a4f4ef77c1e8f30f46935132c55b252765a1239e..aa05ee10a2ba8c3a9e792bda27671993107430e9 100644 --- a/lib_dec/dec_acelp_tcx_main_fx.c +++ b/lib_dec/dec_acelp_tcx_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_amr_wb_fx.c b/lib_dec/dec_amr_wb_fx.c index c5b08a784c0f3fa6cd8fd63f925dbc23dc60c16e..80a7bd5394bf6d57d143853e85c0401a356dc09c 100644 --- a/lib_dec/dec_amr_wb_fx.c +++ b/lib_dec/dec_amr_wb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_gen_voic_fx.c b/lib_dec/dec_gen_voic_fx.c index df70df033e54ededad999609874d99d03da7d496..778f75fd8a1dace50e1c3b97c465c2d1d7ed9f16 100644 --- a/lib_dec/dec_gen_voic_fx.c +++ b/lib_dec/dec_gen_voic_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_higher_acelp_fx.c b/lib_dec/dec_higher_acelp_fx.c index fa76b34c69d6c85260fb33060103628b24f094dd..6b6205d97e87cfcfcaf3f56f6470a0ebab890658 100644 --- a/lib_dec/dec_higher_acelp_fx.c +++ b/lib_dec/dec_higher_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_nelp_fx.c b/lib_dec/dec_nelp_fx.c index c6f6f5cfd59331d9637765aa41d20d42940b8e93..bbae160f44d3d2186c3f5fe1bdfb325a671d985c 100644 --- a/lib_dec/dec_nelp_fx.c +++ b/lib_dec/dec_nelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_pit_exc_fx.c b/lib_dec/dec_pit_exc_fx.c index 009102c1f25a1edc003ce58e18023752782d0180..14c8f0856d0f864a997ff19ced88077e98b86be3 100644 --- a/lib_dec/dec_pit_exc_fx.c +++ b/lib_dec/dec_pit_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_post_fx.c b/lib_dec/dec_post_fx.c index 7c1e949cafbbe6f74bc782e2b6c27b78303719aa..67c00b1a8d9a07da905e19648d5b27379c8bc5fa 100644 --- a/lib_dec/dec_post_fx.c +++ b/lib_dec/dec_post_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_ppp_fx.c b/lib_dec/dec_ppp_fx.c index d426b59629e940827eccf43de03547dc332a42d0..cc22185237dcc386fcf4bd340d8af556a4103732 100644 --- a/lib_dec/dec_ppp_fx.c +++ b/lib_dec/dec_ppp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_prm_fx.c b/lib_dec/dec_prm_fx.c index 16e588396b547fb2f56c6e88a6f44d616bbed3bc..c1546f326c69f6d6d636a99b8e472022644de6eb 100644 --- a/lib_dec/dec_prm_fx.c +++ b/lib_dec/dec_prm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_tcx_fx.c b/lib_dec/dec_tcx_fx.c index 38c6e06883fc50e50fb86d91e664274720943d03..97a48f5e355e3338500c62096321a4b941a996cd 100644 --- a/lib_dec/dec_tcx_fx.c +++ b/lib_dec/dec_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -3970,14 +3973,9 @@ void decoder_tcx_ivas_fx( Word16 prm[], Word16 A_fx[], // Q: 14 - norm_s(A_fx[0]) Word16 Aind[], // Q: 14 - norm_s(Aind[0]) -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Word16 synth_fx[], Word16 synthFB_fx[], Word16 *synth_q, -#else - Word16 synth_fx[], // Q_syn - Word16 synthFB_fx[], // Q_syn -#endif const Word16 bfi, const Word16 frame_cnt, const Word16 sba_dirac_stereo_flag ) @@ -4067,9 +4065,6 @@ void decoder_tcx_ivas_fx( move16(); q_winFB = st->Q_syn; move16(); -#ifndef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE - assert( q_win == 0 ); -#endif Scale_sig( synth_fx, L_frame_glob, sub( q_win, st->Q_syn ) ); // Scaling to Q_syn Scale_sig( synthFB_fx, L_frameTCX_glob, sub( q_winFB, st->Q_syn ) ); // Scaling to Q_syn @@ -4078,17 +4073,12 @@ void decoder_tcx_ivas_fx( fUseTns, &synth_fx[0], &synthFB_fx[0], bfi, frame_cnt, sba_dirac_stereo_flag ); /* Scaling up again */ -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Word16 q_min = s_min( add( q_win, getScaleFactor16( synth_fx, L_frame_glob ) ), add( q_winFB, getScaleFactor16( synthFB_fx, L_frameTCX_glob ) ) ); q_min = s_min( q_min, st->Q_syn ); Scale_sig( synth_fx, L_frame_glob, sub( q_min, q_win ) ); Scale_sig( synthFB_fx, L_frameTCX_glob, sub( q_min, q_winFB ) ); *synth_q = q_min; -#else - Scale_sig( synth_fx, L_frame_glob, sub( st->Q_syn, q_win ) ); - Scale_sig( synthFB_fx, L_frameTCX_glob, sub( st->Q_syn, q_winFB ) ); -#endif // Scale_sig( st->hTcxDec->syn_Overl, L_FRAME32k / 2, 1 ); diff --git a/lib_dec/dec_tran_fx.c b/lib_dec/dec_tran_fx.c index fe1ceeb2328c1e80c370a0c3deaf6c9bc4552322..e1da8930defd2d1ba891a26fcd1541242c949af7 100644 --- a/lib_dec/dec_tran_fx.c +++ b/lib_dec/dec_tran_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dec_uv_fx.c b/lib_dec/dec_uv_fx.c index cf2c7dcfc45aa93beeea445950ba57fd248f43aa..fb4e66fe807f40f9d80007bcdbf933d139f8ef48 100644 --- a/lib_dec/dec_uv_fx.c +++ b/lib_dec/dec_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/decision_matrix_dec_fx.c b/lib_dec/decision_matrix_dec_fx.c index 0bc7794dc7b8322b5e9f670b889945c80aebebdf..9252e7512591ad25cc092bfdc78c7b8d14683434 100644 --- a/lib_dec/decision_matrix_dec_fx.c +++ b/lib_dec/decision_matrix_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dlpc_avq_fx.c b/lib_dec/dlpc_avq_fx.c index 4be63062f666f69a378635d29c244b182a670ae1..a155b64c9252481a1f5ca7a950691afb91c16de5 100644 --- a/lib_dec/dlpc_avq_fx.c +++ b/lib_dec/dlpc_avq_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/dlpc_stoch_fx.c b/lib_dec/dlpc_stoch_fx.c index d4f3daeb8f4e5c60cb1a2ca4656029f3d3471c54..1a9bddf42aa97638eaea3f14c47c9c85edb59470 100644 --- a/lib_dec/dlpc_stoch_fx.c +++ b/lib_dec/dlpc_stoch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/er_dec_acelp_fx.c b/lib_dec/er_dec_acelp_fx.c index 20408c23c8f53d4d3e6ae6a1313d82885dcb97a7..ee30990c4c5192297a42bf326de3fc9feef632be 100644 --- a/lib_dec/er_dec_acelp_fx.c +++ b/lib_dec/er_dec_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/er_dec_tcx_fx.c b/lib_dec/er_dec_tcx_fx.c index 2aba77f620762f86c92118636f2ce9816383714d..71bdb1db4cfe4cd62aebff6946c0dc5935a6d218 100644 --- a/lib_dec/er_dec_tcx_fx.c +++ b/lib_dec/er_dec_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -101,11 +104,7 @@ void con_tcx_fx( Word16 pre_emph_buf; Word16 hp_filt[L_FIR_FER2]; Word16 alpha; -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Word16 tmp_deemph, gain, gainCNG, gain_inov, scf; -#else - Word16 tmp_deemph, gain, gainCNG, gain_inov; -#endif Word16 *pt_exc, *pt1_exc; Word16 Tc, tmpSeed; Word16 fUseExtrapolatedPitch; @@ -190,16 +189,10 @@ void con_tcx_fx( IF( ( EQ_16( st->nbLostCmpt, 1 ) ) || hTcxDec->tcxConceal_recalc_exc ) { /* apply pre-emphasis to the signal */ -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE mem = shl( synth[( -( ( ( shr( L_frame, 1 ) + hTcxDec->pit_max_TCX ) + M + M ) ) - 1 )], st->Q_syn_factor ); /*Q0*/ -#else - mem = synth[( -( ( ( ( L_frame / 2 ) + hTcxDec->pit_max_TCX ) + M + M ) ) - 1 )]; /*Q0*/ -#endif move16(); Q_exc = E_UTIL_f_preemph3( &( synth[-( ( ( L_frame / 2 ) + hTcxDec->pit_max_TCX ) + 2 * M )] ), st->preemph_fac, add( add( shr( L_frame, 1 ), hTcxDec->pit_max_TCX ), shl( M, 1 ) ), &mem, 1 ); -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Scale_sig( &( synth[-( ( shr( L_frame, 1 ) + hTcxDec->pit_max_TCX ) + 2 * M )] ), add( add( shr( L_frame, 1 ), hTcxDec->pit_max_TCX ), shl( M, 1 ) ), negate( st->Q_syn_factor ) ); /*Q0, Setting back to Q0, as the following calculations are implemented assuming synth is in Q0 */ -#endif st->Mode2_lp_gainc = L_deposit_l( 0 ); st->Mode2_lp_gainp = get_gain2( synth - shl( L_subfr, 1 ), synth - add( shl( L_subfr, 1 ), Tc ), shl( L_subfr, 1 ) ); /*Q16*/ @@ -238,17 +231,11 @@ void con_tcx_fx( ELSE { /* apply pre-emphasis to the signal */ -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE mem = shl( synth[( -L_frame - 1 )], st->Q_syn_factor ); /*Q0*/ -#else - mem = synth[( -L_frame - 1 )]; /*Q0*/ -#endif move16(); Q_exc = E_UTIL_f_preemph3( &( synth[-L_frame] ), st->preemph_fac, L_frame, &mem, 1 ); -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Scale_sig( &synth[-L_frame], L_frame, negate( st->Q_syn_factor ) ); /*Q0, Setting back to Q0, as the following calculations are implemented assuming synth is in Q0 */ -#endif - Copy( st->old_Aq_12_8_fx, A_local, M + 1 ); /*Q12*/ + Copy( st->old_Aq_12_8_fx, A_local, M + 1 ); /*Q12*/ offset = shr( L_frame, 1 ); IF( GE_16( st->last_good, UNVOICED_TRANSITION ) ) @@ -778,9 +765,8 @@ void con_tcx_fx( * - compute the synthesis speech * *----------------------------------------------------------*/ - syn = buf + M; /*Q_syn*/ - Copy( synth - M, buf, M ); /*Q_syn*/ -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE + syn = buf + M; /*Q_syn*/ + Copy( synth - M, buf, M ); /*Q_syn*/ IF( NE_32( st->element_mode, EVS_MONO ) ) // to keep evs bit-exactness { scf = norm_s( tmp_deemph ); @@ -796,10 +782,6 @@ void con_tcx_fx( scf = 0; move16(); } -#else - new_Q = sub( Q_exc, 3 ); - new_Q = s_max( new_Q, -1 ); -#endif tmp16 = s_min( new_Q, st->prev_Q_syn ); st->prev_Q_syn = new_Q; @@ -810,8 +792,7 @@ void con_tcx_fx( move16(); Copy_Scale_sig( buf, mem_syn, M, exp_scale ); /*Q: tmp16*/ -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE - IF( NE_32( st->element_mode, EVS_MONO ) ) // to keep evs bit-exactness + IF( NE_32( st->element_mode, EVS_MONO ) ) // to keep evs bit-exactness { if ( GT_16( sub( Q_syn, st->Q_syn_factor ), scf ) ) { @@ -825,9 +806,6 @@ void con_tcx_fx( } st->Q_syn_factor = 0; move16(); -#else - tmp_deemph = shl_sat( tmp_deemph, Q_syn ); /*Q_syn*/ -#endif st->Q_syn = Q_syn; move16(); diff --git a/lib_dec/er_scale_syn_fx.c b/lib_dec/er_scale_syn_fx.c index 85cad33ee600fc8b6f629d43d1a6355a4987393a..4beedfc876522750b7994d76e230e6d68f890ebd 100644 --- a/lib_dec/er_scale_syn_fx.c +++ b/lib_dec/er_scale_syn_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/er_sync_exc_fx.c b/lib_dec/er_sync_exc_fx.c index 6fafb882af7de7721d889c8100c24690714fdad5..372a01e741a0333057485b7b109e819744397f4b 100644 --- a/lib_dec/er_sync_exc_fx.c +++ b/lib_dec/er_sync_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/er_util_fx.c b/lib_dec/er_util_fx.c index 9d9a273ac96c0b554aa710fc4c8f817b99f8c1a1..69012411510f989eee089de27cc26b16403787c5 100644 --- a/lib_dec/er_util_fx.c +++ b/lib_dec/er_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/evs_dec_fx.c b/lib_dec/evs_dec_fx.c index 498b20acccc783dcc8702b247d6e4c3b8379ed5c..3f65adac73463c548cfde56bc25d4cc1af108a77 100644 --- a/lib_dec/evs_dec_fx.c +++ b/lib_dec/evs_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/fd_cng_dec_fx.c b/lib_dec/fd_cng_dec_fx.c index abdac90760fa26063e162fdd27a4bd8b5f493bcf..eced628044533e56dd8e12663a22424bdadc427e 100644 --- a/lib_dec/fd_cng_dec_fx.c +++ b/lib_dec/fd_cng_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -22,9 +25,6 @@ #include "rom_basop_util.h" #include "ivas_rom_dec.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #define CNA_ACT_DN_LARGE_PARTITION 50 /* index of the first larger partition */ @@ -2928,20 +2928,12 @@ void generate_comfort_noise_dec_ivas_fx( temp = 0; move16(); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG c1 = Sqrt16( hFdCngCom->coherence_fx[0], &temp ); /*Q15 - temp*/ -#else - c1 = Sqrt16( hFdCngCom->coherence_fx, &temp ); /*Q15 - temp*/ -#endif - c1 = shl( c1, temp ); /*Q15*/ + c1 = shl( c1, temp ); /*Q15*/ temp = 0; move16(); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG c2 = Sqrt16( sub( MAX_16, hFdCngCom->coherence_fx[0] ), &temp ); /*Q15 - temp*/ -#else - c2 = Sqrt16( sub( MAX_16, hFdCngCom->coherence_fx ), &temp ); /*Q15 - temp*/ -#endif - c2 = shl( c2, temp ); /*Q15*/ + c2 = shl( c2, temp ); /*Q15*/ temp = getScaleFactor32( fftBuffer, FFTLEN ); scale_sig32( fftBuffer, FFTLEN, temp ); /*Q31 - hFdCngCom->fftBuffer_exp + temp*/ @@ -2968,12 +2960,8 @@ void generate_comfort_noise_dec_ivas_fx( { test(); test(); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG test(); IF( ( EQ_16( st->element_mode, IVAS_CPE_MDCT && NE_16( nchan_out, 1 ) ) ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) ) -#else - IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) ) -#endif { rand_gauss_fx( &tmp1, seed, Q15 ); rand_gauss_fx( &tmp2, seed2, Q15 ); @@ -3009,7 +2997,6 @@ void generate_comfort_noise_dec_ivas_fx( } ptr_i = ptr_r + 1; /*Q31 - fftBuffer_exp*/ -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG test(); IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) && NE_16( nchan_out, 1 ) ) { @@ -3146,65 +3133,6 @@ void generate_comfort_noise_dec_ivas_fx( } } -#else - FOR( ; ptr_level < cngNoiseLevel + sub( hFdCngCom->stopFFTbin, hFdCngCom->startBand ); ptr_level++ ) - { - /* Real part in FFT bins */ - test(); - test(); - IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) ) - { - rand_gauss_fx( &tmp1, seed, Q15 ); /*Q15*/ - rand_gauss_fx( &tmp2, seed2, Q15 ); /*Q15*/ - *ptr_r = L_add( Mpy_32_16_1( tmp1, c1 ), Mpy_32_16_1( tmp2, c2 ) ); /*Q15*/ - move32(); - fftBuffer_temp_exp[idx] = Q16; - move16(); - } - ELSE - { - rand_gauss_fx( ptr_r, seed, Q15 ); /*Q15*/ - fftBuffer_temp_exp[idx] = Q16; - move16(); - } - - sqrtNoiseLevel_exp = sub( cngNoiseLevel_exp, 1 ); - sqrtNoiseLevel = Sqrt32( *ptr_level, &sqrtNoiseLevel_exp ); /*Q31 - sqrtNoiseLevel_exp*/ - ( *ptr_r ) = Mpy_32_32( ( *ptr_r ), sqrtNoiseLevel ); /*Q15 - sqrtNoiseLevel_exp*/ - move32(); - fftBuffer_temp_exp[idx] = add( fftBuffer_temp_exp[idx], sqrtNoiseLevel_exp ); - move16(); - idx = add( idx, 1 ); - ptr_r += 2; - - /* Imaginary part in FFT bins */ - test(); - test(); - IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) ) - { - rand_gauss_fx( &tmp1, seed, Q15 ); /*Q15*/ - rand_gauss_fx( &tmp2, seed2, Q15 ); /*Q15*/ - *ptr_i = L_add( Mpy_32_16_1( tmp1, c1 ), Mpy_32_16_1( tmp2, c2 ) ); /*Q15*/ - move32(); - fftBuffer_temp_exp[idx] = Q16; - move16(); - } - ELSE - { - rand_gauss_fx( ptr_i, seed, Q15 ); /*Q15*/ - fftBuffer_temp_exp[idx] = Q16; - move16(); - } - sqrtNoiseLevel_exp = sub( cngNoiseLevel_exp, 1 ); - sqrtNoiseLevel = Sqrt32( *ptr_level, &sqrtNoiseLevel_exp ); /*Q31 - sqrtNoiseLevel_exp*/ - ( *ptr_i ) = Mpy_32_32( ( *ptr_i ), sqrtNoiseLevel ); /*Q15 - sqrtNoiseLevel_exp*/ - move32(); - fftBuffer_temp_exp[idx] = add( fftBuffer_temp_exp[idx], sqrtNoiseLevel_exp ); - move16(); - idx = add( idx, 1 ); - ptr_i += 2; - } -#endif /* Remaining FFT bins are set to zero */ set32_fx( fftBuffer + shl( hFdCngCom->stopFFTbin, 1 ), 0, sub( hFdCngCom->fftlen, shl( hFdCngCom->stopFFTbin, 1 ) ) ); @@ -3315,12 +3243,10 @@ void generate_comfort_noise_dec_ivas_fx( /* Generate Gaussian random noise in real and imaginary parts of the CLDFB bands Amplitudes are adjusted to the estimated noise level cngNoiseLevel_flt in each band */ -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG /* * Note: for the stereo DTX noise mixing, c1 and c2 at this point are set to the value calculated for the last band * as all the coherence bands are in the FFT region, we do not need the special handling here */ -#endif test(); IF( bufferReal != NULL && ( LT_16( hFdCngCom->numCoreBands, hFdCngCom->regularStopBand ) ) ) @@ -3337,12 +3263,8 @@ void generate_comfort_noise_dec_ivas_fx( FOR( i = 0; i < hFdCngCom->numSlots; i++ ) { /* Real part in CLDFB band */ -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG test(); IF( ( EQ_16( st->element_mode, IVAS_CPE_MDCT ) && NE_16( nchan_out, 1 ) ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) ) -#else - IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) ) -#endif { rand_gauss_fx( &tmp1, seed, Q15 ); /*Q15*/ rand_gauss_fx( &tmp2, seed2, Q15 ); /*Q15*/ @@ -3365,12 +3287,8 @@ void generate_comfort_noise_dec_ivas_fx( move16(); /* Imaginary part in CLDFB band */ -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG test(); IF( ( EQ_16( st->element_mode, IVAS_CPE_MDCT ) && NE_16( nchan_out, 1 ) ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) ) -#else - IF( EQ_16( st->element_mode, IVAS_CPE_MDCT ) || ( EQ_16( st->element_mode, IVAS_SCE ) && st->cng_ism_flag ) ) -#endif { rand_gauss_fx( &tmp1, seed, Q15 ); /*Q15*/ rand_gauss_fx( &tmp2, seed2, Q15 ); /*Q15*/ @@ -3717,21 +3635,13 @@ void generate_comfort_noise_dec_hf_ivas_fx( s = 0; move16(); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG c1 = Sqrt16( hFdCngCom->coherence_fx[sub( MDCT_ST_DTX_NUM_COHERENCE_BANDS, 1 )], &s ); /*Q15 - s*/ -#else - c1 = Sqrt16( hFdCngCom->coherence_fx, &s ); /*Q15 - s*/ -#endif - c1 = shl( c1, s ); // Q15 + c1 = shl( c1, s ); // Q15 s = 0; move16(); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG c2 = Sqrt16( sub( MAX16B, hFdCngCom->coherence_fx[sub( MDCT_ST_DTX_NUM_COHERENCE_BANDS, 1 )] ), &s ); /*Q15 - s*/ -#else - c2 = Sqrt16( sub( MAX16B, hFdCngCom->coherence_fx ), &s ); /*Q15 - s*/ -#endif - c2 = shl( c2, s ); // Q15 + c2 = shl( c2, s ); // Q15 } sn = 0; @@ -5397,7 +5307,6 @@ void FdCngDecodeMDCTStereoSID_fx( Scale_sig32( ms_ptr_fx[ch], N, shift ); // Q20 } -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG tmp32 = sts[1]->total_brate; sts[1]->total_brate = L_add( sts[1]->total_brate, 800 /* 16 * FRAMES_PER_SEC */ ); /* read the four additional coherence values */ @@ -5410,9 +5319,6 @@ void FdCngDecodeMDCTStereoSID_fx( sts[1]->hFdCngDec->hFdCngCom->coherence_fx[b] = sts[0]->hFdCngDec->hFdCngCom->coherence_fx[b]; } sts[1]->total_brate = tmp32; -#else - dtx_read_padding_bits_fx( sts[1], mult( sub( IVAS_SID_5k2, 4400 ), ONE_BY_FRAMES_PER_SEC_Q15 ) ); -#endif IF( sts[0]->hFdCngDec->hFdCngCom->no_side_flag ) { @@ -5597,7 +5503,6 @@ void FdCngDecodeDiracMDCTStereoSID_fx( lpc_from_spectrum( hFdCngCom, hFdCngCom->startBand, hFdCngCom->stopFFTbin, sts[ch]->preemph_fac ); } -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG FOR( i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ ) { sts[0]->hFdCngDec->hFdCngCom->coherence_fx[i] = 0; @@ -5606,12 +5511,6 @@ void FdCngDecodeDiracMDCTStereoSID_fx( move16(); } -#else - sts[0]->hFdCngDec->hFdCngCom->coherence_fx = 0; - move16(); - sts[1]->hFdCngDec->hFdCngCom->coherence_fx = 0; - move16(); -#endif IF( EQ_16( hCPE->nchan_out, 1 ) ) { diff --git a/lib_dec/gain_dec_fx.c b/lib_dec/gain_dec_fx.c index ed0c87e5df0d8d5a82ab23452336e1a9dd380753..d4817e46babbc3bb9418da0502b01f66fd9b7748 100644 --- a/lib_dec/gain_dec_fx.c +++ b/lib_dec/gain_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/gaus_dec_fx.c b/lib_dec/gaus_dec_fx.c index 539d471c1de41ac24e39ba0cb6469e30d8b94007..97791864fc6d576113480329abeee2e12e53f033 100644 --- a/lib_dec/gaus_dec_fx.c +++ b/lib_dec/gaus_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/gs_dec_amr_wb_fx.c b/lib_dec/gs_dec_amr_wb_fx.c index eff6aa18197350fd2bea0067dac81fca9c23de9a..27098d60d48f69ad0e31f223de4a1bd7c799553b 100644 --- a/lib_dec/gs_dec_amr_wb_fx.c +++ b/lib_dec/gs_dec_amr_wb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/gs_dec_fx.c b/lib_dec/gs_dec_fx.c index d68b0a523a93aed81f6ee904fe2bb5c07300e5f2..9558b094fc2f160dc7fa8fe731e7300f31e7740d 100644 --- a/lib_dec/gs_dec_fx.c +++ b/lib_dec/gs_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/hdecnrm_fx.c b/lib_dec/hdecnrm_fx.c index 61fa36d9368cf0c6b8a55727721aa980cd605b5c..6be8b00fde70e0afe74480e4927243ea843561da 100644 --- a/lib_dec/hdecnrm_fx.c +++ b/lib_dec/hdecnrm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/hf_synth_fx.c b/lib_dec/hf_synth_fx.c index 275b068f201aef269356a9792f983d728bc7e308..2d0b8943eb119ddde539f3658a5fc5ff904e6e02 100644 --- a/lib_dec/hf_synth_fx.c +++ b/lib_dec/hf_synth_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/hq_classifier_dec_fx.c b/lib_dec/hq_classifier_dec_fx.c index 4bbe3c5bc06e392d746c60b807bdf084474cebed..333ec350cb07136fe95a5291faf0153274eedb3e 100644 --- a/lib_dec/hq_classifier_dec_fx.c +++ b/lib_dec/hq_classifier_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/hq_conf_fec_fx.c b/lib_dec/hq_conf_fec_fx.c index 06bf8289760e2f3d5f64f8d1a70f7be084b1844e..4f771c9194a195766aac62f09c624647dc8f8cfc 100644 --- a/lib_dec/hq_conf_fec_fx.c +++ b/lib_dec/hq_conf_fec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/hq_core_dec_fx.c b/lib_dec/hq_core_dec_fx.c index 442d0a83fd3be1c1f471b30d36ef2cbad945f947..9b3233425e140e2ae395e8dba440f584da41cd40 100644 --- a/lib_dec/hq_core_dec_fx.c +++ b/lib_dec/hq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/hq_env_dec_fx.c b/lib_dec/hq_env_dec_fx.c index 5011dcf86f35da45f47522514903eafdad35afd7..6b81f0a8fb6f10d080f6b6914b5bdcc88632ab0b 100644 --- a/lib_dec/hq_env_dec_fx.c +++ b/lib_dec/hq_env_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/hq_hr_dec_fx.c b/lib_dec/hq_hr_dec_fx.c index 5c05d5d03a9fe4823567c42f2cad23ff6bcdfdbe..c211d3a92d3a1216a9a64524dff12153d0067b33 100644 --- a/lib_dec/hq_hr_dec_fx.c +++ b/lib_dec/hq_hr_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/hq_lr_dec_fx.c b/lib_dec/hq_lr_dec_fx.c index f2371e643618e006d490ae4082141dfd2c1f1deb..06fb809684188a23ff8e6e0c47da951feaf51571 100644 --- a/lib_dec/hq_lr_dec_fx.c +++ b/lib_dec/hq_lr_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/igf_dec_fx.c b/lib_dec/igf_dec_fx.c index 36bba559953712065c674b0e1c0aebc3ab0339e6..5042f01fe5d5d80a633fd19dd12ca9bed66056ce 100644 --- a/lib_dec/igf_dec_fx.c +++ b/lib_dec/igf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -4254,10 +4257,8 @@ void init_igf_dec( hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0]; hIGFDec->infoTCXNoise_ptr = &hIGFDec->infoTCXNoise_evs[0]; hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0]; -#ifdef FIX_1385_INIT_IGF_STOP_FREQ hIGFDec->infoIGFStopFreq = 0; move16(); -#endif return; } diff --git a/lib_dec/igf_scf_dec_fx.c b/lib_dec/igf_scf_dec_fx.c index 6478b3f92c60fc290385bd2e50e6df9c137494ca..1ef45d5abb27fee01b860974d0ef1a8e714b1c1e 100644 --- a/lib_dec/igf_scf_dec_fx.c +++ b/lib_dec/igf_scf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/init_dec_fx.c b/lib_dec/init_dec_fx.c index 39cc5d0658fb9e4b13387683eda6236f955ca9a7..e3c57ad9dd6db7b1601c26e8932f55ad5531c586 100644 --- a/lib_dec/init_dec_fx.c +++ b/lib_dec/init_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/inov_dec_fx.c b/lib_dec/inov_dec_fx.c index 2359ae974f6a6ae6dc8e5f31e2ea313d5c6649e0..d0e15c1f59c636fa0a5ca56b047f2cb383a619c1 100644 --- a/lib_dec/inov_dec_fx.c +++ b/lib_dec/inov_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/ivas_agc_dec_fx.c b/lib_dec/ivas_agc_dec_fx.c index a196a1abdd8a157e472fdcf21913f8367fd42e63..c37de6c6fde8eacd7ef35b009a36879a620ae3ce 100644 --- a/lib_dec/ivas_agc_dec_fx.c +++ b/lib_dec/ivas_agc_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_binRenderer_internal_fx.c b/lib_dec/ivas_binRenderer_internal_fx.c index 5d4a6d9645d7e4bb5d16cd973d8f3dbc20b37740..04b3e950ab6d16a9d494192221c737e7fef0255b 100644 --- a/lib_dec/ivas_binRenderer_internal_fx.c +++ b/lib_dec/ivas_binRenderer_internal_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -43,7 +15,6 @@ #include "ivas_rom_binauralRenderer.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#include "debug.h" /*----------------------------------------------------------------------------------* @@ -1237,9 +1208,7 @@ ivas_error ivas_binRenderer_open_fx( { test(); test(); -#ifdef IVAS_RTPDUMP test(); -#endif IF( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 ) { FOR( k = 0; k < 11; k++ ) @@ -1248,11 +1217,7 @@ ivas_error ivas_binRenderer_open_fx( // Q29: hBinRenderer->hReverb->foa_enc_fx[k] } } -#ifdef IVAS_RTPDUMP ELSE IF( EQ_32( st_ivas->ivas_format, MC_FORMAT ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) ) -#else - ELSE IF( EQ_32( st_ivas->ivas_format, MC_FORMAT ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) ) -#endif { IF( NE_32( ( error = efap_init_data_fx( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth_fx, st_ivas->hIntSetup.ls_elevation_fx, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ), IVAS_ERR_OK ) ) { diff --git a/lib_dec/ivas_core_dec_fx.c b/lib_dec/ivas_core_dec_fx.c index 23f75172ae29d8910a7d23dd7ec1ec39b8d048a0..2cc4666d2db17d0f3334f031c735c50ddd5f4b81 100644 --- a/lib_dec/ivas_core_dec_fx.c +++ b/lib_dec/ivas_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -516,7 +488,6 @@ ivas_error ivas_core_dec_fx( Scale_sig( st->hFdCngDec->hFdCngCom->A_cng, add( M, 1 ), sub( norm_s( sub( st->hFdCngDec->hFdCngCom->A_cng[0], 1 ) ), 3 ) ); // Qx } -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE IF( ( EQ_32( st->last_core, TCX_10_CORE ) || EQ_32( st->last_core, TCX_20_CORE ) ) || // st->Q_syn_factor is set in TCX mode; otherwise, it may be uninitialized ( hCPE != NULL && ( GT_16( hCPE->element_mode, IVAS_CPE_DFT ) && EQ_16( hCPE->last_element_mode, IVAS_CPE_DFT ) && ( ( EQ_32( sts[0]->last_core, TCX_10_CORE ) || EQ_32( sts[0]->last_core, TCX_20_CORE ) ) ) ) ) ) // In this case, sts[1] gets its value from sts[0]. { @@ -525,7 +496,6 @@ ivas_error ivas_core_dec_fx( } st->Q_syn_factor = 0; move16(); -#endif IF( NE_32( ( error = acelp_core_dec_fx( st, output_16_fx[n], synth_16_fx[n], save_hb_synth_16_fx, bwe_exc_extended_fx[n], voice_factors_fx[n], old_syn_12k8_16k_fx_16, sharpFlag[n], pitch_buf_fx[n], &unbits[n], &sid_bw[n], hStereoTD, tdm_lsfQ_PCh_fx, use_cldfb_for_dft, last_element_mode, last_element_brate, flag_sec_CNA, nchan_out, hStereoCng, read_sid_info ) ), IVAS_ERR_OK ) ) { return error; @@ -601,11 +571,7 @@ ivas_error ivas_core_dec_fx( } stereo_tcx_core_dec_fx( st, frameMode[n], output_16_fx[n], synth_16_fx[n], pitch_buf_fx[n], sba_dirac_stereo_flag, hStereoTD, last_element_mode, flag_sec_CNA, hStereoCng, nchan_out, ivas_format ); -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Copy_Scale_sig_16_32_DEPREC( output_16_fx[n], output_32_fx[n], output_frame, sub( Q11, st->Q_syn_factor ) ); // Q11 -#else - Copy_Scale_sig_16_32_DEPREC( output_16_fx[n], output_32_fx[n], output_frame, Q11 ); // Q11 -#endif IF( st->hTcxDec ) { @@ -629,22 +595,15 @@ ivas_error ivas_core_dec_fx( move16(); Q_synth = 0; move16(); -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE st->Q_syn_factor = 0; move16(); -#endif ivas_hq_core_dec_fx( st, synth_16_fx[n], &Q_synth, output_frame, NORMAL_HQ_CORE, core_switching_flag[n], output_16_fx[n], &Q_output ); Copy_Scale_sig_16_32_DEPREC( output_16_fx[n], output_32_fx[n], L_FRAME48k, sub( Q11, Q_output ) ); // Q11 -#ifdef FIX_1947_DEC_HIGH_MLD_FOR_STEREO2MONO st->Q_syn_factor = s_min( 0, s_min( Q_synth, Q_output ) ); Scale_sig( synth_16_fx[n], output_frame, sub( st->Q_syn_factor, Q_synth ) ); // st->Q_syn_factor Scale_sig( output_16_fx[n], L_FRAME48k, sub( st->Q_syn_factor, Q_output ) ); // st->Q_syn_factor -#else - Scale_sig( synth_16_fx[n], output_frame, negate( Q_synth ) ); // Q0 - Scale_sig( output_16_fx[n], L_FRAME48k, negate( Q_output ) ); // Q0 -#endif } /*---------------------------------------------------------------------* @@ -822,11 +781,7 @@ ivas_error ivas_core_dec_fx( *---------------------------------------------------------------------*/ /*core_switching_post_dec*/ -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Q_synth = add( sub( 15, e_sig[0] ), st->Q_syn_factor ); -#else - Q_synth = sub( 15, e_sig[0] ); -#endif /*------------------fix-to-fix-end-----------------------*/ diff --git a/lib_dec/ivas_corecoder_dec_reconfig_fx.c b/lib_dec/ivas_corecoder_dec_reconfig_fx.c index 288cd9a0373fe7247a3cb4c3f8dbc5ea3c6df7ef..440afbd7d0b65bae1d59be9952ee7ea9ff512049 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig_fx.c +++ b/lib_dec/ivas_corecoder_dec_reconfig_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include "ivas_cnst.h" diff --git a/lib_dec/ivas_cpe_dec_fx.c b/lib_dec/ivas_cpe_dec_fx.c index 7a134d59bed246fc942c44990d849f1ae34fed71..501b1426ed9e3f369545788adcc35ad8f826273c 100644 --- a/lib_dec/ivas_cpe_dec_fx.c +++ b/lib_dec/ivas_cpe_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_decision_matrix_dec_fx.c b/lib_dec/ivas_decision_matrix_dec_fx.c index 3eac102a3dc4106b994df9b258ab6eb37d4a4f25..cf4a1877740411b46550c0591a112a7c2d2ab8cc 100644 --- a/lib_dec/ivas_decision_matrix_dec_fx.c +++ b/lib_dec/ivas_decision_matrix_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -46,11 +18,6 @@ * Read ACELP signaling bits from the bitstream * Set extension layers *-----------------------------------------------------------------*/ -#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG -static Word16 get_next_index_4_by_15[16] = { - 0, 2184, 4369, 6553, 8738, 10922, 13107, 15291, 17476, 19660, 21845, 24029, 26214, 28398, 30583, 32767 -}; -#endif void ivas_decision_matrix_dec_fx( Decoder_State *st, /* i/o: decoder state structure */ Word16 *sharpFlag, /* o : formant sharpening flag */ @@ -131,11 +98,7 @@ void ivas_decision_matrix_dec_fx( /* read channel coherence */ Word16 index; index = get_next_indice_fx( st, 4 ); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG st->hFdCngDec->hFdCngCom->coherence_fx[0] = get_next_index_4_by_15[index]; -#else - st->hFdCngDec->hFdCngCom->coherence_fx = get_next_index_4_by_15[index]; -#endif move16(); /* read flag for no side noise shape */ diff --git a/lib_dec/ivas_dirac_dec_fx.c b/lib_dec/ivas_dirac_dec_fx.c index 11d80c14f8e8a71579487da489cd5edbba0db5e8..9ecc8287378b55976b8b1983dfa86c5b5c637a90 100644 --- a/lib_dec/ivas_dirac_dec_fx.c +++ b/lib_dec/ivas_dirac_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -2165,9 +2137,6 @@ static void binRenderer_split_fx( Word32 Cldfb_ImagBuffer_Binaural_fx[][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Rotated Binaural signals */ Word32 RealBuffer_fx[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i : LS signals */ Word32 ImagBuffer_fx[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i : LS signals */ -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - const Word16 slot_idx_start, -#endif const Word16 num_freq_bands, const Word16 nchan_out ) { @@ -2180,9 +2149,6 @@ static void binRenderer_split_fx( /* Perform binaural rendering */ ivas_binRenderer_fx( hBinRenderer, &hSplitBinRend->splitrend.multiBinPoseData, hCombinedOrientationData, numTimeSlots, -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - NULL, -#endif Cldfb_RealBuffer_Binaural_loc, Cldfb_ImagBuffer_Binaural_loc, RealBuffer_fx, ImagBuffer_fx, &input_q ); FOR( slot_idx = 0; slot_idx < numTimeSlots; slot_idx++ ) @@ -2200,16 +2166,11 @@ static void binRenderer_split_fx( { FOR( ch = 0; ch < nchan_out; ch++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ivas_CLDFB_RINGBUF_Push( hSplitBinRend->hMultiBinCldfbData[pos_idx * BINAURAL_CHANNELS + ch], Cldfb_RealBuffer_Binaural_loc[pos_idx][ch][slot_idx], Cldfb_ImagBuffer_Binaural_loc[pos_idx][ch][slot_idx], num_freq_bands ); -#else - Copy32( Cldfb_RealBuffer_Binaural_loc[pos_idx][ch][slot_idx], hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[( pos_idx * BINAURAL_CHANNELS ) + ch][slot_idx_start + slot_idx], num_freq_bands ); - Copy32( Cldfb_ImagBuffer_Binaural_loc[pos_idx][ch][slot_idx], hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[( pos_idx * BINAURAL_CHANNELS ) + ch][slot_idx_start + slot_idx], num_freq_bands ); -#endif } } } @@ -2235,9 +2196,6 @@ static void binRenderer_fx( /* Perform binaural rendering */ ivas_binRenderer_fx( hBinRenderer, NULL, hCombinedOrientationData, numTimeSlots, -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - NULL, -#endif Cldfb_RealBuffer_Binaural_fx, Cldfb_ImagBuffer_Binaural_fx, RealBuffer_fx, ImagBuffer_fx, &input_q ); return; @@ -2286,9 +2244,6 @@ void ivas_dirac_dec_render_sf_fx( Word16 surCohRatio_q_fx = 0, temp_q = 0; move16(); move16(); -#ifndef FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES - Word16 cldfb_buf_q; -#endif Word16 offset = 0, buff_len = 0; move16(); move16(); @@ -2792,11 +2747,7 @@ void ivas_dirac_dec_render_sf_fx( IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) ) { -#ifdef FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( st_ivas, Cldfb_RealBuffer_Binaural_fx[0], Cldfb_ImagBuffer_Binaural_fx[0], &q_cldfb, hSpatParamRendCom->num_freq_bands, subframe_idx ); -#else - ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( st_ivas, Cldfb_RealBuffer_Binaural_fx[0], Cldfb_ImagBuffer_Binaural_fx[0], &cldfb_buf_q, hSpatParamRendCom->num_freq_bands, subframe_idx ); -#endif } } @@ -3033,12 +2984,8 @@ void ivas_dirac_dec_render_sf_fx( test(); test(); -#ifdef IVAS_RTPDUMP test(); IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) && st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 ) -#else - IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) && st_ivas->hCombinedOrientationData->shd_rot_max_order == 0 ) -#endif { num_freq_bands = hDirAC->band_grouping[hDirAC->hConfig->enc_param_start_band]; move16(); @@ -3823,9 +3770,6 @@ void ivas_dirac_dec_render_sf_fx( binRenderer_split_fx( st_ivas->hBinRenderer, st_ivas->hSplitBinRend, st_ivas->hCombinedOrientationData, hSpatParamRendCom->subframe_nbslots[subframe_idx], Cldfb_RealBuffer_Binaural_fx, Cldfb_ImagBuffer_Binaural_fx, Cldfb_RealBuffer_fx, Cldfb_ImagBuffer_fx, -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - slot_idx_start, -#endif hSpatParamRendCom->num_freq_bands, st_ivas->hDecoderConfig->nchan_out ); } ELSE diff --git a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c index c53f66138f70e7fa4e7d1786cdeb82a25652a8e9..80681e17cab9ee1fd4bd37ebf6f32b37a2a140d1 100644 --- a/lib_dec/ivas_dirac_output_synthesis_cov_fx.c +++ b/lib_dec/ivas_dirac_output_synthesis_cov_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "basop_util.h" #include "enh32.h" diff --git a/lib_dec/ivas_entropy_decoder_fx.c b/lib_dec/ivas_entropy_decoder_fx.c index f8bf3c0910563b96492446ff76aa581507552b77..bf9a26360bb711ac6212de5eeaf16daeda2e2627 100644 --- a/lib_dec/ivas_entropy_decoder_fx.c +++ b/lib_dec/ivas_entropy_decoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_init_dec_fx.c b/lib_dec/ivas_init_dec_fx.c index b6e7a558ec79902eaad55d95ecb0afbcde14eab5..cf11790ea2f9b7d4a0ed3ee5f343aa657806c103 100644 --- a/lib_dec/ivas_init_dec_fx.c +++ b/lib_dec/ivas_init_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -111,9 +83,7 @@ ivas_error ivas_dec_get_format_fx( Word16 nchan_ism, element_mode_flag; Word16 sba_order, sba_planar, sba_analysis_order; Word32 ivas_total_brate; -#ifdef DECODER_FORMAT_SWITCHING int16_t Opt_tsm; -#endif UWord16 *bit_stream_orig; AUDIO_CONFIG signaled_config; @@ -126,10 +96,8 @@ ivas_error ivas_dec_get_format_fx( ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; move32(); -#ifdef DECODER_FORMAT_SWITCHING Opt_tsm = st_ivas->hDecoderConfig->Opt_tsm; move16(); -#endif bit_stream_orig = st_ivas->bit_stream; /*-------------------------------------------------------------------* @@ -150,7 +118,6 @@ ivas_error ivas_dec_get_format_fx( !( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_ISM_FORMAT ) ) && !( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->last_ivas_format, MASA_FORMAT ) ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -160,17 +127,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); -#endif } /*-------------------------------------------------------------------* @@ -208,7 +166,6 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -218,17 +175,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); -#endif } st_ivas->nchan_ism = nchan_ism; @@ -252,7 +200,6 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_planar, st_ivas->sba_planar ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -262,17 +209,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA planar/3D layout is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA planar flag signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA planar/3D layout is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA planar flag signalled!" ); -#endif } /* read Ambisonic (SBA) order */ @@ -283,7 +221,6 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -293,17 +230,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); -#endif } sba_analysis_order = ivas_sba_get_analysis_order_fx( ivas_total_brate, sba_order ); @@ -311,23 +239,19 @@ ivas_error ivas_dec_get_format_fx( } ELSE IF( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) ) { -#ifdef DECODER_FORMAT_SWITCHING UWord8 masaRestartCandidate; masaRestartCandidate = 0; move16(); -#endif /* read number of MASA transport channels */ k = extract_l( Mpy_32_32_r( ivas_total_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) ); IF( st_ivas->bit_stream[k - 1] ) { -#ifdef DECODER_FORMAT_SWITCHING test(); if ( st_ivas->nchan_transport == 1 && Opt_tsm ) { masaRestartCandidate = 1; move16(); } -#endif st_ivas->nchan_transport = 2; move16(); element_mode_flag = 1; @@ -335,14 +259,12 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DECODER_FORMAT_SWITCHING test(); if ( st_ivas->nchan_transport == 2 && Opt_tsm ) { masaRestartCandidate = 1; move16(); } -#endif st_ivas->nchan_transport = 1; move16(); } @@ -376,7 +298,6 @@ ivas_error ivas_dec_get_format_fx( element_mode_flag = 1; move16(); } -#ifdef DECODER_FORMAT_SWITCHING ELSE IF( masaRestartCandidate > 0 ) { st_ivas->restartNeeded = 1; @@ -384,12 +305,10 @@ ivas_error ivas_dec_get_format_fx( return IVAS_ERR_OK; } -#endif test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -399,17 +318,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); -#endif } st_ivas->nchan_ism = nchan_ism; @@ -428,7 +338,6 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -438,17 +347,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); -#endif } st_ivas->nchan_ism = nchan_ism; @@ -463,7 +363,6 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -473,17 +372,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); -#endif } st_ivas->nchan_ism = nchan_ism; @@ -511,7 +401,6 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( sba_order, st_ivas->sba_order ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -521,17 +410,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the SBA order is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong SBA order signalled!" ); -#endif } st_ivas->ism_mode = ivas_osba_ism_mode_select( ivas_total_brate, st_ivas->nchan_ism ); @@ -558,7 +438,6 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_32( st_ivas->transport_config, signaled_config ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -568,17 +447,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Switching of MC configurations is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "wrong MC configuration signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Switching of MC configurations is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "wrong MC configuration signalled!" ); -#endif } st_ivas->mc_mode = ivas_mc_mode_select_fx( ivas_mc_map_output_config_to_mc_ls_setup_fx( signaled_config ), ivas_total_brate ); @@ -677,7 +547,6 @@ ivas_error ivas_dec_get_format_fx( test(); IF( st_ivas->ini_frame > 0 && NE_16( nchan_ism, st_ivas->nchan_ism ) ) { -#ifdef DECODER_FORMAT_SWITCHING IF( Opt_tsm ) { st_ivas->restartNeeded = 1; @@ -687,17 +556,8 @@ ivas_error ivas_dec_get_format_fx( } ELSE { -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); } -#else -#ifdef DEBUGGING - fprintf( stderr, "\nError: Changing the number of ISMs is not supported!\n" ); -#endif - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong number of objects signalled!" ); -#endif } st_ivas->nchan_ism = nchan_ism; @@ -1589,10 +1449,8 @@ ivas_error ivas_init_decoder_front( move32(); st_ivas->mc_mode = MC_MODE_NONE; move32(); -#ifdef FIX_1384_MSAN_ivas_spar_dec_open st_ivas->sid_format = SID_FORMAT_NONE; move16(); -#endif st_ivas->sba_dirac_stereo_flag = 0; move16(); @@ -1684,10 +1542,8 @@ ivas_error ivas_init_decoder_front( } } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR st_ivas->flushing = 0; move16(); -#endif return error; } @@ -1737,16 +1593,12 @@ ivas_error ivas_init_decoder_fx( IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) ) { test(); -#ifdef FIX_1419_MONO_STEREO_UMX IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) ) { hDecoderConfig->nchan_out = 1; move16(); } ELSE IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) -#else - IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) -#endif { hDecoderConfig->nchan_out = CPE_CHANNELS; } @@ -1813,14 +1665,12 @@ ivas_error ivas_init_decoder_fx( st_ivas->hOutSetup.nchan_out_woLFE = audioCfg2channels( st_ivas->intern_config ); move16(); } -#ifdef FIX_1419_MONO_STEREO_UMX test(); IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) { st_ivas->transport_config = EQ_32( st_ivas->ivas_format, MONO_FORMAT ) ? IVAS_AUDIO_CONFIG_MONO : IVAS_AUDIO_CONFIG_STEREO; } -#endif /* Only initialize transport setup if it is used */ IF( NE_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_INVALID ) ) @@ -1888,7 +1738,6 @@ ivas_error ivas_init_decoder_fx( } } -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE /*--------------------------------------------------------------------------* * Allocate and initialize HRTF Statistics handle, get default reverb values *--------------------------------------------------------------------------*/ @@ -1959,20 +1808,6 @@ ivas_error ivas_init_decoder_fx( } } } -#else - /*--------------------------------------------------------------------* - * Allocate and initialize HRTF Statistics handle - *--------------------------------------------------------------------*/ - - IF( EQ_32( st_ivas->hOutSetup.output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) ) - { - /* Init HRTF statistics */ - IF( NE_32( ( error = ivas_HRTF_statistics_init_fx( &st_ivas->hHrtfStatistics, output_Fs ) ), IVAS_ERR_OK ) ) - { - return error; - } - } -#endif /*-----------------------------------------------------------------* * Allocate and initialize SCE/CPE and other handles @@ -2002,10 +1837,6 @@ ivas_error ivas_init_decoder_fx( { st_ivas->nchan_transport = CPE_CHANNELS; move16(); -#ifndef FIX_1419_MONO_STEREO_UMX /* already set now by renderer_select() */ - st_ivas->intern_config = IVAS_AUDIO_CONFIG_STEREO; - move32(); -#endif st_ivas->nSCE = 0; move16(); @@ -2886,12 +2717,8 @@ ivas_error ivas_init_decoder_fx( test(); test(); test(); -#ifdef IVAS_RTPDUMP test(); IF( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_MIXER_CONV_ROOM ) && EQ_32( st_ivas->ivas_format, MC_FORMAT ) && ( hDecoderConfig->Opt_Headrotation || hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) ) -#else - IF( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_MIXER_CONV_ROOM ) && EQ_32( st_ivas->ivas_format, MC_FORMAT ) && ( hDecoderConfig->Opt_Headrotation || hDecoderConfig->Opt_ExternalOrientation ) ) -#endif { IF( NE_32( ( error = efap_init_data_fx( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth_fx, st_ivas->hIntSetup.ls_elevation_fx, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ), IVAS_ERR_OK ) ) { @@ -3464,11 +3291,9 @@ void ivas_initialize_handles_dec( st_ivas->hRenderConfig = NULL; st_ivas->hExtOrientationData = NULL; st_ivas->hCombinedOrientationData = NULL; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT st_ivas->acousticEnvironmentsCount = 0; move16(); st_ivas->pAcousticEnvironments = NULL; -#endif st_ivas->hSplitBinRend = NULL; for ( i = 0; i < MAX_HEAD_ROT_POSES - 1; ++i ) @@ -3690,14 +3515,12 @@ void ivas_destroy_dec_fx( /* Config. Renderer */ ivas_render_config_close_fx( &( st_ivas->hRenderConfig ) ); -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT /* Acoustic environments */ IF( st_ivas->pAcousticEnvironments != NULL ) { free( st_ivas->pAcousticEnvironments ); st_ivas->pAcousticEnvironments = NULL; } -#endif /* Limiter struct */ ivas_limiter_close_fx( &( st_ivas->hLimiter ) ); @@ -4056,28 +3879,6 @@ static ivas_error doSanityChecks_IVAS( return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Error: Non-diegetic panning not supported in this IVAS format" ); } -#ifndef FIX_1419_MONO_STEREO_UMX /* we now support basically everything for stereo */ - /* Verify stereo output configuration */ - IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) - { - test(); - test(); - test(); - test(); - test(); - test(); - test(); - test(); - IF( NE_32( output_config, IVAS_AUDIO_CONFIG_MONO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_STEREO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_5_1 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_7_1 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_5_1_2 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_5_1_4 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_7_1_4 ) && NE_32( output_config, IVAS_AUDIO_CONFIG_LS_CUSTOM ) && NE_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) ) - { - return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Wrong output configuration specified for Stereo!" ); - } - } - /* Verify output configuration for other formats */ - ELSE - { - IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_INVALID ) ) -#else /* exclude invalid configs instead of matching valid ones */ test(); test(); test(); @@ -4091,22 +3892,16 @@ static ivas_error doSanityChecks_IVAS( EQ_32( output_config, IVAS_AUDIO_CONFIG_ISM4 ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_MASA1 ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_MASA2 ) ) -#endif - { - return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified!" ); - } -#ifdef FIX_1419_MONO_STEREO_UMX - test(); - test(); - IF( ( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) && - ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) ) - { - return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified!" ); - } -#endif -#ifndef FIX_1419_MONO_STEREO_UMX + { + return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified!" ); + } + test(); + test(); + IF( ( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) && + ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) ) + { + return IVAS_ERROR( IVAS_ERR_INVALID_OUTPUT_FORMAT, "Incorrect output configuration specified!" ); } -#endif test(); diff --git a/lib_dec/ivas_ism_dec_fx.c b/lib_dec/ivas_ism_dec_fx.c index 4537b384078329dd47d40a02b300be63b0232b09..42d9e3da40a6c2237e382da95a9c6aab6881eed1 100644 --- a/lib_dec/ivas_ism_dec_fx.c +++ b/lib_dec/ivas_ism_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_ism_dtx_dec_fx.c b/lib_dec/ivas_ism_dtx_dec_fx.c index 19d99a0bb1fe277e13efc6485f7230bb235ffcba..f8c7d9939d538cc153fc15a5a2805675860e38a4 100644 --- a/lib_dec/ivas_ism_dtx_dec_fx.c +++ b/lib_dec/ivas_ism_dtx_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_ism_metadata_dec_fx.c b/lib_dec/ivas_ism_metadata_dec_fx.c index 54cc5da15e24d25f025530478d84a4674a0c5ad2..ddea412b27ec059a2e7e0e02dc8b28607c07ee06 100644 --- a/lib_dec/ivas_ism_metadata_dec_fx.c +++ b/lib_dec/ivas_ism_metadata_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "move.h" #include @@ -1248,21 +1220,15 @@ void ivas_ism_metadata_sid_dec_fx( { IF( EQ_16( ch, *sce_id_dtx ) ) { -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG FOR( i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ ) { hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[i] = 32767; } -#else - hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx = 32767; // 1.0f in Q15 - move16(); -#endif CONTINUE; } idx = get_next_indice_fx( st0, nBits_coh ); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[0] = get_next_index_4_by_15[idx]; // Q15 move16(); FOR( i = 1; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ ) @@ -1270,25 +1236,16 @@ void ivas_ism_metadata_sid_dec_fx( hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[i] = hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[0]; move16(); } -#else - hSCE[ch]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx = div_s( idx, sub( ( shl( 1, nBits_coh ) ), 1 ) ); // Q15 - move16(); -#endif } } IF( EQ_32( ism_mode, ISM_MODE_PARAM ) ) { -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG FOR( i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ ) { hSCE[*sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[i] = hSCE[!*sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[i]; move16(); } -#else - hSCE[*sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx = hSCE[!*sce_id_dtx]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx; - move16(); -#endif } /*----------------------------------------------------------------* diff --git a/lib_dec/ivas_ism_param_dec_fx.c b/lib_dec/ivas_ism_param_dec_fx.c index 6af94ea97a7efca424d9449a686046f953daaa08..c2b25a4db0f33e8b7edfd2f0f040ed662b58e5b7 100644 --- a/lib_dec/ivas_ism_param_dec_fx.c +++ b/lib_dec/ivas_ism_param_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -41,7 +13,6 @@ #include "ivas_rom_dec.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#include "debug.h" /*-----------------------------------------------------------------------* @@ -942,9 +913,6 @@ void ivas_ism_dec_digest_tc_fx( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_MIXER_CONV_ROOM ) && st_ivas->hDecoderConfig->Opt_Headrotation == 0 ) ) { Word16 i; -#ifndef NONBE_1412_AVOID_ROUNDING_AZ_ELEV - Word32 azimuth_fx, elevation_fx; -#endif /* we have a full frame interpolator, adapt it */ /* for BE testing */ @@ -1013,11 +981,6 @@ void ivas_ism_dec_digest_tc_fx( } ELSE { -#ifndef NONBE_1412_AVOID_ROUNDING_AZ_ELEV - // TODO tmu review when #215 is resolved - azimuth_fx = L_shr( L_add( st_ivas->hIsmMetaData[i]->edited_azimuth_fx, 2097152 ), Q22 ); // Q0 ,2097152 = .5f in Q22 - elevation_fx = L_shr( L_add( st_ivas->hIsmMetaData[i]->edited_elevation_fx, 2097152 ), Q22 ); // Q0 ,2097152 = .5f in Q22 -#endif test(); test(); @@ -1033,9 +996,7 @@ void ivas_ism_dec_digest_tc_fx( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) && EQ_32( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) ) ) && st_ivas->hCombinedOrientationData == NULL ) { -#ifdef NONBE_1412_AVOID_ROUNDING_AZ_ELEV Word32 elevation_fx = st_ivas->hIsmMetaData[i]->edited_elevation_fx; -#endif if ( st_ivas->hIntSetup.is_planar_setup ) { /* If no elevation support in output format, then rendering should be done with zero elevation */ @@ -1045,17 +1006,9 @@ void ivas_ism_dec_digest_tc_fx( IF( st_ivas->hEFAPdata != NULL ) { -#ifndef NONBE_1412_AVOID_ROUNDING_AZ_ELEV - azimuth_fx = L_shl( azimuth_fx, Q22 ); // Q22 - elevation_fx = L_shl( elevation_fx, Q22 ); // Q22 -#endif -#ifdef NONBE_1412_AVOID_ROUNDING_AZ_ELEV efap_determine_gains_fx( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains_fx[i], st_ivas->hIsmMetaData[i]->edited_azimuth_fx, elevation_fx, EFAP_MODE_EFAP ); -#else - efap_determine_gains_fx( st_ivas->hEFAPdata, st_ivas->hIsmRendererData->gains_fx[i], azimuth_fx, elevation_fx, EFAP_MODE_EFAP ); -#endif // TODO: align Q values properly IF( NE_32( st_ivas->hIsmMetaData[i]->edited_gain_fx, ONE_IN_Q29 ) ) { @@ -1069,13 +1022,8 @@ void ivas_ism_dec_digest_tc_fx( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) ) { /*get HOA gets for direction (ACN/SN3D)*/ -#ifdef FIX_2193_ISM_GAINS_WITH_OE Word16 azi = round_fx( L_shr( st_ivas->hIsmMetaData[i]->edited_azimuth_fx, Q22 - Q16 ) ); // Q0 Word16 ele = round_fx( L_shr( st_ivas->hIsmMetaData[i]->edited_elevation_fx, Q22 - Q16 ) ); // Q0 -#else - Word16 azi = shr( extract_h( st_ivas->hIsmMetaData[i]->azimuth_fx ), 22 - 16 ); // Q0 - Word16 ele = shr( extract_h( st_ivas->hIsmMetaData[i]->elevation_fx ), 22 - 16 ); // Q0 -#endif ivas_dirac_dec_get_response_fx( azi, ele, st_ivas->hIsmRendererData->gains_fx[i], st_ivas->hIntSetup.ambisonics_order, Q30 ); @@ -1837,12 +1785,8 @@ void ivas_param_ism_params_to_masa_param_mapping_fx( IF( st_ivas->hISMDTX.dtx_flag ) { - Word32 energy_ratio_fx; /* Q30 */ -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG + Word32 energy_ratio_fx; /* Q30 */ energy_ratio_fx = L_mult0( st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[0], st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx[0] ); /* Q15 + Q15 -> Q30 */ -#else - energy_ratio_fx = L_mult0( st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx, st_ivas->hSCE[0]->hCoreCoder[0]->hFdCngDec->hFdCngCom->coherence_fx ); /* Q15 + Q15 -> Q30 */ -#endif hSpatParamRendCom->numSimultaneousDirections = 1; move16(); diff --git a/lib_dec/ivas_ism_renderer_fx.c b/lib_dec/ivas_ism_renderer_fx.c index 2e2a257a11a96837fc296c79ea672c18ac0cc540..466cba63a69f11f29b5e3ed7c264cbbb4d5b37bf 100644 --- a/lib_dec/ivas_ism_renderer_fx.c +++ b/lib_dec/ivas_ism_renderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -187,10 +159,6 @@ void ivas_ism_render_sf_fx( n_samples_rendered_loop = 0; move16(); -#ifdef DEBUGGING - assert( slots_to_render == 0 ); - assert( last_sf <= st_ivas->hTcBuffer->nb_subframes ); -#endif WHILE( slots_to_render > 0 ) { diff --git a/lib_dec/ivas_jbm_dec_fx.c b/lib_dec/ivas_jbm_dec_fx.c index f8664b60b3c0f588ca98128d6cc3e39b28728177..5a84b1b5ba5b1bd275679d5f2990be3b13dd3396 100644 --- a/lib_dec/ivas_jbm_dec_fx.c +++ b/lib_dec/ivas_jbm_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -42,9 +14,6 @@ #include #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------* @@ -1559,9 +1528,7 @@ void ivas_jbm_dec_feed_tc_to_renderer_fx( FOR( ch = 0; ch < s_max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch++ ) { hTcBuffer->tc_fx[ch] = &hTcBuffer->tc_buffer_fx[offset]; -#ifdef FIX_1330_JBM_MEMORY_FIX st_ivas->p_output_fx[ch] = hTcBuffer->tc_fx[ch]; -#endif offset = add( offset, len_offset ); } } @@ -1739,28 +1706,17 @@ ivas_error ivas_jbm_dec_render_fx( ivas_jbm_dec_tc_buffer_playout_fx( st_ivas, nSamplesAskedLocal, nSamplesRendered, p_output_fx ); } -#ifdef FIX_1419_MONO_STEREO_UMX ELSE IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) -#else - ELSE IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) -#endif { -#ifdef FIX_1419_MONO_STEREO_UMX *nSamplesRendered = s_min( st_ivas->hTcBuffer->n_samples_available, nSamplesAskedLocal ); move16(); -#endif /* Rendering */ IF( EQ_32( st_ivas->renderer_type, RENDERER_MC ) ) { -#ifndef FIX_1419_MONO_STEREO_UMX - *nSamplesRendered = s_min( st_ivas->hTcBuffer->n_samples_available, nSamplesAskedLocal ); - move16(); -#endif ivas_ls_setup_conversion_fx( st_ivas, st_ivas->nchan_transport, *nSamplesRendered, p_tc_fx, p_output_fx ); } -#ifdef FIX_1419_MONO_STEREO_UMX ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) ) { IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) ) @@ -1779,7 +1735,6 @@ ivas_error ivas_jbm_dec_render_fx( } } } -#endif /* FIX_1419_MONO_STEREO_UMX */ } ELSE IF( EQ_32( st_ivas->ivas_format, ISM_FORMAT ) ) { @@ -1821,11 +1776,7 @@ ivas_error ivas_jbm_dec_render_fx( { ivas_apply_non_diegetic_panning_fx( p_tc_fx[0], p_output_fx, st_ivas->hDecoderConfig->non_diegetic_pan_gain_fx, *nSamplesRendered ); } -#ifdef DEBUGGING - ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) ) -#else ELSE IF( EQ_32( st_ivas->renderer_type, RENDERER_SBA_LINEAR_ENC ) ) -#endif { /* Convert to Ambisonics */ FOR( i = 0; i < st_ivas->nchan_transport; i++ ) @@ -2419,7 +2370,6 @@ ivas_error ivas_jbm_dec_render_fx( IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP const Word32 *p_output_fx_const[MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS]; nchan_out_syn_output = i_mult( BINAURAL_CHANNELS, st_ivas->hSplitBinRend->splitrend.multiBinPoseData.num_poses ); @@ -2436,37 +2386,23 @@ ivas_error ivas_jbm_dec_render_fx( ivas_TD_RINGBUF_PushChannels( st_ivas->hSplitBinRend->hMultiBinTdData, p_output_fx_const, *nSamplesRendered ); } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR if ( st_ivas->flushing ) { nchan_out_syn_output = BINAURAL_CHANNELS; move16(); } -#endif -#else - FOR( i = 0; i < st_ivas->hSplitBinRend->splitrend.multiBinPoseData.num_poses * BINAURAL_CHANNELS; i++ ) - { - Copy32( p_output_fx[i], st_ivas->hSplitBinRend->hMultiBinCldfbData->output_fx[i], *nSamplesRendered ); - } -#endif } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ELSE { -#endif nchan_out_syn_output = nchan_out; move16(); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP } -#endif IF( is_split_rendering_enabled( st_ivas->hDecoderConfig, st_ivas->hRenderConfig ) == 0 ) { IF( NE_32( st_ivas->ivas_format, MONO_FORMAT ) ) { -#ifndef DISABLE_LIMITER ivas_limiter_dec_fx( st_ivas->hLimiter, p_output_fx, nchan_out, *nSamplesRendered, st_ivas->BER_detect, output_q_factor ); -#endif } } @@ -2540,11 +2476,7 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( { /* move it at the beginning of the TC buffer with zero padding */ Copy32( hTcBuffer->tc_buffer_old_fx[ch_idx], hTcBuffer->tc_fx[ch_idx], n_samples_to_render ); -#ifdef FIX_2174_JBM_BASOP_ALIGNMENT set_zero_fx( hTcBuffer->tc_fx[ch_idx] + n_samples_to_render, sub( hTcBuffer->n_samples_granularity, n_samples_to_render ) ); -#else - set_zero_fx( hTcBuffer->tc_fx[ch_idx] + n_samples_to_render, hTcBuffer->n_samples_granularity - n_samples_to_render ); -#endif } /* simple change of the slot info */ @@ -2641,7 +2573,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( { return error; } -#ifdef FIX_2211_ASSERT_IN_REND_CREND_CONVOLER Word16 subframe_len, gd_bits; subframe_len = imult1616( st_ivas->hTcBuffer->subframe_nbslots[0], st_ivas->hTcBuffer->n_samples_granularity ); gd_bits = find_guarded_bits_fx( subframe_len ); @@ -2650,10 +2581,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( { scale_sig32( p_output_fx[i], *nSamplesRendered, sub( *st_ivas->hCrendWrapper->p_io_qfactor, Q11 ) ); // Q = *st_ivas->hCrendWrapper->p_io_qfactor } -#else - *st_ivas->hCrendWrapper->p_io_qfactor = 11; - move16(); -#endif IF( NE_32( error = ivas_rend_crendProcessSubframe_fx( st_ivas->hCrendWrapper, intern_config_old, st_ivas->hOutSetup.output_config, st_ivas->hDecoderConfig, st_ivas->hCombinedOrientationData, hIntSetupOld, st_ivas->hEFAPdata, st_ivas->hTcBuffer, crendInPlaceRotation ? p_output_fx : st_ivas->hTcBuffer->tc_fx, p_output_fx, hTcBuffer->n_samples_granularity, st_ivas->hDecoderConfig->output_Fs, 0 ), IVAS_ERR_OK ) ) @@ -2662,12 +2589,10 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( } ivas_binaural_add_LFE_fx( st_ivas, hTcBuffer->n_samples_granularity, st_ivas->hTcBuffer->tc_fx, p_output_fx ); -#ifdef FIX_2211_ASSERT_IN_REND_CREND_CONVOLER FOR( Word16 i = 0; i < nchan_in; i++ ) { scale_sig32( p_output_fx[i], *nSamplesRendered, sub( Q11, *st_ivas->hCrendWrapper->p_io_qfactor ) ); // Q11 } -#endif } ELSE IF( EQ_16( renderer_type_old, RENDERER_BINAURAL_OBJECTS_TD ) ) { @@ -2826,7 +2751,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( { IF( NE_16( st_ivas->ivas_format, MONO_FORMAT ) ) { -#ifndef DISABLE_LIMITER Word16 ch_idx, exp = 11; move16(); FOR( ch_idx = 0; ch_idx < MAX_OUTPUT_CHANNELS + MAX_NUM_OBJECTS; ch_idx++ ) @@ -2834,7 +2758,6 @@ ivas_error ivas_jbm_dec_flush_renderer_fx( p_output_fx[ch_idx] = st_ivas->p_output_fx[ch_idx]; } ivas_limiter_dec_fx( st_ivas->hLimiter, p_output_fx, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, exp ); -#endif } } @@ -3140,16 +3063,7 @@ Word16 ivas_jbm_dec_get_num_tc_channels_fx( test(); test(); test(); -#ifndef FIX_1419_MONO_STEREO_UMX /* since we support more output formats for mono, this is no longer sensible; leave it at the default from above */ - IF( EQ_16( st_ivas->ivas_format, MONO_FORMAT ) ) - { - num_tc = st_ivas->hDecoderConfig->nchan_out; - move16(); - } - ELSE IF( EQ_16( st_ivas->ivas_format, STEREO_FORMAT ) && EQ_16( st_ivas->hDecoderConfig->nchan_out, 1 ) ) -#else IF( EQ_16( st_ivas->ivas_format, STEREO_FORMAT ) && EQ_16( st_ivas->hDecoderConfig->nchan_out, 1 ) ) -#endif { num_tc = 1; move16(); @@ -3358,11 +3272,7 @@ static ivas_error ivas_jbm_dec_tc_audio_allocate_fx( { n_samp_full = NS2SA_FX2( output_Fs, MAX_JBM_L_FRAME_NS ); n_samp_full = s_max( n_samp_full, L_FRAME48k ); /* buffers are shared between 'hTcBuffer->tc[]' and 'p_output_f[]': ensure minimal length */ -#ifdef FIX_2174_JBM_BASOP_ALIGNMENT n_samp_residual = sub( hTcBuffer->n_samples_granularity, 1 ); -#else - n_samp_residual = add( hTcBuffer->n_samples_granularity, 1 ); -#endif } ELSE { @@ -3371,11 +3281,7 @@ static ivas_error ivas_jbm_dec_tc_audio_allocate_fx( move16(); } -#ifdef FIX_2174_JBM_BASOP_ALIGNMENT nsamp_to_allocate = imult1616( s_max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ), n_samp_full ); -#else - nsamp_to_allocate = s_max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ) * n_samp_full; -#endif IF( Opt_tsm ) { @@ -3388,11 +3294,7 @@ static ivas_error ivas_jbm_dec_tc_audio_allocate_fx( offset = 0; move16(); -#ifdef FIX_2174_JBM_BASOP_ALIGNMENT FOR( ch_idx = 0; ch_idx < s_max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch_idx++ ) -#else - FOR( ch_idx = 0; ch_idx < max( hTcBuffer->nchan_transport_jbm, hTcBuffer->nchan_buffer_full ); ch_idx++ ) -#endif { hTcBuffer->tc_fx[ch_idx] = &hTcBuffer->tc_buffer_fx[offset]; offset = add( offset, n_samp_full ); @@ -3690,9 +3592,6 @@ static void ivas_jbm_dec_tc_buffer_playout_fx( slots_to_render = sub( slots_to_render, st_ivas->hTcBuffer->subframe_nbslots[last_sf] ); last_sf = add( last_sf, 1 ); } -#ifdef DEBUGGING - assert( slots_to_render == 0 ); -#endif FOR( ch_idx = 0; ch_idx < st_ivas->hTcBuffer->nchan_transport_jbm; ch_idx++ ) { @@ -4166,11 +4065,7 @@ void ivas_dec_prepare_renderer_fx( ivas_omasa_gain_masa_tc_fx( st_ivas->hTcBuffer->tc_fx, st_ivas->hMasaIsmData->gain_masa_edited_fx, st_ivas->nchan_ism, st_ivas->hTcBuffer->n_samples_available ); } } -#ifdef FIX_1419_MONO_STEREO_UMX ELSE IF( EQ_16( st_ivas->ivas_format, MONO_FORMAT ) || EQ_16( st_ivas->ivas_format, STEREO_FORMAT ) ) -#else - ELSE IF( EQ_16( st_ivas->ivas_format, STEREO_FORMAT ) ) -#endif { ivas_jbm_dec_td_renderers_adapt_subframes( st_ivas ); } @@ -4353,7 +4248,6 @@ void ivas_dec_prepare_renderer_fx( move16(); } -#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES test(); test(); IF( st_ivas->hDecoderConfig->Opt_tsm && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) && EQ_32( st_ivas->renderer_type, RENDERER_DIRAC ) ) @@ -4368,7 +4262,6 @@ void ivas_dec_prepare_renderer_fx( } } } -#endif FOR( n = 0; n < nchan_transport_ism; n++ ) { @@ -4383,10 +4276,8 @@ void ivas_dec_prepare_renderer_fx( Scale_sig32( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available, Q3 ); // Q8 -> Q11 } } -#ifndef TMP_FIX_OMASA_SR_BE test(); IF( NE_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) && NE_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) -#endif { delay_signal32_fx( st_ivas->hTcBuffer->tc_fx[CPE_CHANNELS + n], st_ivas->hTcBuffer->n_samples_available, st_ivas->hMasaIsmData->delayBuffer_fx[n], st_ivas->hMasaIsmData->delayBuffer_size ); // TODO: check if tis is a bug in main already diff --git a/lib_dec/ivas_lfe_dec_fx.c b/lib_dec/ivas_lfe_dec_fx.c index 74d8de662ea8aadd99c86363b514d42e8164fe1e..527596f94a2b42df9cb0a5d674f7730815654352 100644 --- a/lib_dec/ivas_lfe_dec_fx.c +++ b/lib_dec/ivas_lfe_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_lfe_plc_fx.c b/lib_dec/ivas_lfe_plc_fx.c index ac6da67598a31774ff7531ede0ba5a9052886a02..6c7e77541d60326ae9818187904b5901f6399cf6 100755 --- a/lib_dec/ivas_lfe_plc_fx.c +++ b/lib_dec/ivas_lfe_plc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_ls_custom_dec_fx.c b/lib_dec/ivas_ls_custom_dec_fx.c index 5ad390f9a66786ed847e1f78cc278c1fa165826c..d47e6c0bff8364c73996557e3d55dc7a3b5b36e0 100644 --- a/lib_dec/ivas_ls_custom_dec_fx.c +++ b/lib_dec/ivas_ls_custom_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" diff --git a/lib_dec/ivas_masa_dec_fx.c b/lib_dec/ivas_masa_dec_fx.c index b41036a5d6cfa4016b10116de0e2983b1ef7a529..43ee932dfd653227d51980eca56669329bf115a8 100644 --- a/lib_dec/ivas_masa_dec_fx.c +++ b/lib_dec/ivas_masa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_mc_param_dec_fx.c b/lib_dec/ivas_mc_param_dec_fx.c index ca35d80e74834e30cf4e573fb184370cc6065fab..cee9dbedb2fb598cb001a8b166ff277b1fc6ac66 100644 --- a/lib_dec/ivas_mc_param_dec_fx.c +++ b/lib_dec/ivas_mc_param_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -461,12 +433,8 @@ ivas_error ivas_param_mc_dec_open_fx( test(); test(); test(); -#ifdef IVAS_RTPDUMP test(); IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) ) -#else - IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) ) -#endif { IF( ( hParamMC->hoa_encoder_fx = (Word32 *) malloc( st_ivas->hTransSetup.nchan_out_woLFE * MAX_INTERN_CHANNELS * sizeof( Word32 ) ) ) == NULL ) { @@ -2208,16 +2176,11 @@ void ivas_param_mc_dec_render_fx( { FOR( ch = 0; ch < nchan_out_cldfb; ch++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ivas_CLDFB_RINGBUF_Push( st_ivas->hSplitBinRend->hMultiBinCldfbData[pos_idx * BINAURAL_CHANNELS + ch], Cldfb_RealBuffer_Binaural_fx[pos_idx][ch][slot_idx], Cldfb_ImagBuffer_Binaural_fx[pos_idx][ch][slot_idx], hParamMC->num_freq_bands ); -#else - Copy32( Cldfb_RealBuffer_Binaural_fx[pos_idx][ch][slot_idx], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[add( i_mult( pos_idx, BINAURAL_CHANNELS ), ch )][add( slot_idx_start, slot_idx )], hParamMC->num_freq_bands ); - Copy32( Cldfb_ImagBuffer_Binaural_fx[pos_idx][ch][slot_idx], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[add( i_mult( pos_idx, BINAURAL_CHANNELS ), ch )][add( slot_idx_start, slot_idx )], hParamMC->num_freq_bands ); -#endif } } } diff --git a/lib_dec/ivas_mc_paramupmix_dec_fx.c b/lib_dec/ivas_mc_paramupmix_dec_fx.c index b80a08286ad7e961032e447661a2a7d5a557dd65..cee925a5d32e6b0ea0bc2c9f450a35e358e68a95 100644 --- a/lib_dec/ivas_mc_paramupmix_dec_fx.c +++ b/lib_dec/ivas_mc_paramupmix_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -381,15 +353,11 @@ ivas_error ivas_mc_paramupmix_dec_open( } /* Head or external rotation */ -#ifdef IVAS_RTPDUMP test(); test(); test(); test(); IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) ) -#else - IF( ( EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || EQ_32( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) ) -#endif { IF( ( hMCParamUpmix->hoa_encoder_fx = (Word32 *) malloc( st_ivas->hTransSetup.nchan_out_woLFE * MAX_INTERN_CHANNELS * sizeof( Word32 ) ) ) == NULL ) @@ -909,16 +877,11 @@ static void ivas_mc_paramupmix_dec_sf( { FOR( ch = 0; ch < st_ivas->hDecoderConfig->nchan_out; ch++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ivas_CLDFB_RINGBUF_Push( st_ivas->hSplitBinRend->hMultiBinCldfbData[pos_idx * BINAURAL_CHANNELS + ch], Cldfb_RealBuffer_Binaural_fx[pos_idx][ch][slot_idx], Cldfb_ImagBuffer_Binaural_fx[pos_idx][ch][slot_idx], maxBand ); -#else - Copy32( Cldfb_RealBuffer_Binaural_fx[pos_idx][ch][slot_idx], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[add( i_mult( pos_idx, BINAURAL_CHANNELS ), ch )][add( slot_index_start, slot_idx )], maxBand ); - Copy32( Cldfb_ImagBuffer_Binaural_fx[pos_idx][ch][slot_idx], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[add( i_mult( pos_idx, BINAURAL_CHANNELS ), ch )][add( slot_index_start, slot_idx )], maxBand ); -#endif } } } diff --git a/lib_dec/ivas_mcmasa_dec_fx.c b/lib_dec/ivas_mcmasa_dec_fx.c index d12b190c640728b55825a1a5a4b948591e481b70..07768058d9e856310e655fcdb5cba27902a86f0a 100644 --- a/lib_dec/ivas_mcmasa_dec_fx.c +++ b/lib_dec/ivas_mcmasa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_dec/ivas_mct_core_dec_fx.c b/lib_dec/ivas_mct_core_dec_fx.c index f96a20126250b065cfcc5d50b404ae4c780ba283..a16de19c7d6ac36b7bedfdb60a3c4495479f4236 100644 --- a/lib_dec/ivas_mct_core_dec_fx.c +++ b/lib_dec/ivas_mct_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -200,9 +172,6 @@ void ivas_mct_core_dec( Word16 tcx_offsetFB; Word16 left_rect; Word16 L_spec; -#ifdef DEBUG_MCT - float nrg[MCT_MAX_CHANNELS]; -#endif Word32 *x_fx[MCT_MAX_CHANNELS][NB_DIV]; push_wmops( "mct_decoding" ); diff --git a/lib_dec/ivas_mct_dec_fx.c b/lib_dec/ivas_mct_dec_fx.c index 49b4edb18da9f3fb6818340b9afb7e2eab1f3db3..958630e9ab622e2b2584b0831f948e4ddad05298 100644 --- a/lib_dec/ivas_mct_dec_fx.c +++ b/lib_dec/ivas_mct_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -1368,12 +1340,8 @@ static ivas_error ivas_mc_dec_reconfig_fx( ivas_binRenderer_close_fx( &st_ivas->hBinRenderer ); test(); -#ifdef IVAS_RTPDUMP test(); IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) ) -#else - IF( ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) ) -#endif { efap_free_data_fx( &st_ivas->hEFAPdata ); } diff --git a/lib_dec/ivas_mct_dec_mct_fx_fx.c b/lib_dec/ivas_mct_dec_mct_fx_fx.c index c5e884f4694db0c4903c45293998e6be42b6fd61..8e09e4905cbadc06ad112b8e1fdc8c7ea4c9a933 100644 --- a/lib_dec/ivas_mct_dec_mct_fx_fx.c +++ b/lib_dec/ivas_mct_dec_mct_fx_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_mdct_core_dec_fx.c b/lib_dec/ivas_mdct_core_dec_fx.c index e7507607ffd3d9971450a4d93ca30ed91cb69446..c7ff10c5c93e6f93255905499404e10260465b65 100644 --- a/lib_dec/ivas_mdct_core_dec_fx.c +++ b/lib_dec/ivas_mdct_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -699,9 +671,7 @@ void ivas_mdct_core_invQ_fx( set16_fx( bitsRead, 0, CPE_CHANNELS ); tmp_concealment_method = 0; move16(); -#ifdef FIX_1387_INIT_PRM_SQQ prm_sqQ = NULL; /* set prm_sqQ to NULL - in case of bfi == 1 it's not set or needed, but it triggers sanitizers */ -#endif FOR( ch = 0; ch < CPE_CHANNELS; ch++ ) { diff --git a/lib_dec/ivas_mono_dmx_renderer_fx.c b/lib_dec/ivas_mono_dmx_renderer_fx.c index 6c64eee816fc5cfbb4db6c676a09e080e004d4bc..35707b192edf2e1fa1a5cdccd9410bb39346979a 100644 --- a/lib_dec/ivas_mono_dmx_renderer_fx.c +++ b/lib_dec/ivas_mono_dmx_renderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_objectRenderer_internal_fx.c b/lib_dec/ivas_objectRenderer_internal_fx.c index 069e2c0eb4e1f730aa4208d8b385d13af8949eaf..949307a713d9b5a8f98635f21df212ead799b171 100644 --- a/lib_dec/ivas_objectRenderer_internal_fx.c +++ b/lib_dec/ivas_objectRenderer_internal_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,7 +10,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#include "debug.h" /*---------------------------------------------------------------------* diff --git a/lib_dec/ivas_omasa_dec_fx.c b/lib_dec/ivas_omasa_dec_fx.c index 0c6c13d1941603b0625d87b8ae5c4a136065ea61..897e7f7c3b73840914ef4128615550e765658113 100644 --- a/lib_dec/ivas_omasa_dec_fx.c +++ b/lib_dec/ivas_omasa_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include @@ -46,18 +18,10 @@ * Local constants *------------------------------------------------------------------------*/ -#ifdef FIX_2082_FP_LEFTOVERS_OMASA_DEC #define MULT_17_DIV_20_Q15 27853 /* (Word16) ( ( 17.0/20.0 ) * 2^15 + 0.5 ) */ #define MULT_1_DIV_CLDFB_NO_COL_MAX_Q15 2048 /* (Word16) ( ( 1.0 / CLDFB_NO_COL_MAX ) * 2^15 + 0.5 ) */ #define ONEMINUX_EXT_RENDER_IIR_FAC_Q31 107374182 /* (Word32) ( ( 1.0 - 0.95 ) * 2^31 + 0.5f ); 0.95 is EXT_RENDER_IIR_FAC */ #define EXT_RENDER_IIR_FAC_Q31 2040109465 /* (Word32) ( 0.95 * 2^31 + 0.5 ) */ -#else -#define EXT_RENDER_IIR_FAC 0.95f -#define MULT_17_DIV_20_Q15 ( Word16 )( ( 17.0 / 20.0f ) * pow( 2, 15 ) + 0.5f ) -#define MULT_1_DIV_CLDFB_NO_COL_MAX_Q15 ( Word16 )( ( 1.0 / CLDFB_NO_COL_MAX ) * pow( 2, 15 ) + 0.5f ) -#define ONEMINUX_EXT_RENDER_IIR_FAC_Q31 ( Word32 )( ( 1.0f - EXT_RENDER_IIR_FAC ) * pow( 2, 31 ) + 0.5f ) -#define EXT_RENDER_IIR_FAC_Q31 ( Word32 )( EXT_RENDER_IIR_FAC * pow( 2, 31 ) + 0.5f ) -#endif // Calculated as (Word16)(((1.0f / (50 * MAX_PARAM_SPATIAL_SUBFRAMES)) * pow(2, 15)) + 0.5f) #define OMASA_DELAYFRAMES_PER_SEC_Q15 (Word16) 164 // Q15 @@ -1111,11 +1075,7 @@ void ivas_omasa_dirac_rend_jbm_fx( { Copy32( &output_fx[CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[0], *nSamplesRendered ); -#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES IF( EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) ) -#else - IF( !st_ivas->hDecoderConfig->Opt_tsm && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) ) -#endif { /* Gain separated object, if edited */ FOR( n = 0; n < st_ivas->nchan_ism; n++ ) @@ -1136,11 +1096,7 @@ void ivas_omasa_dirac_rend_jbm_fx( Copy32( &output_fx[n + CPE_CHANNELS][st_ivas->hTcBuffer->n_samples_rendered], data_separated_objects[n], *nSamplesRendered ); /* Gain discrete objects, if edited */ -#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES IF( st_ivas->hMasaIsmData->ism_gain_is_edited[n] ) -#else - IF( !st_ivas->hDecoderConfig->Opt_tsm && st_ivas->hMasaIsmData->ism_gain_is_edited[n] ) -#endif { v_multc_fx_16( data_separated_objects[n], st_ivas->hMasaIsmData->gain_ism_edited_fx[n], data_separated_objects[n], *nSamplesRendered ); // Q = 8 Scale_sig32( data_separated_objects[n], *nSamplesRendered, Q3 ); // Q = 11 @@ -1198,14 +1154,7 @@ ivas_error ivas_omasa_dirac_td_binaural_jbm_fx( ivas_error error; Word32 *p_sepobj_fx[BINAURAL_CHANNELS]; // Q11 Word32 data_separated_objects_fx[BINAURAL_CHANNELS][L_FRAME48k]; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *re, *im; -#else - Word16 slot_idx_start; - - slot_idx_start = st_ivas->hSpatParamRendCom->slots_rendered; - move16(); -#endif FOR( n = 0; n < BINAURAL_CHANNELS; n++ ) { @@ -1265,15 +1214,9 @@ ivas_error ivas_omasa_dirac_td_binaural_jbm_fx( Scale_sig32( Cldfb_RealBuffer, num_cldfb_bands, sub( Q6, q_cldfb ) ); Scale_sig32( Cldfb_ImagBuffer, num_cldfb_bands, sub( Q6, q_cldfb ) ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ivas_CLDFB_RINGBUF_GetByIdx( st_ivas->hSplitBinRend->hMultiBinCldfbData[n], &re, &im, sub( slot_idx, cldfb_slots ) ); v_add_fx( re, Cldfb_RealBuffer, re, num_cldfb_bands ); v_add_fx( im, Cldfb_ImagBuffer, im, num_cldfb_bands ); -#else - /* note: this intentionally differs from OSBA by: no scaling by 0.5 */ - v_add_fx( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[n][slot_idx_start + slot_idx], Cldfb_RealBuffer, st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[n][slot_idx_start + slot_idx], num_cldfb_bands ); - v_add_fx( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[n][slot_idx_start + slot_idx], Cldfb_ImagBuffer, st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[n][slot_idx_start + slot_idx], num_cldfb_bands ); -#endif } } } @@ -2155,19 +2098,11 @@ void ivas_omasa_render_objects_from_mix_fx( outSlotImPr = &( outIm[n][slot][0] ); move32(); move32(); -#ifdef FIX_2092_ASSERT_IN_OMASA_RENDER mantissa_exp_to_qvalue( &outRe_exp[n][slot][0], &outRe[n][slot][0], Q20 + Q2, nBins ); // + Q2: add two bits headroom to prevent overflow in cldfbSynthesis_ivas_fx(). mantissa_exp_to_qvalue( &outIm_exp[n][slot][0], &outIm[n][slot][0], Q20 + Q2, nBins ); cldfbSynthesis_ivas_fx( &outSlotRePr, &outSlotImPr, &rendered_objects[n][index], nBins, 0, 1 + Q2, st_ivas->cldfbSynDec[index2] ); -#else - mantissa_exp_to_qvalue( &outRe_exp[n][slot][0], &outRe[n][slot][0], Q20, nBins ); - mantissa_exp_to_qvalue( &outIm_exp[n][slot][0], &outIm[n][slot][0], Q20, nBins ); - - cldfbSynthesis_ivas_fx( &outSlotRePr, &outSlotImPr, &rendered_objects[n][index], - nBins, 0, 1, st_ivas->cldfbSynDec[index2] ); -#endif } } diff --git a/lib_dec/ivas_osba_dec_fx.c b/lib_dec/ivas_osba_dec_fx.c index 20cd3d414870dd4ec11ea57f8ea61255f5abcb87..cae2f71ac358d5a8373fb9d333f461cc0f2352b7 100644 --- a/lib_dec/ivas_osba_dec_fx.c +++ b/lib_dec/ivas_osba_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include @@ -137,14 +109,7 @@ ivas_error ivas_osba_dirac_td_binaural_jbm_fx( Word32 output_separated_objects_fx[BINAURAL_CHANNELS][L_FRAME48k]; Word32 *p_sepobj_fx[BINAURAL_CHANNELS]; Word16 channel_offset; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *re, *im; -#else - Word16 slot_idx_start; - - slot_idx_start = st_ivas->hSpatParamRendCom->slots_rendered; - move16(); -#endif FOR( Word16 i = 0; i < BINAURAL_CHANNELS; i++ ) { @@ -168,9 +133,6 @@ ivas_error ivas_osba_dirac_td_binaural_jbm_fx( IF( EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_16( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) { Word16 slot_idx, num_cldfb_bands, nchan_transport_orig; -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - Word16 b; -#endif Word16 cldfb_slots; Word32 Cldfb_RealBuffer[CLDFB_NO_CHANNELS_MAX]; Word32 Cldfb_ImagBuffer[CLDFB_NO_CHANNELS_MAX]; @@ -206,22 +168,9 @@ ivas_error ivas_osba_dirac_td_binaural_jbm_fx( Scale_sig32( Cldfb_RealBuffer, num_cldfb_bands, sub( Q6, q_cldfb ) ); Scale_sig32( Cldfb_ImagBuffer, num_cldfb_bands, sub( Q6, q_cldfb ) ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ivas_CLDFB_RINGBUF_GetByIdx( st_ivas->hSplitBinRend->hMultiBinCldfbData[n], &re, &im, sub( slot_idx, cldfb_slots ) ); v_add_fx( re, Cldfb_RealBuffer, re, num_cldfb_bands ); v_add_fx( im, Cldfb_ImagBuffer, im, num_cldfb_bands ); -#else - FOR( b = 0; b < num_cldfb_bands; b++ ) - { - st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[n][slot_idx_start + slot_idx][b] = - L_add( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[n][add( slot_idx_start, slot_idx )][b], Cldfb_RealBuffer[b] ); - move32(); - - st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[n][slot_idx_start + slot_idx][b] = - L_add( st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[n][add( slot_idx_start, slot_idx )][b], Cldfb_ImagBuffer[b] ); - move32(); - } -#endif } } } diff --git a/lib_dec/ivas_out_setup_conversion_fx.c b/lib_dec/ivas_out_setup_conversion_fx.c index 339d6eb4b4642e1872c3f790ce9370cac9e52898..3b291b4669844612c560e89b11f95aba064fb8bf 100644 --- a/lib_dec/ivas_out_setup_conversion_fx.c +++ b/lib_dec/ivas_out_setup_conversion_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -41,7 +13,6 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" -#include "debug.h" /*----------------------------------------------------------------------------------* * Local constants diff --git a/lib_dec/ivas_output_config_fx.c b/lib_dec/ivas_output_config_fx.c index 9c988937ba3853b55ae29de06c96db525bd5d07d..b5c04c2b3943e9e8b9beeec02d515c041206879e 100644 --- a/lib_dec/ivas_output_config_fx.c +++ b/lib_dec/ivas_output_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,7 +9,6 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef FIX_1419_MONO_STEREO_UMX static void ms_bin_upmix_renderer_select( const IVAS_FORMAT ivas_format, /* i : Decoder format */ IVAS_AUDIO_CONFIG *internal_config, /* o : Internal configuration for rendering */ @@ -60,7 +31,6 @@ static void ms_bin_upmix_renderer_select( return; } -#endif /*-------------------------------------------------------------------------* * ivas_renderer_select() @@ -94,12 +64,8 @@ void ivas_renderer_select( *-----------------------------------------------------------------*/ test(); -#ifdef IVAS_RTPDUMP test(); IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) -#else - IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) -#endif { st_ivas->hCombinedOrientationData->shd_rot_max_order = -1; move16(); @@ -116,15 +82,11 @@ void ivas_renderer_select( test(); test(); test(); -#ifdef FIX_1419_MONO_STEREO_UMX IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) { ms_bin_upmix_renderer_select( st_ivas->ivas_format, internal_config, renderer_type ); } ELSE IF( EQ_32( st_ivas->ivas_format, ISM_FORMAT ) ) -#else - IF( EQ_32( st_ivas->ivas_format, ISM_FORMAT ) ) -#endif { IF( EQ_32( st_ivas->ism_mode, ISM_MODE_PARAM ) ) { @@ -200,12 +162,8 @@ void ivas_renderer_select( } test(); -#ifdef IVAS_RTPDUMP test(); IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) -#else - IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) -#endif { nchan_internal = ivas_sba_get_nchan_metadata_fx( st_ivas->sba_analysis_order, st_ivas->hDecoderConfig->ivas_total_brate ); test(); @@ -262,12 +220,8 @@ void ivas_renderer_select( test(); test(); test(); -#ifdef IVAS_RTPDUMP test(); IF( ( EQ_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_5_1 ) || EQ_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_7_1 ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) && EQ_32( st_ivas->mc_mode, MC_MODE_MCT ) ) -#else - IF( ( EQ_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_5_1 ) || EQ_32( st_ivas->transport_config, IVAS_AUDIO_CONFIG_7_1 ) ) && ( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) && EQ_32( st_ivas->mc_mode, MC_MODE_MCT ) ) -#endif { *renderer_type = RENDERER_BINAURAL_OBJECTS_TD; move16(); @@ -286,12 +240,8 @@ void ivas_renderer_select( } test(); -#ifdef IVAS_RTPDUMP test(); IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation || st_ivas->hCombinedOrientationData ) -#else - IF( st_ivas->hDecoderConfig->Opt_Headrotation || st_ivas->hDecoderConfig->Opt_ExternalOrientation ) -#endif { /* force HOA3 domain for rotation*/ *internal_config = IVAS_AUDIO_CONFIG_HOA3; @@ -320,7 +270,6 @@ void ivas_renderer_select( * Non-binaural rendering configurations *-----------------------------------------------------------------*/ -#ifdef FIX_1419_MONO_STEREO_UMX ELSE IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) || EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) { *internal_config = EQ_32( st_ivas->ivas_format, MONO_FORMAT ) ? IVAS_AUDIO_CONFIG_MONO : IVAS_AUDIO_CONFIG_STEREO; @@ -364,26 +313,6 @@ void ivas_renderer_select( BREAK; } } -#else - ELSE IF( EQ_32( st_ivas->ivas_format, MONO_FORMAT ) ) - { - IF( EQ_32( output_config, IVAS_AUDIO_CONFIG_STEREO ) ) - { - *renderer_type = RENDERER_NON_DIEGETIC_DOWNMIX; - move16(); - } - } - ELSE IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) ) - { - test(); - test(); - IF( NE_32( output_config, IVAS_AUDIO_CONFIG_STEREO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_MONO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) ) - { - *renderer_type = RENDERER_MC; - move16(); - } - } -#endif ELSE IF( EQ_32( st_ivas->ivas_format, ISM_FORMAT ) ) { test(); @@ -727,25 +656,17 @@ RENDERER_TYPE ivas_renderer_secondary_select_fx( test(); test(); test(); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP test(); test(); test(); test(); IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) && ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) ) -#else - IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) && EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) ) -#endif { renderer_type = RENDERER_BINAURAL_OBJECTS_TD; move32(); } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ELSE IF( EQ_32( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) && ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) ) -#else - ELSE IF( EQ_32( st_ivas->ivas_format, SBA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) && ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) ) ) -#endif { renderer_type = RENDERER_BINAURAL_OBJECTS_TD; move32(); diff --git a/lib_dec/ivas_pca_dec_fx.c b/lib_dec/ivas_pca_dec_fx.c index 98611ab7cbcf9af52799eb55c91a6353ee726624..dfe22ea3ee6cce953bf9915ad7af6946e850d8e6 100644 --- a/lib_dec/ivas_pca_dec_fx.c +++ b/lib_dec/ivas_pca_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_post_proc_fx.c b/lib_dec/ivas_post_proc_fx.c index f3254c4a547fa0f2d626ae87fe07da8b67067c98..de67ac2f6460e02de4320dd508b682a73e0cf530 100644 --- a/lib_dec/ivas_post_proc_fx.c +++ b/lib_dec/ivas_post_proc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_qmetadata_dec_fx.c b/lib_dec/ivas_qmetadata_dec_fx.c index cc98c6ec494fba2b1fd1895bfb3e35de277421ce..aa3f4394908c0a9d3dc93a0e676ff3a1f9811357 100644 --- a/lib_dec/ivas_qmetadata_dec_fx.c +++ b/lib_dec/ivas_qmetadata_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_qspherical_dec_fx.c b/lib_dec/ivas_qspherical_dec_fx.c index f443cc81de370ba99f5e6d3f4d018a40ff96322a..8144bece8d7311316fd38379fba9f640877d3cd3 100644 --- a/lib_dec/ivas_qspherical_dec_fx.c +++ b/lib_dec/ivas_qspherical_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_range_uni_dec_fx.c b/lib_dec/ivas_range_uni_dec_fx.c index 9a49680e874a2d665b7ba37e3e0c2c47334cc18a..413d60e73bb4fef917c606b9195c29dd87a3bf4d 100644 --- a/lib_dec/ivas_range_uni_dec_fx.c +++ b/lib_dec/ivas_range_uni_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "ivas_cnst.h" diff --git a/lib_dec/ivas_rom_dec.h b/lib_dec/ivas_rom_dec.h index 0b29588b2207de3cbb2cb1d3d2f7dd9839a940f6..4adbfef57acda1966a0c709659f1ea1578610a8c 100644 --- a/lib_dec/ivas_rom_dec.h +++ b/lib_dec/ivas_rom_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_ROM_DEC_H #define IVAS_ROM_DEC_H diff --git a/lib_dec/ivas_rom_dec_fx.c b/lib_dec/ivas_rom_dec_fx.c index 016335004b15655502a26eb2dca58deba1031052..bc0b81847dcf382dbadb4a186acbf776086a946d 100644 --- a/lib_dec/ivas_rom_dec_fx.c +++ b/lib_dec/ivas_rom_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_sba_dec_fx.c b/lib_dec/ivas_sba_dec_fx.c index c4a1b0de109f168d1d6bdd22b9b9c2a4c7f0999b..5c0fa1d68156e3c2ed82a48a22ab094d43179cf9 100644 --- a/lib_dec/ivas_sba_dec_fx.c +++ b/lib_dec/ivas_sba_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "enh32.h" #include diff --git a/lib_dec/ivas_sba_dirac_stereo_dec_fx.c b/lib_dec/ivas_sba_dirac_stereo_dec_fx.c index 42a2524f1f6676a2f216159767685da2dbb0d4ae..5243521a7aa24fa00fdaf556ae2461812cec06ca 100644 --- a/lib_dec/ivas_sba_dirac_stereo_dec_fx.c +++ b/lib_dec/ivas_sba_dirac_stereo_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include #include "options.h" diff --git a/lib_dec/ivas_sba_rendering_internal_fx.c b/lib_dec/ivas_sba_rendering_internal_fx.c index d9f7b26be0676b936f9d11c681b3001ed0332488..ad92bcd5634eaed11139ffac3cdd9d559a809739 100644 --- a/lib_dec/ivas_sba_rendering_internal_fx.c +++ b/lib_dec/ivas_sba_rendering_internal_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------------* * ivas_sba2MC_cldfb() @@ -528,9 +497,6 @@ void ivas_sba_mix_matrix_determiner_fx( ivas_agc_dec_process_fx( hSpar->hAgcDec, ( output_fx ), ( output_fx ), nchan_transport, output_frame ); Q_p_output = sub( Q_p_output, 3 ); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) ( output_fx[0] ), output_frame, "fix_ivas_agc_dec_process_output.txt", NULL ); -#endif /* Convert numeric range back */ FOR( ch = 0; ch < nchan_out; ch++ ) diff --git a/lib_dec/ivas_sce_dec_fx.c b/lib_dec/ivas_sce_dec_fx.c index 77c53c5ef63d18306328a6c065a495908be58b4f..73469c9f4caa7be8c26e0c7073a0ebb6bbb4672f 100644 --- a/lib_dec/ivas_sce_dec_fx.c +++ b/lib_dec/ivas_sce_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_sns_dec_fx.c b/lib_dec/ivas_sns_dec_fx.c index 05bf47cb98fcd38164633d75a1c62cb1beb5c214..30755ddb39eebb6e6db1c477049de1fd4ade212d 100644 --- a/lib_dec/ivas_sns_dec_fx.c +++ b/lib_dec/ivas_sns_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten FORschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten FORschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement beFORe making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively FOR experts who have experience with such software and - solely FOR the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness FOR a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_spar_decoder_fx.c b/lib_dec/ivas_spar_decoder_fx.c index 864d0543821e666566163296335a36ffc999ea3b..57d9c78f3ed93525b00e4de42f39892223ffa611 100644 --- a/lib_dec/ivas_spar_decoder_fx.c +++ b/lib_dec/ivas_spar_decoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -45,9 +17,6 @@ #include "stat_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/ivas_spar_md_dec_fx.c b/lib_dec/ivas_spar_md_dec_fx.c index 248518134d1350dcc9022a80e7571d11a9c2033e..d4384233de9cdfc1f9edb1243728af052645fcaf 100644 --- a/lib_dec/ivas_spar_md_dec_fx.c +++ b/lib_dec/ivas_spar_md_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -899,17 +871,6 @@ void ivas_spar_md_dec_process_fx( ivas_get_spar_matrices_fx( hMdDec, num_bands_out, num_md_sub_frames, bw, dtx_vad, nB, num_md_chs, active_w_vlbr, dyn_active_w_flag ); -#ifdef DEBUG_SPAR_DIRAC_WRITE_OUT_PRED_PARS - { - static FILE *fid = 0; - int16_t band = 9; - if ( !fid ) - { - fid = fopen( "pred_coeffs_dec.txt", "wt" ); - } - fprintf( fid, "%.6f\n", hMdDec->mixer_mat[1][0][band] ); - } -#endif ivas_spar_md_fill_invalid_bands_fx( &hMdDec->spar_coeffs, &hMdDec->spar_coeffs_prev, &hMdDec->valid_bands[0], &hMdDec->base_band_age[0], num_bands_out, num_md_chs, num_md_sub_frames ); diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index c3c16166809a7b5b01eee301b8101df3dd8cc4d9..9d75ecc52d0188fabe388fa9160acbfe22dec39c 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_STAT_DEC_H #define IVAS_STAT_DEC_H @@ -870,37 +842,18 @@ typedef struct renderer_struct * IVAS decoder specific ISAR wrapper structures *----------------------------------------------------------------------------------*/ -#ifndef FIX_1119_SPLIT_RENDERING_VOIP typedef struct { - Word32 Cldfb_RealBuffer_Binaural_fx[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - Word32 Cldfb_ImagBuffer_Binaural_fx[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - Word32 output_fx[BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES][L_FRAME48k]; - -} ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA, *ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE; - -#endif -typedef struct -{ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 Cldfb_RealBuffer_fx[MAX_OUTPUT_CHANNELS][2 * CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; /* Double space to account for TSM */ Word32 Cldfb_ImagBuffer_fx[MAX_OUTPUT_CHANNELS][2 * CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; -#else - Word32 Cldfb_RealBuffer_fx[MAX_OUTPUT_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - Word32 Cldfb_ImagBuffer_fx[MAX_OUTPUT_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; -#endif IVAS_AUDIO_CONFIG config; } ISAR_DEC_SPLIT_REND_CLDFB_OUT_DATA, *ISAR_DEC_SPLIT_REND_CLDFB_OUT_DATA_HANDLE; typedef struct { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP TD_RINGBUF_HANDLE hMultiBinTdData; ISAR_CLDFB_RINGBUF_HANDLE hMultiBinCldfbData[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS]; -#else - ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE hMultiBinCldfbData; /*scratch buffer for frame by frame processing*/ -#endif ISAR_SPLIT_REND_BITS_HANDLE hSplitRendBits; /*scratch buffer for frame by frame processing*/ SPLIT_REND_WRAPPER splitrend; ISAR_DEC_SPLIT_REND_CLDFB_OUT_DATA_HANDLE hCldfbDataOut; /*buffer to store cldfb data before binauralization*/ @@ -1069,18 +1022,16 @@ typedef struct jbm_metadata_structure typedef struct decoder_config_structure { - Word32 ivas_total_brate; /* IVAS total bitrate in bps */ - Word32 last_ivas_total_brate; /* last IVAS total bitrate in bps */ - Word32 output_Fs; /* output signal sampling frequency in Hz */ - Word16 nchan_out; /* number of output audio channels */ - AUDIO_CONFIG output_config; /* output audio configuration */ - Word16 Opt_LsCustom; /* indicates whether loudspeaker custom setup is used */ - Word16 Opt_HRTF_binary; /* indicates whether HRTF binary file is used */ - Word16 Opt_Headrotation; /* indicates whether head-rotation is used */ - Word16 Opt_RendConfigCustom; /* indicates whether Renderer configuration custom setup is used */ -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE - IVAS_ROOM_SIZE_T Opt_RoomSize; /* Selected room size */ -#endif + Word32 ivas_total_brate; /* IVAS total bitrate in bps */ + Word32 last_ivas_total_brate; /* last IVAS total bitrate in bps */ + Word32 output_Fs; /* output signal sampling frequency in Hz */ + Word16 nchan_out; /* number of output audio channels */ + AUDIO_CONFIG output_config; /* output audio configuration */ + Word16 Opt_LsCustom; /* indicates whether loudspeaker custom setup is used */ + Word16 Opt_HRTF_binary; /* indicates whether HRTF binary file is used */ + Word16 Opt_Headrotation; /* indicates whether head-rotation is used */ + Word16 Opt_RendConfigCustom; /* indicates whether Renderer configuration custom setup is used */ + IVAS_ROOM_SIZE_T Opt_RoomSize; /* Selected room size */ IVAS_HEAD_ORIENT_TRK_T orientation_tracking; /* indicates orientation tracking type */ Word16 Opt_non_diegetic_pan; /* indicates diegetic or not */ Word16 non_diegetic_pan_gain_fx; /* non diegetic panning gain, Q15 */ @@ -1194,10 +1145,8 @@ typedef struct Decoder_Struct MASA_ISM_DATA_HANDLE hMasaIsmData; /* OMASA rendering handle */ SBA_ISM_DATA_HANDLE hSbaIsmData; /* OSBA rendering handle */ -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pAcousticEnvironments; /* Acoustic environment array */ Word16 acousticEnvironmentsCount; /* Number of acoustic environments in the array*/ -#endif Word16 flag_omasa_brate; @@ -1212,12 +1161,8 @@ typedef struct Decoder_Struct Word16 ism_extmeta_active; /* Extended metadata active in decoder */ Word16 ism_extmeta_cnt; /* Change frame counter for extended metadata */ -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR Word16 flushing; -#endif -#ifdef DECODER_FORMAT_SWITCHING Word16 restartNeeded; /* Flag to signal decoder restart */ -#endif } Decoder_Struct; diff --git a/lib_dec/ivas_stereo_adapt_GR_dec_fx.c b/lib_dec/ivas_stereo_adapt_GR_dec_fx.c index 57166fae4c34e72e6145b560345ef2c264385b84..352e222f2cf5ba6c2e64c4b422d1b57e0ba614f9 100644 --- a/lib_dec/ivas_stereo_adapt_GR_dec_fx.c +++ b/lib_dec/ivas_stereo_adapt_GR_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_cng_dec_fx.c b/lib_dec/ivas_stereo_cng_dec_fx.c index 124f89c5a12d3023a9aced6b273c902cc46bdf5c..6347be1d6f015ac16e4c75c42505c22020f14cd4 100644 --- a/lib_dec/ivas_stereo_cng_dec_fx.c +++ b/lib_dec/ivas_stereo_cng_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_dft_dec_dmx_fx.c b/lib_dec/ivas_stereo_dft_dec_dmx_fx.c index 9b166c41a74204592214c56e42110a7c5ed592f2..d19c0ccdfb8a77e4a759ac850b1de5a2d02db457 100644 --- a/lib_dec/ivas_stereo_dft_dec_dmx_fx.c +++ b/lib_dec/ivas_stereo_dft_dec_dmx_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_dft_dec_fx.c b/lib_dec/ivas_stereo_dft_dec_fx.c index b5e19dad50ac01ae3d5f890611beba6fe26002ec..5d2dc665876686961d855f334def6841588d9ba3 100644 --- a/lib_dec/ivas_stereo_dft_dec_fx.c +++ b/lib_dec/ivas_stereo_dft_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -45,9 +17,6 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "basop_util.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -220,11 +189,7 @@ void stereo_dft_dec_reset_fx( { set32_fx( hStereoDft->smooth_buf_fx[i], 0, SBA_DIRAC_NRG_SMOOTH_LONG + 1 ); } -#ifdef FIX_2176_ASSERT_DEC_MAP_PARAMS_DIRAC2STEREO hStereoDft->q_smooth_buf_fx = Q6; -#else - hStereoDft->q_smooth_buf_fx = Q7; -#endif move16(); set16_fx( hStereoDft->smooth_fac_fx[0], 0, SBA_DIRAC_STEREO_NUM_BANDS ); set16_fx( hStereoDft->smooth_fac_fx[1], 0, SBA_DIRAC_STEREO_NUM_BANDS ); @@ -4348,9 +4313,6 @@ void stereo_dft_dec_read_BS_fx( hStereoDft->res_global_gain_fx = ECSQ_dequantize_gain_fx( I ); /* Q15 */ move32(); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) ( &hStereoDft->res_global_gain_fx ), 1, "fixed_res_global_gain.txt", NULL ); -#endif ecsq_inst.config_index = sub( shl( hStereoDft->res_cod_mode[k_offset], 1 ), 1 ); /* Q0 */ move16(); @@ -4367,10 +4329,6 @@ void stereo_dft_dec_read_BS_fx( } ECSQ_dequantize_vector_fx( dec, hStereoDft->res_global_gain_fx, hStereoDft->res_cod_line_max, res_buf_fx ); - -#ifdef DEBUGGING - dbgwrite_txt( (const float *) res_buf_fx, hStereoDft->res_cod_line_max, "fixed_res_buf.txt", NULL ); -#endif } ELSE { diff --git a/lib_dec/ivas_stereo_dft_plc_fx.c b/lib_dec/ivas_stereo_dft_plc_fx.c index 93588a356dc5ed438f65bbbd8b9f550a9378070d..a5c22ad14877e0a98ad41ed87b0cf880e557e540 100644 --- a/lib_dec/ivas_stereo_dft_plc_fx.c +++ b/lib_dec/ivas_stereo_dft_plc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -785,33 +757,20 @@ Word32 stereo_dft_dmx_swb_nrg_fx( { FOR( i = 0; i < frame_length / 2; i++ ) { -#ifdef FIX_2166_ASSERT_OSBA_PLC_STEREO_OUT dmx_nrg = L_add( dmx_nrg, L_shr( L_add( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ), Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ) ), 1 ) ); /* Q0 */ -#else - dmx_nrg = L_add( dmx_nrg, - L_add( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ), - Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ) ) ); /* Q0 */ -#endif } } ELSE { FOR( i = 0; i < frame_length / 2; i++ ) { -#ifdef FIX_2166_ASSERT_OSBA_PLC_STEREO_OUT dmx_nrg = L_add( dmx_nrg, L_shr( L_add( L_shl( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ), q0 ), L_shl( Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ), q1 ) ), 1 ) ); /*3*q0 - 31*/ -#else - dmx_nrg = L_add( dmx_nrg, - L_add( L_shl( Madd_32_32( Mpy_32_32( dmx_k0[2 * i], dmx_k0[2 * i] ), dmx_k0[2 * i + 1], dmx_k0[2 * i + 1] ), q0 ), - L_shl( Madd_32_32( Mpy_32_32( dmx_k1[2 * i], dmx_k1[2 * i] ), dmx_k1[2 * i + 1], dmx_k1[2 * i + 1] ), q1 ) ) ); /*3*q0 - 31*/ - -#endif } } diff --git a/lib_dec/ivas_stereo_eclvq_dec_fx.c b/lib_dec/ivas_stereo_eclvq_dec_fx.c index 9d777c9b7bbd1d46ab705d89a8ad8ad1165e6cdc..0388ed71f9fe6655c0a32d55f1f95d5a963b5a33 100644 --- a/lib_dec/ivas_stereo_eclvq_dec_fx.c +++ b/lib_dec/ivas_stereo_eclvq_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_esf_dec_fx.c b/lib_dec/ivas_stereo_esf_dec_fx.c index d4219f1e60464e7dbaf87c7effb4c814e18bc0ae..19c48e23dad5965dc5e943507feacf15906e620c 100644 --- a/lib_dec/ivas_stereo_esf_dec_fx.c +++ b/lib_dec/ivas_stereo_esf_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_stereo_ica_dec_fx.c b/lib_dec/ivas_stereo_ica_dec_fx.c index 96458c4f2e01a7822dfa22552a5447ec66c1b988..07067b48fc340f0381f504cfd8c70fd3ca46813e 100644 --- a/lib_dec/ivas_stereo_ica_dec_fx.c +++ b/lib_dec/ivas_stereo_ica_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_icbwe_dec_fx.c b/lib_dec/ivas_stereo_icbwe_dec_fx.c index 647ad6e77f1ccb7f3a374f2a1fc804310a77a8b5..053350773fa8f4e51ed16ce8e95075b903352b28 100644 --- a/lib_dec/ivas_stereo_icbwe_dec_fx.c +++ b/lib_dec/ivas_stereo_icbwe_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_mdct_core_dec_fx.c b/lib_dec/ivas_stereo_mdct_core_dec_fx.c index 4d5996bb6db4a85e1a527987c0b1da2e27f29473..4cc08d769af0ebf4b7c9cf2b4449ecb53e33958c 100644 --- a/lib_dec/ivas_stereo_mdct_core_dec_fx.c +++ b/lib_dec/ivas_stereo_mdct_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c b/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c index 72521175846b860263a56651dc84f6f7386db775..d0fb584b72af36829eb7667a8800a9d51bdb7b6b 100644 --- a/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c +++ b/lib_dec/ivas_stereo_mdct_stereo_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -634,11 +606,7 @@ void synchonize_channels_mdct_sid_fx( move16(); sts[1]->bwidth = sts[0]->bwidth; move16(); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG sts[0]->hFdCngDec->hFdCngCom->coherence_fx[0] = sts[1]->hFdCngDec->hFdCngCom->coherence_fx[0]; /* coherence is stored in sts[1] - see ivas_decision_matrix_dec() */ -#else - sts[0]->hFdCngDec->hFdCngCom->coherence_fx = sts[1]->hFdCngDec->hFdCngCom->coherence_fx; /* coherence is stored in sts[1] - see ivas_decision_matrix_dec() */ -#endif move16(); sts[0]->hFdCngDec->hFdCngCom->no_side_flag = sts[1]->hFdCngDec->hFdCngCom->no_side_flag; move16(); diff --git a/lib_dec/ivas_stereo_switching_dec_fx.c b/lib_dec/ivas_stereo_switching_dec_fx.c index 76e4d226d2ccdf45d26ded01fea90d26a1bc1320..4a44747773109af652b51caf9d9c97b260374035 100644 --- a/lib_dec/ivas_stereo_switching_dec_fx.c +++ b/lib_dec/ivas_stereo_switching_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -1951,10 +1923,8 @@ void stereo_switching_dec( Copy( sts[0]->old_exc_fx, sts[1]->old_exc_fx, L_EXC_MEM_DEC ); /* Q_exc */ sts[1]->Q_exc = sts[0]->Q_exc; move16(); -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE sts[1]->Q_syn_factor = sts[0]->Q_syn_factor; move16(); -#endif sts[1]->Q_exc_cng = sts[0]->Q_exc_cng; move16(); sts[1]->prev_Q_exc = sts[0]->prev_Q_exc; diff --git a/lib_dec/ivas_stereo_td_dec_fx.c b/lib_dec/ivas_stereo_td_dec_fx.c index ec135d7a0d634cef179b28bad1fe8fe4c4d6bded..20fdc9641607fdffb41a2704717d65d22cd0d833 100644 --- a/lib_dec/ivas_stereo_td_dec_fx.c +++ b/lib_dec/ivas_stereo_td_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/ivas_svd_dec_fx.c b/lib_dec/ivas_svd_dec_fx.c index d6811d2df5e53d7d48594daa858eefb15ef8dcd7..fa59da1810f8db82b906d4b63f2d7af353a6a418 100755 --- a/lib_dec/ivas_svd_dec_fx.c +++ b/lib_dec/ivas_svd_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" diff --git a/lib_dec/ivas_tcx_core_dec_fx.c b/lib_dec/ivas_tcx_core_dec_fx.c index 01f47c90627fdfc19342b4e6d184bf3b0aceac7f..46c6511dbae1b1ad272f99aa340bb9457c7bdd05 100644 --- a/lib_dec/ivas_tcx_core_dec_fx.c +++ b/lib_dec/ivas_tcx_core_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -230,9 +202,7 @@ void stereo_tcx_core_dec_fx( Word16 *synth_fx; Word16 synth_bufFB_fx[OLD_SYNTH_SIZE_DEC + L_FRAME_PLUS + M]; Word16 *synthFB_fx; -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Word16 synth_q[2]; -#endif Word32 psd_fx[L_FRAME16k]; Word32 psd_part_fx[NPART_SHAPING]; Word16 psd_part_e; @@ -329,13 +299,11 @@ void stereo_tcx_core_dec_fx( st->core = GetPLCModeDecision_ivas_fx( st ); /* Q0 */ move16(); } -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE IF( st->core != ACELP_CORE ) { st->Q_syn_factor = 0; move16(); } -#endif /*--------------------------------------------------------------------------------* * LPC envelope decoding *--------------------------------------------------------------------------------*/ @@ -349,23 +317,8 @@ void stereo_tcx_core_dec_fx( { Word16 tcx_lpc_cdk; -#ifdef FIX_1384_MSAN_stereo_tcx_core_enc tcx_lpc_cdk = tcxlpc_get_cdk( st->coder_type ); move16(); -#else - test(); - test(); - IF( bfi && st->use_partial_copy && EQ_16( st->rf_frame_type, RF_TCXFD ) ) - { - tcx_lpc_cdk = tcxlpc_get_cdk( GENERIC ); /* Q0 */ - move16(); - } - ELSE - { - tcx_lpc_cdk = tcxlpc_get_cdk( st->coder_type ); /* Q0 */ - move16(); - } -#endif Copy( st->lsf_old_fx, &lsf_fx[0], M ); /* Q2.56 */ Copy( st->lsp_old_fx, &lsp_fx[0], M ); /* Q15 */ @@ -490,14 +443,6 @@ void stereo_tcx_core_dec_fx( E_LPC_f_lsp_a_conversion( st->lsp_old_fx, st->old_Aq_12_8_fx, M ); } -#ifndef FIX_1384_MSAN_stereo_tcx_core_enc - test(); - if ( st->enablePlcWaveadjust && bfi ) - { - st->hPlcInfo->nbLostCmpt = add( st->hPlcInfo->nbLostCmpt, 1 ); /* Q0 */ - move16(); - } -#endif /*--------------------------------------------------------------------------------* * TD-TCX concealment *--------------------------------------------------------------------------------*/ @@ -596,13 +541,9 @@ void stereo_tcx_core_dec_fx( } /* TCX decoder */ -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE decoder_tcx_ivas_fx( st, prm, Aq_fx, Aind, &synth_fx[0], &synthFB_fx[0], &synth_q[0], bfi, 0, sba_dirac_stereo_flag ); st->Q_syn_factor = sub( synth_q[0], st->Q_syn ); st->Q_syn = synth_q[0]; -#else - decoder_tcx_ivas_fx( st, prm, Aq_fx, Aind, &synth_fx[0], &synthFB_fx[0], bfi, 0, sba_dirac_stereo_flag ); -#endif } /*--------------------------------------------------------------------------------* @@ -631,7 +572,6 @@ void stereo_tcx_core_dec_fx( } /* TCX decoder */ -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE decoder_tcx_ivas_fx( st, prm, Aq_fx, Aind, &synth_fx[k * st->L_frame / 2], &synthFB_fx[k * ( hTcxDec->L_frameTCX / 2 )], &synth_q[k], bfi, k, sba_dirac_stereo_flag ); } @@ -648,10 +588,6 @@ void stereo_tcx_core_dec_fx( q_shift = sub( q_min, synth_q[1] ); scale_sig( &synth_fx[shr( st->L_frame, 1 )], shr( st->L_frame, 1 ), q_shift ); scale_sig( &synthFB_fx[shr( hTcxDec->L_frameTCX, 1 )], shr( hTcxDec->L_frameTCX, 1 ), q_shift ); -#else - decoder_tcx_ivas_fx( st, prm, Aq_fx, Aind, &synth_fx[k * st->L_frame / 2], &synthFB_fx[k * ( hTcxDec->L_frameTCX / 2 )], bfi, k, sba_dirac_stereo_flag ); - } -#endif } /*--------------------------------------------------------------------------------* @@ -661,51 +597,11 @@ void stereo_tcx_core_dec_fx( test(); IF( EQ_16( st->core, TCX_10_CORE ) || EQ_16( st->core, TCX_20_CORE ) ) { -#ifndef FIX_1384_MSAN_stereo_tcx_core_enc - test(); - test(); - IF( st->enablePlcWaveadjust || /* bfi */ - ( GE_32( st->last_total_brate, HQ_48k ) && /* recovery */ - EQ_16( st->last_codec_mode, MODE2 ) ) ) - { - IF( st->hTonalMDCTConc->q_lastPcmOut != 0 ) - { - Scale_sig( st->hTonalMDCTConc->secondLastPcmOut, shr( hTcxDec->L_frameTCX, 1 ), negate( st->hTonalMDCTConc->q_lastPcmOut ) ); - Scale_sig( st->hTonalMDCTConc->lastPcmOut, hTcxDec->L_frameTCX, negate( st->hTonalMDCTConc->q_lastPcmOut ) ); - st->hTonalMDCTConc->q_lastPcmOut = 0; - move16(); - } - /* waveform adjustment */ - concealment_signal_tuning_fx( st, bfi, synthFB_fx, st->last_core_bfi ); - - test(); - test(); - test(); - IF( ( bfi || st->prev_bfi ) && st->hPlcInfo->Pitch_fx && EQ_16( st->hPlcInfo->concealment_method, TCX_NONTONAL ) ) - { - lerp( synthFB_fx, synth_fx, st->L_frame, hTcxDec->L_frameTCX ); - - if ( !bfi && st->prev_bfi ) - { - st->hPlcInfo->Pitch_fx = 0; - move16(); - } - } - } -#endif IF( !bfi && st->hTonalMDCTConc != NULL ) { -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE TonalMDCTConceal_SaveTimeSignal_ivas_fx( st->hTonalMDCTConc, synthFB_fx, st->Q_syn, hTcxDec->L_frameTCX ); -#else - TonalMDCTConceal_SaveTimeSignal_ivas_fx( st->hTonalMDCTConc, synthFB_fx, 0, hTcxDec->L_frameTCX ); -#endif } -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE decoder_tcx_post_ivas_fx( st, synth_fx, synthFB_fx, st->Q_syn, Aq_fx, bfi, 0 ); -#else - decoder_tcx_post_ivas_fx( st, synth_fx, synthFB_fx, 0, Aq_fx, bfi, 0 ); -#endif IF( EQ_16( st->core, TCX_20_CORE ) ) { @@ -867,13 +763,6 @@ void stereo_tcx_core_dec_fx( IF( !bfi ) { -#ifndef FIX_1384_MSAN_stereo_tcx_core_enc - if ( st->enablePlcWaveadjust ) - { - st->hPlcInfo->nbLostCmpt = 0; - move16(); - } -#endif IF( param[1 + NOISE_FILL_RANGES] != 0 ) { Word32 tcxltp_pitch_tmp = L_add( L_deposit_h( hTcxLtpDec->tcxltp_pitch_int ), L_shl( L_deposit_l( div_s( hTcxLtpDec->tcxltp_pitch_fr, st->pit_res_max ) ), 1 ) ); /*15Q16*/ @@ -1054,12 +943,7 @@ static void dec_prm_tcx_ivas_fx( getTCXMode_ivas_fx( st, st, 0 /* <- MCT_flag */ ); /* last_core for error concealment */ -#ifdef FIX_1384_MSAN_stereo_tcx_core_enc IF( NE_16( st->element_mode, IVAS_CPE_MDCT ) ) -#else - test(); - IF( !st->use_partial_copy && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) -#endif { st->last_core_from_bs = get_next_indice_fx( st, 1 ); /* Store decoder memory of last_core Q0*/ move16(); @@ -1104,25 +988,18 @@ static void dec_prm_tcx_ivas_fx( } } -#ifndef FIX_1384_MSAN_stereo_tcx_core_enc - IF( !st->use_partial_copy ) + IF( NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { -#endif - IF( NE_16( st->element_mode, IVAS_CPE_MDCT ) ) - { - getTCXWindowing_ivas_fx( st->core, st->last_core, st->element_mode, st->hTcxCfg, st ); - } - st->flagGuidedAcelp = 0; - move16(); + getTCXWindowing_ivas_fx( st->core, st->last_core, st->element_mode, st->hTcxCfg, st ); + } + st->flagGuidedAcelp = 0; + move16(); - if ( st->dec_glr ) - { - st->dec_glr_idx = -1; - move16(); - } -#ifndef FIX_1384_MSAN_stereo_tcx_core_enc + if ( st->dec_glr ) + { + st->dec_glr_idx = -1; + move16(); } -#endif /*--------------------------------------------------------------------------------* * LPC parameters @@ -1137,7 +1014,6 @@ static void dec_prm_tcx_ivas_fx( * TCX20/10 parameters *--------------------------------------------------------------------------------*/ -#ifdef FIX_1384_MSAN_stereo_tcx_core_enc getTCXparam_fx( st, st, hm_cfg, param, bits_common, start_bit_pos, NULL, NULL, NULL, -1 ); IF( LT_16( sub( *total_nbbits, bitsRead[0] ), sub( st->next_bit_pos, start_bit_pos ) ) ) @@ -1150,26 +1026,6 @@ static void dec_prm_tcx_ivas_fx( bitsRead[0] = sub( st->next_bit_pos, start_bit_pos ); /* Q0 */ move16(); -#else - IF( st->use_partial_copy == 0 ) - { - getTCXparam_fx( st, st, hm_cfg, param, bits_common, start_bit_pos, NULL, NULL, NULL, -1 ); - } - - IF( !st->use_partial_copy ) - { - IF( LT_16( sub( *total_nbbits, bitsRead[0] ), sub( st->next_bit_pos, start_bit_pos ) ) ) - { - st->BER_detect = 1; - move16(); - st->next_bit_pos = add( start_bit_pos, sub( *total_nbbits, bitsRead[0] ) ); /* Q0 */ - move16(); - } - - bitsRead[0] = sub( st->next_bit_pos, start_bit_pos ); /* Q0 */ - move16(); - } -#endif return; } diff --git a/lib_dec/ivas_td_low_rate_dec_fx.c b/lib_dec/ivas_td_low_rate_dec_fx.c index 32b5b3f87d609a93a90e3c797645bf71f6f9b88d..9f25ee3c4a69347563f66c8b789acfff2a163ed4 100644 --- a/lib_dec/ivas_td_low_rate_dec_fx.c +++ b/lib_dec/ivas_td_low_rate_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_dec/jbm_jb4_circularbuffer.h b/lib_dec/jbm_jb4_circularbuffer.h index 8d5bcb6d44d5b17eadaff2eec26c3649476e19b8..5eee16213a7a02baab5fd9a6e4ef7d453742ad74 100644 --- a/lib_dec/jbm_jb4_circularbuffer.h +++ b/lib_dec/jbm_jb4_circularbuffer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_jb4_circularbuffer_fx.c b/lib_dec/jbm_jb4_circularbuffer_fx.c index 0eeb1cb1f7cd4dc14409ac0bc9278e73f3a90b85..d6fdd87d807058c007597bd28650f70ee66f375c 100644 --- a/lib_dec/jbm_jb4_circularbuffer_fx.c +++ b/lib_dec/jbm_jb4_circularbuffer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_jb4_inputbuffer.h b/lib_dec/jbm_jb4_inputbuffer.h index 76eb3512393b68b48ae22d6673dbd7725353227e..27bf4dc80513692b83770f7bdb35f142d588c91b 100644 --- a/lib_dec/jbm_jb4_inputbuffer.h +++ b/lib_dec/jbm_jb4_inputbuffer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_jb4_inputbuffer_fx.c b/lib_dec/jbm_jb4_inputbuffer_fx.c index f8de8e76533ac614e74e6599a07bfed488de9459..148fe8368d84490fc6338f1e491ecfc57e605c14 100644 --- a/lib_dec/jbm_jb4_inputbuffer_fx.c +++ b/lib_dec/jbm_jb4_inputbuffer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_jb4_jmf.h b/lib_dec/jbm_jb4_jmf.h index e92c629a813a55855fbc72fdd88275c8a0f12543..49d29ae0fd81b443903e6baeafb241379ff6396e 100644 --- a/lib_dec/jbm_jb4_jmf.h +++ b/lib_dec/jbm_jb4_jmf.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_jb4_jmf_fx.c b/lib_dec/jbm_jb4_jmf_fx.c index 765de8ed31ef09f5027ad5b5816750775b00c2f2..9d0c2fb0d8500538977d4e21665ec239c1c13cb1 100644 --- a/lib_dec/jbm_jb4_jmf_fx.c +++ b/lib_dec/jbm_jb4_jmf_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h index acc44ad32611f646884873a9fab5b231165ffd80..a010c4e29f7af8b5bd59fe3719e9fc13dc3bf6de 100644 --- a/lib_dec/jbm_jb4sb.h +++ b/lib_dec/jbm_jb4sb.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -86,9 +58,7 @@ void JB4_Destroy( JB4_HANDLE *ph ); ivas_error JB4_Init( JB4_HANDLE h, const Word16 safetyMargin ); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h ); -#endif JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( JB4_HANDLE h ); diff --git a/lib_dec/jbm_jb4sb_fx.c b/lib_dec/jbm_jb4sb_fx.c index eccd8cb030efc927998ef6e1cb2d373e5833c901..b699038b20d9710691e84434af7767bf3657ad6d 100644 --- a/lib_dec/jbm_jb4sb_fx.c +++ b/lib_dec/jbm_jb4sb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -198,9 +170,7 @@ struct JB4 JB4_DATAUNIT_HANDLE freeMemorySlots[MAX_JBM_SLOTS]; UWord16 nFreeMemorySlots; /*@} */ -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED bool evsMode; -#endif }; /* JB4 */ @@ -326,10 +296,8 @@ ivas_error JB4_Create( } h->nFreeMemorySlots = MAX_JBM_SLOTS; move16(); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED h->evsMode = false; move16(); -#endif *ph = h; return IVAS_ERR_OK; @@ -414,13 +382,11 @@ ivas_error JB4_Init( return IVAS_ERR_OK; } -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED void JB4_TMP_SetEvsCompatFlag( JB4_HANDLE h ) { h->evsMode = true; move16(); } -#endif /* Returns a memory slot to store a new data unit */ JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( @@ -774,15 +740,11 @@ static void JB4_targetPlayoutDelay( move32(); move32(); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED IF( !h->evsMode ) { -#endif *targetDtx = JB4_MAX( *targetDtx, (UWord32) h->safetyMargin ); move32(); -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED } -#endif *targetStartUp = JB4_MAX( *targetStartUp, (UWord32) h->safetyMargin ); move32(); diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h index 2c3bc84c8d6e6b55768812b66cce52ff12001743..120154fc2f7adc95469609bd8f630cbc12edaaa8 100644 --- a/lib_dec/jbm_pcmdsp_apa.h +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_pcmdsp_apa_fx.c b/lib_dec/jbm_pcmdsp_apa_fx.c index 14cf7dff39a5ceadfcd4e40c6e4d3a19cff1fdf6..dfeadd7808b102b8285f66681ff693a58e63b80f 100644 --- a/lib_dec/jbm_pcmdsp_apa_fx.c +++ b/lib_dec/jbm_pcmdsp_apa_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -127,11 +99,7 @@ struct apa_state_t UWord16 qualityred; /* quality reduction threshold */ UWord16 qualityrise; /* quality rising for adaptive quality thresholds */ -#ifdef FIX_2173_UBSAN_IN_JBM_PCMDSP_APA - Word16 last_pitch; /* last pitch/sync position */ -#else - UWord16 last_pitch; /* last pitch/sync position */ -#endif + Word16 last_pitch; /* last pitch/sync position */ UWord16 bad_frame_count; /* # frames before quality threshold is lowered */ UWord16 good_frame_count; /* # scaled frames */ @@ -886,16 +854,6 @@ UWord8 apa_exec_fx( move32(); } -#ifdef DEBUG_APA_SILENCE_NON_SCALED - IF( l_in == *l_out ) - { - set_s( a_out, 0, *l_out ); - } - ELSE - { - set_s( a_out, INT16_MAX, *l_out ); - } -#endif return 0; } @@ -919,11 +877,7 @@ UWord8 apa_exec_ivas_fx( Word16 Q_a_out; Word16 Q_a_out_init_old; -#ifdef FIX_APA_EXECS_SCALING Q_a_out = add( getScaleFactor32_copy( a_in, l_in ), Q11 - Q16 - Q1 ); -#else - Q_a_out = add( getScaleFactor32_copy( a_in, L_mult0( ps->num_channels, APA_BUF_PER_CHANNEL ) ), Q11 - Q16 - Q1 ); -#endif Q_a_out_init_old = Q_a_out; /* store the possible scaling of a_in, to be re-used in the next frame */ move16(); statsResetThreshold = 1637; @@ -1000,11 +954,7 @@ UWord8 apa_exec_ivas_fx( Scale_sig( ps->buf_out_fx, ps->buf_out_capacity, sub( Q_a_out, ps->Q_buf_out ) ); // Q_buf_out -> Q_a_out IF( EQ_32( ps->scale, 100 ) ) { -#ifdef FIX_APA_EXECS_SCALING FOR( i = 0; i < ps->l_frm; i++ ) -#else - FOR( i = 0; i < ps->num_channels * APA_BUF_PER_CHANNEL; i++ ) -#endif { a_out[i] = a_in[i]; // Q11 move32(); @@ -1016,11 +966,7 @@ UWord8 apa_exec_ivas_fx( { Word16 *frm_in_ptr = &( frm_in[ps->l_frm] ); -#ifdef FIX_APA_EXECS_SCALING FOR( i = 0; i < ps->l_frm; i++ ) -#else - FOR( i = 0; i < ps->num_channels * APA_BUF_PER_CHANNEL; i++ ) -#endif { a_tmp[i] = extract_h( L_shl( a_in[i], add( Q_a_out, Q5 ) ) ); // Q_a_out move16(); @@ -1070,11 +1016,7 @@ UWord8 apa_exec_ivas_fx( } } -#ifdef FIX_APA_EXECS_SCALING FOR( i = 0; i < l_frm_out; i++ ) -#else - FOR( i = 0; i < ps->num_channels * APA_BUF_PER_CHANNEL; i++ ) -#endif { a_out[i] = L_shl( a_tmp[i], sub( Q11, Q_a_out ) ); // Q0 -> Q11 move32(); @@ -1388,11 +1330,7 @@ static Word8 logarithmic_search_fx( const apa_state_t *ps, DO { -#ifdef FIX_2173_UBSAN_IN_JBM_PCMDSP_APA coeff_max = INT32_MIN; /* will always be overwritten with result of first correlation */ -#else - coeff_max = 0x80000000; /* will always be overwritten with result of first correlation */ -#endif move32(); FOR( i = s_start; i < s_start + inlen; i += css * ps->num_channels ) diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h index 45acb98beb77a35bcec234fe4f0363b321a85041..032f48a11ddaed387a92ce64fe77f4ca1f34b33b 100644 --- a/lib_dec/jbm_pcmdsp_fifo.h +++ b/lib_dec/jbm_pcmdsp_fifo.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_pcmdsp_similarityestimation.h b/lib_dec/jbm_pcmdsp_similarityestimation.h index 7adbcd65f697dda25e8bd76e672d84b00edf3c27..7992df4d30b2ae86b374da7f94f40c3a1e5500f9 100644 --- a/lib_dec/jbm_pcmdsp_similarityestimation.h +++ b/lib_dec/jbm_pcmdsp_similarityestimation.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c index 25d8d2d8b2a6cf5389566db6164d33ea4a71fac8..560aded19ee02b7415e0dadd5a7de4c6e9bbc316 100644 --- a/lib_dec/jbm_pcmdsp_similarityestimation_fx.c +++ b/lib_dec/jbm_pcmdsp_similarityestimation_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_pcmdsp_window.h b/lib_dec/jbm_pcmdsp_window.h index 9c6f10408254cfed60dcb9ec51c633a4d6fcf688..6c85380bf4fdd4de1acacbac64521f8c480935a0 100644 --- a/lib_dec/jbm_pcmdsp_window.h +++ b/lib_dec/jbm_pcmdsp_window.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/jbm_pcmdsp_window_fx.c b/lib_dec/jbm_pcmdsp_window_fx.c index 8572586c3b3edc085ca8796e08477c65cddb875c..7f8dd8113ae603f1028fb0cc60e84eb66de2b00a 100644 --- a/lib_dec/jbm_pcmdsp_window_fx.c +++ b/lib_dec/jbm_pcmdsp_window_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/lead_deindexing_fx.c b/lib_dec/lead_deindexing_fx.c index ecc5f6fe01a50d55b5156784ae951993658b3092..54c5a6c3f65bfb7f40a0565247dde078b7d92dbd 100644 --- a/lib_dec/lead_deindexing_fx.c +++ b/lib_dec/lead_deindexing_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index 698ca55a6e843a9a21d9d6775caedd63e63ba487..bab0ba48be4b5b568c7a8cecd71847db9f70ce91 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef LIB_DEC_H #define LIB_DEC_H @@ -36,9 +8,7 @@ #include "common_api_types.h" #include #include "typedef.h" -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT #include "ivas_rtp_pi_data.h" -#endif /*---------------------------------------------------------------------* @@ -123,9 +93,7 @@ ivas_error IVAS_DEC_Configure( const bool enableExternalOrientation, /* i : enable external orientations */ const IVAS_HEAD_ORIENT_TRK_T orientation_tracking, /* i : head orientation tracking type */ const bool renderConfigEnabled, /* i : enable Renderer config. file for binaural output */ -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE const IVAS_ROOM_SIZE_T roomSize, /* i : room size selector for reverb */ -#endif const bool non_diegetic_pan_enabled, /* i : enabled diegetic panning */ const Word16 non_diegetic_pan_gain_fx, /* i : non diegetic panning gain */ const bool dpidEnabled, /* i : enable directivity pattern option */ @@ -158,9 +126,6 @@ ivas_error IVAS_DEC_ReadFormat( ivas_error IVAS_DEC_GetSamplesDecoder( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - const Word16 isSplitRend, /* i : split rendering enabled flag */ -#endif ISAR_SPLIT_REND_BITS_DATA *splitRendBits /* o : output split rendering bits */ ); @@ -291,17 +256,6 @@ ivas_error IVAS_DEC_VoIP_SetScale( const Word16 scale /* i : TSM scale to set */ ); -#ifdef VARIABLE_SPEED_DECODING -ivas_error IVAS_DEC_EnableTsm( - IVAS_DEC_HANDLE hIvasDec /* i/o: IVAS decoder handle */ -); - -ivas_error IVAS_DEC_TSM_SetQuality( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const Word16 quality /* i : target TSM quality Q14 */ -); - -#endif /*! r: error code */ ivas_error IVAS_DEC_VoIP_GetSamples( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ @@ -317,7 +271,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const UWord32 systemTimestamp_ms /* i : current system timestamp */ ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*! r: error code */ ivas_error IVAS_DEC_VoIP_GetSplitBinauralBitstream( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ @@ -333,7 +286,6 @@ ivas_error IVAS_DEC_VoIP_GetSplitBinauralBitstream( bool *parametersAvailableForEditing, /* o : indicates whether objects editing is available */ const UWord32 systemTimestamp_ms /* i : current system timestamp */ ); -#endif ivas_error IVAS_DEC_Flush( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ @@ -342,13 +294,11 @@ ivas_error IVAS_DEC_Flush( Word16 *nSamplesFlushed /* o : number of samples flushed */ ); -#ifdef DECODER_FORMAT_SWITCHING ivas_error IVAS_DEC_isRestartNeeded( IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */ bool *restartNeeded /* o : flag to signal decoder restart */ ); -#endif /* Setter functions - apply changes to decoder configuration */ @@ -464,7 +414,6 @@ ivas_error IVAS_DEC_HRTF_binary_close( const IVAS_BIN_RENDERER_TYPE binaural_renderer_old /* i : previous binaural renderer type */ ); -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT ivas_error IVAS_DEC_AddAcousticEnvironment( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ const IVAS_ROOM_ACOUSTICS_CONFIG_DATA roomAcousticsConfig /* i: Room acoustic configuration */ @@ -475,7 +424,6 @@ ivas_error IVAS_DEC_GetAcousticEnvironment( UWord16 aeID, /* i : Acoustic environment ID */ IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pAcEnv /* o : Room acoustic environment data pointer */ ); -#endif /*! r: error code*/ ivas_error IVAS_DEC_GetRenderConfig( @@ -527,13 +475,11 @@ ivas_error IVAS_DEC_GetJbmData( ); #endif -#ifdef IVAS_RTPDUMP ivas_error IVAS_DEC_FeedPiDataToDecoder( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ hPiDataTs piData, /* i : PI data received in rtp packet */ UWord32 numPiData /* i : number of PI data received in rtp packet */ ); -#endif /* Utility functions */ diff --git a/lib_dec/lib_dec_fx.c b/lib_dec/lib_dec_fx.c index 8ac73cb85eca3bf2d44dd62f3442138820786b1c..a8646b0108b991af0747f8ccd723fe5c56640836 100644 --- a/lib_dec/lib_dec_fx.c +++ b/lib_dec/lib_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "lib_dec.h" #include "ivas_cnst.h" @@ -41,14 +13,9 @@ #include "jbm_jb4sb.h" #include "jbm_pcmdsp_apa.h" #include "jbm_pcmdsp_fifo.h" -#ifdef IVAS_RTPDUMP #include "ivas_rtp_pi_data.h" -#endif #include #include -#ifdef DEBUGGING -#include "float_to_fix_ops.h" -#endif #include "wmc_auto.h" @@ -81,10 +48,7 @@ struct IVAS_DEC bool isInitialized; Word16 bitstreamformat; /* Bitstream format flag (G.192/MIME/VOIP_G192_RTP/VOIP_RTPDUMP) */ -#ifdef DEBUGGING - bool Opt_VOIP; /* flag indicating VOIP mode with JBM */ -#endif - Word16 tsm_scale; /* scale for TSM operation */ + Word16 tsm_scale; /* scale for TSM operation */ Word16 tsm_max_scaling; Word16 timeScalingDone; /* have we done already one TSM in a 20ms frame? */ Word16 tsm_quality; /*Q14*/ @@ -116,11 +80,7 @@ static void store_JbmData( IVAS_DEC_VOIP *hVoIP, JB4_DATAUNIT_HANDLE dataUnit, c static ivas_error evs_dec_main_fx( Decoder_Struct *st_ivas ); static ivas_error input_format_API_to_internal( IVAS_DEC_INPUT_FORMAT input_format, Word16 *bitstream_format_internal, Word16 *sdp_hf_only, const bool is_voip_enabled ); static void init_decoder_config( DECODER_CONFIG_HANDLE hDecoderConfig ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP static ivas_error ivas_dec_setup_all( IVAS_DEC_HANDLE hIvasDec, UWord8 *nTransportChannels, ISAR_SPLIT_REND_BITS_DATA *splitRendBits ); -#else -static ivas_error ivas_dec_setup_all( IVAS_DEC_HANDLE hIvasDec, UWord8 *nTransportChannels, const Word16 isSplitRend, ISAR_SPLIT_REND_BITS_DATA *splitRendBits ); -#endif static ivas_error apa_setup( IVAS_DEC_HANDLE hIvasDec, const bool isInitialized_voip, const UWord16 nTransportChannels ); static ivas_error isar_set_split_rend_setup( ISAR_DEC_SPLIT_REND_WRAPPER *hSplitBinRend, const ISAR_SPLIT_REND_CONFIG_DATA *hSplitBinConfig, const COMBINED_ORIENTATION_HANDLE hCombinedOrientationData, ISAR_SPLIT_REND_BITS_DATA *splitRendBits ); static ivas_error ivas_dec_reconfig_split_rend( Decoder_Struct *st_ivas ); @@ -128,10 +88,8 @@ static ivas_error ivas_dec_init_split_rend( Decoder_Struct *st_ivas ); static ivas_error ivas_create_handle_isar( ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE *hSplitBinRend_out ); static void ivas_destroy_handle_isar( ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE *hSplitBinRend_out ); static Word16 get_render_frame_size_ms( IVAS_RENDER_FRAMESIZE render_framesize ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP static Word16 get_render_frame_size_samples( const DECODER_CONFIG_HANDLE hDecoderConfig ); static Word16 ivas_dec_split_rend_cldfb_in( const RENDERER_TYPE renderer_type ); -#endif static void update_voip_rendered20ms( IVAS_DEC_HANDLE hIvasDec, const Word16 nSamplesRendered ); @@ -204,10 +162,6 @@ ivas_error IVAS_DEC_Open( hIvasDec->bitstreamformat = G192; move16(); -#ifdef DEBUGGING - hIvasDec->Opt_VOIP = 0; - move16(); -#endif hIvasDec->amrwb_rfc4867_flag = -1; hIvasDec->prev_ft_speech = 1; /* RXDTX handler previous frametype flag for G.192 format AMRWB SID_FIRST detection */ hIvasDec->CNG = 0; /* RXDTX handler CNG = 1, no CNG = 0*/ @@ -241,10 +195,8 @@ ivas_error IVAS_DEC_Open( /* initialize pointers to handles to NULL */ ivas_initialize_handles_dec( st_ivas ); -#ifdef DECODER_FORMAT_SWITCHING st_ivas->restartNeeded = 0; move16(); -#endif /* set high-level parameters */ IF( EQ_16( mode, IVAS_DEC_MODE_EVS ) ) @@ -337,12 +289,6 @@ static ivas_error isar_set_split_rend_setup( move16(); move16(); -#ifndef TMP_FIX_SPLIT_REND - IF( ( hSplitBinRend->hMultiBinCldfbData = (ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE) malloc( sizeof( ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA ) ) ) == NULL ) - { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for split rendering structure" ); - } -#endif ISAR_PRE_REND_GetMultiBinPoseData( hSplitBinConfig, &hSplitBinRend->splitrend.multiBinPoseData, ( hCombinedOrientationData != NULL ) ? hCombinedOrientationData->sr_pose_pred_axis : DEFAULT_AXIS ); @@ -372,9 +318,7 @@ static void init_decoder_config( hDecoderConfig->Opt_HRTF_binary = 0; hDecoderConfig->Opt_Headrotation = 0; hDecoderConfig->Opt_RendConfigCustom = 0; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE hDecoderConfig->Opt_RoomSize = IVAS_ROOM_SIZE_AUTO; -#endif hDecoderConfig->orientation_tracking = IVAS_HEAD_ORIENT_TRK_NONE; hDecoderConfig->Opt_non_diegetic_pan = 0; hDecoderConfig->non_diegetic_pan_gain_fx = 0; // Q15 @@ -527,15 +471,13 @@ ivas_error IVAS_DEC_Configure( const bool enableExternalOrientation, /* i : enable external orientations */ const IVAS_HEAD_ORIENT_TRK_T orientation_tracking, /* i : head orientation tracking type */ const bool renderConfigEnabled, /* i : enable Renderer config. file for binaural output */ -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE - const IVAS_ROOM_SIZE_T roomSize, /* i : room size selector for reverb */ -#endif - const bool non_diegetic_pan_enabled, /* i : enabled diegetic panning */ - const Word16 non_diegetic_pan_gain_fx, /* i : non diegetic panning gain */ - const bool dpidEnabled, /* i : enable directivity pattern option */ - const UWord16 acousticEnvironmentId, /* i : Acoustic environment ID */ - const bool objEditEnabled, /* i : enable object editing */ - const bool delayCompensationEnabled /* i : enable delay compensation */ + const IVAS_ROOM_SIZE_T roomSize, /* i : room size selector for reverb */ + const bool non_diegetic_pan_enabled, /* i : enabled diegetic panning */ + const Word16 non_diegetic_pan_gain_fx, /* i : non diegetic panning gain */ + const bool dpidEnabled, /* i : enable directivity pattern option */ + const UWord16 acousticEnvironmentId, /* i : Acoustic environment ID */ + const bool objEditEnabled, /* i : enable object editing */ + const bool delayCompensationEnabled /* i : enable delay compensation */ ) { Decoder_Struct *st_ivas; @@ -556,7 +498,6 @@ ivas_error IVAS_DEC_Configure( return IVAS_ERR_WRONG_PARAMS; } -#ifdef FIX_1419_MONO_STEREO_UMX test(); test(); test(); @@ -576,14 +517,6 @@ ivas_error IVAS_DEC_Configure( EQ_16( outputConfig, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) || EQ_16( outputConfig, IVAS_AUDIO_CONFIG_MASA1 ) || EQ_16( outputConfig, IVAS_AUDIO_CONFIG_MASA2 ) ) ) -#else /* we now support all output formats, so this validation is redundant */ - test(); - test(); - test(); - test(); - IF( EQ_16( hIvasDec->mode, IVAS_DEC_MODE_EVS ) && !( ( EQ_16( outputConfig, IVAS_AUDIO_CONFIG_MONO ) && non_diegetic_pan_enabled == false ) || - ( EQ_16( outputConfig, IVAS_AUDIO_CONFIG_STEREO ) && non_diegetic_pan_enabled ) ) ) -#endif { return IVAS_ERR_WRONG_MODE; } @@ -620,19 +553,13 @@ ivas_error IVAS_DEC_Configure( hDecoderConfig->orientation_tracking = orientation_tracking; hDecoderConfig->Opt_HRTF_binary = (Word16) hrtfReaderEnabled; hDecoderConfig->Opt_RendConfigCustom = (Word16) renderConfigEnabled; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE hDecoderConfig->Opt_RoomSize = roomSize; -#endif hDecoderConfig->Opt_non_diegetic_pan = (Word16) non_diegetic_pan_enabled; hDecoderConfig->non_diegetic_pan_gain_fx = non_diegetic_pan_gain_fx; // Q15 hDecoderConfig->Opt_delay_comp = (Word16) delayCompensationEnabled; hDecoderConfig->Opt_ExternalOrientation = enableExternalOrientation; hDecoderConfig->Opt_dpid_on = (Word16) dpidEnabled; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT IF( NE_32( (UWord16) acousticEnvironmentId, IVAS_DEFAULT_AEID ) ) -#else - IF( NE_32( (Word32) acousticEnvironmentId, 65535 ) ) -#endif { hDecoderConfig->Opt_aeid_on = TRUE; } @@ -814,7 +741,6 @@ ivas_error IVAS_DEC_GetRenderFramesize( } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*---------------------------------------------------------------------* * get_render_frame_size_samples( ) * @@ -847,7 +773,6 @@ static Word16 get_render_frame_size_samples( return tmp; } -#endif /*---------------------------------------------------------------------* @@ -861,9 +786,6 @@ ivas_error IVAS_DEC_GetRenderFramesizeSamples( Word16 *render_framesize /* o : render framesize in samples Q0 */ ) { -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - Word16 tmp; -#endif test(); test(); @@ -872,28 +794,7 @@ ivas_error IVAS_DEC_GetRenderFramesizeSamples( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP *render_framesize = get_render_frame_size_samples( hIvasDec->st_ivas->hDecoderConfig ); -#else - tmp = (Word16) Mpy_32_16_1( hIvasDec->st_ivas->hDecoderConfig->output_Fs, INV_FR_P_S_MX_PRM_SPL_SBFR_Q15 ); - - IF( EQ_16( hIvasDec->st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) ) - { - *render_framesize = tmp; - } - ELSE IF( EQ_16( hIvasDec->st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_10MS ) ) - { - *render_framesize = shl( tmp, 1 ); - } - ELSE IF( EQ_16( hIvasDec->st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_20MS ) ) - { - *render_framesize = shl( tmp, 2 ); - } - ELSE - { - *render_framesize = 0; - } -#endif move16(); return IVAS_ERR_OK; @@ -1012,9 +913,6 @@ ivas_error IVAS_DEC_EnableVoIP( hDecoderConfig = hIvasDec->st_ivas->hDecoderConfig; -#ifdef DEBUGGING - hIvasDec->Opt_VOIP = 1; -#endif hDecoderConfig->Opt_tsm = 1; move16(); move16(); @@ -1062,12 +960,10 @@ ivas_error IVAS_DEC_EnableVoIP( return IVAS_ERR_FAILED_ALLOC; } -#ifdef NONBE_1122_KEEP_EVS_MODE_UNCHANGED if ( EQ_16( hIvasDec->mode, IVAS_DEC_MODE_EVS ) ) { JB4_TMP_SetEvsCompatFlag( hIvasDec->hVoIP->hJBM ); } -#endif /* init flush buffer (needed for binaural outputs) */ IF( ( error = create_flush_buffer_fx( hIvasDec ) ) != IVAS_ERR_OK ) @@ -1095,13 +991,11 @@ ivas_error IVAS_DEC_FeedFrame_Serial( { ivas_error error; -#ifdef FIX_1388_MSAN_ivas_init_decoder test(); IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL ) { return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#endif IF( !hIvasDec->isInitialized ) { @@ -1109,11 +1003,9 @@ ivas_error IVAS_DEC_FeedFrame_Serial( * In IVAS mode, initialization is done in ivas_dec(). */ IF( EQ_16( hIvasDec->mode, IVAS_DEC_MODE_EVS ) ) { -#ifdef FIX_1388_MSAN_ivas_init_decoder hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00; move32(); -#endif IF( NE_32( ( error = ivas_init_decoder_fx( hIvasDec->st_ivas ) ), IVAS_ERR_OK ) ) { return error; @@ -1130,13 +1022,6 @@ ivas_error IVAS_DEC_FeedFrame_Serial( hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = imult3216( hIvasDec->hVoIP->hCurrentDataUnit->dataSize, FRAMES_PER_SEC ); move32(); } -#ifndef FIX_1388_MSAN_ivas_init_decoder - ELSE - { - hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00; - move32(); - } -#endif hIvasDec->isInitialized = true; move16(); @@ -1208,7 +1093,6 @@ ivas_error IVAS_DEC_FeedFrame_Serial( } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*---------------------------------------------------------------------* * isar_get_frame_size( ) * @@ -1255,10 +1139,6 @@ static ivas_error isar_render_poses( bool *needNewFrame /* o : indication that the decoder needs a new frame */ ) { -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - // Note for reviewers: Code in this function was moved and adapted from IVAS_DEC_GetSplitBinauralBitstream, - // see #else branch of FIX_1119_SPLIT_RENDERING_VOIP there for reference -#endif Word16 pcmBuf[BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES * L_FRAME48k]; Decoder_Struct *st_ivas; ivas_error error; @@ -1321,10 +1201,6 @@ static ivas_error isar_generate_metadata_and_bitstream( Word16 Q_out[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS] /* o : Q-format of each channel of p_head_pose_buf */ ) { -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - // Note for reviewers: Code in this function was moved and adapted from IVAS_DEC_GetSplitBinauralBitstream, - // see #else branch of FIX_1119_SPLIT_RENDERING_VOIP there for reference -#endif ivas_error error; ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE hSplitBinRend; Word16 max_band; @@ -1484,7 +1360,6 @@ static ivas_error isar_generate_metadata_and_bitstream( return IVAS_ERR_OK; } -#endif /* FIX_1119_SPLIT_RENDERING_VOIP */ /*---------------------------------------------------------------------* @@ -1586,11 +1461,7 @@ ivas_error IVAS_DEC_GetSamplesRenderer( hIvasDec->hasBeenFedFrame = false; /* check for possible flushed samples from a rate switch */ -#ifdef FIX_2174_JBM_BASOP_ALIGNMENT IF( GT_16( hIvasDec->nSamplesFlushed, 0 ) ) -#else - IF( GE_16( hIvasDec->nSamplesFlushed, 0 ) ) -#endif { /* note: offset (rendered samples) is always 0 */ Copy( hIvasDec->flushbuffer, pcmBuf, imult1616( hIvasDec->nSamplesFlushed, nOutChannels ) ); @@ -1644,7 +1515,6 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( bool *needNewFrame /* o : indication that the decoder needs a new frame */ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Decoder_Struct *st_ivas; ivas_error error; Word32 head_pose_buf[BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES][L_FRAME48k]; @@ -1706,9 +1576,7 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( } IF( EQ_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) ) { -#ifndef DISABLE_LIMITER ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, numSamplesPerChannelToOutput, st_ivas->BER_detect, Q11 ); -#endif } ELSE { @@ -1717,261 +1585,6 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( ivas_syn_output_fx( p_head_pose_buf, Q11, numSamplesPerChannelToOutput, st_ivas->hDecoderConfig->nchan_out, pcmBuf_out ); } -#else - Decoder_Struct *st_ivas; - AUDIO_CONFIG output_config; - Word32 output_Fs; - Word32 *pOutput[BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES]; - Word32 Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - Word32 Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - Word16 numSamplesPerChannelToDecode; - Word16 i, j, k; - ivas_error error; - ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE hSplitBinRend; - Word16 max_band; - Word16 pcm_out_flag; - Word16 td_input; - Word16 numPoses; - Word16 slots_rendered, slots_rendered_new; - Word16 ro_md_flag; - IVAS_QUATERNION Quaternion; - - test(); - IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - st_ivas = hIvasDec->st_ivas; - output_config = st_ivas->hDecoderConfig->output_config; - output_Fs = st_ivas->hDecoderConfig->output_Fs; - numSamplesPerChannelToDecode = (Word16) ( output_Fs / FRAMES_PER_SEC ); // TODO remove division - - *needNewFrame = false; - hSplitBinRend = st_ivas->hSplitBinRend; - - FOR( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; i++ ) - { - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) - { - FOR( k = 0; k < CLDFB_NO_CHANNELS_MAX; k++ ) - { - Cldfb_RealBuffer_Binaural[i][j][k] = 0; - Cldfb_ImagBuffer_Binaural[i][j][k] = 0; - move32(); - move32(); - } - } - } - - FOR( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; i++ ) - { - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) - { - set32_fx( hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[i][j], 0, CLDFB_NO_CHANNELS_MAX ); - set32_fx( hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[i][j], 0, CLDFB_NO_CHANNELS_MAX ); - } - } - - numPoses = hSplitBinRend->splitrend.multiBinPoseData.num_poses; - move16(); - - /* init flush buffer for rate switch if not already initizalized */ - IF( hIvasDec->flushbuffer == NULL ) - { - hIvasDec->flushbuffer = (void *) malloc( numPoses * BINAURAL_CHANNELS * hIvasDec->nSamplesFrame / IVAS_MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float ) ); - set16_fx( (Word16 *) hIvasDec->flushbuffer, 0, numPoses * BINAURAL_CHANNELS * hIvasDec->nSamplesFrame / IVAS_MAX_PARAM_SPATIAL_SUBFRAMES ); - } - - IF( NE_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_20MS ) && - ( EQ_32( st_ivas->hRenderConfig->split_rend_config.poseCorrectionMode, ISAR_SPLIT_REND_POSE_CORRECTION_MODE_NONE ) || - EQ_16( st_ivas->hRenderConfig->split_rend_config.dof, 0 ) ) ) - { - numSamplesPerChannelToDecode = (Word16) ( output_Fs / FRAMES_PER_SEC ); // TODO remove division - numSamplesPerChannelToDecode = (Word16) ( numSamplesPerChannelToDecode / MAX_PARAM_SPATIAL_SUBFRAMES ); // TODO remove division - numSamplesPerChannelToDecode *= (Word16) st_ivas->hDecoderConfig->render_framesize; - move16(); - move16(); - } - - IF( is_split_rendering_enabled( st_ivas->hDecoderConfig, st_ivas->hRenderConfig ) == 0 ) - { - return IVAS_ERR_WRONG_PARAMS; - } - - test(); - IF( st_ivas->hTcBuffer == NULL || hIvasDec->hasBeenFedFrame ) - { - slots_rendered = 0; - } - ELSE - { - /* this is needed for OMASA-DISC, because the td-rend granularity is 240 samples at 48kHz, leading to wrong slot count. */ - test(); - IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) ) - { - slots_rendered = st_ivas->hTcBuffer->n_samples_rendered / NS2SA( st_ivas->hDecoderConfig->output_Fs, CLDFB_SLOT_NS ); // TODO remove division - } - ELSE - { - slots_rendered = st_ivas->hTcBuffer->n_samples_rendered / st_ivas->hTcBuffer->n_samples_granularity; - } - } - - /* Decode and render */ - IF( ( error = IVAS_DEC_GetSamplesRenderer( hIvasDec, numSamplesPerChannelToDecode, pcmBuf_out, nOutSamples, needNewFrame ) ) != IVAS_ERR_OK ) - { - return error; - } - - IF( !hIvasDec->hasBeenFedFirstGoodFrame ) - { - return IVAS_ERR_OK; - } - - FOR( i = 0; i < BINAURAL_CHANNELS * MAX_HEAD_ROT_POSES; ++i ) - { - pOutput[i] = hSplitBinRend->hMultiBinCldfbData->output_fx[i]; - move32(); - } - - IF( st_ivas->hTcBuffer == NULL ) - { - slots_rendered_new = 0; - move16(); - } - ELSE - { - /* this is needed for OMASA-DISC, because the td-rend granularity is 240 samples at 48kHz, leading to wrong slot count. */ - IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) && EQ_32( st_ivas->ism_mode, ISM_MASA_MODE_DISC ) ) - { - slots_rendered_new = st_ivas->hTcBuffer->n_samples_rendered / NS2SA( st_ivas->hDecoderConfig->output_Fs, CLDFB_SLOT_NS ); // TODO remove division - } - ELSE - { - slots_rendered_new = st_ivas->hTcBuffer->n_samples_rendered / st_ivas->hTcBuffer->n_samples_granularity; // TODO remove division - } - } - - FOR( i = 0; i < i_mult( BINAURAL_CHANNELS, numPoses ); ++i ) - { - FOR( j = slots_rendered; j < slots_rendered_new; ++j ) - { - Copy32( hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[i][j], Cldfb_RealBuffer_Binaural[i][j - slots_rendered], CLDFB_NO_CHANNELS_MAX ); - Copy32( hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[i][j], Cldfb_ImagBuffer_Binaural[i][j - slots_rendered], CLDFB_NO_CHANNELS_MAX ); - } - } - - max_band = (Word16) ( ( BINAURAL_MAXBANDS * output_Fs ) / 48000 ); // TODO remove division - move16(); - pcm_out_flag = ( output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ? 1 : 0; - td_input = st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && st_ivas->renderer_type != RENDERER_STEREO_PARAMETRIC; - - IF( st_ivas->hBinRendererTd != NULL ) - { - ro_md_flag = 1; - move16(); - } - ELSE - { - ro_md_flag = 0; - move16(); - } - - IF( st_ivas->hHeadTrackData != NULL ) - { - Quaternion = st_ivas->hHeadTrackData->Quaternions[0]; - } - ELSE - { - Quaternion.w_fx = -12582912; - Quaternion.x_fx = 0; - Quaternion.y_fx = 0; - Quaternion.z_fx = 0; - } - Word16 q1 = 31, q2 = 31, Q_buff; - Word16 Q_out[CLDFB_NO_COL_MAX]; - Q_out[0] = 31; - Word16 num_poses = hSplitBinRend->splitrend.multiBinPoseData.num_poses; - - FOR( i = 0; i < i_mult( BINAURAL_CHANNELS, numPoses ); i++ ) - { - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) - { - q1 = s_min( q1, L_norm_arr( Cldfb_RealBuffer_Binaural[i][j], CLDFB_NO_CHANNELS_MAX ) ); - q2 = s_min( q2, L_norm_arr( Cldfb_ImagBuffer_Binaural[i][j], CLDFB_NO_CHANNELS_MAX ) ); - } - } - Q_buff = s_min( q1, q2 ); - FOR( i = 0; i < i_mult( BINAURAL_CHANNELS, numPoses ); i++ ) - { - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) - { - scale_sig32( Cldfb_RealBuffer_Binaural[i][j], CLDFB_NO_CHANNELS_MAX, Q_buff ); - scale_sig32( Cldfb_ImagBuffer_Binaural[i][j], CLDFB_NO_CHANNELS_MAX, Q_buff ); - } - } - Q_buff = add( Q_buff, Q6 ); - - IF( NE_16( td_input, 0 ) ) - { - /*TD input*/ - /*if CLDFB handles have been allocated then assume valid multi binaural input in out[][] buffer and perform CLDFB analysis*/ - /* local float2fix, to be removed */ - num_poses = hSplitBinRend->splitrend.multiBinPoseData.num_poses; - - FOR( i = 0; i < num_poses * BINAURAL_CHANNELS; ++i ) - { - Q_out[0] = s_min( Q_out[0], L_norm_arr( pOutput[i], L_FRAME48k ) ); - } - - FOR( i = 0; i < num_poses * BINAURAL_CHANNELS; ++i ) - { - scale_sig32( pOutput[i], L_FRAME48k, Q_out[0] ); - } - Q_out[0] = add( Q_out[0], Q11 ); - Q_out[1] = Q_out[0]; - } - - IF( ( error = ISAR_PRE_REND_MultiBinToSplitBinaural( &hSplitBinRend->splitrend, - Quaternion, - st_ivas->hRenderConfig->split_rend_config.splitRendBitRate, - st_ivas->hRenderConfig->split_rend_config.codec, - st_ivas->hRenderConfig->split_rend_config.isar_frame_size_ms, - st_ivas->hRenderConfig->split_rend_config.codec_frame_size_ms, - splitRendBits, - Cldfb_RealBuffer_Binaural, - Cldfb_ImagBuffer_Binaural, - max_band, pOutput, 1, !td_input, pcm_out_flag, ro_md_flag, Q_buff, &Q_out[0] ) ) != IVAS_ERR_OK ) - { - return error; - } - - /* convert to int16 with limiting for BINAURAL_SPLIT_PCM */ - IF( pcm_out_flag ) - { - FOR( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - scale_sig32( pOutput[j], numSamplesPerChannelToDecode, sub( Q11, Q_out[j] ) ); // Q11 - } - IF( EQ_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) ) - { -#ifndef DISABLE_LIMITER - ivas_limiter_dec_fx( st_ivas->hLimiter, pOutput, st_ivas->hDecoderConfig->nchan_out, numSamplesPerChannelToDecode, st_ivas->BER_detect, Q11 ); -#endif - } - else - { - ivas_limiter_dec_fx( st_ivas->hLimiter, pOutput, st_ivas->hDecoderConfig->nchan_out, numSamplesPerChannelToDecode, st_ivas->BER_detect, Q11 ); - } - - ivas_syn_output_fx( pOutput, Q11, numSamplesPerChannelToDecode, st_ivas->hDecoderConfig->nchan_out, (Word16 *) pcmBuf_out ); - } - -#ifndef TMP_FIX_SPLIT_REND - free( st_ivas->hSplitBinRend->hMultiBinCldfbData ); -#endif -#endif return IVAS_ERR_OK; } @@ -1984,11 +1597,8 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream( *---------------------------------------------------------------------*/ static ivas_error ivas_dec_setup_all( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - UWord8 *nTransportChannels, /* o : number of decoded transport PCM channels */ -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - const Word16 isSplitRend, /* i : split rendering enabled flag */ -#endif + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + UWord8 *nTransportChannels, /* o : number of decoded transport PCM channels */ ISAR_SPLIT_REND_BITS_DATA *splitRendBits /* o : output split rendering bits */ ) { @@ -2013,11 +1623,7 @@ static ivas_error ivas_dec_setup_all( st_ivas = hIvasDec->st_ivas; /* Setup IVAS split rendering */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP IF( splitRendBits != NULL ) -#else - IF( isSplitRend ) -#endif { IF( ( error = isar_set_split_rend_setup( st_ivas->hSplitBinRend, &st_ivas->hRenderConfig->split_rend_config, st_ivas->hCombinedOrientationData, splitRendBits ) ) != IVAS_ERR_OK ) { @@ -2052,11 +1658,7 @@ static ivas_error ivas_dec_setup_all( *-----------------------------------------------------------------*/ test(); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP IF( EQ_16( st_ivas->ini_frame, 0 ) && splitRendBits != NULL ) -#else - IF( st_ivas->ini_frame == 0 && isSplitRend ) -#endif { IF( ( error = ivas_dec_init_split_rend( st_ivas ) ) != IVAS_ERR_OK ) { @@ -2157,7 +1759,6 @@ ivas_error IVAS_DEC_GetFormat( } move32(); -#ifdef DECODER_FORMAT_SWITCHING test(); IF( EQ_32( *format, IVAS_DEC_BS_MASA ) && hIvasDec->st_ivas->hMasa != NULL ) { @@ -2167,14 +1768,6 @@ ivas_error IVAS_DEC_GetFormat( move32(); } } -#else - test(); - if ( EQ_32( *format, IVAS_DEC_BS_MASA ) && EQ_32( hIvasDec->st_ivas->hMasa->config.input_ivas_format, MASA_ISM_FORMAT ) ) - { - *format = IVAS_DEC_BS_MASA_ISM; - move32(); - } -#endif return IVAS_ERR_OK; } @@ -2981,7 +2574,6 @@ ivas_error IVAS_DEC_HRTF_binary_close( } -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT /*---------------------------------------------------------------------* * IVAS_DEC_AddAcousticEnvironment( ) * @@ -3221,7 +2813,6 @@ ivas_error IVAS_DEC_GetAcousticEnvironment( } } -#endif /*---------------------------------------------------------------------* * copyRendererConfigStruct( ) @@ -3239,10 +2830,8 @@ static ivas_error copyRendererConfigStruct( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT hRCout->roomAcoustics.aeID = hRCin->roomAcoustics.aeID; move16(); -#endif hRCout->roomAcoustics.nBands = hRCin->roomAcoustics.nBands; hRCout->roomAcoustics.acousticPreDelay_fx = hRCin->roomAcoustics.acousticPreDelay_fx; hRCout->roomAcoustics.inputPreDelay_fx = hRCin->roomAcoustics.inputPreDelay_fx; @@ -3340,10 +2929,8 @@ ivas_error IVAS_DEC_FeedRenderConfig( hRenderConfig = hIvasDec->st_ivas->hRenderConfig; st_ivas = hIvasDec->st_ivas; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT hRenderConfig->roomAcoustics.aeID = renderConfig.roomAcoustics.aeID; move16(); -#endif hRenderConfig->roomAcoustics.nBands = renderConfig.roomAcoustics.nBands; hRenderConfig->roomAcoustics.acousticPreDelay_fx = renderConfig.roomAcoustics.acousticPreDelay_fx; hRenderConfig->roomAcoustics.inputPreDelay_fx = renderConfig.roomAcoustics.inputPreDelay_fx; @@ -3439,7 +3026,6 @@ ivas_error IVAS_DEC_FeedRenderConfig( return IVAS_ERR_OK; } -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT /*---------------------------------------------------------------------* * feedAcousticEnvPI( ) @@ -3585,7 +3171,6 @@ static ivas_error feedAcousticEnvPI( return IVAS_ERR_OK; } -#endif /*---------------------------------------------------------------------* * IVAS_DEC_GetDelay( ) @@ -3903,90 +3488,6 @@ ivas_error IVAS_DEC_VoIP_SetScale( return IVAS_ERR_OK; } -#ifdef VARIABLE_SPEED_DECODING - -/*---------------------------------------------------------------------* - * IVAS_DEC_EnableTsm( ) - * - * Enable Time-Scale Modification (TSM) - *---------------------------------------------------------------------*/ - -ivas_error IVAS_DEC_EnableTsm( - IVAS_DEC_HANDLE hIvasDec /* i/o: IVAS decoder handle */ -) -{ - AUDIO_CONFIG output_config; - ivas_error error; - - test(); - IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - hIvasDec->st_ivas->hDecoderConfig->Opt_tsm = 1; - move16(); - - /* Init flush buffer if necessary (only needed for binaural) */ - output_config = hIvasDec->st_ivas->hDecoderConfig->output_config; - - test(); - test(); - test(); - test(); - test(); - IF( hIvasDec->flushbuffer == NULL && ( EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_IR ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB ) || EQ_32( output_config == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED ) || EQ_32( output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) ) - { - IF( ( error = create_flush_buffer( hIvasDec ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * IVAS_DEC_TSM_SetQuality( ) - * - * set the quality theshold for the time scale modiciation that is used - * to determine if the TSM yielded a signal that satisfies the minimum - * quality requirements. - * quality is lower limit for minimum quality - * Range is [-2;2] - where positive values allow - * only pasting with same phase information - * Negative values would yield cross phased pasting - * When not setting the minimum quality with this function the default - * value used is 1.0f - * - *---------------------------------------------------------------------*/ - -ivas_error IVAS_DEC_TSM_SetQuality( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const Word16 quality /* i : target TSM quality Q14 */ -) -{ - test(); - IF( hIvasDec == NULL || hIvasDec->st_ivas == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - IF( !hIvasDec->st_ivas->hDecoderConfig->Opt_tsm ) - { - return IVAS_ERR_TSM_NOT_ENABLED; - } - ELSE - { - hIvasDec->tsm_quality = quality; // Q14 - move16(); - } - - return IVAS_ERR_OK; -} - -#endif /*---------------------------------------------------------------------* * renderer_type_to_mode() @@ -4048,9 +3549,6 @@ ivas_error IVAS_DEC_ReadFormat( { ivas_error error; Decoder_Struct *st_ivas; -#ifndef DECODER_FORMAT_SWITCHING - IVAS_FORMAT ivas_format_old; -#endif ISM_MODE ism_mode_old; MC_MODE mc_mode_old; Word16 nchan_transport_old; @@ -4064,9 +3562,6 @@ ivas_error IVAS_DEC_ReadFormat( } st_ivas = hIvasDec->st_ivas; -#ifndef DECODER_FORMAT_SWITCHING - ivas_format_old = st_ivas->ivas_format; -#endif ism_mode_old = st_ivas->ism_mode; mc_mode_old = st_ivas->mc_mode; nchan_transport_old = st_ivas->nchan_transport; @@ -4075,9 +3570,6 @@ ivas_error IVAS_DEC_ReadFormat( renderer_type_old = st_ivas->renderer_type; renderer_type_sec_old = ivas_renderer_secondary_select_fx( st_ivas ); move32(); -#ifndef DECODER_FORMAT_SWITCHING - move32(); -#endif move32(); move16(); move32(); @@ -4100,21 +3592,10 @@ ivas_error IVAS_DEC_ReadFormat( return error; } -#ifdef DECODER_FORMAT_SWITCHING IF( EQ_16( st_ivas->restartNeeded, 1 ) ) { return IVAS_ERR_OK; } -#else - - test(); - test(); - test(); - IF( NE_32( ivas_format_old, st_ivas->ivas_format ) && GT_16( st_ivas->ini_frame, 0 ) && ( NE_32( st_ivas->ivas_format, MASA_FORMAT ) && NE_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) ) ) - { - return ( IVAS_ERROR( IVAS_ERR_INVALID_INPUT_FORMAT, "IVAS format switching is not allowed." ) ); - } -#endif /* Select binaural renderer */ ivas_renderer_select( st_ivas ); @@ -4283,10 +3764,7 @@ static ivas_error apa_exec_evs_wrapper( *---------------------------------------------------------------------*/ ivas_error IVAS_DEC_GetSamplesDecoder( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ -#ifndef FIX_1119_SPLIT_RENDERING_VOIP - const Word16 isSplitRend, /* i : split rendering enabled flag */ -#endif + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ ISAR_SPLIT_REND_BITS_DATA *splitRendBits /* o : output split rendering bits */ ) { @@ -4320,11 +3798,7 @@ ivas_error IVAS_DEC_GetSamplesDecoder( * Setup all decoder parts (IVAS decoder, ISAR) *-----------------------------------------------------------------*/ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP IF( NE_32( ( error = ivas_dec_setup_all( hIvasDec, &nTransportChannels, splitRendBits ) ), IVAS_ERR_OK ) ) -#else - IF( ( error = ivas_dec_setup_all( hIvasDec, &nTransportChannels, isSplitRend, splitRendBits ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -4413,11 +3887,7 @@ ivas_error IVAS_DEC_GetSamplesDecoder( IF( st_ivas->hDecoderConfig->Opt_tsm ) { /* feed residual samples to TSM for the next call */ -#ifdef FIX_2174_JBM_BASOP_ALIGNMENT IF( apa_set_renderer_residual_samples( hIvasDec->hTimeScaler, (UWord16) nResidualSamples ) != 0 ) -#else - IF( apa_set_renderer_residual_samples( hIvasDec->hTimeScaler, (uint16_t) nResidualSamples ) != 0 ) -#endif { return IVAS_ERR_UNKNOWN; } @@ -4458,10 +3928,8 @@ ivas_error IVAS_DEC_GetSamplesDecoder( move32(); hIsmMetaData[obj]->edited_radius_fx = hIsmMetaData[obj]->radius_fx; move32(); -#ifdef FIX_2148_OBJ_EDIT_ISSUE_WITH_OSBA hIsmMetaData[obj]->edited_gain_fx = ONE_IN_Q29; move32(); -#endif } if ( EQ_32( st_ivas->ism_mode, ISM_SBA_MODE_DISC ) ) @@ -4597,12 +4065,6 @@ ivas_error IVAS_DEC_GetEditableParameters( hIvasEditableParameters->num_obj = 0; move16(); } -#ifdef DEBUGGING - ELSE - { - assert( 0 && "This should never happen!" ); - } -#endif } ELSE IF( EQ_32( st_ivas->ivas_format, MASA_ISM_FORMAT ) || ( EQ_32( st_ivas->ivas_format, MASA_FORMAT ) && GT_16( st_ivas->nchan_ism, 0 ) ) ) { @@ -4673,12 +4135,6 @@ ivas_error IVAS_DEC_GetEditableParameters( hIvasEditableParameters->num_obj = 0; move16(); } -#ifdef DEBUGGING - ELSE - { - assert( 0 && "This should never happen!" ); - } -#endif } return IVAS_ERR_OK; @@ -4734,9 +4190,6 @@ ivas_error IVAS_DEC_SetEditableParameters( test(); IF( EQ_32( ism_mode, ISM_MODE_DISC ) || EQ_32( ism_mode, ISM_SBA_MODE_DISC ) ) { -#ifdef DEBUGGING - assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism ); -#endif FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { st_ivas->hIsmMetaData[obj]->edited_azimuth_fx = hIvasEditableParameters.ism_metadata[obj].azimuth_fx; @@ -4749,7 +4202,6 @@ ivas_error IVAS_DEC_SetEditableParameters( move32(); st_ivas->hIsmMetaData[obj]->edited_pitch_fx = hIvasEditableParameters.ism_metadata[obj].pitch_fx; move32(); -#ifdef FIX_GAIN_EDIT_LIMITS IF( GT_32( hIvasEditableParameters.ism_metadata[obj].gain_fx, EDIT_GAIN_MAX_Q29 ) ) { st_ivas->hIsmMetaData[obj]->edited_gain_fx = EDIT_GAIN_MAX_Q29; @@ -4760,17 +4212,12 @@ ivas_error IVAS_DEC_SetEditableParameters( st_ivas->hIsmMetaData[obj]->edited_gain_fx = hIvasEditableParameters.ism_metadata[obj].gain_fx; move32(); } -#else - st_ivas->hIsmMetaData[obj]->edited_gain_fx = hIvasEditableParameters.ism_metadata[obj].gain_fx; - move32(); -#endif st_ivas->hIsmMetaData[obj]->non_diegetic_flag = hIvasEditableParameters.ism_metadata[obj].non_diegetic_flag; move16(); } IF( EQ_32( ism_mode, ISM_SBA_MODE_DISC ) ) { -#ifdef FIX_GAIN_EDIT_LIMITS IF( GT_32( hIvasEditableParameters.gain_bed_fx, EDIT_GAIN_MAX_Q29 ) ) { st_ivas->hSbaIsmData->gain_bed_fx = EDIT_GAIN_MAX_Q29; @@ -4781,17 +4228,10 @@ ivas_error IVAS_DEC_SetEditableParameters( st_ivas->hSbaIsmData->gain_bed_fx = hIvasEditableParameters.gain_bed_fx; move32(); } -#else - st_ivas->hSbaIsmData->gain_bed_fx = hIvasEditableParameters.gain_bed_fx; - move32(); -#endif } } ELSE IF( EQ_32( ism_mode, ISM_MODE_PARAM ) ) { -#ifdef DEBUGGING - assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism ); -#endif FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { st_ivas->hParamIsmDec->edited_azimuth_values_fx[obj] = hIvasEditableParameters.ism_metadata[obj].azimuth_fx; @@ -4801,7 +4241,6 @@ ivas_error IVAS_DEC_SetEditableParameters( IF( st_ivas->hMasaIsmData != NULL ) { -#ifdef FIX_GAIN_EDIT_LIMITS /* Limit gain edit to a range of +12dB to -24dB with parametric ISM mode */ IF( GT_32( hIvasEditableParameters.gain_bed_fx, EDIT_GAIN_MAX_Q29 ) ) { @@ -4818,10 +4257,6 @@ ivas_error IVAS_DEC_SetEditableParameters( st_ivas->hMasaIsmData->gain_ism_edited_fx[obj] = shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ); // Q29 -> Q12 move16(); } -#else - st_ivas->hMasaIsmData->gain_ism_edited_fx[obj] = shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ); // Q29 -> Q12 - move32(); -#endif /* Detect direction editing in Param-ISM mode */ IF( GT_32( L_abs( L_sub( st_ivas->hParamIsmDec->azimuth_values_fx[obj], hIvasEditableParameters.ism_metadata[obj].azimuth_fx ) ), OMASA_AZI_EDIT_THR_Q22 ) || // | azi_orig[obj] - azi_edit[obj] | > azi_threshold @@ -4862,21 +4297,12 @@ ivas_error IVAS_DEC_SetEditableParameters( return IVAS_ERR_OBJECTS_EDITING_NOT_SUPPORTED; } } -#ifdef DEBUGGING - ELSE - { - assert( 0 && "This should never happen!" ); - } -#endif } ELSE IF( EQ_16( st_ivas->ivas_format, MASA_ISM_FORMAT ) && ( EQ_16( ism_mode, ISM_MASA_MODE_PARAM_ONE_OBJ ) || EQ_16( ism_mode, ISM_MASA_MODE_DISC ) ) ) { Word32 id_th; Word32 threshold_azi, threshold_ele; -#ifdef DEBUGGING - assert( hIvasEditableParameters.num_obj == st_ivas->nchan_ism ); -#endif FOR( obj = 0; obj < hIvasEditableParameters.num_obj; obj++ ) { IF( st_ivas->hMasaIsmData != NULL ) @@ -4962,7 +4388,6 @@ ivas_error IVAS_DEC_SetEditableParameters( IF( GT_16( abs_s( sub( shr( extract_h( st_ivas->hIsmMetaData[obj]->edited_gain_fx ), Q1 ), shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ) ) ), OMASA_GAIN_EDIT_THR_Q12 ) ) // | gain_edit[obj] - gain_orig[obj] | > gain_threshold { st_ivas->hMasaIsmData->ism_gain_is_edited[obj] = 1; -#ifdef FIX_GAIN_EDIT_LIMITS /* Limit gain edit to a range of +12dB to -24dB with parametric OMASA mode */ test(); IF( GT_32( hIvasEditableParameters.ism_metadata[obj].gain_fx, EDIT_GAIN_MAX_Q29 ) ) @@ -4980,10 +4405,6 @@ ivas_error IVAS_DEC_SetEditableParameters( st_ivas->hMasaIsmData->gain_ism_edited_fx[obj] = shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ); // Q29 --> Q12 move16(); } -#else - st_ivas->hMasaIsmData->gain_ism_edited_fx[obj] = shr( extract_h( hIvasEditableParameters.ism_metadata[obj].gain_fx ), Q1 ); // Q29 --> Q12 - move16(); -#endif } ELSE { @@ -4999,7 +4420,6 @@ ivas_error IVAS_DEC_SetEditableParameters( move32(); st_ivas->hIsmMetaData[obj]->edited_elevation_fx = hIvasEditableParameters.ism_metadata[obj].elevation_fx; move32(); -#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA IF( EQ_16( ism_mode, ISM_MASA_MODE_DISC ) ) { st_ivas->hIsmMetaData[obj]->edited_yaw_fx = hIvasEditableParameters.ism_metadata[obj].yaw_fx; @@ -5009,15 +4429,6 @@ ivas_error IVAS_DEC_SetEditableParameters( st_ivas->hIsmMetaData[obj]->edited_radius_fx = hIvasEditableParameters.ism_metadata[obj].radius_fx; move16(); } -#else - st_ivas->hIsmMetaData[obj]->edited_yaw_fx = hIvasEditableParameters.ism_metadata[obj].yaw_fx; - move32(); - st_ivas->hIsmMetaData[obj]->edited_pitch_fx = hIvasEditableParameters.ism_metadata[obj].pitch_fx; - move32(); - st_ivas->hIsmMetaData[obj]->edited_radius_fx = hIvasEditableParameters.ism_metadata[obj].radius_fx; - move32(); -#endif -#ifdef FIX_GAIN_EDIT_LIMITS test(); IF( GT_32( hIvasEditableParameters.ism_metadata[obj].gain_fx, EDIT_GAIN_MAX_Q29 ) ) { @@ -5031,10 +4442,6 @@ ivas_error IVAS_DEC_SetEditableParameters( { st_ivas->hIsmMetaData[obj]->edited_gain_fx = hIvasEditableParameters.ism_metadata[obj].gain_fx; } -#else - st_ivas->hIsmMetaData[obj]->edited_gain_fx = hIvasEditableParameters.ism_metadata[obj].gain_fx; - move32(); -#endif st_ivas->hIsmMetaData[obj]->non_diegetic_flag = hIvasEditableParameters.ism_metadata[obj].non_diegetic_flag; move16(); } @@ -5042,7 +4449,6 @@ ivas_error IVAS_DEC_SetEditableParameters( IF( GT_16( abs_s( sub( shr( extract_h( hIvasEditableParameters.gain_bed_fx ), Q1 ), ONE_IN_Q12 ) ), OMASA_GAIN_EDIT_THR_Q12 ) ) // | gain_bed - 1.0f | > gain_threshold { -#ifdef FIX_GAIN_EDIT_LIMITS /* Limit gain edit to a range of +12dB to -24dB with parametric OMASA mode */ test(); IF( GT_32( hIvasEditableParameters.gain_bed_fx, EDIT_GAIN_MAX_Q29 ) ) @@ -5060,10 +4466,6 @@ ivas_error IVAS_DEC_SetEditableParameters( st_ivas->hMasaIsmData->gain_masa_edited_fx = shr( extract_h( hIvasEditableParameters.gain_bed_fx ), Q1 ); move16(); } -#else - st_ivas->hMasaIsmData->gain_masa_edited_fx = shr( extract_h( hIvasEditableParameters.gain_bed_fx ), Q1 ); - move32(); -#endif st_ivas->hMasaIsmData->masa_gain_is_edited = 1; } ELSE @@ -5106,8 +4508,6 @@ ivas_error IVAS_DEC_PrepareRenderer( } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP - /*---------------------------------------------------------------------* * ivas_dec_voip_get_samples_common( ) * @@ -5117,23 +4517,13 @@ ivas_error IVAS_DEC_PrepareRenderer( static ivas_error ivas_dec_voip_get_samples_common -#else -/*---------------------------------------------------------------------* - * IVAS_DEC_VoIP_GetSamples( ) - * - * Main function to decode one frame in VoIP - *---------------------------------------------------------------------*/ -ivas_error IVAS_DEC_VoIP_GetSamples -#endif ( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - UWord16 nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ - /* const IVAS_DEC_PCM_TYPE pcmType, */ /* i : type for the decoded PCM resolution */ - Word16 *pcmBuf, /* o : output synthesis signal */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + UWord16 nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ + /* const IVAS_DEC_PCM_TYPE pcmType, */ /* i : type for the decoded PCM resolution */ + Word16 *pcmBuf, /* o : output synthesis signal */ ISAR_SPLIT_REND_BITS_DATA *splitRendBits, /* o : output split rendering bits */ Word32 **p_head_pose_buf, /* i : PCM buffer with head-pose data */ -#endif #ifdef SUPPORT_JBM_TRACEFILE JbmTraceFileWriterFn jbmWriterFn, void *jbmWriter, @@ -5175,7 +4565,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples return IVAS_ERR_WRONG_PARAMS; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP test(); test(); IF( ( EQ_32( hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) || @@ -5184,7 +4573,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples { return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#endif /* make sure that the FIFO after decoder/scaler contains at least one sound card frame (i.e. 20ms) */ WHILE( LT_16( *nSamplesRendered, nSamplesPerChannel ) ) @@ -5354,11 +4742,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples test(); IF( hIvasDec->nSamplesAvailableNext == 0 || EQ_16( hIvasDec->nSamplesAvailableNext, hIvasDec->nSamplesFrame ) ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP IF( NE_32( ( error = IVAS_DEC_GetSamplesDecoder( hIvasDec, splitRendBits ) ), IVAS_ERR_OK ) ) -#else - IF( ( error = IVAS_DEC_GetSamplesDecoder( hIvasDec, 0, 0 ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -5383,7 +4767,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples } } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP IF( splitRendBits != NULL ) { /* Render head poses from time-scaled transport channels */ @@ -5392,63 +4775,53 @@ ivas_error IVAS_DEC_VoIP_GetSamples return error; } } - ELSE - { -#endif + ELSE{ /* render IVAS frames directly to the output buffer */ - IF( NE_32( ( error = IVAS_DEC_GetSamplesRenderer( hIvasDec, nSamplesToRender, pcmBuf + imult1616( *nSamplesRendered, nOutChannels ), &nSamplesRendered_loop, &tmp ) ), IVAS_ERR_OK ) ) - { + IF( NE_32( ( error = IVAS_DEC_GetSamplesRenderer( hIvasDec, nSamplesToRender, pcmBuf + imult1616( *nSamplesRendered, nOutChannels ), &nSamplesRendered_loop, &tmp ) ), IVAS_ERR_OK ) ){ return error; - } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP - } -#endif - - *nSamplesRendered = add( *nSamplesRendered, nSamplesRendered_loop ); - update_voip_rendered20ms( hIvasDec, nSamplesRendered_loop ); } } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP - IF( hIvasDec->hasDecodedFirstGoodFrame && splitRendBits != NULL ) + *nSamplesRendered = add( *nSamplesRendered, nSamplesRendered_loop ); + update_voip_rendered20ms( hIvasDec, nSamplesRendered_loop ); +} +} + +IF( hIvasDec->hasDecodedFirstGoodFrame &&splitRendBits != NULL ) +{ + Word16 Q_out[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS]; + Word16 i; + + /* Analyse head poses over entire frame, generate ISAR metadata and maybe encode if split coded */ + IF( NE_32( ( error = isar_generate_metadata_and_bitstream( st_ivas, p_head_pose_buf, *nSamplesRendered, splitRendBits, Q_out ) ), IVAS_ERR_OK ) ) { - Word16 Q_out[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS]; - Word16 i; + return error; + } - /* Analyse head poses over entire frame, generate ISAR metadata and maybe encode if split coded */ - IF( NE_32( ( error = isar_generate_metadata_and_bitstream( st_ivas, p_head_pose_buf, *nSamplesRendered, splitRendBits, Q_out ) ), IVAS_ERR_OK ) ) + /* Synthesise PCM output if split PCM */ + IF( EQ_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) + { + FOR( i = 0; i < BINAURAL_CHANNELS; i++ ) { - return error; + scale_sig32( p_head_pose_buf[i], *nSamplesRendered, sub( Q11, Q_out[i] ) ); // Q11 } - /* Synthesise PCM output if split PCM */ - IF( EQ_32( st_ivas->hDecoderConfig->output_config, IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM ) ) + IF( EQ_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) ) { - FOR( i = 0; i < BINAURAL_CHANNELS; i++ ) - { - scale_sig32( p_head_pose_buf[i], *nSamplesRendered, sub( Q11, Q_out[i] ) ); // Q11 - } - - IF( EQ_32( st_ivas->hDecoderConfig->render_framesize, IVAS_RENDER_FRAMESIZE_5MS ) ) - { -#ifndef DISABLE_LIMITER - ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 ); -#endif - } - ELSE - { - ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 ); - } - - ivas_syn_output_fx( p_head_pose_buf, Q11, *nSamplesRendered, st_ivas->hDecoderConfig->nchan_out, pcmBuf ); + ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 ); } + ELSE + { + ivas_limiter_dec_fx( st_ivas->hLimiter, p_head_pose_buf, st_ivas->hDecoderConfig->nchan_out, *nSamplesRendered, st_ivas->BER_detect, Q11 ); + } + + ivas_syn_output_fx( p_head_pose_buf, Q11, *nSamplesRendered, st_ivas->hDecoderConfig->nchan_out, pcmBuf ); } -#endif +} - return IVAS_ERR_OK; +return IVAS_ERR_OK; } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*---------------------------------------------------------------------* * IVAS_DEC_VoIP_GetSamples( ) @@ -5545,7 +4918,6 @@ ivas_error IVAS_DEC_VoIP_GetSplitBinauralBitstream( parametersAvailableForEditing, systemTimestamp_ms ); } -#endif /*---------------------------------------------------------------------* @@ -5604,10 +4976,8 @@ ivas_error IVAS_DEC_Flush( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR hIvasDec->st_ivas->flushing = 1; move16(); -#endif *nSamplesFlushed = s_min( nSamplesPerChannel, hIvasDec->nSamplesAvailableNext ); move16(); @@ -5630,16 +5000,13 @@ ivas_error IVAS_DEC_Flush( move16(); } -#ifdef TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR hIvasDec->st_ivas->flushing = 0; move16(); -#endif return error; } -#ifdef DECODER_FORMAT_SWITCHING /*---------------------------------------------------------------------* * IVAS_DEC_isRestartNeeded( ) * @@ -5669,7 +5036,6 @@ ivas_error IVAS_DEC_isRestartNeeded( } -#endif /*---------------------------------------------------------------------* * IVAS_DEC_VoIP_IsEmpty( ) * @@ -5911,7 +5277,6 @@ static ivas_error printConfigInfo_dec( } ELSE { -#ifdef FIX_1419_MONO_STEREO_UMX output_config = st_ivas->hDecoderConfig->output_config; IF( NE_16( (Word16) output_config, IVAS_AUDIO_CONFIG_MONO ) ) { @@ -5920,11 +5285,8 @@ static ivas_error printConfigInfo_dec( } ELSE { -#endif fprintf( stdout, "Output configuration: mono EVS bit-exact decoding\n" ); -#ifdef FIX_1419_MONO_STEREO_UMX } -#endif } } ELSE @@ -6108,11 +5470,7 @@ static ivas_error evs_dec_main_fx( { DEC_CORE_HANDLE *hCoreCoder; Word16 mixer_left_fx, mixer_right_fx; -#ifdef FIX_1419_MONO_STEREO_UMX Word32 *p_output_fx[MAX_TRANSPORT_CHANNELS]; -#else - Word32 *p_output_fx[MAX_OUTPUT_CHANNELS_IN_DIEGETIC_PAN]; -#endif Word16 ch, i, nOutSamples; Word16 output_16[L_FRAME48k]; ivas_error error; @@ -6127,19 +5485,13 @@ static ivas_error evs_dec_main_fx( mdct_switching_dec_fx( hCoreCoder[0] ); -#ifdef FIX_1419_MONO_STEREO_UMX FOR( ch = 0; ch < MAX_TRANSPORT_CHANNELS; ch++ ) -#else - FOR( ch = 0; ch < MAX_OUTPUT_CHANNELS_IN_DIEGETIC_PAN; ch++ ) -#endif { p_output_fx[ch] = st_ivas->p_output_fx[ch]; // Q0 -#ifdef FIX_1419_MONO_STEREO_UMX IF( p_output_fx[ch] != NULL ) { set_zero_fx( p_output_fx[ch], L_FRAME48k ); } -#endif } /* run the main EVS decoding routine */ @@ -6201,12 +5553,8 @@ static ivas_error evs_dec_main_fx( v_multc_fx_16( p_output_fx[0], mixer_left_fx, p_output_fx[0], nOutSamples ); /* Q11 */ } -#ifdef FIX_1419_MONO_STEREO_UMX test(); IF( st_ivas->hDecoderConfig->Opt_tsm && EQ_16( st_ivas->hDecoderConfig->nchan_out, 1 ) ) -#else - IF( st_ivas->hDecoderConfig->Opt_tsm ) -#endif { /* BE workaround: in order to keep EVS bit-exact wrt. TS 26.443, convert 'float' output data to 'short' before the TSM */ /* not applicable in BASOP */ @@ -6458,9 +5806,7 @@ static ivas_error ivas_create_handle_isar( ) { ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE hSplitBinRend; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word16 i; -#endif IF( ( hSplitBinRend = (ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE) malloc( sizeof( ISAR_DEC_SPLIT_REND_WRAPPER ) ) ) == NULL ) { @@ -6469,15 +5815,11 @@ static ivas_error ivas_create_handle_isar( isar_init_split_rend_handles( &hSplitBinRend->splitrend ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP hSplitBinRend->hMultiBinTdData = NULL; FOR( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; ++i ) { hSplitBinRend->hMultiBinCldfbData[i] = NULL; } -#else - hSplitBinRend->hMultiBinCldfbData = NULL; -#endif hSplitBinRend->hCldfbDataOut = NULL; hSplitBinRend->numTdSamplesPerChannelCached = 0; move16(); @@ -6498,13 +5840,10 @@ static void ivas_destroy_handle_isar( ISAR_DEC_SPLIT_REND_WRAPPER_HANDLE *hSplitBinRend /* i/o: ISAR split binaural rendering handle */ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word16 i; -#endif IF( *hSplitBinRend != NULL ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP IF( ( *hSplitBinRend )->hMultiBinTdData != NULL ) { ivas_TD_RINGBUF_Close( &( *hSplitBinRend )->hMultiBinTdData ); @@ -6517,12 +5856,6 @@ static void ivas_destroy_handle_isar( ivas_CLDFB_RINGBUF_Close( &( *hSplitBinRend )->hMultiBinCldfbData[i] ); } } -#else -#ifdef TMP_FIX_SPLIT_REND - free( ( *hSplitBinRend )->hMultiBinCldfbData ); - ( *hSplitBinRend )->hMultiBinCldfbData = NULL; -#endif -#endif ISAR_PRE_REND_close( &( *hSplitBinRend )->splitrend, NULL ); @@ -6730,7 +6063,6 @@ static ivas_error ivas_dec_reconfig_split_rend( } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*-------------------------------------------------------------------* * ivas_dec_split_rend_cldfb_in() * @@ -6756,7 +6088,6 @@ static Word16 ivas_dec_split_rend_cldfb_in( return 0; } } -#endif /*-------------------------------------------------------------------* @@ -6772,10 +6103,8 @@ static ivas_error ivas_dec_init_split_rend( ivas_error error; Word16 cldfb_in_flag, pcm_out_flag; Word16 mixed_td_cldfb_flag; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word16 i, num_poses; ISAR_SPLIT_REND_ROT_AXIS head_rot_axis; -#endif pcm_out_flag = 0; move16(); @@ -6787,29 +6116,8 @@ static ivas_error ivas_dec_init_split_rend( cldfb_in_flag = 0; move16(); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP cldfb_in_flag = ivas_dec_split_rend_cldfb_in( st_ivas->renderer_type ); -#else -#ifdef TMP_FIX_SPLIT_REND - /* note: this is intra-frame heap memory */ - IF( ( st_ivas->hSplitBinRend->hMultiBinCldfbData = (ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA_HANDLE) malloc( sizeof( ISAR_DEC_SPLIT_REND_MULTI_BIN_CLDFB_DATA ) ) ) == NULL ) - { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for split rendering structure" ); - } -#endif - - IF( EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV ) || - EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_FASTCONV_ROOM ) || - EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_PARAMETRIC ) || - EQ_16( st_ivas->renderer_type, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) - { - cldfb_in_flag = 1; - move16(); - } -#endif - -#ifdef FIX_1119_SPLIT_RENDERING_VOIP head_rot_axis = DEFAULT_AXIS; move32(); if ( st_ivas->hHeadTrackData != NULL ) @@ -6842,10 +6150,6 @@ static ivas_error ivas_dec_init_split_rend( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for split rendering structure" ); } } -#else - - ISAR_PRE_REND_GetMultiBinPoseData( &st_ivas->hRenderConfig->split_rend_config, &st_ivas->hSplitBinRend->splitrend.multiBinPoseData, ( st_ivas->hHeadTrackData != NULL ) ? st_ivas->hHeadTrackData->sr_pose_pred_axis : DEFAULT_AXIS ); -#endif IF( EQ_16( cldfb_in_flag, 1 ) && ( EQ_16( st_ivas->hSplitBinRend->splitrend.multiBinPoseData.poseCorrectionMode, ISAR_SPLIT_REND_POSE_CORRECTION_MODE_NONE ) ) ) { @@ -6912,7 +6216,6 @@ ivas_error IVAS_DEC_is_split_rendering_coded_out( return IVAS_ERR_OK; } -#ifdef IVAS_RTPDUMP /*---------------------------------------------------------------------* * feedSinglePIorientation( ) @@ -6975,9 +6278,6 @@ static ivas_error feedSinglePIorientation( return IVAS_ERR_OK; } -#endif - -#ifdef RTP_S4_251135_CR26253_0016_REV1 /*---------------------------------------------------------------------* * setDiegeticInput( ) @@ -7007,9 +6307,7 @@ static void setDiegeticInputPI( return; } -#endif -#ifdef IVAS_RTPDUMP /*---------------------------------------------------------------------* * IVAS_DEC_FeedPiDataToDecoder( ) * @@ -7045,13 +6343,6 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( case IVAS_PI_SCENE_ORIENTATION: { IVAS_QUATERNION *quat = &piData->data.scene.orientation; -#ifdef DEBUGGING - fprintf( stdout, "PI_SCENE_ORIENTATION : %f, %f, %f, %f\n", - fixedToFloat( quat->w_fx, Q15 ), - fixedToFloat( quat->x_fx, Q15 ), - fixedToFloat( quat->y_fx, Q15 ), - fixedToFloat( quat->z_fx, Q15 ) ); -#endif error = feedSinglePIorientation( hIvasDec, true, quat ); } BREAK; @@ -7059,26 +6350,15 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( case IVAS_PI_DEVICE_ORIENTATION_COMPENSATED: { IVAS_QUATERNION *quat = &piData->data.deviceCompensated.orientation; -#ifdef DEBUGGING - fprintf( stdout, "PI_DEVICE_ORIENTATION : %f, %f, %f, %f\n", - fixedToFloat( quat->w_fx, Q15 ), - fixedToFloat( quat->x_fx, Q15 ), - fixedToFloat( quat->y_fx, Q15 ), - fixedToFloat( quat->z_fx, Q15 ) ); -#endif error = feedSinglePIorientation( hIvasDec, true, quat ); } BREAK; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT case IVAS_PI_ACOUSTIC_ENVIRONMENT: { UWord16 aeid; aeid = piData->data.acousticEnv.aeid; move16(); -#ifdef DEBUGGING - fprintf( stdout, "PI_ACOUSTIC_ENVIRONMENT : AEID : %d\n", aeid ); -#endif test(); test(); IF( piData->data.acousticEnv.availLateReverb && st_ivas->hRenderConfig != NULL && aeid != st_ivas->hRenderConfig->roomAcoustics.aeID ) @@ -7087,18 +6367,12 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( } } BREAK; -#endif -#ifdef RTP_S4_251135_CR26253_0016_REV1 case IVAS_PI_DIEGETIC_TYPE: { -#ifdef DEBUGGING - fprintf( stdout, "PI_DIEGETIC_TYPE : %d, %d, %d, %d, %d\n", piData->data.digeticIndicator.isDiegetic[0], piData->data.digeticIndicator.isDiegetic[1], piData->data.digeticIndicator.isDiegetic[2], piData->data.digeticIndicator.isDiegetic[3], piData->data.digeticIndicator.isDiegetic[4] ); -#endif setDiegeticInputPI( hIvasDec, piData->data.digeticIndicator.isDiegetic ); } BREAK; -#endif default: { @@ -7117,4 +6391,3 @@ ivas_error IVAS_DEC_FeedPiDataToDecoder( return IVAS_ERR_OK; } -#endif diff --git a/lib_dec/lp_exc_d_fx.c b/lib_dec/lp_exc_d_fx.c index f64bed65f6b9033d372ea7ef56e490a3bc5bcef6..72b7e6a1431aa34af7aca5f5a1ca618ea173fe21 100644 --- a/lib_dec/lp_exc_d_fx.c +++ b/lib_dec/lp_exc_d_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/lsf_dec_fx.c b/lib_dec/lsf_dec_fx.c index dde492027e9587ceb25e47e46d33ffaed689c8de..4e5f93d18969fb37fed441bc2897f8474e8cfcf6 100644 --- a/lib_dec/lsf_dec_fx.c +++ b/lib_dec/lsf_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/lsf_msvq_ma_dec_fx.c b/lib_dec/lsf_msvq_ma_dec_fx.c index d90553016b9c7dc75450e4a3e42f14f517658a0d..da903cb845cf5a29641f13ea3c5b06e104392ca5 100644 --- a/lib_dec/lsf_msvq_ma_dec_fx.c +++ b/lib_dec/lsf_msvq_ma_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/nelp_dec_fx.c b/lib_dec/nelp_dec_fx.c index c088dd82663b8faa30514363b931ccd27ba39001..d7e5d5572a95b2050e98de4ab8cee330b5a74a45 100644 --- a/lib_dec/nelp_dec_fx.c +++ b/lib_dec/nelp_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/peak_vq_dec_fx.c b/lib_dec/peak_vq_dec_fx.c index 4eee76ec9bd4748f90f8164bd847ab6b83e541ce..6a55d194e2c4fd8f90389360cbb143d93056eb82 100644 --- a/lib_dec/peak_vq_dec_fx.c +++ b/lib_dec/peak_vq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/pit_dec_fx.c b/lib_dec/pit_dec_fx.c index d672ae9ca405054fcc9f57de23be6f8d214e5561..bdb2207fc877f333e253f87e8ab04a0b17054002 100644 --- a/lib_dec/pit_dec_fx.c +++ b/lib_dec/pit_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/pitch_extr_fx.c b/lib_dec/pitch_extr_fx.c index 5d6e397b0c6de34d9660a5c93915a26884056c3b..2a25d9258c0abce5c3bd48f5aa3c875abd467fbd 100644 --- a/lib_dec/pitch_extr_fx.c +++ b/lib_dec/pitch_extr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/post_dec_fx.c b/lib_dec/post_dec_fx.c index b593c99c57227b019d4d837b9dd5a82e70929298..5f2c587a5dbfcac03aeff8497aeb77c9e0f16b04 100644 --- a/lib_dec/post_dec_fx.c +++ b/lib_dec/post_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/ppp_dec_fx.c b/lib_dec/ppp_dec_fx.c index 8656c7e53a19b74aa615fff3c27c4831eea85892..5c95ba26d824c199e5e51415c4edffc59de99c96 100644 --- a/lib_dec/ppp_dec_fx.c +++ b/lib_dec/ppp_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/pvq_core_dec_fx.c b/lib_dec/pvq_core_dec_fx.c index c507c134424edb72054d9510813c4169992a0748..8f58896e6aa990fd322ce73a04a56691809f818f 100644 --- a/lib_dec/pvq_core_dec_fx.c +++ b/lib_dec/pvq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/pvq_decode_fx.c b/lib_dec/pvq_decode_fx.c index 3bd3e12d1817d431a8b74f84105a5fe9da14963b..22cce7d75e41961be046b61af987f24eec9bdae5 100644 --- a/lib_dec/pvq_decode_fx.c +++ b/lib_dec/pvq_decode_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/range_dec_fx.c b/lib_dec/range_dec_fx.c index e63435f5b5a96163243d3ca186d01c25f123c0f6..5673a965903d316d3e33137f236e0dd8e1808061 100644 --- a/lib_dec/range_dec_fx.c +++ b/lib_dec/range_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/re8_dec_fx.c b/lib_dec/re8_dec_fx.c index e6c35e29339fc8dc0f9080434b1ab8ed19f6f9e9..01c32602d0709fbe8126b6c5eaa6f38ab2d3b974 100644 --- a/lib_dec/re8_dec_fx.c +++ b/lib_dec/re8_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/rom_dec.h b/lib_dec/rom_dec.h index 0d1c8d4f5d2a301d175a982aae197a51005a20c8..a8ebe3b21f3f0c6aec416f4e06691c69d833929b 100644 --- a/lib_dec/rom_dec.h +++ b/lib_dec/rom_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/rom_dec_fx.c b/lib_dec/rom_dec_fx.c index 0493e48ebf551cf23c70a032a36725ad572877e1..347477352442453777f3639d2223bdf0d2d1b7ca 100644 --- a/lib_dec/rom_dec_fx.c +++ b/lib_dec/rom_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_dec/rst_dec_fx.c b/lib_dec/rst_dec_fx.c index c226d8b9a68830300eec9c433d781875fde11569..ebe7f0fbb39e8c20929a5706fc965ad160374a66 100644 --- a/lib_dec/rst_dec_fx.c +++ b/lib_dec/rst_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h index fd8f2943401014632f10409c37e9c3a4f828b02d..0230e0f9108ffaaa415cb1fce06b136e24e646f7 100644 --- a/lib_dec/stat_dec.h +++ b/lib_dec/stat_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -1016,11 +988,8 @@ typedef struct Decoder_State * Common parameters *----------------------------------------------------------------------------------*/ - Word16 idchan; /* channel ID (audio channel number) */ - Word16 element_mode; /* element mode */ -#ifdef DEBUGGING - Word16 id_element; /* element ID */ -#endif + Word16 idchan; /* channel ID (audio channel number) */ + Word16 element_mode; /* element mode */ Word32 element_brate; /* element bitrate */ Word16 codec_mode; /* Mode 1 or 2 */ Word16 mdct_sw_enable; /* MDCT switching enable flag */ @@ -1309,11 +1278,7 @@ typedef struct Decoder_State Word16 Q_syn; Word16 Q_syn2; Word16 Q_syn_cng; -#ifdef FIX_1793_DEC_MC_TO_MONO_SCALING_ISSUE Word16 Q_syn_factor; // This q_factor is used to avoid using fix Q0 for synth[] at the output of con_tcx_ivas_fx() and ivas_core_dec_fx(). For con_tcx_ivas_fx, it is used for two consecutive TCX concealment processes and It cannot be greater than 0. -#else - Word16 Q_syn_factor; // This q_factor is used to avoid using fixed Q0 for synth[] at the output of con_tcx_ivas_fx(). It is then used for two consecutive TCX concealment processes. It cannot be greater than 0. -#endif Word16 prev_Q_syn; Word16 prev_Q_bwe_exc; diff --git a/lib_dec/stat_noise_uv_dec_fx.c b/lib_dec/stat_noise_uv_dec_fx.c index c87e30ffec5f0f1cd5c6cb17b5562769100885bd..8c1b122024effc7c9beae7ba07b3353074fb5145 100644 --- a/lib_dec/stat_noise_uv_dec_fx.c +++ b/lib_dec/stat_noise_uv_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_fx.c b/lib_dec/swb_bwe_dec_fx.c index 42d2a9cc4a2e8015773e402e81b9751400538e11..d1222fb16283a2546e6a51d121a8f79149e379e0 100644 --- a/lib_dec/swb_bwe_dec_fx.c +++ b/lib_dec/swb_bwe_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_hr_fx.c b/lib_dec/swb_bwe_dec_hr_fx.c index ff4d8bee65b694e9b56f26b48f8324857768f25f..c0ea187d07fef4727d418e3ae24b3378b8a4a68b 100644 --- a/lib_dec/swb_bwe_dec_hr_fx.c +++ b/lib_dec/swb_bwe_dec_hr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/swb_bwe_dec_lr_fx.c b/lib_dec/swb_bwe_dec_lr_fx.c index c0565dd75b636dc91be2e8f116a3ad43cb70515e..8dd3e87b175b9e3453f2b13d787263c0c19deb58 100644 --- a/lib_dec/swb_bwe_dec_lr_fx.c +++ b/lib_dec/swb_bwe_dec_lr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/swb_tbe_dec_fx.c b/lib_dec/swb_tbe_dec_fx.c index f1bea2e23ae5d4881ba271800091405b8fb3529a..069fab74ce31da7ca8ff018de11d9b47b23bb89d 100644 --- a/lib_dec/swb_tbe_dec_fx.c +++ b/lib_dec/swb_tbe_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/syn_outp_fx.c b/lib_dec/syn_outp_fx.c index 96ee58142430e2790f438dd817847e3566efc94f..15610876718c1a65fdc9ece39fbefb9985be6194 100644 --- a/lib_dec/syn_outp_fx.c +++ b/lib_dec/syn_outp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/tcq_core_dec_fx.c b/lib_dec/tcq_core_dec_fx.c index b0c6d9f6a60199850c053451a4f357000c6aa04a..517ab0ffae9f245615d25969a48af4b4153126ce 100644 --- a/lib_dec/tcq_core_dec_fx.c +++ b/lib_dec/tcq_core_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/tcx_utils_dec_fx.c b/lib_dec/tcx_utils_dec_fx.c index 1a847c6a0dc39ba1d5fdbc8c48bc98b39a00029b..f5f0cc23dc49d1f38799530b9c3c64da0a76aaf7 100644 --- a/lib_dec/tcx_utils_dec_fx.c +++ b/lib_dec/tcx_utils_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/tns_base_dec_fx.c b/lib_dec/tns_base_dec_fx.c index a5df034908245daa19050eef823a8701900c0bfc..6dd2f0757d685959d62900d916346f4d93d3e16c 100644 --- a/lib_dec/tns_base_dec_fx.c +++ b/lib_dec/tns_base_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/tonalMDCTconcealment_fx.c b/lib_dec/tonalMDCTconcealment_fx.c index d098eaa15e4e9700ed11759342775554694c8c15..8057250f7c038bf7e1ccf559c8a8c4de03392d12 100644 --- a/lib_dec/tonalMDCTconcealment_fx.c +++ b/lib_dec/tonalMDCTconcealment_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/transition_dec_fx.c b/lib_dec/transition_dec_fx.c index aeb91e6709b1f81a95c64f2d6a385fc9d0b3ca5a..77bd3002546d7f547e385fe0d34ef3a3883fd672 100644 --- a/lib_dec/transition_dec_fx.c +++ b/lib_dec/transition_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/updt_dec_fx.c b/lib_dec/updt_dec_fx.c index 7d389a0e23d4ced23f1d1b7ec7b29931ca8d78f1..c267d58802bb53341b69b60e22cd6303af5351c9 100644 --- a/lib_dec/updt_dec_fx.c +++ b/lib_dec/updt_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/vlpc_1st_dec_fx.c b/lib_dec/vlpc_1st_dec_fx.c index f34372453648c00213cbfcd3a350f3e200309eee..c0b96023e76438a9aa3ebc2167d15a9e37393d59 100644 --- a/lib_dec/vlpc_1st_dec_fx.c +++ b/lib_dec/vlpc_1st_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/vlpc_2st_dec_fx.c b/lib_dec/vlpc_2st_dec_fx.c index ee3d5ed7659fbf28caebb1ed25e577890e43cf7a..f77249d3c0af417217ad533a4c7febb7ef033c89 100644 --- a/lib_dec/vlpc_2st_dec_fx.c +++ b/lib_dec/vlpc_2st_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/voiced_dec_fx.c b/lib_dec/voiced_dec_fx.c index c937a3b2b6c032bb139c98919a65ae6af4f29f9f..bbc4b371143f09a7a044f595bb3e65363740668f 100644 --- a/lib_dec/voiced_dec_fx.c +++ b/lib_dec/voiced_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_dec/waveadjust_fec_dec_fx.c b/lib_dec/waveadjust_fec_dec_fx.c index f5155cacfee78d7f9d817a79c846e564104e34ea..2c1d2cbf6628680775cb38497fb83c065a0bdd68 100644 --- a/lib_dec/waveadjust_fec_dec_fx.c +++ b/lib_dec/waveadjust_fec_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/ACcontextMapping_enc_fx.c b/lib_enc/ACcontextMapping_enc_fx.c index cfc8ebb05104cda11d2aab31842f54997a20b42d..1e6122a310a6ec575691fbb646913158f2818662 100644 --- a/lib_enc/ACcontextMapping_enc_fx.c +++ b/lib_enc/ACcontextMapping_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/FEC_enc_fx.c b/lib_enc/FEC_enc_fx.c index c1e34ec8a13b9a5db1ffb9c7301365764deb826c..2bfdd6db844308c527231aa05a845d5da472709a 100644 --- a/lib_enc/FEC_enc_fx.c +++ b/lib_enc/FEC_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/SNR_calc_fx.c b/lib_enc/SNR_calc_fx.c index ebe2a819a121becd0b51355362ef5d46129c50f8..b511ad36a90fde6a682518a1c83d548d68a9be7b 100644 --- a/lib_enc/SNR_calc_fx.c +++ b/lib_enc/SNR_calc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/acelp_core_enc_fx.c b/lib_enc/acelp_core_enc_fx.c index 6c1d422522f7fb608db381fbe9479d96e43ef96a..01646f9a5de1439eae1597256c3f9bd99458c962 100644 --- a/lib_enc/acelp_core_enc_fx.c +++ b/lib_enc/acelp_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/acelp_core_switch_enc_fx.c b/lib_enc/acelp_core_switch_enc_fx.c index 77f634a604988cd6348eb55e9749f17ed89284dd..b2d780500acdf7959fd17824df81711e358361bb 100644 --- a/lib_enc/acelp_core_switch_enc_fx.c +++ b/lib_enc/acelp_core_switch_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -96,30 +99,6 @@ void acelp_core_switch_enc_fx( cbrate = L_min( st_fx->core_brate, ACELP_22k60 ); } } -#ifdef FIX_I4_OL_PITCH - IF( EQ_16( st_fx->last_codec_mode, MODE1 ) ) - { - /* in MODE1 T_op is at 12.8 kHz */ - IF( NE_16( st_fx->last_L_frame, L_FRAME ) ) /* ACELP@16k core -> convert T_op to 16 kHz */ - { - T_op[0] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[0] ), 2 ) ), 1 ), 1 ); - move16(); - T_op[1] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[1] ), 2 ) ), 1 ), 1 ); - move16(); - } - } - ELSE - { - /* in MODE2 T_op is at 16 kHz */ - IF( EQ_16( st_fx->last_L_frame, L_FRAME ) ) /* ACELP@12.8k core -> convert T_op to 12.8 kHz */ - { - move16(); - move16(); - T_op[0] = mult_r( 26214, T_op[0] ); - T_op[1] = mult_r( 26214, T_op[1] ); - } - } -#else IF( NE_16( st_fx->last_L_frame, L_FRAME ) ) { T_op[0] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[0] ), 2 ) ), 1 ), 1 ); /* Q0 */ @@ -127,7 +106,6 @@ void acelp_core_switch_enc_fx( T_op[1] = shr( add( round_fx( L_shl( L_mult( 20480, T_op[1] ), 2 ) ), 1 ), 1 ); /* Q0 */ move16(); } -#endif /*----------------------------------------------------------------* * Excitation encoding @@ -139,9 +117,6 @@ void acelp_core_switch_enc_fx( encod_gen_voic_core_switch_fx( st_fx, st_fx->last_L_frame, inp, Aq, A, T_op, exc, cbrate, shift, Q_new ); i = find_indice( hBstr, TAG_ACELP_SUBFR_LOOP_START, &value, &nb_bits ); -#ifdef DEBUGGING - assert( i >= 0 && "Internal error in ACELP core switching - unable to find ACELP subframe indices!" ); -#endif while ( hBstr->ind_list[i].id == TAG_ACELP_SUBFR_LOOP_START ) { push_indice( hBstr, IND_CORE_SWITCHING_CELP_SUBFRAME, hBstr->ind_list[i].value, hBstr->ind_list[i].nb_bits ); diff --git a/lib_enc/acelp_enc_util_fx.c b/lib_enc/acelp_enc_util_fx.c index edd36283acde2fd8f2bd1f5e788eb30bd4d9cac7..00c9ae8f4b05aabf4b2adb480fa328b048a753dd 100644 --- a/lib_enc/acelp_enc_util_fx.c +++ b/lib_enc/acelp_enc_util_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/amr_wb_enc_fx.c b/lib_enc/amr_wb_enc_fx.c index 787e5f701eea596acda5b8070587c54387bf0116..0f286d84a45bbdeb4337c6124cbbf6999af26d8e 100644 --- a/lib_enc/amr_wb_enc_fx.c +++ b/lib_enc/amr_wb_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -11,9 +14,6 @@ #include "prot_fx.h" /* Function prototypes */ #include "basop_util.h" /* Function prototypes */ #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * amr_wb_enc() @@ -581,20 +581,6 @@ void amr_wb_enc_fx( /* update main codec parameters */ updt_enc_common_fx( st, Etot, Q_new ); -#ifdef DEBUG_MODE_INFO - dbgwrite( &st->codec_mode, sizeof( short ), 1, input_frame, "res/codec" ); - dbgwrite( &st->core, sizeof( short ), 1, input_frame, "res/core" ); - dbgwrite( &st->extl, sizeof( short ), 1, input_frame, "res/extl" ); - dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, "res/bwidth" ); - float ener_flt = st->total_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/total_brate" ); - ener_flt = st->core_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/core_brate" ); - dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, "res/coder_type" ); - dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, "res/cng_type" ); - dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, "res/L_frame" ); - dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, "res/vad_flag" ); -#endif pop_wmops(); diff --git a/lib_enc/analy_lp_fx.c b/lib_enc/analy_lp_fx.c index cad8c5b0ba6b23efa6f133561c5c6e586d764625..f2837ba43ef506ea7a239991ebb2d3cea59243e0 100644 --- a/lib_enc/analy_lp_fx.c +++ b/lib_enc/analy_lp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/analy_sp_fx.c b/lib_enc/analy_sp_fx.c index 631d0a141d1420f3e4a23d4cb94afa0fd6825f47..192931521f2b7a4c79d627b2ce28d7d9bb562015 100644 --- a/lib_enc/analy_sp_fx.c +++ b/lib_enc/analy_sp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/ari_enc_fx.c b/lib_enc/ari_enc_fx.c index e9bd888bdada058b0bc173ccbe5b0b57e0c3569a..940cc45d1a50275abf14686e3cc55b7160f357f9 100644 --- a/lib_enc/ari_enc_fx.c +++ b/lib_enc/ari_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/ari_hm_enc_fx.c b/lib_enc/ari_hm_enc_fx.c index 1917216ef6f3817970040cc0de0cc93c67ea43ce..264aa0bfe72a458349b957638e94d91b61e7dca6 100644 --- a/lib_enc/ari_hm_enc_fx.c +++ b/lib_enc/ari_hm_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/arith_coder_enc_fx.c b/lib_enc/arith_coder_enc_fx.c index 12f3368dce228f49a0bd2c80cf6e180c41caed50..3c2b3bb0042e534310830679987c161c4cdb2c8b 100644 --- a/lib_enc/arith_coder_enc_fx.c +++ b/lib_enc/arith_coder_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/avq_cod_fx.c b/lib_enc/avq_cod_fx.c index 982b30d323939a75f3478a442cdae07433583ed9..da520cea20a9198dbfa8f5ee6c91f39cd110ec30 100644 --- a/lib_enc/avq_cod_fx.c +++ b/lib_enc/avq_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/bass_psfilter_enc_fx.c b/lib_enc/bass_psfilter_enc_fx.c index c4aeab22d55bbd5cec8b5331bf03525b41462552..0903a5c03f591eede48965af86cf62b0eb459de1 100644 --- a/lib_enc/bass_psfilter_enc_fx.c +++ b/lib_enc/bass_psfilter_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/bw_detect_fx.c b/lib_enc/bw_detect_fx.c index f31277e2a2b491d25373fb52b80bbf2d93a79b66..b043ccda731f4b572719e5cf248537ef8ac24c2b 100644 --- a/lib_enc/bw_detect_fx.c +++ b/lib_enc/bw_detect_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -55,11 +58,7 @@ void bw_detect_fx( Word16 spect[L_FRAME48k], spect_bin[BWD_N_BINS_MAX]; Word32 spect32[L_FRAME48k], in_win32[BWD_TOTAL_WIDTH]; Word16 e_tmp, f_tmp; -#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA Word32 L_tmp, sum32, L_tmp_q_shift; -#else - Word32 L_tmp, sum32; -#endif Word32 L_tmp1, L_tmp2, L_tmp3; Word16 scale; @@ -121,32 +120,19 @@ void bw_detect_fx( move32(); /* Q31 */ cldfb_bin_Exp[0] = add( cldfb_bin_Exp[0], CLDFBscalingFactor_EXP ); move16(); -#ifdef FIX_2141_ASSERT_IN_OMASA_BITRATE_SWITSCHING if ( cldfb_bin[0] == 0 ) { cldfb_bin[0] = L_deposit_l( 1 ); move32(); } -#else - if ( cldfb_bin[i] == 0 ) - { - cldfb_bin[i] = L_deposit_l( 1 ); - move32(); - } -#endif - L_tmp = BASOP_Util_Log2( cldfb_bin[0] ); /*(log2(660423549*2^(-31))/64)*2^31*/ -#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA + L_tmp = BASOP_Util_Log2( cldfb_bin[0] ); /*(log2(660423549*2^(-31))/64)*2^31*/ L_tmp = Mpy_32_16_1( L_tmp, INV_LOG2_10 ); // instead of adding it to L_tmp_q_shift and then multiplying by INV_LOG2_10 ( to avoid saturation ). L_tmp_q_shift = L_shl_sat( L_deposit_l( cldfb_bin_Exp[0] ), 31 - LD_DATA_SCALE ); // This term should be added to L_temp to align it to Q25 L_tmp_q_shift = Mpy_32_16_1( L_tmp_q_shift, INV_LOG2_10 ); // instead of adding it to L_tmp and then multiplying by INV_LOG2_10 ( to avoid saturation ). cldfb_bin[0] = L_add( L_tmp, L_tmp_q_shift ); /* Q25 */ -#else - L_tmp = L_add_sat( L_tmp, L_shl( L_deposit_l( cldfb_bin_Exp[0] ), 31 - LD_DATA_SCALE ) ); /* Q25 */ - cldfb_bin[0] = Mpy_32_16_1( L_tmp, 9864 /*1.0f/3.3219280948873623478703194294894f Q15*/ ); -#endif - move32(); /* 1/log2(10) */ /* Q25 */ + move32(); /* 1/log2(10) */ /* Q25 */ /* WB: 4.4 - 7.2 kHz, 8 cldfb-bands, mid band(14) counted twice */ IF( GE_32( st->input_Fs, 16000 ) ) @@ -173,19 +159,14 @@ void bw_detect_fx( cldfb_bin[i] = L_deposit_l( 1 ); move32(); } - L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/ -#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA + L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/ L_tmp = Mpy_32_16_1( L_tmp, INV_LOG2_10 ); // instead of adding it to L_tmp_q_shift and then multiplying by INV_LOG2_10 ( to avoid saturation ). L_tmp_q_shift = L_shl_sat( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ); // This term should be added to L_temp to align it to Q25 L_tmp_q_shift = Mpy_32_16_1( L_tmp_q_shift, INV_LOG2_10 ); // instead of adding it to L_tmp and then multiplying by INV_LOG2_10 ( to avoid saturation ). cldfb_bin[i] = L_add( L_tmp, L_tmp_q_shift ); /* Q25 */ -#else - L_tmp = L_add( L_tmp, L_shl( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ) ); /* Q25 */ - cldfb_bin[i] = Mpy_32_16_1( L_tmp, 9864 /*1.0f/3.3219280948873623478703194294894f Q15*/ ); -#endif - move32(); /* 1/log2(10) */ /* Q25 */ + move32(); /* 1/log2(10) */ /* Q25 */ } } @@ -221,19 +202,14 @@ void bw_detect_fx( cldfb_bin[i] = L_deposit_l( 1 ); move32(); } - L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/ -#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA + L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/ L_tmp = Mpy_32_16_1( L_tmp, INV_LOG2_10 ); // instead of adding it to L_tmp_q_shift and then multiplying by INV_LOG2_10 ( to avoid saturation ). L_tmp_q_shift = L_shl_sat( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ); // This term should be added to L_temp to align it to Q25 L_tmp_q_shift = Mpy_32_16_1( L_tmp_q_shift, INV_LOG2_10 ); // instead of adding it to L_tmp and then multiplying by INV_LOG2_10 ( to avoid saturation ). cldfb_bin[i] = L_add( L_tmp, L_tmp_q_shift ); /* Q25 */ -#else - L_tmp = L_add( L_tmp, L_shl( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ) ); /* Q25 */ - cldfb_bin[i] = Mpy_32_16_1( L_tmp, 9864 /*1.0f/3.3219280948873623478703194294894f Q15*/ ); -#endif - move32(); /* 1/log2(10) */ /* Q25 */ + move32(); /* 1/log2(10) */ /* Q25 */ } } @@ -263,19 +239,14 @@ void bw_detect_fx( cldfb_bin[i] = L_deposit_l( 1 ); move32(); } - L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/ -#ifdef FIX_2210_ASSERT_IN_BW_DETEC_FX_FOR_OMASA + L_tmp = BASOP_Util_Log2( cldfb_bin[i] ); /*(log2(660423549*2^(-31))/64)*2^31*/ L_tmp = Mpy_32_16_1( L_tmp, INV_LOG2_10 ); // instead of adding it to L_tmp_q_shift and then multiplying by INV_LOG2_10 ( to avoid saturation ). L_tmp_q_shift = L_shl_sat( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ); // This term should be added to L_temp to align it to Q25 L_tmp_q_shift = Mpy_32_16_1( L_tmp_q_shift, INV_LOG2_10 ); // instead of adding it to L_tmp and then multiplying by INV_LOG2_10 ( to avoid saturation ). cldfb_bin[i] = L_add( L_tmp, L_tmp_q_shift ); /* Q25 */ -#else - L_tmp = L_add( L_tmp, L_shl( L_deposit_l( cldfb_bin_Exp[i] ), 31 - LD_DATA_SCALE ) ); /* Q25 */ - cldfb_bin[i] = Mpy_32_16_1( L_tmp, 9864 /*1.0f/3.3219280948873623478703194294894f Q15*/ ); -#endif - move32(); /* 1/log2(10) */ /* Q25 */ + move32(); /* 1/log2(10) */ /* Q25 */ } } /* cldfb_bin_Exp[] are applied now in cldfb_bin[i] -> don't use again */ diff --git a/lib_enc/cng_enc_fx.c b/lib_enc/cng_enc_fx.c index fb8490127f07b9ae75402fd27b074493e8826984..40f35801434dc83b62176a3bfe5b9b671f8f51f5 100644 --- a/lib_enc/cng_enc_fx.c +++ b/lib_enc/cng_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/cod2t32_fx.c b/lib_enc/cod2t32_fx.c index f4dbad642052e26ed32a07cd761cfe209d218211..7d82602a6f2a042f79832ac9df3d40ebc542c821 100644 --- a/lib_enc/cod2t32_fx.c +++ b/lib_enc/cod2t32_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/cod4t64_fast_fx.c b/lib_enc/cod4t64_fast_fx.c index 7079f65971792963c9701841da0e9cc00e80bd54..f8a85b52217da12446678af780fc70d2a268bb82 100644 --- a/lib_enc/cod4t64_fast_fx.c +++ b/lib_enc/cod4t64_fast_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/cod4t64_fx.c b/lib_enc/cod4t64_fx.c index 66b13136baed901a8d8593a38caf425491fcf5e3..e1ae176af10eba33832d66e2031c138d8d7808d0 100644 --- a/lib_enc/cod4t64_fx.c +++ b/lib_enc/cod4t64_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/cod_ace_fx.c b/lib_enc/cod_ace_fx.c index 5a6e094a23441de7546cf27d688c247dae0b5137..c7397393fdf2efa84e4033e090137e3085b6e3f5 100644 --- a/lib_enc/cod_ace_fx.c +++ b/lib_enc/cod_ace_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/cod_tcx_fx.c b/lib_enc/cod_tcx_fx.c index 11188a16aa62f7be3a6376f234d36c2db417398a..13ec74162676055491ddbae82f77c2f706b7c019 100644 --- a/lib_enc/cod_tcx_fx.c +++ b/lib_enc/cod_tcx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -15,9 +18,6 @@ #include #include "ivas_prot_fx.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #define SIMILAR_TNS_THRESHOLD_FX_IN_Q15 ( 1311 ) @@ -5091,7 +5091,6 @@ void TNSAnalysisStereo_fx( move16(); move16(); } -#ifdef FIX_1349_TNS_CRASH ELSE { pFilter[0]->filterType = TNS_FILTER_OFF; @@ -5103,7 +5102,6 @@ void TNSAnalysisStereo_fx( move16(); move16(); } -#endif } } } diff --git a/lib_enc/cod_uv_fx.c b/lib_enc/cod_uv_fx.c index 5fb8322a31d5cf624bfb018ae702b247222d6d8e..2de96642ea7a45408271ec4f9727363f0abe6211 100644 --- a/lib_enc/cod_uv_fx.c +++ b/lib_enc/cod_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/comvad_decision_fx.c b/lib_enc/comvad_decision_fx.c index 1499bbfce0e51540ecf72e3d742924df9442ebaf..de772303b8cac7e99b53c6d8380e0fb57ef233d9 100644 --- a/lib_enc/comvad_decision_fx.c +++ b/lib_enc/comvad_decision_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/cor_shif_fx.c b/lib_enc/cor_shif_fx.c index 28e837f486cc10b95f9852599f2b98002369c087..96802a3b92b23c62447f111442a08311913945bd 100644 --- a/lib_enc/cor_shif_fx.c +++ b/lib_enc/cor_shif_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_2div_fx.c b/lib_enc/core_enc_2div_fx.c index 42e5b6a930c2cf4b9d9ccb5ac03eb3bf253f6270..d517ac304e7c01df3ebd5dd2a1b3178d5d5ed8ab 100644 --- a/lib_enc/core_enc_2div_fx.c +++ b/lib_enc/core_enc_2div_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_init_fx.c b/lib_enc/core_enc_init_fx.c index 044821feef0c23a7d0a1909ce8594d60d5d88b7e..5c0d1169cbd2637fc6ab306519790abc8ef5172f 100644 --- a/lib_enc/core_enc_init_fx.c +++ b/lib_enc/core_enc_init_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_ol_fx.c b/lib_enc/core_enc_ol_fx.c index 716eecb15a2e29e0f932d00256fbe75cacdd34a2..1f2988140e14915c2c9c627846c3fdfaa8956623 100644 --- a/lib_enc/core_enc_ol_fx.c +++ b/lib_enc/core_enc_ol_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -1282,19 +1285,6 @@ void core_acelp_tcx20_switching_fx( st->acelpFramesCount = 0; move16(); } -#ifdef DEBUGGING - if ( st->force != -1 ) - { - if ( st->force == FORCE_SPEECH ) - { - st->core = ACELP_CORE; - } - else - { - st->core = TCX_20_CORE; - } - } -#endif } /* Fixed Decision (using -C) */ diff --git a/lib_enc/core_enc_reconf_fx.c b/lib_enc/core_enc_reconf_fx.c index 5f01935c73450ea01243bd17fdec3e4114958e80..46282217b0069d88a0cfecc53ba7c9e2a2378c2f 100644 --- a/lib_enc/core_enc_reconf_fx.c +++ b/lib_enc/core_enc_reconf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_switch_fx.c b/lib_enc/core_enc_switch_fx.c index 19bfd425cb8f16203de2d78eab457e6ff0936702..6a8af482490023a24be7723bc50cfe8d66dfc19e 100644 --- a/lib_enc/core_enc_switch_fx.c +++ b/lib_enc/core_enc_switch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/core_enc_updt_fx.c b/lib_enc/core_enc_updt_fx.c index e5694fc0199f82367fb54894b14069673e8a8187..1c02ac0fccc24cfda14e191a93b25390ca1cad03 100644 --- a/lib_enc/core_enc_updt_fx.c +++ b/lib_enc/core_enc_updt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/core_switching_enc_fx.c b/lib_enc/core_switching_enc_fx.c index c390ab78b94f7129a690eb44722328636d19be0f..11909589e5ed0894c5b72ec573a1306f9767be65 100644 --- a/lib_enc/core_switching_enc_fx.c +++ b/lib_enc/core_switching_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/corr_xh_fx.c b/lib_enc/corr_xh_fx.c index 21af7bc0a75da31e16fc522af9f3d4562a33cd13..a87f499e8329812b6f553cab96c749a56bea2247 100644 --- a/lib_enc/corr_xh_fx.c +++ b/lib_enc/corr_xh_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/decision_matrix_enc_fx.c b/lib_enc/decision_matrix_enc_fx.c index 6f20edc4f8ba93b90f9e37e9000b58298c404af8..551824363a435058ad589eb478edfb394f0b048b 100644 --- a/lib_enc/decision_matrix_enc_fx.c +++ b/lib_enc/decision_matrix_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -186,19 +189,12 @@ void decision_matrix_enc_fx( st_fx->core = ACELP_CORE; move16(); -#ifdef DEBUGGING - if ( st_fx->total_brate >= HQCORE_NB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) ) - { - st_fx->core = HQ_CORE; - } -#else test(); IF( GE_32( st_fx->total_brate, HQCORE_NB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) ) { st_fx->core = HQ_CORE; move16(); } -#endif } /*---------------------------------------------------------------------* @@ -210,14 +206,10 @@ void decision_matrix_enc_fx( st_fx->core = ACELP_CORE; move16(); -#ifdef DEBUGGING - if ( ( st_fx->total_brate >= HQCORE_WB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) ) || st_fx->total_brate >= HQ_96k ) -#else test(); test(); IF( ( GE_32( st_fx->total_brate, HQCORE_WB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) ) || GE_32( st_fx->total_brate, HQ_96k ) ) -#endif { st_fx->core = HQ_CORE; move16(); @@ -263,14 +255,10 @@ void decision_matrix_enc_fx( ELSE IF( EQ_16( st_fx->bwidth, SWB ) || EQ_16( st_fx->bwidth, FB ) ) { -#ifdef DEBUGGING - if ( ( st_fx->total_brate >= HQCORE_WB_MIN_RATE && ( st_fx->force == FORCE_MUSIC || ( st_fx->force == -1 && st_fx->sp_aud_decision1 == 1 ) ) ) || st_fx->total_brate >= HQ_96k ) -#else test(); test(); IF( ( GE_32( st_fx->total_brate, HQCORE_SWB_MIN_RATE ) && EQ_16( st_fx->sp_aud_decision1, 1 ) ) || GE_32( st_fx->total_brate, HQ_96k ) ) -#endif { st_fx->core = HQ_CORE; move16(); diff --git a/lib_enc/detect_transient_fx.c b/lib_enc/detect_transient_fx.c index 43c57c6411658a04e93463f3c18f3357d37842db..2006340fa75a5cdafa88e7b071082bd380286720 100644 --- a/lib_enc/detect_transient_fx.c +++ b/lib_enc/detect_transient_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_enc/diffcod_fx.c b/lib_enc/diffcod_fx.c index 6a14a27eec3ade5551c7eebb02b38d1c8185dea9..8a082da4ed57c37108ab79204d82bc68e6161aa1 100644 --- a/lib_enc/diffcod_fx.c +++ b/lib_enc/diffcod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/dtx_fx.c b/lib_enc/dtx_fx.c index 321d045d4a8f08d10ab453d207ecfec5cf4bbf57..6b25942b0cdf5d9717edba823c1988e378411a5a 100644 --- a/lib_enc/dtx_fx.c +++ b/lib_enc/dtx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelp_fx.c b/lib_enc/enc_acelp_fx.c index ca4c399b0ec345672e3fd2bf5cafd04d0c73bda3..20ccb7fced120408223586bc0d3fb297c057a5b2 100644 --- a/lib_enc/enc_acelp_fx.c +++ b/lib_enc/enc_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelp_tcx_main_fx.c b/lib_enc/enc_acelp_tcx_main_fx.c index 3498321646e22d98a77ebd738db6e55f43fdee03..9235d8d1fdfc3efae3450ff71bcdd174a0bced7b 100644 --- a/lib_enc/enc_acelp_tcx_main_fx.c +++ b/lib_enc/enc_acelp_tcx_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_acelpx_fx.c b/lib_enc/enc_acelpx_fx.c index 00a23895508012d62b6ad339087538802e92e716..b2c8936dd02bd71a0aaf0b3526e8c2f0a7cbe0cc 100644 --- a/lib_enc/enc_acelpx_fx.c +++ b/lib_enc/enc_acelpx_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_amr_wb_fx.c b/lib_enc/enc_amr_wb_fx.c index 2bbb7d1544749ff9a11c8173f0324efdee712a2c..6ce6058bfccfa1b71336315e3a0e5bf5ff5ad891 100644 --- a/lib_enc/enc_amr_wb_fx.c +++ b/lib_enc/enc_amr_wb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_gain_fx.c b/lib_enc/enc_gain_fx.c index 1789813cc38fc8e085b44e88adef94e27333524d..02039297066d5f6f042068b779f242f5d8813c34 100644 --- a/lib_enc/enc_gain_fx.c +++ b/lib_enc/enc_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_gen_voic_fx.c b/lib_enc/enc_gen_voic_fx.c index 695cf252548aa93262e41f17d8e2af07b9141bc9..08b70656e4d52c30d57c3b1728ec30c7c1e3e108 100644 --- a/lib_enc/enc_gen_voic_fx.c +++ b/lib_enc/enc_gen_voic_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_gen_voic_rf_fx.c b/lib_enc/enc_gen_voic_rf_fx.c index 9f3483ec71fdcae001428e5e3ea60ff0cdb59bed..74d9515234072319e600874e2ced10dea2c6b583 100644 --- a/lib_enc/enc_gen_voic_rf_fx.c +++ b/lib_enc/enc_gen_voic_rf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_higher_acelp_fx.c b/lib_enc/enc_higher_acelp_fx.c index 4289484861b944abf5a5a527192b221c8e0f5f82..393d2d2c0959d7c9c34636ca0977d37c6cbd1585 100644 --- a/lib_enc/enc_higher_acelp_fx.c +++ b/lib_enc/enc_higher_acelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_nelp_fx.c b/lib_enc/enc_nelp_fx.c index 8da01e162299d30bbec2bd6e4f4748d4c0169f50..fcf8489afa05c183249255b0c8ac2c64fb53bd7d 100644 --- a/lib_enc/enc_nelp_fx.c +++ b/lib_enc/enc_nelp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_pit_exc_fx.c b/lib_enc/enc_pit_exc_fx.c index 7f0e79b2b4ad9008a02059894d8ca59a2ca5c04d..d32633e9be5a27d46e096c2acf838fb765bd2e61 100644 --- a/lib_enc/enc_pit_exc_fx.c +++ b/lib_enc/enc_pit_exc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_ppp_fx.c b/lib_enc/enc_ppp_fx.c index c0e1db3a3128ed90c9eb71733e3198ccbb4cb587..c39ed403a7b6c9f7f0460025131cc9234b65aaab 100644 --- a/lib_enc/enc_ppp_fx.c +++ b/lib_enc/enc_ppp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_prm_fx.c b/lib_enc/enc_prm_fx.c index ea9f3d0de94f7aa7a21152e58ecc7036eb8fe835..19235d1a16bb026887d1705ae5538a19e38f73e5 100644 --- a/lib_enc/enc_prm_fx.c +++ b/lib_enc/enc_prm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_tran_fx.c b/lib_enc/enc_tran_fx.c index a767a4f13ef07cacbb28a3fe82c691d71a2d849a..e134107be1dc65a0764d561a8df1195e0a030398 100644 --- a/lib_enc/enc_tran_fx.c +++ b/lib_enc/enc_tran_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/enc_uv_fx.c b/lib_enc/enc_uv_fx.c index cd0f707e424c987ceb32dc1197a00b31aba1bb62..23fe55c9a9c2fffcab85250c53342a673d4c15dd 100644 --- a/lib_enc/enc_uv_fx.c +++ b/lib_enc/enc_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -156,9 +159,6 @@ void encod_unvoiced_fx( index = gain_enc_uv_fx( code_fx, code2, L_SUBFR, &gain_pit_fx, &L_gain_code_fx, &gain_code2, st_fx->flag_noisy_speech_snr, &g_corr, Es_pred, &norm_gain_code_fx, &gain_inov_fx, FUNC_GAIN_ENC_GACELP_UV ); /* Q0 */ -#ifdef DEBUGGING - assert( st_fx->acelp_cfg.gains_mode[i_subfr_idx] == 7 && "Error: UC two-stage, only 5+2 gain Q is supported" ); -#endif push_indice( st_fx->hBstr, IND_GAIN, index, st_fx->acelp_cfg.gains_mode[i_subfr_idx] ); gp_clip_test_gain_pit_fx( st_fx->element_mode, st_fx->core_brate, gain_pit_fx, st_fx->clip_var_fx ); @@ -399,9 +399,6 @@ void encod_unvoiced_ivas_fx( index = gain_enc_uv_fx( code_fx, code2, L_SUBFR, &gain_pit_fx, &L_gain_code_fx, &gain_code2, st_fx->flag_noisy_speech_snr, &g_corr, Es_pred, &norm_gain_code_fx, &gain_inov_fx, FUNC_GAIN_ENC_GACELP_UV ); /* Q0 */ -#ifdef DEBUGGING - assert( st_fx->acelp_cfg.gains_mode[i_subfr_idx] == 7 && "Error: UC two-stage, only 5+2 gain Q is supported" ); -#endif push_indice( st_fx->hBstr, IND_GAIN, index, st_fx->acelp_cfg.gains_mode[i_subfr_idx] ); gp_clip_test_gain_pit_fx( st_fx->element_mode, st_fx->core_brate, gain_pit_fx, st_fx->clip_var_fx ); diff --git a/lib_enc/energy_fx.c b/lib_enc/energy_fx.c index b8203ef6851fc65fcea326ed37ed380caacecb47..a84adb4e8805eb04c61ad1ed6ddfb30a6caf9aa0 100644 --- a/lib_enc/energy_fx.c +++ b/lib_enc/energy_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/eval_pit_contr_fx.c b/lib_enc/eval_pit_contr_fx.c index e1c80e879570cbf41a7cc7afed96568e079114c6..c57157a31982114ea1c6d8c4efc9286d5f6708b6 100644 --- a/lib_enc/eval_pit_contr_fx.c +++ b/lib_enc/eval_pit_contr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/evs_enc_fx.c b/lib_enc/evs_enc_fx.c index ce5b5405cff396919723de55b13378862cfd75f4..a4308f41abc12b1bb30a270edcc953ca198d783d 100644 --- a/lib_enc/evs_enc_fx.c +++ b/lib_enc/evs_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -10,9 +13,6 @@ #include "rom_com.h" /* Common constants */ #include "basop_util.h" /* Function prototypes */ #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * Local function prototypes @@ -74,9 +74,7 @@ ivas_error evs_enc_fx( Word32 L_tmp; UWord16 lsb; Word16 tmp; -#ifndef FIX_I4_OL_PITCH Word16 pitch_orig[3]; /* original open-loop pitch values that might be altered in core_acelp_tcx20_switching_fx() within MODE2 */ -#endif ivas_error error; SC_VBR_ENC_HANDLE hSC_VBR = st->hSC_VBR; // NOISE_EST_HANDLE hNoiseEst = st->hNoiseEst; @@ -176,14 +174,10 @@ ivas_error evs_enc_fx( /*---------------------------------------------------------------------* * Pre-processing *---------------------------------------------------------------------*/ -#ifdef FIX_I4_OL_PITCH - pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); -#else pre_proc_fx( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, pitch_orig, A, Aw, epsP_h, epsP_l, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &cldfbScale, hLPDmem->old_exc, &hq_core_type, &Q_new, &shift, Q_r ); -#endif // st->sharpFlag = sharpFlag; IF( EQ_16( st->mdct_sw, MODE2 ) ) @@ -284,12 +278,10 @@ ivas_error evs_enc_fx( * Postprocessing for ACELP/HQ core switching *---------------------------------------------------------------------*/ core_switching_post_enc_fx( st, old_inp_12k8, old_inp_16k, A, shift, Q_new, st->Q_syn2, &Q_synth ); -#ifndef FIX_I4_OL_PITCH IF( EQ_16( st->core, HQ_CORE ) ) { Copy( pitch_orig, st->pitch, 3 ); /* original open-loop pitch values might be altered in core_acelp_tcx20_switching_fx() */ } -#endif } ELSE /* MODE2 */ { @@ -313,9 +305,7 @@ ivas_error evs_enc_fx( enc_acelp_tcx_main_fx( old_inp_16k + L_INP_MEM, st, Aw, lsp_new, lsp_mid, bwe_exc_extended, voice_factors, pitch_buf, vad_hover_flag, &Q_new, &shift ); -#ifndef FIX_I4_OL_PITCH Copy( pitch_orig, st->pitch, 3 ); /* populate the original OL pitch values back Q0*/ -#endif /*---------------------------------------------------------------------* * Postprocessing for codec switching @@ -566,23 +556,6 @@ ivas_error evs_enc_fx( st->rf_mode = 1; } -#ifdef DEBUG_MODE_INFO - dbgwrite( &st->codec_mode, sizeof( short ), 1, input_frame, "res/codec" ); - dbgwrite( &st->core, sizeof( short ), 1, input_frame, "res/core" ); - dbgwrite( &st->extl, sizeof( short ), 1, input_frame, "res/extl" ); - dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, "res/bwidth" ); - float ener_flt = st->total_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/total_brate" ); - ener_flt = st->core_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/core_brate" ); - ener_flt = st->extl_brate / 1000.0f; - dbgwrite( &ener_flt, sizeof( float ), 1, input_frame, "res/extl_brate" ); - dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, "res/coder_type" ); - dbgwrite( &st->clas, sizeof( short ), 1, input_frame, "res/clas" ); - dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, "res/cng_type" ); - dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, "res/L_frame" ); - dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, "res/vad_flag" ); -#endif pop_wmops(); diff --git a/lib_enc/ext_sig_ana_fx.c b/lib_enc/ext_sig_ana_fx.c index 6e46631f438428bbc30a1aff082cee128a62aec4..27cf5161584e66d7d6607de0bd1709899a6befe4 100644 --- a/lib_enc/ext_sig_ana_fx.c +++ b/lib_enc/ext_sig_ana_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/fd_cng_enc_fx.c b/lib_enc/fd_cng_enc_fx.c index 16351931400076607e3ff27907c5f87356f4e01e..1560826cbd3fb5756c9723fc746e0c6f52417bbd 100644 --- a/lib_enc/fd_cng_enc_fx.c +++ b/lib_enc/fd_cng_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -10,9 +13,7 @@ #include "ivas_cnst.h" #include "stl.h" #include "rom_com.h" -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG #include "ivas_rom_com.h" -#endif #include "rom_enc.h" #include "prot_fx.h" #include "prot_fx_enc.h" @@ -156,16 +157,11 @@ void initFdCngEnc_fx( hsEnc->msPeriodogBufPtr = 0; move16(); set32_fx( hsEnc->msPsdSecondMoment_fx, 0, NPART ); -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG FOR( Word16 i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ ) { set32_fx( hsEnc->mem_coherence_fx[i], EPSILON_FX, 4 ); set16_fx( hsEnc->mem_coherence_exp[i], 0, 4 ); } -#else - set32_fx( hsEnc->mem_coherence_fx, EPSILON_FX, 4 ); - set16_fx( hsEnc->mem_coherence_exp, 0, 4 ); -#endif return; } @@ -2686,16 +2682,11 @@ void stereoFdCngCoherence_fx( IF( NE_16( last_element_mode, IVAS_CPE_MDCT ) ) { -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG FOR( i = 0; i < MDCT_ST_DTX_NUM_COHERENCE_BANDS; i++ ) { set32_fx( sts[0]->hFdCngEnc->mem_coherence_fx[i], EPSILON_FX, 4 ); set16_fx( sts[0]->hFdCngEnc->mem_coherence_exp[i], 0, 4 ); } -#else - set32_fx( sts[0]->hFdCngEnc->mem_coherence_fx, EPSILON_FX, 4 ); - set16_fx( sts[0]->hFdCngEnc->mem_coherence_exp, 0, 4 ); -#endif } test(); test(); @@ -2760,10 +2751,6 @@ void stereoFdCngCoherence_fx( pt_fftL = fft_buf_fx[0]; pt_fftR = fft_buf_fx[1]; -#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG - mem = sts[0]->hFdCngEnc->mem_coherence_fx; /* exp(sts[0]->hFdCngEnc->mem_coherence_exp) */ - mem_exp = sts[0]->hFdCngEnc->mem_coherence_exp; -#endif /* only estimate coherence in inactive frames (or in the first 50 frames to build an initial value) */ test(); @@ -2774,7 +2761,6 @@ void stereoFdCngCoherence_fx( return; } -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG FOR( i_subfr = 0; i_subfr < 2; i_subfr++ ) { Word16 band_len_cum; @@ -2849,59 +2835,7 @@ void stereoFdCngCoherence_fx( pt_fftR += L_FFT; } -#else - FOR( i_subfr = 0; i_subfr < 2; i_subfr++ ) - { - cr = ci = eL = eR = EPSILON_FX; - move32(); - move32(); - move32(); - move32(); - cr_exp = ci_exp = eL_exp = eR_exp = 0; - move16(); - move16(); - move16(); - move16(); - - cr = BASOP_Util_Add_Mant32Exp( cr, cr_exp, L_add( L_mult( pt_fftL[0], pt_fftR[0] ), L_mult( pt_fftL[L_FFT / 2], pt_fftR[L_FFT / 2] ) ), shl( fft_exp, 1 ), &cr_exp ); /* exp(cr_exp) */ - eL = BASOP_Util_Add_Mant32Exp( eL, eL_exp, L_add( L_mult( pt_fftL[0], pt_fftL[0] ), L_mult( pt_fftL[L_FFT / 2], pt_fftL[L_FFT / 2] ) ), shl( fft_exp, 1 ), &eL_exp ); /* exp(eL_exp) */ - eR = BASOP_Util_Add_Mant32Exp( eR, eR_exp, L_add( L_mult( pt_fftR[0], pt_fftR[0] ), L_mult( pt_fftR[L_FFT / 2], pt_fftR[L_FFT / 2] ) ), shl( fft_exp, 1 ), &eR_exp ); /* exp(eR_exp) */ - - FOR( i = 1; i < L_FFT / 2; i++ ) - { - cr = BASOP_Util_Add_Mant32Exp( cr, cr_exp, L_add( L_mult( pt_fftL[i], pt_fftR[i] ), L_mult( pt_fftL[L_FFT - i], pt_fftR[L_FFT - i] ) ), shl( fft_exp, 1 ), &cr_exp ); /* exp(cr_exp) */ - ci = BASOP_Util_Add_Mant32Exp( ci, ci_exp, L_add( L_mult( -pt_fftL[i], pt_fftR[L_FFT - i] ), L_mult( pt_fftL[L_FFT - i], pt_fftR[i] ) ), shl( fft_exp, 1 ), &ci_exp ); /* exp(ci_exp) */ - eL = BASOP_Util_Add_Mant32Exp( eL, eL_exp, L_add( L_mult( pt_fftL[i], pt_fftL[i] ), L_mult( pt_fftL[L_FFT - i], pt_fftL[L_FFT - i] ) ), shl( fft_exp, 1 ), &eL_exp ); /* exp(eL_exp) */ - eR = BASOP_Util_Add_Mant32Exp( eR, eR_exp, L_add( L_mult( pt_fftR[i], pt_fftR[i] ), L_mult( pt_fftR[L_FFT - i], pt_fftR[L_FFT - i] ) ), shl( fft_exp, 1 ), &eR_exp ); /* exp(eR_exp) */ - } - test(); - test(); - IF( LE_32( sts[0]->ini_frame, 50 ) || ( sts[0]->vad_flag == 0 && sts[1]->vad_flag == 0 ) ) - { - mem[0] = BASOP_Util_Add_Mant32Exp( Mpy_32_16_1( mem[0], 31129 /*0.95f*/ ), mem_exp[0], Mpy_32_16_1( cr, 1638 /*0.05f*/ ), cr_exp, &mem_exp[0] ); /* exp(mem_exp[0]) */ - move32(); - mem[1] = BASOP_Util_Add_Mant32Exp( Mpy_32_16_1( mem[1], 31129 /*0.95f*/ ), mem_exp[1], Mpy_32_16_1( ci, 1638 /*0.05f*/ ), ci_exp, &mem_exp[1] ); /* exp(mem_exp[1]) */ - move32(); - mem[2] = BASOP_Util_Add_Mant32Exp( Mpy_32_16_1( mem[2], 31129 /*0.95f*/ ), mem_exp[2], Mpy_32_16_1( eL, 1638 /*0.05f*/ ), eL_exp, &mem_exp[2] ); /* exp(mem_exp[2]) */ - move32(); - mem[3] = BASOP_Util_Add_Mant32Exp( Mpy_32_16_1( mem[3], 31129 /*0.95f*/ ), mem_exp[3], Mpy_32_16_1( eR, 1638 /*0.05f*/ ), eR_exp, &mem_exp[3] ); /* exp(mem_exp[3]) */ - move32(); - } - - pt_fftL += L_FFT; - pt_fftR += L_FFT; - } -#endif -#ifndef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG - Word16 sqr_inp, temp, sqr_out, sqr_inp_exp; - Word32 sqr_inp32 = BASOP_Util_Add_Mant32Exp( Mpy_32_32( mem[0], mem[0] ), shl( mem_exp[0], 1 ), Mpy_32_32( mem[1], mem[1] ), shl( mem_exp[1], 1 ), &sqr_inp_exp ); /* exp(sqr_inp_exp) */ - sqr_inp = BASOP_Util_Divide3232_Scale( sqr_inp32, Mpy_32_32( mem[2], mem[3] ), &temp ); - sqr_inp_exp = add( temp, sub( sqr_inp_exp, add( mem_exp[2], mem_exp[3] ) ) ); - sqr_out = Sqrt16( sqr_inp, &sqr_inp_exp ); - sts[0]->hFdCngEnc->hFdCngCom->coherence_fx = shl_sat( sqr_out, sqr_inp_exp ); // Q15 expected. - move16(); -#endif return; } @@ -3175,11 +3109,7 @@ void FdCngEncodeMDCTStereoSID_fx( } /* quantize channel coherence */ -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG coh_idx = mult_r( sts[0]->hFdCngEnc->hFdCngCom->coherence_fx[0], 15 ); -#else - coh_idx = mult_r( sts[0]->hFdCngEnc->hFdCngCom->coherence_fx, 15 ); -#endif coh_idx = s_max( 0, s_min( coh_idx, 15 ) ); /* ---- Write SID bitstream ---- */ @@ -3213,7 +3143,6 @@ void FdCngEncodeMDCTStereoSID_fx( push_indice( sts[ch]->hBstr, IND_ENERGY, gain_idx[ch], 7 ); } -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG /* write the four additional coherence values */ FOR( Word16 b = 1; b < MDCT_ST_DTX_NUM_COHERENCE_BANDS; b++ ) { @@ -3221,10 +3150,6 @@ void FdCngEncodeMDCTStereoSID_fx( coh_idx = s_max( 0, s_min( coh_idx, 15 ) ); push_indice( sts[1]->hBstr, IND_ENERGY, coh_idx, 4 ); } -#else - /* pad with zeros to reach common SID frame size */ - push_indice( sts[1]->hBstr, IND_ENERGY, 0, ( IVAS_SID_5k2 - 4400 ) / FRAMES_PER_SEC ); -#endif return; } @@ -3428,17 +3353,10 @@ void FdCngEncodeDiracMDCTStereoSID_fx( lpc_from_spectrum( hFdCngCom, hFdCngEnc->startBandDec, hFdCngEnc->stopFFTbinDec, sts[ch]->preemph_fac ); sts[ch]->hDtxEnc->last_CNG_L_frame = sts[ch]->L_frame; } -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG sts[0]->hFdCngEnc->hFdCngCom->coherence_fx[0] = 0; move16(); sts[1]->hFdCngEnc->hFdCngCom->coherence_fx[0] = 0; move16(); -#else - sts[0]->hFdCngEnc->hFdCngCom->coherence_fx = 0; - move16(); - sts[1]->hFdCngEnc->hFdCngCom->coherence_fx = 0; - move16(); -#endif /* ---- Write SID bitstream ---- */ diff --git a/lib_enc/find_tar_fx.c b/lib_enc/find_tar_fx.c index 568718517dff8d004e1b7b1df5852f194594f923..fddb94b915b9729b44f71243e40e91011166a59a 100644 --- a/lib_enc/find_tar_fx.c +++ b/lib_enc/find_tar_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/find_tilt_fx.c b/lib_enc/find_tilt_fx.c index 98e5a220a4d829b4e1a52f389dace30997db9ddd..6fe6fba49a42c516bb2fd9e8ab768950f9437af6 100644 --- a/lib_enc/find_tilt_fx.c +++ b/lib_enc/find_tilt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/find_uv_fx.c b/lib_enc/find_uv_fx.c index 0a16f1467c1d4b93b586bec875c2ad5701f0a735..1469902c7a233908807918093112a764b373b981 100644 --- a/lib_enc/find_uv_fx.c +++ b/lib_enc/find_uv_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/find_wsp_fx.c b/lib_enc/find_wsp_fx.c index b3a0dc9e660b7615538bbf753aeeb97c4e79b26b..080c504d0b1493e9bf3534d12102e4bd1091ab0d 100644 --- a/lib_enc/find_wsp_fx.c +++ b/lib_enc/find_wsp_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/frame_spec_dif_cor_rate_fx.c b/lib_enc/frame_spec_dif_cor_rate_fx.c index e80f666d91597d4dca9d59c72f19dd34d902b66b..f51b7cd05a6307b69cbc3c8c510e664a8ce3dcfc 100644 --- a/lib_enc/frame_spec_dif_cor_rate_fx.c +++ b/lib_enc/frame_spec_dif_cor_rate_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/gain_enc_fx.c b/lib_enc/gain_enc_fx.c index c6e8c7276a14e453cd5e67329739878d09b292c8..f8ee0fa241649a8593d817f0657ed768d1e64a16 100644 --- a/lib_enc/gain_enc_fx.c +++ b/lib_enc/gain_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/gaus_enc_fx.c b/lib_enc/gaus_enc_fx.c index 7f192192b6b5a58e9bfd2affba50dc19e5f67196..570912d8b76d52a5a7ac65d84f0127c420cc97a4 100644 --- a/lib_enc/gaus_enc_fx.c +++ b/lib_enc/gaus_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/gp_clip_fx.c b/lib_enc/gp_clip_fx.c index 40b004e0ff79b3184c940b5c0863faa007d2da8c..13b3727713e854c0ead32cdafca73bd2fbc81fd3 100644 --- a/lib_enc/gp_clip_fx.c +++ b/lib_enc/gp_clip_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_enc/gs_enc_fx.c b/lib_enc/gs_enc_fx.c index f8479275f1c71eba6a9a147bcbe44fa5b5983ca6..4a3e0bfcafbe433e70d6f77639046badf05b9b03 100644 --- a/lib_enc/gs_enc_fx.c +++ b/lib_enc/gs_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/guided_plc_enc_fx.c b/lib_enc/guided_plc_enc_fx.c index 599fc57f290dbd5f0ad4fdbfad43d5af80ea7f37..e0e76d9f938c80a9e2c0a34a65ca7f41b03b769d 100644 --- a/lib_enc/guided_plc_enc_fx.c +++ b/lib_enc/guided_plc_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/hf_cod_amrwb_fx.c b/lib_enc/hf_cod_amrwb_fx.c index e833201bc5e2614de96760e317ffa6d0c5d3e91c..4511cc713c3d61a7a6e37a964a6f0fb01657a4d7 100644 --- a/lib_enc/hf_cod_amrwb_fx.c +++ b/lib_enc/hf_cod_amrwb_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/hq_classifier_enc_fx.c b/lib_enc/hq_classifier_enc_fx.c index 1253d55fd8a921fed876c0cc1e033c39158bed6e..2aada0c8be6ca746cc81bfecd42681a71742aa7d 100644 --- a/lib_enc/hq_classifier_enc_fx.c +++ b/lib_enc/hq_classifier_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/hq_core_enc_fx.c b/lib_enc/hq_core_enc_fx.c index 2879997ac5d6e225d7fc434ad1e4728dca32635b..d03d0e055493da5d4c03a94791d595cd95637a6b 100644 --- a/lib_enc/hq_core_enc_fx.c +++ b/lib_enc/hq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/hq_env_enc_fx.c b/lib_enc/hq_env_enc_fx.c index f033bd685b8e5c1c48bd3485a23bf2b82b560411..7fded3caa88532f1280c0c3ec3f0ba5aba2aa6b3 100644 --- a/lib_enc/hq_env_enc_fx.c +++ b/lib_enc/hq_env_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/hq_hr_enc_fx.c b/lib_enc/hq_hr_enc_fx.c index f462ca4dca7662c29fcb215e318cfe98e4c86013..dd4a1679933fdd1c3eb996572bc7ff7f4b98b515 100644 --- a/lib_enc/hq_hr_enc_fx.c +++ b/lib_enc/hq_hr_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/hq_lr_enc_fx.c b/lib_enc/hq_lr_enc_fx.c index cd58e3b95358314438c169dbcc95f32a5efce782..c1020f5c53c8f295ae07a2cd0450d96ee1d2297b 100644 --- a/lib_enc/hq_lr_enc_fx.c +++ b/lib_enc/hq_lr_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/hvq_enc_fx.c b/lib_enc/hvq_enc_fx.c index 1119656fc3bb66eba83d3d1349870aa17489e4b0..fb97c2d21b8076e6f983e3d1eab18044199d3c96 100644 --- a/lib_enc/hvq_enc_fx.c +++ b/lib_enc/hvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/igf_enc_fx.c b/lib_enc/igf_enc_fx.c index a9c7d768b43800bb32962a9ace55991b54f6e1ce..59a53d1eb286abbf5de20313a0c84533e4023190 100755 --- a/lib_enc/igf_enc_fx.c +++ b/lib_enc/igf_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/igf_scf_enc.c b/lib_enc/igf_scf_enc.c index d83841039876ae0ee371db6fb38771619a87b006..746f1e38b89d1f01a4c2bd63f9f77463d0d4c2bc 100644 --- a/lib_enc/igf_scf_enc.c +++ b/lib_enc/igf_scf_enc.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_enc/igf_scf_enc_fx.c b/lib_enc/igf_scf_enc_fx.c index ed52349dc034d32523fcd2cc412d5f27b2da50aa..cf5571467ee5145cde777422d3c91ac52f5d4c47 100644 --- a/lib_enc/igf_scf_enc_fx.c +++ b/lib_enc/igf_scf_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/init_enc_fx.c b/lib_enc/init_enc_fx.c index 8e469a68eaffd436bbc9d9e92b048ed9889019c2..0cd8333bca117b8aa22db8da330cdb9611cd628e 100644 --- a/lib_enc/init_enc_fx.c +++ b/lib_enc/init_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -1244,10 +1216,6 @@ ivas_error init_encoder_fx( move16(); st->old_wsp_shift = 0; move16(); -#ifdef DEBUGGING - st->id_element = -1; /* element ID */ - move16(); -#endif return IVAS_ERR_OK; } diff --git a/lib_enc/inov_enc_fx.c b/lib_enc/inov_enc_fx.c index 5b228c2ed57af5b78243ab969a74733855935c76..33942b9c41a9c13c238e260308b21e2d69295960 100644 --- a/lib_enc/inov_enc_fx.c +++ b/lib_enc/inov_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -674,12 +677,6 @@ Word16 inov_encode_ivas_fx( set16_fx( y2, 0, L_SUBFR ); } } -#ifdef DEBUGGING - else - { - IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "invalid mode for acelp frame!\n" ); - } -#endif } ELSE { diff --git a/lib_enc/isf_enc_amr_wb_fx.c b/lib_enc/isf_enc_amr_wb_fx.c index d58998565bdb404e232a6b7b8c5e0318eae1c3a4..d6c56d404547d5c6e91120820971fed4dd69e755 100644 --- a/lib_enc/isf_enc_amr_wb_fx.c +++ b/lib_enc/isf_enc_amr_wb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_enc/ivas_agc_enc_fx.c b/lib_enc/ivas_agc_enc_fx.c index 10d7cb8c71c2b736bc7fa24bbd467bed6f7dc94b..72f863022fff28c2529aab9b34d1ce509c6968db 100644 --- a/lib_enc/ivas_agc_enc_fx.c +++ b/lib_enc/ivas_agc_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include diff --git a/lib_enc/ivas_core_enc_fx.c b/lib_enc/ivas_core_enc_fx.c index 96bbca887782fdb1e711c4ff9ae0b289ab940d66..e2598b6dfd5fde7240e771676843589856d00a09 100644 --- a/lib_enc/ivas_core_enc_fx.c +++ b/lib_enc/ivas_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -41,9 +13,6 @@ #include "prot_fx_enc.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -868,42 +837,6 @@ ivas_error ivas_core_enc_fx( diff_nBits = sub( diff_nBits, n ); } } -#ifdef DEBUG_MODE_INFO - for ( n = 0; n < n_CoreChannels; n++ ) - { - float tmpF; - short tmpS, id; - - st = sts[n]; - id = st->id_element; - - dbgwrite( &st->core, sizeof( short ), 1, input_frame, fname( debug_dir, "core", n, id, ENC ) ); - dbgwrite( &st->extl, sizeof( short ), 1, input_frame, fname( debug_dir, "extl", n, id, ENC ) ); - dbgwrite( &st->bwidth, sizeof( short ), 1, input_frame, fname( debug_dir, "bwidth", n, id, ENC ) ); - tmpF = st->total_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "total_brate", n, id, ENC ) ); - tmpS = st->bits_frame_nominal; - dbgwrite( &tmpS, sizeof( short ), 1, input_frame, fname( debug_dir, "bits_nominal", n, id, ENC ) ); - tmpF = st->core_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "core_brate", n, id, ENC ) ); - tmpF = st->extl_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "extl_brate", n, id, ENC ) ); - - dbgwrite( &st->coder_type, sizeof( short ), 1, input_frame, fname( debug_dir, "coder_type", n, id, ENC ) ); - dbgwrite( &st->clas, sizeof( short ), 1, input_frame, fname( debug_dir, "clas", n, id, ENC ) ); - dbgwrite( &st->cng_type, sizeof( short ), 1, input_frame, fname( debug_dir, "cng_type", n, id, ENC ) ); - dbgwrite( &st->L_frame, sizeof( short ), 1, input_frame, fname( debug_dir, "L_frame", n, id, ENC ) ); - dbgwrite( &st->vad_flag, sizeof( short ), 1, input_frame, fname( debug_dir, "vad_flag", n, id, ENC ) ); - dbgwrite( &st->localVAD, sizeof( short ), 1, input_frame, fname( debug_dir, "localVAD", n, id, ENC ) ); - - dbgwrite( &st->count_WB, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "count_WB", n, id, ENC ) ); - dbgwrite( &st->count_SWB, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "count_SWB", n, id, ENC ) ); - - dbgwrite( &st->sp_aud_decision0, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision0", n, id, ENC ) ); - dbgwrite( &st->sp_aud_decision1, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision1", n, id, ENC ) ); - dbgwrite( &st->sp_aud_decision2, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "sp_aud_decision2", n, id, ENC ) ); - } -#endif pop_wmops(); diff --git a/lib_enc/ivas_core_pre_proc_front_fx.c b/lib_enc/ivas_core_pre_proc_front_fx.c index efa5e9a0a419e79b66f3b2f9e6e702b8ee166533..fb5fbce5a3f7193bf69b713986d7978341605b99 100644 --- a/lib_enc/ivas_core_pre_proc_front_fx.c +++ b/lib_enc/ivas_core_pre_proc_front_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -41,10 +13,6 @@ #include "ivas_prot_fx.h" #include "wmc_auto.h" #include -#ifdef DEBUGGING -#include "debug.h" -#include "string.h" -#endif #include "prot_fx_enc.h" #include "ivas_prot_fx.h" @@ -129,12 +97,7 @@ ivas_error pre_proc_front_ivas_fx( const Word16 MCT_flag, /* i : hMCT handle allocated (1) or not (0) Q0*/ const Word32 last_ivas_total_brate, /* i : last IVAS total bitrate Q0*/ const Word32 ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX Q0*/ - Word16 *Q_new -#ifdef DEBUG_MODE_INFO - , - const Word16 ch_idx -#endif -) + Word16 *Q_new ) { Encoder_State *st; IF( hSCE != NULL ) @@ -220,10 +183,6 @@ ivas_error pre_proc_front_ivas_fx( Word16 Qfact_PS, q_lf_E_fx; Word16 enerBuffer_fx_exp_buf[CLDFB_NO_CHANNELS_MAX]; Word32 bckr_temp[NB_BANDS]; -#ifdef DEBUG_MODE_INFO - Word32 *in_buff_temp; - Word16 in_q_temp; -#endif mem_decim_dummy_fx = (Word16 *) malloc( 90 * sizeof( Word16 * ) ); temp1F_icatdmResampBuf_fx = (Word16 *) malloc( 45 * sizeof( Word16 * ) ); @@ -239,32 +198,6 @@ ivas_error pre_proc_front_ivas_fx( st->q_old_inp = Q_min; move16(); -#ifdef DEBUG_MODE_INFO - IF( hSCE != NULL ) - { - in_buff_temp = hSCE->hCoreCoder[n]->input32_fx; - in_q_temp = hSCE->hCoreCoder[n]->q_inp32; - } - ELSE - { - in_buff_temp = hCPE->hCoreCoder[n]->input32_fx; - in_q_temp = hCPE->hCoreCoder[n]->q_inp32; - } -#endif - - -#ifdef DEBUG_MODE_INFO - if ( !( hCPE != NULL && hCPE->hStereoTD != NULL && ch_idx > 0 ) ) - { - /* for TD stereo only write out first channel. The existence of a second channel can vary, this is just easier to handle */ - int16_t tmpF[L_FRAME48k]; - for ( int16_t isample = 0; isample < input_frame; isample++ ) - { - tmpF[isample] = (int16_t) ( (float) in_buff_temp[isample - NS2SA( st->input_Fs, ACELP_LOOK_NS )] / ( (float) ( 1 << in_q_temp ) ) ); - } - dbgwrite( &tmpF, sizeof( int16_t ), input_frame, 1, strcat( fname( debug_dir, "ivas_input_dmx", 0, ch_idx + 1, ENC ), ".pcm" ) ); - } -#endif FOR( Word16 k = 0; k < CLDFB_NO_COL_MAX; k++ ) { @@ -714,11 +647,7 @@ ivas_error pre_proc_front_ivas_fx( *Q_new = add( *Q_new, Q_inp_const ); move16(); -#ifndef FIX_2015_PREMPH_SAT_ALT - Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( *Q_new, st->q_inp ) ); /* Q_new */ -#else - Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) ); /* Q_new */ -#endif + Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, sub( add( *Q_new, 1 ), st->q_inp ) ); /* Q_new */ Scale_sig( old_inp_12k8_fx, (Word16) ( preemp_start_idx - old_inp_12k8_fx ), sub( *Q_new, st->q_inp ) ); /* Q_new */ cldfbScale.hb_scale = cldfbScale.lb_scale; @@ -783,16 +712,6 @@ ivas_error pre_proc_front_ivas_fx( st->vad_flag = wb_vad_ivas_fx( st, fr_bands_fx, fr_bands_fx_q, &i, &i, &i, &snr_sum_he_fx, &localVAD_HE_SAD, &( st->flag_noisy_speech_snr ), NULL, NULL, -MAX_16, -MAX_16 ); //-100000f == max 16bit float move16(); -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->vad_flag, sizeof( int16_t ), 1, fname( st->force_dir, "force_vad_flag.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->vad_flag, sizeof( int16_t ), 1, 1, "res/force_vad_flag.enf" ); - } -#endif test(); IF( EQ_16( force_front_vad, 1 ) || EQ_16( front_vad_flag, 1 ) ) @@ -887,17 +806,6 @@ ivas_error pre_proc_front_ivas_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->bwidth, sizeof( int16_t ), 1, fname( st->force_dir, "force_bwidth.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->bwidth, sizeof( int16_t ), 1, 1, "res/force_bwidth.enf" ); - } -#endif - /*----------------------------------------------------------------* * Noise energy down-ward update and total noise energy estimation @@ -1324,19 +1232,6 @@ ivas_error pre_proc_front_ivas_fx( &flag_spitch, last_core_orig, hStereoClassif, *Q_new /*q_inp_12k8*/, fr_bands_fx_q ); // Q0 Copy_Scale_sig_16_32_no_sat( st->lgBin_E_fx, st->Bin_E_fx, L_FFT / 2, sub( st->q_Bin_E, Q7 ) ); -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->coder_type, sizeof( int16_t ), 1, fname( st->force_dir, "force_coder_type.enf", -1, -1, -1 ) ); - dbgread( &st->coder_type_raw, sizeof( int16_t ), 1, fname( st->force_dir, "force_coder_type_raw.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->coder_type, sizeof( int16_t ), 1, 1, "res/force_coder_type.enf" ); - dbgwrite( &st->coder_type_raw, sizeof( int16_t ), 1, 1, "res/force_coder_type_raw.enf" ); - } -#endif - /*-----------------------------------------------------------------* * channel aware mode configuration * @@ -1396,32 +1291,6 @@ ivas_error pre_proc_front_ivas_fx( smc_dec = ivas_smc_gmm_fx( st, hStereoClassif, localVAD_HE_SAD, extract_h( Etot_fx ), lsp_new_fx, *cor_map_sum_fx /*Q8*/, epsP_fx, PS_fx, non_staX_fx, *relE_fx, &high_lpn_flag, flag_spitch, Qfact_PS, *epsP_fx_q, hSpMusClas->past_PS_Q ); /* Q0 */ -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &smc_dec, sizeof( int16_t ), 1, fname( st->force_dir, "force_smc_dec_loc1.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &smc_dec, sizeof( int16_t ), 1, 1, "res/force_smc_dec_loc1.enf" ); - } -#endif - -#ifdef DEBUGGING - if ( st->idchan == 0 ) - { - if ( st->force == FORCE_SPEECH ) - { - /* enforce speech */ - st->sp_aud_decision0 = 0; - } - else if ( st->force == FORCE_MUSIC ) - { - /* enforce music */ - st->sp_aud_decision0 = 1; - } - } -#endif /*----------------------------------------------------------------* * VAD energy updates @@ -1612,22 +1481,6 @@ ivas_error pre_proc_front_ivas_fx( ivas_smc_mode_selection_fx( st, element_brate, smc_dec, *relE_fx, extract_h( Etot_fx ), attack_flag, inp_12k8_fx, *Q_new, S_map_fx, flag_spitch ); } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &smc_dec, sizeof( int16_t ), 1, fname( st->force_dir, "force_smc_dec_loc2.enf", -1, -1, -1 ) ); - dbgread( &st->sp_aud_decision0, sizeof( int16_t ), 1, fname( st->force_dir, "force_sp_aud_decision0.enf", -1, -1, -1 ) ); - dbgread( &st->sp_aud_decision1, sizeof( int16_t ), 1, fname( st->force_dir, "force_sp_aud_decision1.enf", -1, -1, -1 ) ); - dbgread( &st->sp_aud_decision2, sizeof( int16_t ), 1, fname( st->force_dir, "force_sp_aud_decision2.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &smc_dec, sizeof( int16_t ), 1, 1, "res/force_smc_dec_loc2.enf" ); - dbgwrite( &st->sp_aud_decision0, sizeof( int16_t ), 1, 1, "res/force_sp_aud_decision0.enf" ); - dbgwrite( &st->sp_aud_decision1, sizeof( int16_t ), 1, 1, "res/force_sp_aud_decision1.enf" ); - dbgwrite( &st->sp_aud_decision2, sizeof( int16_t ), 1, 1, "res/force_sp_aud_decision2.enf" ); - } -#endif /*----------------------------------------------------------------* * Final VAD correction (when HE-SAD is used instead of the normal VAD, diff --git a/lib_enc/ivas_core_pre_proc_fx.c b/lib_enc/ivas_core_pre_proc_fx.c index 8401658240afd1f45338976ee99e05d81b50a4bd..7a4b4f14600b3779b9331c4c03f21fbe45513567 100644 --- a/lib_enc/ivas_core_pre_proc_fx.c +++ b/lib_enc/ivas_core_pre_proc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -1071,11 +1043,7 @@ ivas_error ivas_compute_core_buffers_fx( } st->Q_max_16k[i] = shift; move16(); -#ifndef FIX_2015_PREMPH_SAT_ALT - Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, *Q_new ); -#else Copy_Scale_sig32_16( sig_out, preemp_start_idx, preemp_len, add( *Q_new, 1 ) ); -#endif Scale_sig( old_inp_16k_fx, (Word16) ( preemp_start_idx - old_inp_16k_fx ), *Q_new ); } ELSE IF( GT_32( input_Fs, 8000 ) ) /* keep memory up-to-date in case of bitrate switching */ diff --git a/lib_enc/ivas_corecoder_enc_reconfig_fx.c b/lib_enc/ivas_corecoder_enc_reconfig_fx.c index a277c965bd63c9be6a5831cb589586b51c10fcc6..0e73ecc3f9709f95d66aa404878001d49c8bf777 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig_fx.c +++ b/lib_enc/ivas_corecoder_enc_reconfig_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include "ivas_prot_fx.h" #include "math.h" #include "wmc_auto.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-------------------------------------------------------------------* * ivas_corecoder_enc_reconfig() * @@ -196,9 +165,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); temp_ind_list[i].nb_bits = hBstr->ind_list[i].nb_bits; /* Q0 */ move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( temp_ind_list[i].function_name, hBstr->ind_list[i].function_name, 100 ); -#endif hBstr->ind_list[i].nb_bits = -1; /* Q0 */ move16(); } @@ -552,9 +518,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 ); -#endif } nb_bits = add( nb_bits, temp_ind_list[i].nb_bits ); /* Q0 */ @@ -579,9 +542,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].nb_bits = temp_ind_list[i].nb_bits; /* Q0 */ move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( st_ivas->hCPE[0]->hCoreCoder[0]->hBstr->ind_list[i].function_name, temp_ind_list[i].function_name, 100 ); -#endif } nb_bits = add( nb_bits, temp_ind_list[i].nb_bits ); /* Q0 */ @@ -754,9 +714,6 @@ ivas_error ivas_corecoder_enc_reconfig_fx( move16(); } -#ifdef DEBUGGING - st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->mdct_stereo_mode_cmdl = hEncoderConfig->stereo_mode_cmdl; -#endif initMdctStereoEncData_fx( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct, hEncoderConfig->ivas_format, st_ivas->hCPE[st_ivas->nCPE - 1]->element_mode, st_ivas->hCPE[st_ivas->nCPE - 1]->element_brate, hEncoderConfig->max_bwidth, 0, NULL, 1 ); diff --git a/lib_enc/ivas_cpe_enc_fx.c b/lib_enc/ivas_cpe_enc_fx.c index 8bd84e03184059752c75835d302784e9900d1202..d2cea9b631c9c105676dfd7482322aa03eff10fd 100644 --- a/lib_enc/ivas_cpe_enc_fx.c +++ b/lib_enc/ivas_cpe_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -39,9 +11,6 @@ #include "prot_fx.h" #include "prot_fx_enc.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "ivas_rom_enc.h" @@ -168,12 +137,6 @@ ivas_error ivas_cpe_enc_fx( move16(); move16(); -#ifdef DEBUGGING - if ( hCPE->hCoreCoder[0]->ini_frame == 0 ) - { - hCPE->stereo_mode_cmdl = hEncoderConfig->stereo_mode_cmdl; - } -#endif set16_fx( pitch_fr_fx[0], 0, NB_SUBFR ); set16_fx( pitch_fr_fx[1], 0, NB_SUBFR ); @@ -213,14 +176,6 @@ ivas_error ivas_cpe_enc_fx( } sts[n]->rate_switching_reset = 0; move16(); - -#ifdef DEBUGGING - sts[n]->force = hEncoderConfig->force; - sts[n]->id_element = cpe_id + st_ivas->nSCE; -#ifdef DEBUG_FORCE_DIR - sts[n]->force_dir = hEncoderConfig->force_dir; -#endif -#endif } Word16 norm, Q_min = s_min( q_data_fx, add( sts[0]->q_old_inp32, L_norm_arr( sts[0]->input32_fx - input_frame, input_frame ) ) ); @@ -273,19 +228,6 @@ ivas_error ivas_cpe_enc_fx( { hCPE->element_mode = select_stereo_mode_fx( hCPE, ivas_format ); } -#ifdef DEBUG_FORCE_DIR - else - { - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hCPE->element_mode, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_element_mode.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, 1, "res/force_element_mode.enf" ); - } - } -#endif stereo_mode_combined_format_enc_fx( st_ivas, hCPE ); @@ -621,9 +563,6 @@ ivas_error ivas_cpe_enc_fx( /* reconfiguration in case of bitrate switching */ IF( NE_32( hCPE->element_brate, hCPE->last_element_brate ) && st_ivas->hMCT == NULL ) { -#ifdef DEBUGGING - hCPE->hStereoMdct->mdct_stereo_mode_cmdl = hEncoderConfig->mdct_stereo_mode_cmdl; -#endif initMdctStereoEncData_fx( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, max_bwidth, 0, NULL, 0 ); test(); test(); @@ -826,13 +765,8 @@ ivas_error ivas_cpe_enc_fx( move16(); stereo_dft_enc_synthesize_fx( hCPE->hStereoDft, sts[0]->input32_fx, &out_start_ind, &out_end_ind, 0, input_Fs, input_Fs, 0, NULL ); -#ifdef NONBE_FIX_2205_SATURATE_ALTERNATIVE Scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer Scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) ); // scaling initial part of the input buffer -#else - scale_sig32( sts[0]->input32_fx - input_frame, add( out_start_ind, input_frame ), sub( Q15, sts[0]->q_old_inp32 ) ); // scaling initial part of the input buffer - scale_sig32( sts[0]->input32_fx + out_end_ind, sub( input_frame, out_end_ind ), sub( Q15, sts[0]->q_inp32 ) ); // scaling initial part of the input buffer -#endif sts[0]->q_inp32 = Q15; sts[0]->q_old_inp32 = Q15; move16(); @@ -894,9 +828,6 @@ ivas_error ivas_cpe_enc_fx( move16(); } -#ifdef DEBUG_MODE_INFO - dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, sts[0]->id_element, ENC ) ); -#endif /*----------------------------------------------------------------* * Front Pre-processing @@ -921,12 +852,7 @@ ivas_error ivas_cpe_enc_fx( &ener_fx[n], &relE_fx[n], A_fx[n], Aw_fx[n], epsP_fx[n], &epsP_fx_q[n], lsp_new_fx[n], lsp_mid_fx[n], &vad_hover_flag[n], &attack_flag[n], realBuffer_fx[n], imagBuffer_fx[n], &q_re_im_buf[n], old_wsp_fx[n], &q_old_wsp, pitch_fr_fx[n], voicing_fr_fx[n], &loc_harm[n], &cor_map_sum_fx[n], &vad_flag_dtx[n], enerBuffer_fx[n], &enerBuffer_fx_exp[n], fft_buff_fx[n], &fft_buff_fx_q[n], A_fx[0], lsp_new_fx[0], currFlatness_fx[n], tdm_ratio_idx, fr_bands_fx, q_fr_bands, Etot_LR_fx, lf_E_fx, q_lf_E[n], localVAD_HE_SAD, - band_energies_LR_fx, q_band_energies_LR, 0, front_vad_flag, 0, 0, ivas_format, st_ivas->hMCT != NULL, st_ivas->hEncoderConfig->last_ivas_total_brate, ivas_total_brate, &Q_new[n] -#ifdef DEBUG_MODE_INFO - , - ( st_ivas->nSCE + ( cpe_id * CPE_CHANNELS ) + n ) -#endif - ); + band_energies_LR_fx, q_band_energies_LR, 0, front_vad_flag, 0, 0, ivas_format, st_ivas->hMCT != NULL, st_ivas->hEncoderConfig->last_ivas_total_brate, ivas_total_brate, &Q_new[n] ); e_old_wsp[n] = sub( Q15, q_old_wsp ); move16(); IF( error != IVAS_ERR_OK ) @@ -992,12 +918,10 @@ ivas_error ivas_cpe_enc_fx( * Core codec configuration *----------------------------------------------------------------*/ -#ifdef FIX_1411_IGF_CRASH_BW_SWITCHING test(); test(); IF( NE_32( sts[0]->core_brate, SID_2k40 ) && NE_32( sts[0]->core_brate, FRAME_NO_DATA ) ) /* Reconfigurations not needed with DTX*/ { -#endif test(); IF( EQ_16( hCPE->element_mode, IVAS_CPE_MDCT ) && st_ivas->hMCT == NULL ) { @@ -1038,13 +962,9 @@ ivas_error ivas_cpe_enc_fx( test(); test(); test(); -#ifdef FIX_1411_IGF_CRASH_BW_SWITCHING test(); test(); IF( ( NE_32( hCPE->last_element_brate, hCPE->element_brate ) || NE_16( hCPE->element_mode, hCPE->last_element_mode ) || ( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) && NE_16( sts[0]->bits_frame_nominal, last_bits_frame_nominal ) ) || NE_16( sts[n]->last_bwidth, sts[n]->bwidth ) || EQ_32( sts[n]->last_core_brate, SID_2k40 ) || EQ_32( sts[n]->last_core_brate, FRAME_NO_DATA ) ) && ( EQ_16( n, 0 ) || EQ_16( hCPE->element_mode, IVAS_CPE_MDCT ) ) ) -#else - IF( ( NE_32( hCPE->last_element_brate, hCPE->element_brate ) || NE_16( hCPE->element_mode, hCPE->last_element_mode ) || ( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) && NE_16( sts[0]->bits_frame_nominal, last_bits_frame_nominal ) ) || NE_16( sts[n]->last_bwidth, sts[n]->bwidth ) ) && ( n == 0 || EQ_16( hCPE->element_mode, IVAS_CPE_MDCT ) ) ) -#endif { Word16 igf; Word16 bw; @@ -1059,20 +979,14 @@ ivas_error ivas_cpe_enc_fx( } igf = getIgfPresent_fx( sts[n]->element_mode, L_mult0( sts[n]->bits_frame_nominal, FRAMES_PER_SEC ), bw, sts[n]->rf_mode ); /* Q0 */ move16(); -#ifdef FIX_1413_IGF_INIT_PRINTOUT IF( ( error = IGF_Reconfig_fx( &sts[n]->hIGFEnc, igf, 0, L_mult0( sts[n]->bits_frame_nominal, FRAMES_PER_SEC ), bw, sts[n]->element_mode, sts[n]->rf_mode ) ) != IVAS_ERR_OK ) -#else - IF( ( error = IGF_Reconfig_fx( &sts[n]->hIGFEnc, igf, 0, L_mult0( sts[n]->bits_frame_nominal, FRAMES_PER_SEC ), max_bwidth, sts[n]->element_mode, sts[n]->rf_mode ) ) != IVAS_ERR_OK ) -#endif { return error; } } } -#ifdef FIX_1411_IGF_CRASH_BW_SWITCHING } -#endif /* set ACELP@12k8 / ACELP@16k flag for flexible ACELP core */ FOR( n = 0; n < n_CoreChannels; n++ ) @@ -1319,13 +1233,6 @@ ivas_error ivas_cpe_enc_fx( } -#ifdef DEBUG_MODE_INFO - { - float tmpF = ivas_total_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "element_brate", 0, cpe_id, ENC ) ); - } -#endif - pop_wmops(); return error; } @@ -1493,11 +1400,7 @@ ivas_error create_cpe_enc_fx( * LR VAD initialization *-----------------------------------------------------------------*/ -#ifdef DEBUGGING - if ( hEncoderConfig->Opt_DTX_ON && ( hCPE->element_mode == IVAS_CPE_TD || hEncoderConfig->stereo_mode_cmdl == 1 ) && !( ivas_format == MASA_FORMAT && element_mode_init == IVAS_CPE_MDCT ) ) -#else IF( hEncoderConfig->Opt_DTX_ON ) -#endif { test(); IF( EQ_16( hCPE->element_mode, IVAS_CPE_TD ) || EQ_16( hCPE->element_mode, IVAS_CPE_DFT ) ) @@ -1598,23 +1501,6 @@ ivas_error create_cpe_enc_fx( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } -#ifdef DEBUGGING - hCPE->hStereoMdct->mdct_stereo_mode_cmdl = st_ivas->hEncoderConfig->mdct_stereo_mode_cmdl; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - /*set all other members to defined states */ - hCPE->hStereoMdct->fDualMono = 0; - hCPE->hStereoMdct->fMSstereo = 0; - - if ( hCPE->hStereoMdct->mdct_stereo_mode_cmdl == SMDCT_FORCE_LR ) - { - hCPE->hStereoMdct->fDualMono = 1; - } - else if ( hCPE->hStereoMdct->mdct_stereo_mode_cmdl == SMDCT_FORCE_MS ) - { - hCPE->hStereoMdct->fMSstereo = 1; - } -#endif -#endif initMdctStereoEncData_fx( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, max_bwidth, 0, NULL, 1 ); diff --git a/lib_enc/ivas_decision_matrix_enc_fx.c b/lib_enc/ivas_decision_matrix_enc_fx.c index 42e2f446ef539a3105237d0597f67c086fd7cb42..a013febaf8c35a5ad3d7cf3d7a77c72e700c90e1 100644 --- a/lib_enc/ivas_decision_matrix_enc_fx.c +++ b/lib_enc/ivas_decision_matrix_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -197,16 +169,6 @@ void ivas_decision_matrix_enc_fx( move16(); } } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->core, sizeof( int16_t ), 1, fname( st->force_dir, "force_core_loc1.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->core, sizeof( int16_t ), 1, 1, "res/force_core_loc1.enf" ); - } -#endif /* do not allow TD stereo ACELP core -> DFT stereo TCX core switching as it is on the WC complexity path */ test(); @@ -230,46 +192,6 @@ void ivas_decision_matrix_enc_fx( move16(); } -#ifdef DEBUGGING - if ( st->idchan == 0 ) - { - if ( st->force == FORCE_SPEECH && st->element_mode != IVAS_CPE_MDCT && st->total_brate <= MAX_ACELP_BRATE ) - { - st->core = ACELP_CORE; - } - else if ( st->force == FORCE_MUSIC && st->core == ACELP_CORE ) - { - st->core = TCX_20_CORE; - } - else if ( st->force == FORCE_ACELP && st->element_mode != IVAS_CPE_MDCT && st->total_brate <= MAX_ACELP_BRATE ) - { - st->core = ACELP_CORE; - if ( st->coder_type == AUDIO ) - { - st->coder_type = GENERIC; - } - } - else if ( st->force == FORCE_GSC && element_brate < IVAS_24k4 ) - { - st->core = ACELP_CORE; - } -#ifdef SUPPORT_FORCE_TCX10_TCX20 - else if ( st->force == FORCE_TCX20 || st->force == FORCE_TCX10 ) /* Initalizations should always happen with TCX20*/ - { - st->core = TCX_20_CORE; - } -#else - else if ( st->force == FORCE_TCX ) - { - st->core = TCX_20_CORE; - } -#endif - else if ( st->force == FORCE_HQ && st->element_mode != IVAS_CPE_MDCT && element_brate >= IVAS_24k4 ) - { - st->core = HQ_CORE; - } - } -#endif /* TCX not available at low bitrates -> replace it by GSC */ test(); @@ -310,16 +232,6 @@ void ivas_decision_matrix_enc_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->core, sizeof( int16_t ), 1, fname( st->force_dir, "force_core_loc2.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->core, sizeof( int16_t ), 1, 1, "res/force_core_loc2.enf" ); - } -#endif /*---------------------------------------------------------------------* * Select ACELP and GSC extension layer @@ -370,19 +282,6 @@ void ivas_decision_matrix_enc_fx( } } } - -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->extl, sizeof( int16_t ), 1, fname( st->force_dir, "force_extl.enf", -1, -1, -1 ) ); - dbgread( &st->extl_brate, sizeof( int32_t ), 1, fname( st->force_dir, "force_extl_brate.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->extl, sizeof( int16_t ), 1, 1, "res/force_extl.enf" ); - dbgwrite( &st->extl_brate, sizeof( int32_t ), 1, 1, "res/force_extl_brate.enf" ); - } -#endif } /* SWB and FB */ @@ -480,18 +379,6 @@ void ivas_decision_matrix_enc_fx( move32(); } -#ifdef DEBUG_FORCE_DIR - if ( st->force_dir[0] != '\0' ) - { - dbgread( &st->extl, sizeof( int16_t ), 1, fname( st->force_dir, "force_extl.enf", -1, -1, -1 ) ); - dbgread( &st->extl_brate, sizeof( int32_t ), 1, fname( st->force_dir, "force_extl_brate.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &st->extl, sizeof( int16_t ), 1, 1, "res/force_extl.enf" ); - dbgwrite( &st->extl_brate, sizeof( int32_t ), 1, 1, "res/force_extl_brate.enf" ); - } -#endif /* set IC-BWE bitrate */ test(); diff --git a/lib_enc/ivas_dirac_enc_fx.c b/lib_enc/ivas_dirac_enc_fx.c index 0264a21994e7f06d2d79bece1d4c19210d8d1858..c945faad236ce33e41727386f2f5923363ff10ff 100644 --- a/lib_enc/ivas_dirac_enc_fx.c +++ b/lib_enc/ivas_dirac_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_enc_cov_handler_fx.c b/lib_enc/ivas_enc_cov_handler_fx.c index 32360fd41724fee407902034120f7dc671a4cab8..548af114ab8ef5968630eb89840acda0bf5c7b2d 100644 --- a/lib_enc/ivas_enc_cov_handler_fx.c +++ b/lib_enc/ivas_enc_cov_handler_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_enc_fx.c b/lib_enc/ivas_enc_fx.c index ffd32570fdfb354337fa2400c504a47827f93683..421221409ae1a038ee40cfcd19510f6b517a6c40 100644 --- a/lib_enc/ivas_enc_fx.c +++ b/lib_enc/ivas_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -38,9 +10,6 @@ #include "rom_com.h" #include "prot_fx.h" #include "ivas_rom_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "ivas_prot_fx.h" @@ -158,19 +127,11 @@ ivas_error ivas_enc_fx( test(); IF( ( EQ_32( ivas_format, SBA_FORMAT ) ) && !( GT_16( st_ivas->sba_analysis_order, 1 ) ) ) { -#ifdef FIX_2086_ENABLE_HP20_OPT_FOR_ENC hp20_fx_32_opt( data_fx[HOA_keep_ind[st_ivas->hSpar->hMdEnc->HOA_md_ind[i]]], input_frame, st_ivas->mem_hp20_in_fx[i], input_Fs ); -#else - hp20_fx_32( data_fx[HOA_keep_ind[st_ivas->hSpar->hMdEnc->HOA_md_ind[i]]], input_frame, st_ivas->mem_hp20_in_fx[i], input_Fs ); -#endif } ELSE IF( !( EQ_32( ivas_format, MC_FORMAT ) && EQ_16( i, LFE_CHANNEL ) ) ) { -#ifdef FIX_2086_ENABLE_HP20_OPT_FOR_ENC hp20_fx_32_opt( data_fx[i], input_frame, st_ivas->mem_hp20_in_fx[i], input_Fs ); -#else - hp20_fx_32( data_fx[i], input_frame, st_ivas->mem_hp20_in_fx[i], input_Fs ); -#endif } } @@ -434,12 +395,7 @@ ivas_error ivas_enc_fx( } /* Configuration of combined-format bit-budget distribution */ - ivas_set_surplus_brate_enc( st_ivas -#ifdef DEBUG_MODE_INFO - , - nb_bits_metadata -#endif - ); + ivas_set_surplus_brate_enc( st_ivas ); /* Encode MASA transport channels */ IF( ( ivas_cpe_enc_fx( st_ivas, 0, data_fx[n], data_fx[n + 1], st_ivas->q_data_fx, input_frame, nb_bits_metadata[0], NULL ) ) != IVAS_ERR_OK ) @@ -700,12 +656,6 @@ ivas_error ivas_enc_fx( hEncoderConfig->last_ivas_total_brate = ivas_total_brate; move32(); -#ifdef DEBUG_MODE_INFO - { - float tmpF = ivas_total_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, "res/ivas_total_brate" ); - } -#endif pop_wmops(); return error; diff --git a/lib_enc/ivas_entropy_coder_fx.c b/lib_enc/ivas_entropy_coder_fx.c index 3c8cf92e2f2ef39cf45042599aa58217fad99328..ab149ba38b516e05d45d13960dd0a59d4f51e259 100644 --- a/lib_enc/ivas_entropy_coder_fx.c +++ b/lib_enc/ivas_entropy_coder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -39,9 +11,6 @@ #include "math.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-----------------------------------------------------------------------------------------* * Function ivas_get_dyn_freq_model_fx() @@ -89,12 +58,6 @@ static ivas_error ivas_get_dyn_freq_model_fx( } curr_bps_min = curr_bps; move32(); -#ifdef DEBUGGING - { - float a = curr_bps_min / 32768.0f; - dbgwrite_txt( &a, 1, "fixed_curr_bps_min.txt", NULL ); - } -#endif model_idx = 0; move16(); @@ -106,12 +69,6 @@ static ivas_error ivas_get_dyn_freq_model_fx( { curr_bps_new = L_sub( curr_bps_new, W_extract_l( W_mult0_32_32( curr_dist[i], pArith->saved_dist_arr[m + 1][i] ) ) ); } -#ifdef DEBUGGING - { - float a = curr_bps_new / 32768.0f; - dbgwrite_txt( &a, 1, "fixed_curr_bps_new.txt", NULL ); - } -#endif IF( LT_32( curr_bps_new, curr_bps_min ) ) { model_idx = m; diff --git a/lib_enc/ivas_front_vad_fx.c b/lib_enc/ivas_front_vad_fx.c index 35400f652ca47ba8e9f04a4e195a6af7edad38f1..9b6c64b802340bd48bbce29af8f6070924eccee9 100644 --- a/lib_enc/ivas_front_vad_fx.c +++ b/lib_enc/ivas_front_vad_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -181,13 +153,6 @@ ivas_error front_vad_fx( IF( hFrontVads[0] != NULL && NE_16( element_mode, IVAS_CPE_MDCT ) ) { -#ifdef DEBUGGING - /* If stereo switching is not enabled and TD is selected restore element_mode to TD every frame before the VAD */ - if ( hCPE != NULL && hCPE->stereo_mode_cmdl == IVAS_CPE_TD ) - { - hCPE->element_mode = IVAS_CPE_TD; - } -#endif /*------------------------------------------------------------------* * VAD diff --git a/lib_enc/ivas_init_enc_fx.c b/lib_enc/ivas_init_enc_fx.c index ce623be9c2a0c8fdb10304258f34001ae9fc22ff..2e58466626a5855e5490be6491446c5d63d7b464 100644 --- a/lib_enc/ivas_init_enc_fx.c +++ b/lib_enc/ivas_init_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -41,9 +13,6 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-------------------------------------------------------------------* @@ -329,12 +298,6 @@ void copy_encoder_config_fx( st_fx->rf_fec_indicator = st_ivas->hEncoderConfig->rf_fec_indicator; /* Q0 */ move16(); -#ifdef DEBUGGING - st_fx->force = st_ivas->hEncoderConfig->force; -#ifdef DEBUG_FORCE_DIR - st_fx->force_dir = st_ivas->hEncoderConfig->force_dir; -#endif -#endif st_fx->element_mode = st_ivas->hEncoderConfig->element_mode_init; /* Q0 */ move16(); @@ -527,12 +490,6 @@ ivas_error ivas_init_encoder_fx( move16(); } -#ifdef BITSTERAM_ANALYSIS - for ( i = 0; i < st_ivas->ivas_max_num_indices; i++ ) - { - memset( st_ivas->ind_list[i].function_name, 'A', 100 * sizeof( char ) ); - } -#endif /* set the maximum allowed number of metadata indices in the list */ st_ivas->ivas_max_num_indices_metadata = get_ivas_max_num_indices_metadata_fx( st_ivas->hEncoderConfig->ivas_format, st_ivas->hEncoderConfig->ivas_total_brate ); /* Q0 */ diff --git a/lib_enc/ivas_ism_dtx_enc_fx.c b/lib_enc/ivas_ism_dtx_enc_fx.c index 3474b218bd411a2b07bd60a923f32d95a6260c5c..8883ec20371de782f8695800694fd8e6d410a99d 100644 --- a/lib_enc/ivas_ism_dtx_enc_fx.c +++ b/lib_enc/ivas_ism_dtx_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_ism_enc_fx.c b/lib_enc/ivas_ism_enc_fx.c index ea509dd1020653f78a9ad5a0835f270b027a92fe..25bf6a0e2011bcae1957cf863575153de97ad749 100644 --- a/lib_enc/ivas_ism_enc_fx.c +++ b/lib_enc/ivas_ism_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "wmc_auto.h" #include "ivas_prot_fx.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -196,13 +165,6 @@ ivas_error ivas_ism_enc_fx( st->input_bwidth = st->last_input_bwidth; /* updated in BWD */ st->bwidth = st->last_bwidth; /* updated in BWD */ st->rate_switching_reset = 0; -#ifdef DEBUGGING - st->force = st_ivas->hEncoderConfig->force; - st->id_element = sce_id; -#ifdef DEBUG_FORCE_DIR - st->force_dir = st_ivas->hEncoderConfig->force_dir; -#endif -#endif move16(); move16(); move16(); @@ -231,9 +193,6 @@ ivas_error ivas_ism_enc_fx( st->bits_frame_nominal = sub( extract_l( Mpy_32_32( hSCE->element_brate, ONE_BY_FRAMES_PER_SEC_Q31 ) ), ISM_NB_BITS_METADATA_NOMINAL ); move16(); -#ifdef DEBUG_MODE_INFO - dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, st->id_element, ENC ) ); -#endif /*----------------------------------------------------------------* * Front Pre-processing @@ -251,12 +210,7 @@ ivas_error ivas_ism_enc_fx( error = pre_proc_front_ivas_fx( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8_fx[sce_id][0], old_inp_16k_fx[sce_id][0], &ener_fx[sce_id][0], &relE_fx[sce_id][0], A_fx[sce_id][0], Aw_fx[sce_id][0], epsP_fx[sce_id][0], &epsP_fx_q[sce_id][0], lsp_new_fx[sce_id][0], lsp_mid_fx[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer_fx[sce_id][0], imagBuffer_fx[sce_id][0], &q_re_im_buf[sce_id], old_wsp_fx[sce_id][0], &q_old_wsp, pitch_fr_fx[sce_id][0], voicing_fr_fx[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum_fx[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer_fx[sce_id][0], &enerBuffer_fx_exp[sce_id][0], - fft_buff_fx[sce_id][0], &fft_buff_fx_q[sce_id][0], A_fx[sce_id][0], lsp_new_fx[sce_id][0], currFlatness_fx[0], 0, fr_bands_fx, q_fr_bands, Etot_LR_fx, lf_E_fx, 31, localVAD_HE_SAD, NULL, 31, 0, 0, 0, 0, ISM_FORMAT, 0, st_ivas->hEncoderConfig->last_ivas_total_brate, st_ivas->hEncoderConfig->ivas_total_brate, &Q_new[sce_id][0] -#ifdef DEBUG_MODE_INFO - , - st->id_element -#endif - ); + fft_buff_fx[sce_id][0], &fft_buff_fx_q[sce_id][0], A_fx[sce_id][0], lsp_new_fx[sce_id][0], currFlatness_fx[0], 0, fr_bands_fx, q_fr_bands, Etot_LR_fx, lf_E_fx, 31, localVAD_HE_SAD, NULL, 31, 0, 0, 0, 0, ISM_FORMAT, 0, st_ivas->hEncoderConfig->last_ivas_total_brate, st_ivas->hEncoderConfig->ivas_total_brate, &Q_new[sce_id][0] ); e_old_wsp[sce_id][0] = sub( Q15, q_old_wsp ); move16(); IF( error != IVAS_ERR_OK ) @@ -507,19 +461,6 @@ ivas_error ivas_ism_enc_fx( } } -#ifdef DEBUG_MODE_INFO - for ( sce_id = 0; sce_id < nchan_transport_ism; sce_id++ ) - { - float tmpF; - int16_t id; - - st = st_ivas->hSCE[sce_id]->hCoreCoder[0]; - id = st->id_element; - - tmpF = st->element_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "element_brate", 0, id, ENC ) ); - } -#endif pop_wmops(); return error; diff --git a/lib_enc/ivas_ism_metadata_enc_fx.c b/lib_enc/ivas_ism_metadata_enc_fx.c index e685566645353a7d5f81aa4b460be74ecaf11502..8f06b337883bd383bb386d51dd46d8f636b2b9a8 100644 --- a/lib_enc/ivas_ism_metadata_enc_fx.c +++ b/lib_enc/ivas_ism_metadata_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -335,16 +307,6 @@ ivas_error ivas_ism_metadata_enc_fx( } } -#ifdef DEBUG_FORCE_DIR - if ( hSCE[0]->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( ism_imp, sizeof( int16_t ), nchan_ism, fname( hSCE[0]->hCoreCoder[0]->force_dir, "force_ism_imp.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( ism_imp, sizeof( int16_t ), nchan_ism, 1, "res/force_ism_imp.enf" ); - } -#endif /*----------------------------------------------------------------* * Write ISM common signaling diff --git a/lib_enc/ivas_ism_param_enc_fx.c b/lib_enc/ivas_ism_param_enc_fx.c index 47da31a1ab0c03b5be9d96ed9d931e6e55ee11c1..028b66a525c5b8b7957161c7fc2c56d0da121dda 100644 --- a/lib_enc/ivas_ism_param_enc_fx.c +++ b/lib_enc/ivas_ism_param_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_lfe_enc_fx.c b/lib_enc/ivas_lfe_enc_fx.c index 96959c9dd46fe0d60f391fcbb4c5da5f0e2d3f50..4b4adfdec91e07f52b2338494b9d0e1f89fd3046 100644 --- a/lib_enc/ivas_lfe_enc_fx.c +++ b/lib_enc/ivas_lfe_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_masa_enc_fx.c b/lib_enc/ivas_masa_enc_fx.c index 5613866ccc57e63116e7c224fcdfba71db62d480..5a8de86312ca08b74f1253cfeb1d795c5e459616 100644 --- a/lib_enc/ivas_masa_enc_fx.c +++ b/lib_enc/ivas_masa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_mc_param_enc_fx.c b/lib_enc/ivas_mc_param_enc_fx.c index 67353a279874abd481163efd96eeaadc75d37759..237d39cc2c1734a88dbfa1619281aed6c9417452 100644 --- a/lib_enc/ivas_mc_param_enc_fx.c +++ b/lib_enc/ivas_mc_param_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ // helper macros to convert the 64 bitt accumulators into the 48 bit float format #define CONVERT_CY( x_64, y_fx, y_e ) \ diff --git a/lib_enc/ivas_mc_paramupmix_enc_fx.c b/lib_enc/ivas_mc_paramupmix_enc_fx.c index 0e8c845e145f04160a57bf7442cb56b6a4251643..d8465ac5aa2814dcaab111e0e6b54554facc6954 100644 --- a/lib_enc/ivas_mc_paramupmix_enc_fx.c +++ b/lib_enc/ivas_mc_paramupmix_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -43,9 +15,6 @@ #include "ivas_rom_com.h" #include "ivas_rom_enc.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------- * Local function prototypes diff --git a/lib_enc/ivas_mcmasa_enc_fx.c b/lib_enc/ivas_mcmasa_enc_fx.c index 280da94568e28c042476055c9fef075341e20982..26b0ba0468c3377a81afdd73e08177bff054d41e 100644 --- a/lib_enc/ivas_mcmasa_enc_fx.c +++ b/lib_enc/ivas_mcmasa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_mct_core_enc_fx.c b/lib_enc/ivas_mct_core_enc_fx.c index 9bbf1260c8ed61e487b4b01a99eb6c38ebaea869..0d885f70718eee1663ee02bb2e06b13e89cebb59 100644 --- a/lib_enc/ivas_mct_core_enc_fx.c +++ b/lib_enc/ivas_mct_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_mct_enc_fx.c b/lib_enc/ivas_mct_enc_fx.c index 39735ad030624045c49913f5a43e4c28e5f070b0..76465a5f5d13e58edae0cbf679f7956b96a59ebd 100644 --- a/lib_enc/ivas_mct_enc_fx.c +++ b/lib_enc/ivas_mct_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -617,14 +589,6 @@ ivas_error create_mct_enc_fx( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } -#ifdef DEBUGGING - hMCT->hBlockData[n]->hStereoMdct->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - /*set all other members to defined states */ - hMCT->hBlockData[n]->hStereoMdct->fDualMono = 0; - hMCT->hBlockData[n]->hStereoMdct->fMSstereo = 0; -#endif -#endif initMdctStereoEncData_fx( hMCT->hBlockData[n]->hStereoMdct, ivas_format, IVAS_CPE_MDCT, cp_bitrate, st_ivas->hEncoderConfig->max_bwidth, st_ivas->hCPE[0]->hCoreCoder[0]->igf, st_ivas->hCPE[0]->hCoreCoder[0]->igf ? st_ivas->hCPE[0]->hCoreCoder[0]->hIGFEnc->igfData.igfInfo.grid : NULL, 1 ); } @@ -803,14 +767,6 @@ ivas_error mct_enc_reconfigure_fx( } } -#ifdef DEBUGGING - hMCT->hBlockData[n]->hStereoMdct->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - /*set all other members to defined states */ - hMCT->hBlockData[n]->hStereoMdct->fDualMono = 0; - hMCT->hBlockData[n]->hStereoMdct->fMSstereo = 0; -#endif -#endif initMdctStereoEncData_fx( hMCT->hBlockData[n]->hStereoMdct, ivas_format, IVAS_CPE_MDCT, cp_bitrate, st_ivas->hEncoderConfig->max_bwidth, st_ivas->hCPE[0]->hCoreCoder[0]->igf, st_ivas->hCPE[0]->hCoreCoder[0]->igf ? st_ivas->hCPE[0]->hCoreCoder[0]->hIGFEnc->igfData.igfInfo.grid : NULL, mem_init ); } diff --git a/lib_enc/ivas_mct_enc_mct_fx.c b/lib_enc/ivas_mct_enc_mct_fx.c index d402d834f9fa1b5dcbd409f5902e09c25ee907da..a8412122047d8ec9cb392fd7decb87e87ea143fe 100644 --- a/lib_enc/ivas_mct_enc_mct_fx.c +++ b/lib_enc/ivas_mct_enc_mct_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_mdct_core_enc_fx.c b/lib_enc/ivas_mdct_core_enc_fx.c index b4eba62010700dd4e91a3944c7a4f0b6b936d6f9..b80256410227f6f61610c5f5df39b8285defa525 100644 --- a/lib_enc/ivas_mdct_core_enc_fx.c +++ b/lib_enc/ivas_mdct_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "ivas_cnst.h" #include diff --git a/lib_enc/ivas_omasa_enc_fx.c b/lib_enc/ivas_omasa_enc_fx.c index 1311181dd78594bc9cfdcd78ed66741994668fd5..bce15a840bbbc2f3717032b40c8f96188b01beae 100644 --- a/lib_enc/ivas_omasa_enc_fx.c +++ b/lib_enc/ivas_omasa_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include @@ -40,9 +12,6 @@ #include "ivas_rom_com.h" #include "ivas_rom_enc.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------- @@ -913,10 +882,6 @@ void ivas_set_ism_importance_interformat_fx( void ivas_set_surplus_brate_enc( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -#ifdef DEBUG_MODE_INFO - , - const int16_t *nb_bits_metadata /* i : number of metadata bits */ -#endif ) { test(); @@ -936,31 +901,6 @@ void ivas_set_surplus_brate_enc( move32(); } -#ifdef DEBUG_MODE_INFO - if ( st_ivas->hSCE[0] != NULL ) - { - int16_t input_frame = (int16_t) ( st_ivas->hEncoderConfig->input_Fs / FRAMES_PER_SEC ); - float tmpF = 0; - - if ( st_ivas->ism_mode == ISM_MASA_MODE_PARAM_ONE_OBJ || st_ivas->ism_mode == ISM_MASA_MODE_MASA_ONE_OBJ ) - { - tmpF += st_ivas->hSCE[0]->hCoreCoder[0]->total_brate + (float) ( nb_bits_metadata[1] * 50 ); - } - else - { - for ( int16_t i = 0; i < st_ivas->hEncoderConfig->nchan_ism; i++ ) - { - tmpF += st_ivas->hSCE[i]->hCoreCoder[0]->total_brate + (float) ( nb_bits_metadata[i + 1] * 50 ); - } - } - tmpF /= 1000.f; - dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_ISM" ); /* == ism_total_brate incl. ISM MD */ - tmpF = st_ivas->hEncoderConfig->ivas_total_brate / 1000.0f - tmpF; - dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_MASA" ); /* == masa_total_brate incl. MASA MD */ - tmpF = nb_bits_metadata[0] * FRAMES_PER_SEC / 1000.0f; - dbgwrite( &tmpF, 4, 1, input_frame, "res/brate_MASA_MD" ); /* == MASA MD bitrate */ - } -#endif return; } diff --git a/lib_enc/ivas_osba_enc_fx.c b/lib_enc/ivas_osba_enc_fx.c index 3629b856285ae840e4540f4f21685b290e1d624c..97b1fd180ef8b41cee1f727426f221a220eda8b9 100644 --- a/lib_enc/ivas_osba_enc_fx.c +++ b/lib_enc/ivas_osba_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_enc/ivas_pca_enc_fx.c b/lib_enc/ivas_pca_enc_fx.c index 7eb4f18e71e4fc428d47427a68b9349633fd6667..b746f463f3a45e4dd36171fc76b15a26d638566c 100644 --- a/lib_enc/ivas_pca_enc_fx.c +++ b/lib_enc/ivas_pca_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_qmetadata_enc_fx.c b/lib_enc/ivas_qmetadata_enc_fx.c index 3f18527746af83315451c5160e22d3e48c496f38..13162242bdb2359ce25bf463fb840897216268e2 100644 --- a/lib_enc/ivas_qmetadata_enc_fx.c +++ b/lib_enc/ivas_qmetadata_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -41,9 +13,6 @@ #include "ivas_stat_enc.h" #include "wmc_auto.h" #include "basop_util.h" -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) -#include -#endif /*-----------------------------------------------------------------------* @@ -1147,23 +1116,14 @@ void reset_metadata_spatial_fx( { hMetaData->ind_list[i].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" ); -#endif } FOR( ( j = 0, i = next_ind_sid ); i < last_ind_sid; ( i++, j++ ) ) { hMetaData->ind_list[j].value = hMetaData->ind_list[i].value; hMetaData->ind_list[j].nb_bits = hMetaData->ind_list[i].nb_bits; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - strncpy( hMetaData->ind_list[j].function_name, hMetaData->ind_list[i].function_name, 100 ); -#endif hMetaData->nb_bits_tot = add( hMetaData->nb_bits_tot, hMetaData->ind_list[j].nb_bits ); hMetaData->ind_list[i].nb_bits = -1; -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( hMetaData->ind_list[i].function_name, "RESET in reset_metadata_spatial" ); -#endif move16(); move16(); move16(); @@ -1971,9 +1931,6 @@ void restore_metadata_buffer_fx( { hMetaData->ind_list[i].nb_bits = -1; move16(); -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - sprintf( hMetaData->ind_list[i].function_name, "RESET in restore_metadata_buffer" ); -#endif } hMetaData->nb_bits_tot = bit_pos_start; move16(); diff --git a/lib_enc/ivas_qspherical_enc_fx.c b/lib_enc/ivas_qspherical_enc_fx.c index 3f17a423e7025e5e4e34de78a2d49c3f5305a7e1..55c65664c19ffbaf6256228df60ccdbd061debc8 100644 --- a/lib_enc/ivas_qspherical_enc_fx.c +++ b/lib_enc/ivas_qspherical_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_range_uni_enc_fx.c b/lib_enc/ivas_range_uni_enc_fx.c index 6c322a3d953bfa19abc3df4d0196203117d76867..3dd57c49a50ef016eff0c2a15e35e15ffb86643d 100644 --- a/lib_enc/ivas_range_uni_enc_fx.c +++ b/lib_enc/ivas_range_uni_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "ivas_prot_fx.h" diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h index d1e644a93e45e0ffb4ef355a64c6eb3308e3fc9c..db744474349b6d323d2c95ee4be3fde8647f4040 100644 --- a/lib_enc/ivas_rom_enc.h +++ b/lib_enc/ivas_rom_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_ROM_ENC_H #define IVAS_ROM_ENC_H diff --git a/lib_enc/ivas_rom_enc_fx.c b/lib_enc/ivas_rom_enc_fx.c index 1b7bed2106883a12aa346153477f04f065a94988..f32a7bee4a90d0910201277c71e8153ca2a0031b 100644 --- a/lib_enc/ivas_rom_enc_fx.c +++ b/lib_enc/ivas_rom_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_sba_enc_fx.c b/lib_enc/ivas_sba_enc_fx.c index e630a70d954f4e5764dba5b446df8b125884a346..93cdc7478b907fa3af1d8840614d8ccd86170d60 100644 --- a/lib_enc/ivas_sba_enc_fx.c +++ b/lib_enc/ivas_sba_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_sce_enc_fx.c b/lib_enc/ivas_sce_enc_fx.c index fa58f267479a7a380618fd19f7063b0541fa3d30..5119cfa4e1fd492b55318a78409c883881e5d771 100644 --- a/lib_enc/ivas_sce_enc_fx.c +++ b/lib_enc/ivas_sce_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #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 "prot_fx_enc.h" @@ -160,13 +129,6 @@ ivas_error ivas_sce_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(); move32(); @@ -239,11 +201,6 @@ ivas_error ivas_sce_enc_fx( move16(); } -#ifdef DEBUG_MODE_INFO - dbgwrite( st->input_fx - NS2SA( st->input_Fs, ACELP_LOOK_NS ), sizeof( Word16 ), input_frame, 1, "res/input_DMX" ); - dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, st->id_element, ENC ) ); -#endif - /*----------------------------------------------------------------* * Front Pre-processing @@ -257,12 +214,7 @@ ivas_error ivas_sce_enc_fx( &ener_fx[0], &relE_fx[0], A_fx[0], Aw_fx[0], epsP_fx[0], &epsP_fx_q[0], lsp_new_fx[0], lsp_mid_fx[0], &vad_hover_flag[0], &attack_flag[0], realBuffer_fx[0], imagBuffer_fx[0], &q_re_im_buf, old_wsp_fx[0], &q_old_wsp, pitch_fr_fx[0], voicing_fr_fx[0], &loc_harm[0], &cor_map_sum_fx[0], &vad_flag_dtx[0], enerBuffer_fx[0], &enerBuffer_fx_exp[0], fft_buff_fx[0], &fft_buff_fx_q[0], A_fx[0], lsp_new_fx[0], currFlatness_fx[0], 0, fr_bands_fx, q_fr_bands, Etot_LR_fx, lf_E_fx, 31, localVAD_HE_SAD, NULL, 31, flag_16k_smc, - st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, ivas_format, 0, st_ivas->hEncoderConfig->last_ivas_total_brate, st_ivas->hEncoderConfig->ivas_total_brate, &Q_new[0] -#ifdef DEBUG_MODE_INFO - , - st->id_element -#endif - ); + st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, ivas_format, 0, st_ivas->hEncoderConfig->last_ivas_total_brate, st_ivas->hEncoderConfig->ivas_total_brate, &Q_new[0] ); e_old_wsp[0] = sub( Q15, q_old_wsp ); move16(); IF( NE_32( error, IVAS_ERR_OK ) ) @@ -378,12 +330,6 @@ ivas_error ivas_sce_enc_fx( st->hTranDet->transientDetector.prev_bIsAttackPresent = st->hTranDet->transientDetector.bIsAttackPresent; move16(); -#ifdef DEBUG_MODE_INFO - { - float tmpF = hSCE->element_brate / 1000.0f; - dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "element_brate", 0, sce_id, ENC ) ); - } -#endif pop_wmops(); diff --git a/lib_enc/ivas_sns_enc_fx.c b/lib_enc/ivas_sns_enc_fx.c index 0e3c0bd405c51fedc3cdc397b35271b23f445391..2febb47f4de110cd9e610e7deaac557a9a987484 100644 --- a/lib_enc/ivas_sns_enc_fx.c +++ b/lib_enc/ivas_sns_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_spar_encoder_fx.c b/lib_enc/ivas_spar_encoder_fx.c index 2abe067762229194816115f1781f572f43dfbc10..9f2b973afcc32a17a00fa122aeff8e0ff4f97e84 100644 --- a/lib_enc/ivas_spar_encoder_fx.c +++ b/lib_enc/ivas_spar_encoder_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -40,9 +12,6 @@ #include "math.h" #include "wmc_auto.h" #include "prot_fx_enc.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* @@ -737,14 +706,6 @@ static ivas_error ivas_spar_enc_process_fx( ivas_transient_det_process_fx( hSpar->hTranDet, data_fx[0], input_frame, transient_det ); -#ifdef DEBUGGING - { - float a[2]; - a[0] = transient_det[0]; - a[1] = transient_det[1]; - dbgwrite_txt( a, 2, "fixed.txt", NULL ); - } -#endif if ( LT_32( ivas_total_brate, IVAS_24k4 ) ) { transient_det[1] = 0; @@ -905,17 +866,6 @@ static ivas_error ivas_spar_enc_process_fx( ivas_fb_mixer_get_in_out_mapping_fx( hSpar->hFbMixer->fb_cfg, in_out_mixer_map ); -#ifdef DEBUG_SPAR_DIRAC_WRITE_OUT_PRED_PARS - { - static FILE *fid = 0; - int16_t band = 9; - if ( !fid ) - { - fid = fopen( "pred_coeffs_enc.txt", "wt" ); - } - fprintf( fid, "%.6f\n", hSpar->hMdEnc->mixer_mat[1][0][band] ); - } -#endif ivas_fb_mixer_process_fx( hSpar->hFbMixer, hSpar->hMdEnc->mixer_mat_fx, &hSpar->hMdEnc->q_mixer_mat_fx, p_pcm_tmp_fx, q_p_pcm_tmp_fx, input_frame, in_out_mixer_map ); @@ -929,11 +879,7 @@ static ivas_error ivas_spar_enc_process_fx( IF( hSpar->hFbMixer->fb_cfg->active_w_mixing == 0 ) { /*cross fade between new active W channels and old passive W channel*/ -#ifdef BE_FIX_1391_COVERAGE_SPAR_DYN__CHANNEL IF( EQ_16( dyn_active_w_flag, 1 ) || EQ_16( hSpar->hMdEnc->spar_md.prior_dyn_active_w_flag, 1 ) ) -#else - IF( EQ_16( dyn_active_w_flag, 1 ) ) -#endif { IF( NE_16( hSpar->hMdEnc->spar_md.prior_dyn_active_w_flag, dyn_active_w_flag ) ) { diff --git a/lib_enc/ivas_spar_md_enc_fx.c b/lib_enc/ivas_spar_md_enc_fx.c index be07b38cbc7a47018b4e88b3523129d0661bf154..b89cdf8c87df91a2af7a24b4229e244d91248c9a 100644 --- a/lib_enc/ivas_spar_md_enc_fx.c +++ b/lib_enc/ivas_spar_md_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -438,11 +410,7 @@ static void write_metadata_buffer_fx( FOR( i = 0; i < hMetaData_tmp->nb_ind_tot; i++ ) { -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - push_next_indice_( hMetaData_tmp->ind_list[i].function_name, hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits ); -#else push_next_indice( hMetaData, hMetaData_tmp->ind_list[i].value, hMetaData_tmp->ind_list[i].nb_bits ); -#endif } return; diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 6cad0ac687c366068b9160a9c550abc3fc9e62c4..6c87e610c0777bfd880de2498365c8dbcc471f51 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_STAT_ENC_H #define IVAS_STAT_ENC_H @@ -39,9 +11,6 @@ #include "ivas_cnst.h" #include "stat_enc.h" #include "ivas_stat_com.h" -#ifdef DEBUG_FORCE_DIR -#include "debug.h" -#endif /*----------------------------------------------------------------------------------* * DFT Stereo encoder structures @@ -318,13 +287,8 @@ typedef struct stereo_mdct_enc_data_structure /* only intraframe */ Word16 mdct_stereo_mode[2]; /* mdct stereo mode: LR, MS, band-wise MS */ -#ifdef DEBUGGING - Word16 mdct_stereo_mode_cmdl; /* MDCT stereo mode from command-line */ - Word16 fDualMono; /* force dual mono in MDCT stereo mode */ - Word16 fMSstereo; /* force full-band MS in MDCT stereo mode */ -#endif - Word16 global_ild[2]; /* Quantized ILD for the whole spectrum */ - Word16 split_ratio; /* Ratio of bitrate (1 to 7), split_ratio = 8 * 1st chn bitrate / (1st + 2nd chn bitrate) */ + Word16 global_ild[2]; /* Quantized ILD for the whole spectrum */ + Word16 split_ratio; /* Ratio of bitrate (1 to 7), split_ratio = 8 * 1st chn bitrate / (1st + 2nd chn bitrate) */ Word16 IGFStereoMode[2]; /* MDCT stereo mode for IGF */ @@ -1108,9 +1072,6 @@ typedef struct cpe_enc_data_structure Word16 *input_mem_fx[CPE_CHANNELS]; /* input channels buffers memory; needed to be up-to-date for TD->DFT stereo switching */ Word16 q_input_mem[CPE_CHANNELS]; -#ifdef DEBUGGING - Word16 stereo_mode_cmdl; /* stereo mode forced from the commaand-line */ -#endif } CPE_ENC_DATA, *CPE_ENC_HANDLE; @@ -1186,12 +1147,10 @@ typedef struct stereo_dmx_evs_correlation_filter_structure Word32 isd_rate_s_fx; // Q31 Word32 iccr_s_fx; // Q31 -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING - Word32 phitd_fx; // Q15 - Word32 iccres_s_fx; // Q31 + Word32 phitd_fx; // Q15 + Word32 iccres_s_fx; // Q31 Word32 lvlin_fx[CPE_CHANNELS]; Word16 lvlin_fx_e[CPE_CHANNELS]; -#endif Word32 ipd_ff_fx[STEREO_DMX_EVS_NB_SUBBAND_MAX]; // Q31 Word32 Pr_fx[STEREO_DMX_EVS_NB_SUBBAND_MAX]; // Q31 Word32 Pi_fx[STEREO_DMX_EVS_NB_SUBBAND_MAX]; // Q31 @@ -1328,15 +1287,6 @@ typedef struct encoder_config_structure /* temp. development parameters */ Word16 Opt_PCA_ON; /* flag indicating PCA operation in SBA */ -#ifdef DEBUGGING - /* debugging options */ - Word16 stereo_mode_cmdl; /* stereo mode forced from the command-line */ - Word16 force; /* parameter to force specific "core" of the Core-Coder*/ - Word16 mdct_stereo_mode_cmdl; /* mdct stereo mode forced from command-line, employed only when DEBUG_FORCE_MDCT_STEREO_MODE is activated */ -#ifdef DEBUG_FORCE_DIR - char force_dir[FORCE_DIR_MAX_LENGTH]; /* directory containing external binary files for modes/parameters enforcement (empty string indicates no enforcement) */ -#endif -#endif } ENCODER_CONFIG, *ENCODER_CONFIG_HANDLE; diff --git a/lib_enc/ivas_stereo_adapt_GR_enc_fx.c b/lib_enc/ivas_stereo_adapt_GR_enc_fx.c index 8e79b228875469ea0b56b50d505f7e59771346eb..ebd6ec275a5d2fef79124e293cf9d7826e0cb02c 100644 --- a/lib_enc/ivas_stereo_adapt_GR_enc_fx.c +++ b/lib_enc/ivas_stereo_adapt_GR_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_classifier_fx.c b/lib_enc/ivas_stereo_classifier_fx.c index 2c1bc0317099125735d2d30683f03a2b4ff13592..f6c2f430d217f98e91c1a8a545c3f1c9753f511e 100644 --- a/lib_enc/ivas_stereo_classifier_fx.c +++ b/lib_enc/ivas_stereo_classifier_fx.c @@ -1,41 +1,10 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "cnst.h" #include "rom_com.h" #include "prot_fx.h" @@ -129,12 +98,8 @@ Word16 select_stereo_mode_fx( test(); test(); test(); -#ifdef DEBUGGING - IF( GE_32( hCPE->element_brate, MIN_BRATE_MDCT_STEREO ) || ( ( ( EQ_16( ivas_format, MASA_FORMAT ) || EQ_16( ivas_format, MASA_ISM_FORMAT ) ) && LT_32( hCPE->element_brate, MASA_STEREO_MIN_BITRATE ) ) ) || ( hCPE->stereo_mode_cmdl == IVAS_CPE_DFT || hCPE->stereo_mode_cmdl == IVAS_CPE_TD ) ) -#else if ( GE_32( hCPE->element_brate, MIN_BRATE_MDCT_STEREO ) || ( ( ( EQ_16( ivas_format, MASA_FORMAT ) || EQ_16( ivas_format, MASA_ISM_FORMAT ) ) && LT_32( hCPE->element_brate, MASA_STEREO_MIN_BITRATE ) ) ) ) -#endif { stereo_switching_flag = 0; move16(); @@ -188,12 +153,6 @@ Word16 select_stereo_mode_fx( element_mode = IVAS_CPE_DFT; move16(); } -#ifdef DEBUGGING - if ( hCPE->stereo_mode_cmdl > 1 ) - { - element_mode = hCPE->stereo_mode_cmdl; - } -#endif } ELSE IF( EQ_16( element_mode, IVAS_CPE_TD ) ) { @@ -241,16 +200,6 @@ Word16 select_stereo_mode_fx( } } -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &element_mode, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_element_mode.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &element_mode, sizeof( int16_t ), 1, 1, "res/force_element_mode.enf" ); - } -#endif IF( NE_16( hCPE->last_element_mode, element_mode ) ) { @@ -973,16 +922,6 @@ void unclr_classifier_td_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hStereoClassif->unclr_decision, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_unclr_decision.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hStereoClassif->unclr_decision, sizeof( int16_t ), 1, 1, "res/force_unclr_decision.enf" ); - } -#endif return; } @@ -1115,16 +1054,6 @@ void unclr_classifier_dft_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hStereoClassif->unclr_decision, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_unclr_decision.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hStereoClassif->unclr_decision, sizeof( int16_t ), 1, 1, "res/force_unclr_decision.enf" ); - } -#endif return; } @@ -1275,16 +1204,6 @@ void xtalk_classifier_td_fx( move16(); } -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hStereoClassif->xtalk_decision, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_xtalk_decision.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hStereoClassif->xtalk_decision, sizeof( int16_t ), 1, 1, "res/force_xtalk_decision.enf" ); - } -#endif return; } @@ -1523,16 +1442,6 @@ void xtalk_classifier_dft_fx( hItd->prev_itd2 = itd2; move16(); -#ifdef DEBUG_FORCE_DIR - if ( hCPE->hCoreCoder[0]->force_dir[0] != '\0' ) - { - dbgread( &hStereoClassif->xtalk_decision, sizeof( int16_t ), 1, fname( hCPE->hCoreCoder[0]->force_dir, "force_xtalk_decision.enf", -1, -1, -1 ) ); - } - else - { - dbgwrite( &hStereoClassif->xtalk_decision, sizeof( int16_t ), 1, 1, "res/force_xtalk_decision.enf" ); - } -#endif return; } diff --git a/lib_enc/ivas_stereo_cng_enc_fx.c b/lib_enc/ivas_stereo_cng_enc_fx.c index b73a57f4690c86d566eb94bd7dadab969789f193..3642ce8e1a668e36aab35a136f30e20c83731c36 100644 --- a/lib_enc/ivas_stereo_cng_enc_fx.c +++ b/lib_enc/ivas_stereo_cng_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_dft_enc_fx.c b/lib_enc/ivas_stereo_dft_enc_fx.c index e5522fb377bf0ab53db392a8fae7c58230c46efa..d75da9b2de8cffd673c31caf9b156ffbfb28e983 100644 --- a/lib_enc/ivas_stereo_dft_enc_fx.c +++ b/lib_enc/ivas_stereo_dft_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.q_inp - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -3001,9 +2973,6 @@ void stereo_dft_enc_write_BS_fx( } } -#ifdef DEBUG_MODE_DFT_BITS - fprintf( ITD_bits, "%d ", *nb_bits ); -#endif /*------------------------------------------------------------------* * write Side gain indices @@ -3048,9 +3017,6 @@ ELSE /* nb bits are used for side gain*/ ( *nb_bits ) = add( *nb_bits, nb ); move16(); -#ifdef DEBUG_MODE_DFT_BITS -fprintf( SG_bits, "%d ", nb ); -#endif nb = 0; move16(); @@ -3152,9 +3118,6 @@ ELSE IF( LE_16( *nb_bits, ( ( IVAS_SID_5k2 - SID_2k40 ) / FRAMES_PER_SEC - SID_F } -#ifdef DEBUG_MODE_DFT_BITS -fprintf( IPD_bits, "%d ", nb ); -#endif ( *nb_bits ) = add( *nb_bits, nb ); /*----------------------------------------------------------------* diff --git a/lib_enc/ivas_stereo_dft_enc_itd_fx.c b/lib_enc/ivas_stereo_dft_enc_itd_fx.c index eb23e9d01862638d7789f34c293a2818b55ecdb9..1c2ffb08d7783bc3bac8a62aade84ed77ff6c6b9 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd_fx.c +++ b/lib_enc/ivas_stereo_dft_enc_itd_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stereo_dft_td_itd_fx.c b/lib_enc/ivas_stereo_dft_td_itd_fx.c index 2c044625c9afe432e74c86ab81a9ddde7ce46d14..990d76ac186e5fa26ef5e6156e11014ba4856ba0 100644 --- a/lib_enc/ivas_stereo_dft_td_itd_fx.c +++ b/lib_enc/ivas_stereo_dft_td_itd_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stereo_dmx_evs_fx.c b/lib_enc/ivas_stereo_dmx_evs_fx.c index 73f7e246c0a698beec46c1b3efac010e5d99eca2..817ca817bc5e8e011740dbd003e2eaa7ecc2428f 100644 --- a/lib_enc/ivas_stereo_dmx_evs_fx.c +++ b/lib_enc/ivas_stereo_dmx_evs_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -77,7 +49,6 @@ #define STEREO_DMX_EVS_ICCR_HYST_L_Q31 1610612736 #define STEREO_DMX_EVS_ICCR_HYST_H_Q31 1825361101 -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING #define STEREO_DMX_EVS_ICCRES_FORGETTING_Q31 1975684956 #define STEREO_DMX_EVS_LVLU_FORGETTING_Q31 1073741824 #define STEREO_DMX_EVS_LVLD_FORGETTING_Q31 1975684956 @@ -85,7 +56,6 @@ #define STEREO_DMX_EVS_ICLD_THRESH_FX_E 2 #define STEREO_DMX_EVS_ICCRES_THRESH_Q31 858993459 #define STEREO_DMX_EVS_DICLD_THRESH_Q30 1606570807 -#endif #define STEREO_DMX_EVS_SWTCH_HYS_THRES 1 #define STEREO_DMX_EVS_LR_EGY_Q27 2013265920 @@ -204,7 +174,6 @@ static void weighted_ave_fx( const Word16 input_frame, /* i : input frame length per channel */ const Word32 wnd_fx[] /* i : window coef Q31 */ ); -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING static void calc_energy_fx( const Word32 src1_fx[], /* i : Lch input signal */ const Word32 src2_fx[], /* i : Rch input signal */ @@ -228,28 +197,6 @@ static void create_M_signal_fx( Word16 *src_energy_fx_e, /* i/o: input signal energy */ STEREO_DMX_EVS_PHA_HANDLE hPHA /* i/o: correlation filter structure */ ); -#else -static void calc_energy_fx( - const Word32 src1_fx[], /* i : Lch input signal */ - const Word32 src2_fx[], /* i : Rch input signal */ - Word32 energy_fx[], /* o : calculated energy */ - Word16 *energy_fx_e, /* o : calculated energy */ - const Word16 input_frame, /* i : input frame length per channel */ - const Word32 ratio_float_fx ); -static void create_M_signal_fx( - const Word32 srcL_fx[], /* i : Lch input signal Q16 */ - const Word32 srcR_fx[], /* i : Rch input signal Q16 */ - Word32 dmx_fx[], /* o : output signal Q31 */ - const Word32 w_curr_fx, /* i : adapting weight Q31 */ - const Word16 input_frame, /* i : input frame length per channel */ - const Word32 wnd_fx[], /* i : window coef Q31 */ - Word32 *w_prev_fx, /* i/o: adapting prev weight Q31 */ - Word32 *dmx_energy_fx, /* i/o: downmix signal energy dmx_energy_fx_e */ - Word16 *dmx_energy_fx_e, /* i/o: downmix signal energy */ - Word32 *src_energy_fx, /* i/o: input signal energy src_energy_fx_e */ - Word16 *src_energy_fx_e /* i/o: input signal energy */ -); -#endif static Word32 find_poc_peak_fx( STEREO_DMX_EVS_POC_HANDLE hPOC, /* i/o: phase only correlation structure */ Word16 itd_fx[], /* o : estimated itd */ @@ -763,13 +710,11 @@ static void calc_poc_fx( move32(); eneR_e = 0; move16(); -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING step = sub( n0 >> 3, 1 ); tmp1 = 0; tmp2 = 0; n1 = 0; n2 = 0; -#endif FOR( ( n = 1, i = 1 ); n < nsbd; n++ ) { @@ -867,7 +812,6 @@ static void calc_poc_fx( } eneR = BASOP_Util_Add_Mant32Exp( eneR, eneR_e, W_round64_L( W_tmp ), sub( 1, L_tmp_e ), &eneR_e ); -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING IF( EQ_16( i, step ) ) { tmp1 = eneL; @@ -875,7 +819,6 @@ static void calc_poc_fx( tmp2 = eneR; n2 = eneR_e; } -#endif } // Pn = (float) inv_sqrt( ( tPr * tPr + tPi * tPi ) + EPSILON ); @@ -906,12 +849,7 @@ static void calc_poc_fx( } /* Computes Spectral flatness on one channel */ -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING IF( LT_32( spectral_flatness_fx( &tEl[1], &tEl_e[1], sub( nsbd, 1 ) ), STEREO_DMX_EVS_IPD_SF_THRES_Q31 ) ) -#else - tmp1 = spectral_flatness_fx( &tEl[1], &tEl_e[1], nsbd - 1 ); - IF( LT_32( tmp1, STEREO_DMX_EVS_IPD_SF_THRES_Q31 ) ) -#endif { hPHA->pha_ipd_chanswitch_allowed = 0; move16(); @@ -935,7 +873,6 @@ static void calc_poc_fx( hPHA->iccr_s_fx = L_add( Mpy_32_32_r( STEREO_DMX_EVS_ICCR_FORGETTING_Q31, hPHA->iccr_s_fx ), Mpy_32_32_r( MAX_32 - STEREO_DMX_EVS_ICCR_FORGETTING_Q31, ICCr ) ); // Q31 move32(); -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING step = add( step, 1 ); eneL = BASOP_Util_Add_Mant32Exp( eneL, eneL_e, -tmp1, n1, &eneL_e ); @@ -1010,7 +947,6 @@ static void calc_poc_fx( L_tmp = L_shl_sat( L_tmp, L_tmp_e ); // Q31 hPHA->iccres_s_fx = L_add( Mpy_32_32_r( STEREO_DMX_EVS_ICCRES_FORGETTING_Q31, hPHA->iccres_s_fx ), Mpy_32_32_r( L_sub( MAX_32, STEREO_DMX_EVS_ICCRES_FORGETTING_Q31 ), L_add_sat( ICCr >> 1, L_tmp >> 1 ) ) ); // Q31 -#endif IF( EQ_32( hPHA->curr_pha, STEREO_DMX_EVS_PHA_IPD ) ) { @@ -1569,11 +1505,7 @@ static Word32 find_poc_peak_fx( move16(); move16(); move16(); -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING IF( Q_fx[n] == 0 ) -#else - if ( Q_fx[n] == 0 ) -#endif { Q_e[n] = 0; move16(); @@ -1959,7 +1891,6 @@ static void renorm_poc_fx( * * calculate energy *-------------------------------------------------------------------*/ -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING void calc_energy_fx( const Word32 src1_fx[], /* i : Lch input signal */ const Word32 src2_fx[], /* i : Rch input signal */ @@ -1969,23 +1900,9 @@ void calc_energy_fx( Word16 *lvl_fx_e, /* i/o: signal level */ const Word16 input_frame, /* i : input frame length per channel */ const Word32 ratio_float_fx ) -#else -void calc_energy_fx( - const Word32 src1_fx[], /* i : Lch input signal */ - const Word32 src2_fx[], /* i : Rch input signal */ - Word32 energy_fx[], /* o : calculated energy */ - Word16 *energy_fx_e, /* o : calculated energy */ - const Word16 input_frame, /* i : input frame length per channel */ - const Word32 ratio_float_fx ) -#endif { -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING Word32 E_32_fx, wnd_fx, wnd_diff_fx, lvli_fx, lvlff_fx; Word16 i, adaptlen, lvli_fx_e; -#else - Word32 E_32_fx, wnd_fx, wnd_diff_fx; - Word16 i, adaptlen; -#endif Word64 E_fx; /* Initialization */ @@ -2050,7 +1967,6 @@ void calc_energy_fx( *energy_fx = BASOP_Util_Add_Mant32Exp( Mpy_32_32( *energy_fx, ratio_float_fx ), *energy_fx_e, Mpy_32_32( temp32, L_sub( MAX_32, ratio_float_fx ) ), sub( 31, q_temp32 ), energy_fx_e ); move32(); -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING IF( ( lvl_fx != NULL ) && ( lvl_fx_e != NULL ) ) { E_32_fx = BASOP_Util_Add_Mant32Exp( E_32_fx, sub( 31, q_E ), EPSILON_FX_M, EPSILON_FX_E, &temp_e ); @@ -2066,7 +1982,6 @@ void calc_energy_fx( } *lvl_fx = BASOP_Util_Add_Mant32Exp( Mpy_32_32( *lvl_fx, lvlff_fx ), *lvl_fx_e, Mpy_32_32( lvli_fx, L_sub( MAX_32, lvlff_fx ) ), lvli_fx_e, lvl_fx_e ); // Q(31 - *lvli_fx_e) } -#endif return; } @@ -2157,7 +2072,6 @@ static void adapt_gain_fx( * * create downmix signal *-------------------------------------------------------------------*/ -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING void create_M_signal_fx( const Word32 srcL_fx[], /* i : Lch input signal Q16 */ const Word32 srcR_fx[], /* i : Rch input signal Q16 */ @@ -2172,21 +2086,6 @@ void create_M_signal_fx( Word16 *src_energy_fx_e, /* i/o: input signal energy */ STEREO_DMX_EVS_PHA_HANDLE hPHA /* i/o: correlation filter structure */ ) -#else -void create_M_signal_fx( - const Word32 srcL_fx[], /* i : Lch input signal Q16 */ - const Word32 srcR_fx[], /* i : Rch input signal Q16 */ - Word32 dmx_fx[], /* o : output signal Q31 */ - const Word32 w_curr_fx, /* i : adapting weight Q31 */ - const Word16 input_frame, /* i : input frame length per channel */ - const Word32 wnd_fx[], /* i : window coef Q31 */ - Word32 *w_prev_fx, /* i/o: adapting prev weight Q31 */ - Word32 *dmx_energy_fx, /* i/o: downmix signal energy dmx_energy_fx_e */ - Word16 *dmx_energy_fx_e, /* i/o: downmix signal energy */ - Word32 *src_energy_fx, /* i/o: input signal energy src_energy_fx_e */ - Word16 *src_energy_fx_e /* i/o: input signal energy */ -) -#endif { Word32 amp_mod_fx[CPE_CHANNELS]; Word32 weighted_fx[L_FRAME48k], Lbias_fx; @@ -2209,15 +2108,9 @@ void create_M_signal_fx( move32(); } weighted_ave_fx( srcL_fx, srcR_fx, dmx_fx, w_curr_fx, w_prev_fx[0], input_frame, wnd_fx ); -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING calc_energy_fx( srcL_fx, srcL_fx, src_energy_fx, src_energy_fx_e, hPHA->lvlin_fx, hPHA->lvlin_fx_e, input_frame, STEREO_DMX_EVS_DMX_EGY_FORGETTING_FX ); calc_energy_fx( srcR_fx, srcR_fx, src_energy_fx + 1, src_energy_fx_e + 1, hPHA->lvlin_fx + 1, hPHA->lvlin_fx_e + 1, input_frame, STEREO_DMX_EVS_DMX_EGY_FORGETTING_FX ); calc_energy_fx( dmx_fx, dmx_fx, dmx_energy_fx, dmx_energy_fx_e, NULL, NULL, input_frame, STEREO_DMX_EVS_DMX_EGY_FORGETTING_FX ); -#else - calc_energy_fx( srcL_fx, srcL_fx, src_energy_fx, src_energy_fx_e, input_frame, STEREO_DMX_EVS_DMX_EGY_FORGETTING_FX ); - calc_energy_fx( srcR_fx, srcR_fx, src_energy_fx + 1, src_energy_fx_e + 1, input_frame, STEREO_DMX_EVS_DMX_EGY_FORGETTING_FX ); - calc_energy_fx( dmx_fx, dmx_fx, dmx_energy_fx, dmx_energy_fx_e, input_frame, STEREO_DMX_EVS_DMX_EGY_FORGETTING_FX ); -#endif temp32_1 = Mpy_32_32( src_energy_fx[0], Lbias_fx ); // 31 - src_energy_fx_e + Q28-31 temp_e_1 = add( src_energy_fx_e[0], 3 ); @@ -2340,15 +2233,9 @@ void stereo_dmx_evs_enc_fx( Word32 dmx_poc_data[L_FRAME48k] /*Q11*/, dmx_pha_data[L_FRAME48k] /*Q11*/, *p_dmx_data, fx_tmp, *p_dmx_data_fo; Word16 n_fad_r, n_fad_g, m_fad_g, n_fad_cnt; -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING STEREO_DMX_EVS_PRC prev_prc, req_prc; Word32 L_tmp1, L_tmp2, L_dmx_weight, icld_fx; Word16 L_tmp1_e, L_tmp2_e, icld_fx_e; -#else - STEREO_DMX_EVS_PRC prev_prc; - Word32 L_tmp1, L_tmp2; - Word16 L_tmp1_e, L_tmp2_e; -#endif STEREO_DMX_EVS_PHA_HANDLE hPHA; @@ -2430,9 +2317,6 @@ void stereo_dmx_evs_enc_fx( move16(); FOR( k = 0; k < CPE_CHANNELS; k++ ) { -#ifndef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING - fx_tmp = 0; -#endif move32(); FOR( m = 0; m < STEREO_DMX_EVS_NB_SBFRM; m++ ) { @@ -2474,11 +2358,7 @@ void stereo_dmx_evs_enc_fx( L_tmp2 = BASOP_Util_Divide3232_Scale_newton( subframe_energy[m], L_tmp1, &L_tmp2_e ); L_tmp2_e = add( L_tmp2_e, sub( subframe_energy_e[m], L_tmp1_e ) ); // if ( subframe_energy[m] / ( subframe_energy[m - 1] + EPSILON ) > STEREO_DMX_EVS_TRNS_DTC_INST ) -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING IF( BASOP_Util_Cmp_Mant32Exp( L_tmp2, L_tmp2_e, STEREO_DMX_EVS_TRNS_DTC_INST_Q0, 31 ) > 0 ) -#else - if ( BASOP_Util_Cmp_Mant32Exp( L_tmp2, L_tmp2_e, STEREO_DMX_EVS_TRNS_DTC_INST_Q0, 31 ) > 0 ) -#endif { is_transient = 1; move16(); @@ -2508,16 +2388,11 @@ void stereo_dmx_evs_enc_fx( move16(); } -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING L_dmx_weight = L_deposit_h( dmx_weight ); L_tmp1 = L_deposit_l( BASOP_Util_Divide1616_Scale( hStereoDmxEVS->itd_fx, input_frame, &L_tmp1_e ) ); hPHA->phitd_fx = L_shl( L_tmp1, L_tmp1_e ); // Q15 create_M_signal_fx( data_fx[0], data_fx[1], dmx_poc_data, L_dmx_weight, input_frame, hStereoDmxEVS->s_wnd_fx, hStereoDmxEVS->dmx_weight_fx, hStereoDmxEVS->pre_dmx_energy_fx, hStereoDmxEVS->pre_dmx_energy_fx_e, hStereoDmxEVS->aux_dmx_energy_fx, hStereoDmxEVS->aux_dmx_energy_fx_e, hPHA ); -#else - create_M_signal_fx( data_fx[0], data_fx[1], dmx_poc_data, L_deposit_h( dmx_weight ), input_frame, hStereoDmxEVS->s_wnd_fx, - hStereoDmxEVS->dmx_weight_fx, hStereoDmxEVS->pre_dmx_energy_fx, hStereoDmxEVS->pre_dmx_energy_fx_e, hStereoDmxEVS->aux_dmx_energy_fx, hStereoDmxEVS->aux_dmx_energy_fx_e ); -#endif // Downscaling signals to avoid accumulation overflows scale_sig32( data_fx[0], input_frame, -5 ); // Q31->Q26 @@ -2609,7 +2484,6 @@ void stereo_dmx_evs_enc_fx( move32(); // if ( abs( (int16_t) hStereoDmxEVS->itd ) > hPHA->prc_thres ) IF( GT_16( abs_s( hStereoDmxEVS->itd_fx ), hPHA->prc_thres ) ) -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING { req_prc = STEREO_DMX_EVS_PRC_POC; move32(); @@ -2652,55 +2526,6 @@ void stereo_dmx_evs_enc_fx( } hPHA->prev_prc = req_prc; move32(); -#else - { - IF( NE_32( hPHA->curr_prc, STEREO_DMX_EVS_PRC_POC ) ) - { - IF( EQ_32( hPHA->prev_prc, STEREO_DMX_EVS_PRC_POC ) ) - { - hPHA->prc_hys_cnt = add( hPHA->prc_hys_cnt, 1 ); - move16(); - } - ELSE - { - hPHA->prc_hys_cnt = 0; - move16(); - } - - IF( GE_16( hPHA->prc_hys_cnt, STEREO_DMX_EVS_SWTCH_PRC_HYS_THRES ) ) - { - hPHA->curr_prc = STEREO_DMX_EVS_PRC_POC; - move32(); - } - } - hPHA->prev_prc = STEREO_DMX_EVS_PRC_POC; - move32(); - } - ELSE - { - IF( NE_32( hPHA->curr_prc, STEREO_DMX_EVS_PRC_PHA ) ) - { - IF( EQ_32( hPHA->prev_prc, STEREO_DMX_EVS_PRC_PHA ) ) - { - hPHA->prc_hys_cnt = add( hPHA->prc_hys_cnt, 1 ); - move16(); - } - ELSE - { - hPHA->prc_hys_cnt = 0; - move16(); - } - - IF( GE_16( hPHA->prc_hys_cnt, STEREO_DMX_EVS_SWTCH_PRC_HYS_THRES ) ) - { - hPHA->curr_prc = STEREO_DMX_EVS_PRC_PHA; - move32(); - } - } - hPHA->prev_prc = STEREO_DMX_EVS_PRC_PHA; - move32(); - } -#endif // if ( ( is_transient == 1 ) || ( hStereoDmxEVS->aux_dmx_energy[0] > STEREO_DMX_EVS_ILDS_EGY * hStereoDmxEVS->aux_dmx_energy[1] ) || ( hStereoDmxEVS->aux_dmx_energy[1] > STEREO_DMX_EVS_ILDS_EGY * hStereoDmxEVS->aux_dmx_energy[0] ) || ( ( hPHA->p_curr_taps[0] == NULL ) && ( hPHA->p_curr_taps[1] == NULL ) ) ) test(); @@ -3151,7 +2976,6 @@ ivas_error stereo_dmx_evs_init_encoder_fx( hStereoDmxEVS->hPHA->iccr_s_fx = 0; move32(); -#ifdef FIX_2184_EVS_STEREO_DMX_CHANNEL_DISAPPEARING hStereoDmxEVS->hPHA->phitd_fx = 0; hStereoDmxEVS->hPHA->iccres_s_fx = 0; move32(); @@ -3162,7 +2986,6 @@ ivas_error stereo_dmx_evs_init_encoder_fx( hStereoDmxEVS->hPHA->lvlin_fx_e[n] = 0; move16(); } -#endif pha_len = hStereoDmxEVS->hPHA->pha_len; move16(); diff --git a/lib_enc/ivas_stereo_eclvq_enc_fx.c b/lib_enc/ivas_stereo_eclvq_enc_fx.c index a09daffe033c27d824800c93d8e8855231389091..28e1275c64a8bcbd37348247265ec3f63cfe143d 100644 --- a/lib_enc/ivas_stereo_eclvq_enc_fx.c +++ b/lib_enc/ivas_stereo_eclvq_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_ica_enc_fx.c b/lib_enc/ivas_stereo_ica_enc_fx.c index 924de4d6595451430d5ab5a91f8c5a96fbd444fa..9da3415e40916c2fc808404902fb6f2bfcfa2a13 100644 --- a/lib_enc/ivas_stereo_ica_enc_fx.c +++ b/lib_enc/ivas_stereo_ica_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stereo_icbwe_enc_fx.c b/lib_enc/ivas_stereo_icbwe_enc_fx.c index f6bf1a0999fecbf98301544fcca9ad8bb4e2f04d..65444d249e2c8eed722eee1791fa4fbe2507a34d 100644 --- a/lib_enc/ivas_stereo_icbwe_enc_fx.c +++ b/lib_enc/ivas_stereo_icbwe_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_mdct_core_enc_fx.c b/lib_enc/ivas_stereo_mdct_core_enc_fx.c index 6bb6af1b3e249e69e1fa681a5250b752bf1095ac..1897d459f0ca8087cd81392c39bb57a1e5fda30d 100644 --- a/lib_enc/ivas_stereo_mdct_core_enc_fx.c +++ b/lib_enc/ivas_stereo_mdct_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stereo_mdct_igf_enc_fx.c b/lib_enc/ivas_stereo_mdct_igf_enc_fx.c index d22e1b885b7791d5cdadd3e62de61d00262b0588..cb9db264d4cf7f44287090e453a38ac3e9643d6d 100644 --- a/lib_enc/ivas_stereo_mdct_igf_enc_fx.c +++ b/lib_enc/ivas_stereo_mdct_igf_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c b/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c index d53eb365d3dcca44ca72231143fec4127c002df0..971c8d4997812000d028d10de7c67e90e580c1e1 100644 --- a/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c +++ b/lib_enc/ivas_stereo_mdct_stereo_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -270,12 +242,7 @@ void stereo_coder_tcx_fx( } } -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - IF( hStereoMdct->fDualMono || - ( NE_16( sts[0]->hTcxEnc->transform_type[0], sts[1]->hTcxEnc->transform_type[0] ) ) || NE_16( sts[0]->hTcxEnc->transform_type[1], sts[1]->hTcxEnc->transform_type[1] ) || ( NE_16( sts[0]->last_core, sts[1]->last_core ) && ( EQ_16( sts[0]->last_core, ACELP_CORE ) || EQ_16( sts[1]->last_core, ACELP_CORE ) ) ) || EQ_16( sts[0]->last_core, ACELP_CORE ) || EQ_16( sts[1]->last_core, ACELP_CORE ) ) -#else IF( ( NE_16( sts[0]->hTcxEnc->transform_type[0], sts[1]->hTcxEnc->transform_type[0] ) ) || NE_16( sts[0]->hTcxEnc->transform_type[1], sts[1]->hTcxEnc->transform_type[1] ) || ( NE_16( sts[0]->last_core, sts[1]->last_core ) && ( EQ_16( sts[0]->last_core, ACELP_CORE ) || EQ_16( sts[1]->last_core, ACELP_CORE ) ) ) || EQ_16( sts[0]->last_core, ACELP_CORE ) || EQ_16( sts[1]->last_core, ACELP_CORE ) ) -#endif { hStereoMdct->mdct_stereo_mode[0] = SMDCT_DUAL_MONO; move16(); @@ -296,29 +263,6 @@ void stereo_coder_tcx_fx( pop_wmops(); return; } -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - else if ( hStereoMdct->fMSstereo ) - { - hStereoMdct->mdct_stereo_mode[0] = SMDCT_MS_FULL; - hStereoMdct->mdct_stereo_mode[1] = SMDCT_MS_FULL; - - if ( sts[0]->igf ) - { - hStereoMdct->IGFStereoMode[0] = SMDCT_MS_FULL; - hStereoMdct->IGFStereoMode[1] = SMDCT_MS_FULL; - } - for ( k = 0; k < nSubframes; k++ ) - { - convertToMS_fx( L_frameTCX, sts[0]->hTcxEnc->spectrum_fx[k], sts[1]->hTcxEnc->spectrum_fx[k], SQRT2_OVER_2_FX ); - - /* Make sure that the MDST is processed in the correct way also */ - set_s( &ms_mask[k][0], 1, MAX_SFB ); - } - - pop_wmops(); - return; - } -#endif ELSE /* decide based on signal */ { FOR( k = 0; k < nSubframes; k++ ) diff --git a/lib_enc/ivas_stereo_switching_enc_fx.c b/lib_enc/ivas_stereo_switching_enc_fx.c index 0b27de0f6c36a2829116df22dcdd62a00ed85018..9ad760841aa36a1c09e1e8dc439756cb5ff6ee62 100644 --- a/lib_enc/ivas_stereo_switching_enc_fx.c +++ b/lib_enc/ivas_stereo_switching_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -555,9 +527,6 @@ ivas_error stereo_memory_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 = SMDCT_MS_DECISION; -#endif initMdctStereoEncData_fx( hCPE->hStereoMdct, ivas_format, hCPE->element_mode, hCPE->element_brate, hCPE->hCoreCoder[0]->max_bwidth, 0, NULL, 1 ); @@ -682,11 +651,7 @@ void stereo_switching_enc_fx( /* window DFT synthesis overlap memory @input_Fs, primary channel */ FOR( i = 0; i < dft_ovl; i++ ) { -#ifdef NONBE_FIX_2206_SATURATE_ALTERNATIVE hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl_sat( Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ), sub( 15, q_inp ) ); // Q15 -#else - hCPE->hStereoDft->output_mem_dmx_fx[i] = L_shl( Mpy_32_32_r( hCPE->hStereoDft->win_fx[dft_ovl - 1 - i], old_input_signal_pri[input_frame - dft_ovl + i] ), sub( 15, q_inp ) ); // Q15 -#endif move32(); } /* reset 48kHz BWE overlap memory */ diff --git a/lib_enc/ivas_stereo_td_analysis_fx.c b/lib_enc/ivas_stereo_td_analysis_fx.c index ab28f7f7e4e64c63a8d86c43f1751a5cbc9dd921..af7343808206b4e3605edd21251658ae528e312c 100644 --- a/lib_enc/ivas_stereo_td_analysis_fx.c +++ b/lib_enc/ivas_stereo_td_analysis_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/ivas_stereo_td_enc_fx.c b/lib_enc/ivas_stereo_td_enc_fx.c index bad9370b4c7ec575732abc5572af095b14e87bd3..e684746e900e006a11e07e08e7d53e2578014686 100644 --- a/lib_enc/ivas_stereo_td_enc_fx.c +++ b/lib_enc/ivas_stereo_td_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -38,9 +10,6 @@ #include "prot_fx.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "prot_fx_enc.h" #include "ivas_prot_fx.h" @@ -249,10 +218,6 @@ ivas_error stereo_set_tdm_fx( move16(); } -#ifdef DEBUG_MODE_INFO - dbgwrite( &hCPE->hStereoTD->tdm_LRTD_flag, 2, 1, (int16_t) ( hCPE->hCoreCoder[0]->input_Fs / FRAMES_PER_SEC ), "res/tdm_LRTD_flag" ); -#endif - /* normal TD / LRTD switching */ IF( EQ_16( hCPE->hStereoTD->tdm_LRTD_flag, 0 ) ) @@ -352,12 +317,6 @@ ivas_error stereo_set_tdm_fx( } ELSE { -#ifdef DEBUG_MODE_INFO - { - int16_t tmp = -2; - dbgwrite( &tmp, 2, 1, (int16_t) ( hCPE->hCoreCoder[0]->input_Fs / FRAMES_PER_SEC ), "res/tdm_LRTD_flag" ); - } -#endif hCPE->hCoreCoder[0]->tdm_LRTD_flag = 0; move16(); hCPE->hCoreCoder[1]->tdm_LRTD_flag = 0; diff --git a/lib_enc/ivas_tcx_core_enc_fx.c b/lib_enc/ivas_tcx_core_enc_fx.c index 7c5972545795c6dcbde28290bf971053b5b1ceaf..4bee4f0ba30a4eeb49db7cc49d5680a95f8ccb2f 100644 --- a/lib_enc/ivas_tcx_core_enc_fx.c +++ b/lib_enc/ivas_tcx_core_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -435,10 +407,8 @@ void stereo_tcx_core_enc( } } -#ifdef FIX_1384_MSAN_stereo_tcx_core_enc st->acelp_cfg.midLpc = 0; move16(); -#endif last_core_orig = st->last_core; move16(); @@ -1316,18 +1286,6 @@ Word16 ivas_acelp_tcx20_switching_fx( move16(); } -#ifdef DEBUGGING - if ( st->force == FORCE_SPEECH ) - { - /* enforce ACELP */ - smc_dec_ol = 0; - } - else if ( st->force == FORCE_MUSIC ) - { - /* enforce TCX */ - smc_dec_ol = 2; - } -#endif st->prevTempFlatness_32fx = currFlatness; move16(); diff --git a/lib_enc/ivas_td_low_rate_enc_fx.c b/lib_enc/ivas_td_low_rate_enc_fx.c index 21fa7131243fcfef33162a6c624179eb68126900..5eafb972d5e814122c977d6ae68f0377499e9c70 100644 --- a/lib_enc/ivas_td_low_rate_enc_fx.c +++ b/lib_enc/ivas_td_low_rate_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/lead_indexing_fx.c b/lib_enc/lead_indexing_fx.c index c26c817f406acd1157f25b49a12974e4ac798703..dc01d7d4f53b0cba3a6b725cd82954fb37c5160b 100644 --- a/lib_enc/lead_indexing_fx.c +++ b/lib_enc/lead_indexing_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/lib_enc.h b/lib_enc/lib_enc.h index 8cf6be1cd0e6ca1385d5c7ec3588583ea115ac20..b30ca83a40431b7d33d91ceaa8b3c34891367f28 100644 --- a/lib_enc/lib_enc.h +++ b/lib_enc/lib_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef LIB_ENC_H #define LIB_ENC_H @@ -109,40 +81,6 @@ typedef enum _IVAS_ENC_COMBINED_FORMAT IVAS_ENC_COMBINED_UNDEFINED = 0xffff } IVAS_ENC_COMBINED_FORMAT; -#ifdef DEBUGGING -typedef enum _IVAS_ENC_STEREO_MODE -{ - IVAS_ENC_STEREO_MODE_UNIFIED, - IVAS_ENC_STEREO_MODE_DFT, - IVAS_ENC_STEREO_MODE_TD, - IVAS_ENC_STEREO_MODE_MDCT_DECISION, - IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR, - IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS, - IVAS_ENC_STEREO_MODE_UNDEFINED = 0xffff -} IVAS_ENC_STEREO_MODE; - -typedef enum _IVAS_ENC_FORCED_MODE -{ - IVAS_ENC_FORCE_SPEECH, - IVAS_ENC_FORCE_MUSIC, - IVAS_ENC_FORCE_ACELP, - IVAS_ENC_FORCE_GSC, -#ifdef SUPPORT_FORCE_TCX10_TCX20 - IVAS_ENC_FORCE_TCX10, - IVAS_ENC_FORCE_TCX20, -#else - IVAS_ENC_FORCE_TCX, -#endif - IVAS_ENC_FORCE_HQ, -#ifdef DEBUG_FORCE_DIR - IVAS_ENC_FORCE_FILE, - IVAS_ENC_FORCE_DIR, -#endif - IVAS_ENC_FORCE_UNFORCED, - IVAS_ENC_FORCE_UNDEFINED = 0xffff -} IVAS_ENC_FORCED_MODE; - -#endif /*---------------------------------------------------------------------* * Encoder structures @@ -188,10 +126,6 @@ ivas_error IVAS_ENC_ConfigureForStereo( const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ const bool is_binaural /* i : flag indicating if input is binaural audio */ -#ifdef DEBUGGING - , - const IVAS_ENC_STEREO_MODE stereoMode /* i : forces a specific stereo coding mode */ -#endif ); /*! r: error code */ @@ -333,16 +267,6 @@ ivas_error IVAS_ENC_SetChannelAwareConfig( const IVAS_ENC_CHANNEL_AWARE_CONFIG rfConfig /* i : configuration of channel-aware mode */ ); -#ifdef DEBUGGING -/*! r: error code */ -ivas_error IVAS_ENC_SetForcedMode( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const IVAS_ENC_FORCED_MODE forcedMode /* i : forced coding mode */ -#ifdef DEBUG_FORCE_DIR - ,const char *forcedModeDir /* i : directory containing external binary files for modes/parameters enforcement */ -#endif -); -#endif /* Getter functions - retrieve information from an encoder through a handle */ diff --git a/lib_enc/lib_enc_fx.c b/lib_enc/lib_enc_fx.c index 245e5679a1a074caa3fa7027c5c4f874e14766f0..e323ce68d61a48a8b9ccd52769461491515b91ce 100644 --- a/lib_enc/lib_enc_fx.c +++ b/lib_enc/lib_enc_fx.c @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include #include #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "lib_enc.h" #include "ivas_prot_fx.h" #include "prot_fx.h" @@ -54,9 +23,6 @@ struct IVAS_ENC Encoder_Struct *st_ivas; ENC_CORE_HANDLE hCoreCoder; bool isConfigured; -#ifdef DEBUGGING - bool cmd_stereo; -#endif bool switchingActive; /* flag for configuration changes during encoding - currently only used with mono */ Word16 Opt_RF_ON_loc; Word16 rf_fec_offset_loc; @@ -84,9 +50,6 @@ static void init_encoder_config( ENCODER_CONFIG_HANDLE hEncoderConfig ); static void resetIsmMetadataProvidedFlags( IVAS_ENC_HANDLE hIvasEnc ); static ivas_error bandwidthApiToInternal( const IVAS_ENC_BANDWIDTH maxBandwidth, Word16 *internalMaxBandwidth ); static ivas_error fecIndicatorApiToInternal( const IVAS_ENC_FEC_INDICATOR fecIndicator, Word16 *fecIndicatorInternal ); -#ifdef DEBUGGING -static ivas_error forcedModeApiToInternal( IVAS_ENC_FORCED_MODE forcedMode, int16_t *forcedModeInternal ); -#endif /*---------------------------------------------------------------------* @@ -117,9 +80,6 @@ ivas_error IVAS_ENC_Open( ( *phIvasEnc )->hCoreCoder = NULL; ( *phIvasEnc )->isConfigured = false; -#ifdef DEBUGGING - ( *phIvasEnc )->cmd_stereo = false; -#endif ( *phIvasEnc )->switchingActive = false; ( *phIvasEnc )->maxBandwidthUser = false; resetIsmMetadataProvidedFlags( *phIvasEnc ); @@ -184,9 +144,6 @@ ivas_error IVAS_ENC_Open_fx( ( *phIvasEnc )->hCoreCoder = NULL; ( *phIvasEnc )->isConfigured = false; -#ifdef DEBUGGING - ( *phIvasEnc )->cmd_stereo = false; -#endif ( *phIvasEnc )->switchingActive = false; ( *phIvasEnc )->maxBandwidthUser = false; resetIsmMetadataProvidedFlags( *phIvasEnc ); @@ -329,10 +286,6 @@ ivas_error IVAS_ENC_ConfigureForStereo( const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ const bool is_binaural /* i : flag indicating if input is binaural audio */ -#ifdef DEBUGGING - , - const IVAS_ENC_STEREO_MODE stereoMode /* i : forces a specific stereo coding mode */ -#endif ) { Encoder_Struct *st_ivas; @@ -354,41 +307,6 @@ ivas_error IVAS_ENC_ConfigureForStereo( hEncoderConfig->is_binaural = (Word16) is_binaural; move16(); -#ifdef DEBUGGING - switch ( stereoMode ) - { - case IVAS_ENC_STEREO_MODE_UNIFIED: - hEncoderConfig->stereo_mode_cmdl = 1; /* set unified stereo by default */ - hEncoderConfig->element_mode_init = IVAS_CPE_DFT; - hIvasEnc->cmd_stereo = true; - break; - case IVAS_ENC_STEREO_MODE_DFT: - hEncoderConfig->element_mode_init = IVAS_CPE_DFT; - hEncoderConfig->stereo_mode_cmdl = IVAS_CPE_DFT; - break; - case IVAS_ENC_STEREO_MODE_TD: - hEncoderConfig->stereo_mode_cmdl = IVAS_CPE_TD; - hEncoderConfig->element_mode_init = IVAS_CPE_TD; - break; - case IVAS_ENC_STEREO_MODE_MDCT_DECISION: - hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - hEncoderConfig->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; - break; -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE - case IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR: - hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - hEncoderConfig->mdct_stereo_mode_cmdl = SMDCT_FORCE_LR; - break; - case IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS: - hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - hEncoderConfig->mdct_stereo_mode_cmdl = SMDCT_FORCE_MS; - break; -#endif - default: - return IVAS_ERR_INVALID_STEREO_MODE; - break; - } -#endif /* DEBUGGING */ hIvasEnc->maxBandwidthUser = max_bwidth_user; @@ -540,16 +458,7 @@ ivas_error IVAS_ENC_FeedObjectMetadata( { return IVAS_ERR_INVALID_INDEX; } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS error = ivas_set_ism_metadata_fx( hIvasEnc->st_ivas->hIsmMetaData[ismIndex], metadata.azimuth_fx, metadata.elevation_fx, metadata.radius_fx, metadata.yaw_fx, metadata.pitch_fx, metadata.non_diegetic_flag ); -#else - Word32 azimuth_fx = float_to_fix( metadata.azimuth, Q22 ); /* Q22 */ - Word32 elevation_fx = float_to_fix( metadata.elevation, Q22 ); /* Q22 */ - Word16 radius_fx = float_to_fix16( metadata.radius, Q9 ); /* Q9 */ - Word32 yaw_fx = float_to_fix( metadata.yaw, Q22 ); /* Q22 */ - Word32 pitch_fx = float_to_fix( metadata.pitch, Q22 ); /* Q22 */ - error = ivas_set_ism_metadata_fx( hIvasEnc->st_ivas->hIsmMetaData[ismIndex], azimuth_fx, elevation_fx, radius_fx, yaw_fx, pitch_fx, metadata.non_diegetic_flag ); -#endif IF( error != IVAS_ERR_OK ) { @@ -709,9 +618,6 @@ ivas_error IVAS_ENC_ConfigureForMasa( BREAK; case IVAS_ENC_MASA_2CH: hEncoderConfig->nchan_inp = 2; -#ifdef DEBUGGING - hEncoderConfig->stereo_mode_cmdl = 1; /* set unified stereo by default */ -#endif hEncoderConfig->element_mode_init = IVAS_CPE_DFT; /* initialization only, might be changed later based on element_brate */ move16(); move16(); @@ -934,22 +840,13 @@ static ivas_error configureEncoder( IF( EQ_16( hEncoderConfig->ivas_format, STEREO_FORMAT ) ) { -#ifdef DEBUGGING - if ( hIvasEnc->cmd_stereo ) -#endif { hEncoderConfig->element_mode_init = IVAS_CPE_DFT; -#ifdef DEBUGGING - hEncoderConfig->stereo_mode_cmdl = 1; -#endif if ( GE_32( hEncoderConfig->ivas_total_brate, MIN_BRATE_MDCT_STEREO ) ) { hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; move16(); -#ifdef DEBUGGING - hEncoderConfig->stereo_mode_cmdl = 0; -#endif } } @@ -1406,12 +1303,6 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( st_ivas->ind_list[i].nb_bits = -1; move16(); } -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_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 /* de-allocate old buffer of metadata indices */ IF( st_ivas->ind_list_metadata != NULL ) { @@ -1497,9 +1388,6 @@ ivas_error IVAS_ENC_EncodeFrameToSerial( } ELSE { -#ifdef DEBUG_MODE_INFO - dbgwrite( inputBuffer, sizeof( int16_t ), inputBufferSize, 1, strcat( fname( debug_dir, "ivas_input_dmx", 0, 1, ENC ), ".pcm" ) ); -#endif IF( NE_32( ( error = evs_enc_fx( hCoreCoder, inputBuffer, st_ivas->mem_hp20_in_fx[0], inputBufferSize ) ), IVAS_ERR_OK ) ) { return error; @@ -1523,7 +1411,6 @@ move16(); return error; } -#ifdef IVAS_RTPDUMP /*---------------------------------------------------------------------* @@ -1552,7 +1439,6 @@ ivas_error IVAS_ENC_EncodeFrameToCompact( return IVAS_ERR_OK; } -#endif /*---------------------------------------------------------------------* @@ -1627,67 +1513,6 @@ ivas_error IVAS_ENC_SetChannelAwareConfig( return setChannelAwareConfig_fx( hIvasEnc, rfConfig ); } -#ifdef DEBUGGING -/*---------------------------------------------------------------------* - * IVAS_ENC_SetForcedMode() - * - * - *---------------------------------------------------------------------*/ - -ivas_error IVAS_ENC_SetForcedMode( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const IVAS_ENC_FORCED_MODE forcedMode /* i : forced coding mode */ -#ifdef DEBUG_FORCE_DIR - , - const char *forcedModeDir /* i : directory containing external binary files for modes/parameters enforcement */ -#endif -) -{ - int16_t newForced; - ivas_error error; - - /* Do additional checks for user-facing function */ - if ( ( error = doCommonSetterChecks( hIvasEnc ) ) != IVAS_ERR_OK ) - { - return error; - } - -#ifdef DEBUG_FORCE_DIR - hIvasEnc->st_ivas->hEncoderConfig->force_dir[0] = '\0'; - if ( forcedMode < IVAS_ENC_FORCE_FILE ) - { - if ( ( error = forcedModeApiToInternal( forcedMode, &newForced ) ) != IVAS_ERR_OK ) - { - return error; - } - - if ( hIvasEnc->st_ivas->hEncoderConfig->force != newForced ) - { - hIvasEnc->st_ivas->hEncoderConfig->force = newForced; - hIvasEnc->switchingActive = true; - } - } - else if ( forcedMode == IVAS_ENC_FORCE_DIR ) - { - strcpy( hIvasEnc->st_ivas->hEncoderConfig->force_dir, forcedModeDir ); - hIvasEnc->st_ivas->hEncoderConfig->force = IVAS_ENC_FORCE_UNFORCED; - } -#else - if ( ( error = forcedModeApiToInternal( forcedMode, &newForced ) ) != IVAS_ERR_OK ) - { - return error; - } - - if ( hIvasEnc->st_ivas->hEncoderConfig->force != newForced ) - { - hIvasEnc->st_ivas->hEncoderConfig->force = newForced; - hIvasEnc->switchingActive = true; - } -#endif - - return IVAS_ERR_OK; -} -#endif /* DEBUGGING */ /*---------------------------------------------------------------------* * IVAS_ENC_GetDefaultBandwidth() @@ -1812,24 +1637,6 @@ static ivas_error printConfigInfo_enc( } ELSE IF( hEncoderConfig->ivas_format == STEREO_FORMAT ) { -#ifdef DEBUGGING - if ( hEncoderConfig->stereo_mode_cmdl == 1 ) - { - fprintf( stdout, "IVAS format: stereo - Unified stereo\n" ); - } - else if ( hEncoderConfig->element_mode_init == IVAS_CPE_DFT ) - { - fprintf( stdout, "IVAS format: stereo - DFT stereo\n" ); - } - else if ( hEncoderConfig->element_mode_init == IVAS_CPE_TD ) - { - fprintf( stdout, "IVAS format: stereo - TD stereo\n" ); - } - else if ( hEncoderConfig->element_mode_init == IVAS_CPE_MDCT ) - { - fprintf( stdout, "IVAS format: stereo - MDCT stereo\n" ); - } -#else if ( hEncoderConfig->element_mode_init != IVAS_CPE_MDCT ) { fprintf( stdout, "IVAS format: stereo - Unified stereo\n" ); @@ -1838,7 +1645,6 @@ static ivas_error printConfigInfo_enc( { fprintf( stdout, "IVAS format: stereo - MDCT stereo\n" ); } -#endif } ELSE IF( EQ_16( hEncoderConfig->ivas_format, ISM_FORMAT ) ) { @@ -2482,57 +2288,6 @@ static ivas_error fecIndicatorApiToInternal( return IVAS_ERR_OK; } -#ifdef DEBUGGING -/*---------------------------------------------------------------------* - * forcedModeApiToInternal() - * - * - *---------------------------------------------------------------------*/ - -static ivas_error forcedModeApiToInternal( - IVAS_ENC_FORCED_MODE forcedMode, - int16_t *forcedModeInternal ) -{ - switch ( forcedMode ) - { - case IVAS_ENC_FORCE_SPEECH: - *forcedModeInternal = FORCE_SPEECH; - break; - case IVAS_ENC_FORCE_MUSIC: - *forcedModeInternal = FORCE_MUSIC; - break; - case IVAS_ENC_FORCE_ACELP: - *forcedModeInternal = FORCE_ACELP; - break; - case IVAS_ENC_FORCE_GSC: - *forcedModeInternal = FORCE_GSC; - break; -#ifdef SUPPORT_FORCE_TCX10_TCX20 - case IVAS_ENC_FORCE_TCX10: - *forcedModeInternal = FORCE_TCX10; - break; - case IVAS_ENC_FORCE_TCX20: - *forcedModeInternal = FORCE_TCX20; - break; -#else - case IVAS_ENC_FORCE_TCX: - *forcedModeInternal = FORCE_TCX; - break; -#endif - case IVAS_ENC_FORCE_HQ: - *forcedModeInternal = FORCE_HQ; - break; - case IVAS_ENC_FORCE_UNFORCED: - *forcedModeInternal = -1; - break; - default: - return IVAS_ERR_INVALID_FORCE_MODE; - break; - } - - return IVAS_ERR_OK; -} -#endif /*---------------------------------------------------------------------* * IVAS_ENC_PrintConfig() @@ -2617,11 +2372,6 @@ static void init_encoder_config( move16(); hEncoderConfig->ism_extended_metadata_flag = 0; move16(); -#ifdef DEBUGGING - hEncoderConfig->stereo_mode_cmdl = 0; - hEncoderConfig->force = -1; - hEncoderConfig->mdct_stereo_mode_cmdl = SMDCT_MS_DECISION; -#endif hEncoderConfig->Opt_PCA_ON = 0; move16(); diff --git a/lib_enc/long_enr_fx.c b/lib_enc/long_enr_fx.c index ac1b561a825c4d8030279feedf9e80405d3ed8c7..69a4c3222ac9e0d07aaf8d2d1944ffb60c49ce78 100644 --- a/lib_enc/long_enr_fx.c +++ b/lib_enc/long_enr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/lp_exc_e_fx.c b/lib_enc/lp_exc_e_fx.c index 5ce75c3ac58bd06ae7e6de97856f42c73fe52c34..5f85f57cb72e5a0e13bb7b4e66e00c50157ecad7 100644 --- a/lib_enc/lp_exc_e_fx.c +++ b/lib_enc/lp_exc_e_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/lsf_enc_fx.c b/lib_enc/lsf_enc_fx.c index 0c5656ac447fdddddd91746589b0cce60dc03081..4d20355392eb87681e6bb68a1701ab70248e334b 100644 --- a/lib_enc/lsf_enc_fx.c +++ b/lib_enc/lsf_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/lsf_msvq_ma_enc_fx.c b/lib_enc/lsf_msvq_ma_enc_fx.c index 0c3686fb084b5a3f85ef902806c2fd1fe01ccf68..3a356e7a5564cc118faacdaf5086a514bd8cfd2a 100644 --- a/lib_enc/lsf_msvq_ma_enc_fx.c +++ b/lib_enc/lsf_msvq_ma_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/ltd_stable_fx.c b/lib_enc/ltd_stable_fx.c index d5fcefabeb2a04fc8cd0b27f915c8eaecc03a56f..d073d2efd1429929b5e4fd3374e89b766b913f56 100644 --- a/lib_enc/ltd_stable_fx.c +++ b/lib_enc/ltd_stable_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/mdct_classifier_fx.c b/lib_enc/mdct_classifier_fx.c index 2b55889f57d542899ea5ec7f52c9ec2010a83a5b..1f8cc49b27083a7ef70c0334f3f594eeb553ae48 100644 --- a/lib_enc/mdct_classifier_fx.c +++ b/lib_enc/mdct_classifier_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/mdct_selector_fx.c b/lib_enc/mdct_selector_fx.c index 8799806e4c021daccb656d6ca4935a28c934327a..9f8196d64410bf318db1be67c9b0ba40b66c75f3 100644 --- a/lib_enc/mdct_selector_fx.c +++ b/lib_enc/mdct_selector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/mslvq_enc_fx.c b/lib_enc/mslvq_enc_fx.c index 05c379f3199b38da686b7ee4cd4040024e4c9e67..8ca499d2eebe400acd4e287f2da53dc0804e5b49 100644 --- a/lib_enc/mslvq_enc_fx.c +++ b/lib_enc/mslvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/multi_harm_fx.c b/lib_enc/multi_harm_fx.c index 2ed21e321f1ec7033728f9a910346d66dbb91ff6..d7b073a3da60bafb2556b97bf574168f88dd4c24 100644 --- a/lib_enc/multi_harm_fx.c +++ b/lib_enc/multi_harm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/nelp_enc_fx.c b/lib_enc/nelp_enc_fx.c index 9122be431e58c675afd23259c8c2f78f30d5892e..766137b05aee73371071c969d5b971f1daba3bc9 100644 --- a/lib_enc/nelp_enc_fx.c +++ b/lib_enc/nelp_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" /* Compilation switches */ diff --git a/lib_enc/nois_est_fx.c b/lib_enc/nois_est_fx.c index d444952788f627197892a6d7e3ce9efdbd6a7365..ed7e44f3f21a5437f78e69980540a9e0aae2f6d4 100644 --- a/lib_enc/nois_est_fx.c +++ b/lib_enc/nois_est_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/noise_adjust_fx.c b/lib_enc/noise_adjust_fx.c index 2a6ffd22e4b5d6edf7d35d75d4f6f2b865e523cf..0fa40b45eec2ce8d2dce8a7b7b506298da5c1bb7 100644 --- a/lib_enc/noise_adjust_fx.c +++ b/lib_enc/noise_adjust_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/normalizecoefs_fx.c b/lib_enc/normalizecoefs_fx.c index 696bf272fdf4e7be2f18900e29613a0914550fbc..13f2e6e22b4a4f2414f94ae8b5ca3cb1f3cbc015 100644 --- a/lib_enc/normalizecoefs_fx.c +++ b/lib_enc/normalizecoefs_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/peak_vq_enc_fx.c b/lib_enc/peak_vq_enc_fx.c index 20fc9c7b8609d8cc451548770197fe06987d9a64..75c106f013946d2343bccc4a3de373d0529c5e90 100644 --- a/lib_enc/peak_vq_enc_fx.c +++ b/lib_enc/peak_vq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/pit_enc_fx.c b/lib_enc/pit_enc_fx.c index 0a5d2813175f18fb941332984e564020be42fc15..d07bd0d1c4ca0bd725e8f7314ed3a4e6d03ce28e 100644 --- a/lib_enc/pit_enc_fx.c +++ b/lib_enc/pit_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/pitch_ol2_fx.c b/lib_enc/pitch_ol2_fx.c index ab97b615007e4aa8422ebec85113eea3ee455434..7d4851f1901eee6345ab5de533520d7ae5e1376e 100644 --- a/lib_enc/pitch_ol2_fx.c +++ b/lib_enc/pitch_ol2_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/pitch_ol_fx.c b/lib_enc/pitch_ol_fx.c index a27db58597618dbcfe64c48090fb7b9722428aef..0735d5fcd17ca17bac3637a581b25ad5dbc859fa 100644 --- a/lib_enc/pitch_ol_fx.c +++ b/lib_enc/pitch_ol_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/plc_enc_ext_fx.c b/lib_enc/plc_enc_ext_fx.c index 97e3fd4bc44ca91ab63acb69b5f914d01f747e93..a7dd45c7263259333d5e72c686b1b319e5c3fa58 100644 --- a/lib_enc/plc_enc_ext_fx.c +++ b/lib_enc/plc_enc_ext_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/ppp_enc_fx.c b/lib_enc/ppp_enc_fx.c index 01f5b6a6b9bafe334925465d285b80c5a91b229d..386e1ece84311114b30936cb9e6b443cd2568eea 100644 --- a/lib_enc/ppp_enc_fx.c +++ b/lib_enc/ppp_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/pre_proc_fx.c b/lib_enc/pre_proc_fx.c index 29a0aa229357128eb352843d193f2dfc1e8d0c8e..7b58640e146cd1f0183b6a6c20b49f3a97cef0c3 100644 --- a/lib_enc/pre_proc_fx.c +++ b/lib_enc/pre_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -19,17 +22,15 @@ *--------------------------------------------------------------------*/ void pre_proc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - const Word16 input_frame, /* i : frame length */ - Word16 old_inp_12k8[], /* i/o: buffer of old input signal */ - Word16 old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ - Word16 **inp, /* o : ptr. to inp. signal in the current frame */ - Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ - Word16 *Etot, /* o : total energy */ - Word32 *ener, /* o : residual energy from Levinson-Durbin */ -#ifndef FIX_I4_OL_PITCH - Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + const Word16 input_frame, /* i : frame length */ + Word16 old_inp_12k8[], /* i/o: buffer of old input signal */ + Word16 old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ + Word16 **inp, /* o : ptr. to inp. signal in the current frame */ + Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ + Word16 *Etot, /* o : total energy */ + Word32 *ener, /* o : residual energy from Levinson-Durbin */ + Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ Word16 A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* o : weighted A(z) unquantized for subframes */ Word16 epsP_h[M + 1], /* o : LP prediction errors */ @@ -1201,9 +1202,7 @@ void pre_proc_fx( * ACELP/TCX20/HQ Switching Decision *-----------------------------------------------------------------*/ -#ifndef FIX_I4_OL_PITCH Copy( st->pitch, pitch_orig, 3 ); -#endif IF( EQ_16( st->codec_mode, MODE2 ) ) { test(); diff --git a/lib_enc/prot_fx_enc.h b/lib_enc/prot_fx_enc.h index 9d7de9eeb9dad7116aab710365b94565958e5bfe..fbd527466f0cef5043f65a96c1476159c0c4c783 100644 --- a/lib_enc/prot_fx_enc.h +++ b/lib_enc/prot_fx_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef PROT_FX_ENC_H #define PROT_FX_ENC_H @@ -3935,17 +3907,15 @@ Word16 gaus_encode_ivas_fx( ); void pre_proc_fx( - Encoder_State *st, /* i/o: encoder state structure */ - const Word16 input_frame, /* i : frame length */ - Word16 old_inp_12k8[], /* i/o: buffer of old i signal */ - Word16 old_inp_16k[], /* i/o: buffer of old i signal @ 16kHz */ - Word16 **inp, /* o : ptr. to inp. signal in the current frame */ - Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ - Word16 *Etot, /* o : total energy */ - Word32 *ener, /* o : residual energy from Levinson-Durbin */ -#ifndef FIX_I4_OL_PITCH - Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ -#endif + Encoder_State *st, /* i/o: encoder state structure */ + const Word16 input_frame, /* i : frame length */ + Word16 old_inp_12k8[], /* i/o: buffer of old i signal */ + Word16 old_inp_16k[], /* i/o: buffer of old i signal @ 16kHz */ + Word16 **inp, /* o : ptr. to inp. signal in the current frame */ + Word32 fr_bands[2 * NB_BANDS], /* o : energy in frequency bands */ + Word16 *Etot, /* o : total energy */ + Word32 *ener, /* o : residual energy from Levinson-Durbin */ + Word16 pitch_orig[3], /* o : open-loop pitch values for quantization */ Word16 A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ Word16 Aw[NB_SUBFR16k * ( M + 1 )], /* o : weighted A(z) unquantized for subframes */ Word16 epsP_h[M + 1], /* o : LP prediction errors */ diff --git a/lib_enc/pvq_core_enc_fx.c b/lib_enc/pvq_core_enc_fx.c index 854c269386eadd3a39565e72993e5437d938e3aa..4d1648bda5eb33e2a3f86069189a28e33321f133 100644 --- a/lib_enc/pvq_core_enc_fx.c +++ b/lib_enc/pvq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/pvq_encode_fx.c b/lib_enc/pvq_encode_fx.c index 85704ccf3ba1417296f037dc7caccd8d63ddda6a..645b065b0987c9c0016cf48e3ca026db02014849 100644 --- a/lib_enc/pvq_encode_fx.c +++ b/lib_enc/pvq_encode_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/q_gain2p_fx.c b/lib_enc/q_gain2p_fx.c index c576c25f6120a5092e5f5c3f6d80dd76cb1ed63a..78648160e30fc069688bc8a65a5192a36053ed31 100644 --- a/lib_enc/q_gain2p_fx.c +++ b/lib_enc/q_gain2p_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/qlpc_avq_fx.c b/lib_enc/qlpc_avq_fx.c index 734b948d6b8b84cb98b8bded8591db0d11236e50..f048f10b84ce783bfa6e3a6c6fad5ea190f7fdd0 100644 --- a/lib_enc/qlpc_avq_fx.c +++ b/lib_enc/qlpc_avq_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/qlpc_stoch_fx.c b/lib_enc/qlpc_stoch_fx.c index d24bf879537db561a8da5af72f2d716bd7be003e..4a1b1cbfc6ea46d77a31a3752efeaf3339c89ce7 100644 --- a/lib_enc/qlpc_stoch_fx.c +++ b/lib_enc/qlpc_stoch_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/range_enc_fx.c b/lib_enc/range_enc_fx.c index 73c3f8ae722ab97a702471e09ebbb0e9f6c4c667..0c45922af5105b3de1c6c73d16e0232e3e7f4208 100644 --- a/lib_enc/range_enc_fx.c +++ b/lib_enc/range_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/re8_cod_fx.c b/lib_enc/re8_cod_fx.c index d43dbbf57aa184d18022f519071e0e3df1c0a9b8..f5ca214270c2ecbbfd618eafb38cbbd493f76c49 100644 --- a/lib_enc/re8_cod_fx.c +++ b/lib_enc/re8_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/reordernorm_fx.c b/lib_enc/reordernorm_fx.c index 31d7ad869151343b235efb54618ba6a06abb1446..044660402856d8a55d1e4bb63ed65d19e7dad04b 100644 --- a/lib_enc/reordernorm_fx.c +++ b/lib_enc/reordernorm_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/rom_enc.h b/lib_enc/rom_enc.h index 4d7bae5988567d958b0bb4da68dc43244868ea42..09add82efa5bcd10e409f51353c29287f3a7bd25 100644 --- a/lib_enc/rom_enc.h +++ b/lib_enc/rom_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_enc/rom_enc_fx.c b/lib_enc/rom_enc_fx.c index f81321529ed60a18c2e3eb2854fe7cf6fd1d695b..968b20a36d3121107167b7125cae8be349d39c35 100644 --- a/lib_enc/rom_enc_fx.c +++ b/lib_enc/rom_enc_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_enc/rst_enc_fx.c b/lib_enc/rst_enc_fx.c index 0bf82e6d39eb57584d4868d57fe0b7d18a77587a..0266f7ee3d2a0090a5c83810826674a4fe364ea5 100644 --- a/lib_enc/rst_enc_fx.c +++ b/lib_enc/rst_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/scale_enc_fx.c b/lib_enc/scale_enc_fx.c index c3482e65df22e4819e496cf68d951f6f0844e169..d4512a6a2f97ce85faff7f7fcc2f09bbb53fe1c0 100644 --- a/lib_enc/scale_enc_fx.c +++ b/lib_enc/scale_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/set_impulse_fx.c b/lib_enc/set_impulse_fx.c index 4efdd6f7c0ca927701b4a464bb184a5ab9c847f6..0b41a6609bc605c98761ba42bdacbc1a95a6e7b7 100644 --- a/lib_enc/set_impulse_fx.c +++ b/lib_enc/set_impulse_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/setmodeindex_fx.c b/lib_enc/setmodeindex_fx.c index c1d52bbc7bb25f03d59a095455d15d674b030d87..f8ebbcc99c5a9f0f7e6e565ca5dc3a886c8fd900 100644 --- a/lib_enc/setmodeindex_fx.c +++ b/lib_enc/setmodeindex_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/sig_clas_fx.c b/lib_enc/sig_clas_fx.c index 81df36ccdc001525ba39d21efb4565e83306887e..812a1566f2c30932a073e06c25c325bca4b38caf 100644 --- a/lib_enc/sig_clas_fx.c +++ b/lib_enc/sig_clas_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/spec_center_fx.c b/lib_enc/spec_center_fx.c index 4c14c55794e544fd018883ff3f99b479f4622188..b25fb7216061efbc86751232b70be14a638196f9 100644 --- a/lib_enc/spec_center_fx.c +++ b/lib_enc/spec_center_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/spec_flatness_fx.c b/lib_enc/spec_flatness_fx.c index 53381c2f106b176bcd02853b8e172d1219e205e8..0fb601cfcb9a74011fedbeac6f34c686c0d2063d 100644 --- a/lib_enc/spec_flatness_fx.c +++ b/lib_enc/spec_flatness_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/speech_music_classif_fx.c b/lib_enc/speech_music_classif_fx.c index fef5f7250c6cbe1992ab3333e9c2fe84fd675eb8..84ae5edf51736032916e65b3724245c7c33f77e3 100644 --- a/lib_enc/speech_music_classif_fx.c +++ b/lib_enc/speech_music_classif_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -11,9 +14,6 @@ #include "stl.h" #include "prot_fx.h" /* Function prototypes */ #include "prot_fx_enc.h" /* Function prototypes */ -#ifdef DEBUGGING -#include "debug.h" -#endif #include #include "ivas_prot_fx.h" @@ -574,11 +574,7 @@ void speech_music_classif_fx( /* Select AUDIO frames */ test(); test(); -#ifdef DEBUGGING - if ( st->codec_mode == MODE1 && ( st->force == 1 || ( st->force == -1 && ( st->sp_aud_decision2 || st->GSC_noisy_speech ) ) ) ) -#else IF( EQ_16( st->codec_mode, MODE1 ) && ( st->sp_aud_decision2 || st->GSC_noisy_speech ) ) -#endif { st->coder_type = AUDIO; move16(); @@ -2527,9 +2523,6 @@ Word16 ivas_smc_gmm_fx( mvs2s( &hSpMusClas->past_dec[0], &hSpMusClas->past_dec[1], HANG_LEN - 2 ); hSpMusClas->past_dec[0] = dec; move16(); -#ifdef DEBUG_MODE_INFO - dbgwrite( &st->hSpMusClas->wdlp_0_95_sp_32fx, sizeof( Word32 ), 1, 1, "res/wdlp_0_95_sp.x" ); -#endif return dec; } @@ -3102,38 +3095,6 @@ void ivas_smc_mode_selection_fx( move16(); } -#ifdef DEBUGGING - if ( st->idchan == 0 && st->coder_type != INACTIVE ) - { - if ( st->force == FORCE_GSC && element_brate < IVAS_24k4 ) - { - /* enforce GSC */ - st->sp_aud_decision1 = 1; - st->sp_aud_decision2 = 0; - } - else if ( st->force == FORCE_SPEECH && ( st->sp_aud_decision1 == 1 || st->sp_aud_decision2 == 1 ) ) - { - if ( element_brate < IVAS_24k4 ) - { - /* convert TCX to GSC */ - st->sp_aud_decision1 = 1; - st->sp_aud_decision2 = 0; - } - else - { - /* convert TCX to ACELP */ - st->sp_aud_decision1 = 0; - st->sp_aud_decision2 = 0; - } - } - else if ( st->force == FORCE_MUSIC ) - { - /* enforce TCX */ - st->sp_aud_decision1 = 1; - st->sp_aud_decision2 = 1; - } - } -#endif /* set GSC noisy speech flag on unvoiced SWB segments */ st->GSC_noisy_speech = 0; diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index e32333a57ce7def8e6ebf26f6acd970e9c641234..cd57ab84c34ba0162d3ba0745471205a9548489c 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -54,9 +26,6 @@ typedef struct Word16 id; /* id of the indice */ UWord16 value; /* value of the quantized indice */ Word16 nb_bits; /* number of bits used for the quantization of the indice */ -#if defined( DEBUGGING ) && defined( DBG_BITSTREAM_ANALYSIS ) - char function_name[100]; -#endif } Indice, *INDICE_HANDLE; typedef struct @@ -397,13 +366,8 @@ typedef struct fd_cng_enc_structure Word16 msLogPeriodog_fx[NPART]; Word16 msLogNoiseEst_fx[NPART]; Word32 msLogNoiseEst_32fx[NPART]; /*IVAS: Q25*/ -#ifdef NONBE_MDCT_ST_DTX_FIX_SUBOPT_SPATIAL_CNG Word32 mem_coherence_fx[MDCT_ST_DTX_NUM_COHERENCE_BANDS][4]; Word16 mem_coherence_exp[MDCT_ST_DTX_NUM_COHERENCE_BANDS][4]; -#else - Word32 mem_coherence_fx[4]; - Word16 mem_coherence_exp[4]; -#endif } FD_CNG_ENC, *HANDLE_FD_CNG_ENC; @@ -1241,10 +1205,7 @@ typedef struct enc_core_structure * Common parameters *----------------------------------------------------------------------------------*/ - Word16 idchan; /* channel ID (audio channel number) */ -#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; /* Mode1 or Mode2 */ @@ -1288,13 +1249,7 @@ typedef struct enc_core_structure Word16 last_Opt_SC_VBR; /* flag indicating prev frame's SC-VBR mode */ Word16 low_rate_mode; /* low-rate mode flag */ Word16 inactive_coder_type_flag; /* inactive coder type flag (0 = AVQ / 1 = GSC) */ -#ifdef DEBUGGING - Word16 force; /* flag indicating specific signal type (0 = speech, 1 = music, -1 = N/A) */ -#ifdef DEBUG_FORCE_DIR - char *force_dir; /* directory containing external binary files for modes/parameters enforcement (empty string indicates no enforcement) */ -#endif -#endif - Word16 ini_frame; /* initialization frames counter */ + Word16 ini_frame; /* initialization frames counter */ /*----------------------------------------------------------------------------------* * ACELP core parameters diff --git a/lib_enc/stat_noise_uv_enc_fx.c b/lib_enc/stat_noise_uv_enc_fx.c index 51eef2944bf420a67bca45dd42771d806809ed45..52b3d0fb4a31394eb02d4b11f0efb4030d01b5e1 100644 --- a/lib_enc/stat_noise_uv_enc_fx.c +++ b/lib_enc/stat_noise_uv_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/subband_fft_fx.c b/lib_enc/subband_fft_fx.c index 10de09fe95e85e1dbbbc7ef6f6686115770cbbc6..2086999e84ca72210402ba4c8703ce0681de7b04 100644 --- a/lib_enc/subband_fft_fx.c +++ b/lib_enc/subband_fft_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/swb_bwe_enc_fx.c b/lib_enc/swb_bwe_enc_fx.c index af72e0f4926c25256e65079a8429764c0bf1d520..908f7b8ae2b2bf45634901dd36761a1756ac3497 100644 --- a/lib_enc/swb_bwe_enc_fx.c +++ b/lib_enc/swb_bwe_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/swb_bwe_enc_hr_fx.c b/lib_enc/swb_bwe_enc_hr_fx.c index 5fa034fbfa236c4e27737fd1a34a7d4302d800d5..c04dca0533511c60abe0dafb2e37b50f0ae59a54 100644 --- a/lib_enc/swb_bwe_enc_hr_fx.c +++ b/lib_enc/swb_bwe_enc_hr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/swb_bwe_enc_lr_fx.c b/lib_enc/swb_bwe_enc_lr_fx.c index 7d31b853227d173efe2dc852d87cb0d33b3d8369..d04511c0d94aa0c333d07621ece6e0855cdd1499 100644 --- a/lib_enc/swb_bwe_enc_lr_fx.c +++ b/lib_enc/swb_bwe_enc_lr_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_enc/swb_pre_proc_fx.c b/lib_enc/swb_pre_proc_fx.c index f21f0b4edd1fd1bafb22853d5ac366665197582b..680725ff0e71b2ec86109e560af1db0e4990bf94 100644 --- a/lib_enc/swb_pre_proc_fx.c +++ b/lib_enc/swb_pre_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -579,11 +582,7 @@ void swb_pre_proc_fx( IF( NE_16( st_fx->last_extl, SWB_BWE ) && NE_16( st_fx->last_extl, FB_BWE ) ) { /* resample 48 kHz to 32kHz */ -#ifdef NONBE_1244_FIX_SWB_BWE_MEMORY IF( ( st_fx->last_bwidth == FB && st_fx->element_mode == EVS_MONO ) || ( EQ_16( st_fx->bwidth, FB ) && st_fx->element_mode > EVS_MONO ) ) // note: once EVS i CR fixed, the condition will simplify to "if ( st->bwidth == FB )" only -#else - IF( EQ_16( st_fx->last_bwidth, FB ) ) -#endif { inner_frame = L_FRAME48k; inner_Fs = 48000; @@ -986,11 +985,7 @@ void swb_pre_proc_ivas_fx( IF( NE_16( st->last_extl, SWB_BWE ) && NE_16( st->last_extl, FB_BWE ) ) { /* resample 48 kHz to 32kHz */ -#ifdef NONBE_1244_FIX_SWB_BWE_MEMORY IF( ( st->last_bwidth == FB && st->element_mode == EVS_MONO ) || ( EQ_16( st->bwidth, FB ) && st->element_mode > EVS_MONO ) ) // note: once EVS i CR fixed, the condition will simplify to "if ( st->bwidth == FB )" only -#else - IF( EQ_16( st->last_bwidth, FB ) ) -#endif { inner_frame = L_FRAME48k; move16(); diff --git a/lib_enc/swb_tbe_enc_fx.c b/lib_enc/swb_tbe_enc_fx.c index 9aeaf5f2c75a6fbdcc5e0d3abcd93bd8a148ad6f..62bb7e4c43617880880ab7ecd13d65b2da21f559 100644 --- a/lib_enc/swb_tbe_enc_fx.c +++ b/lib_enc/swb_tbe_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/tcq_core_enc_fx.c b/lib_enc/tcq_core_enc_fx.c index d5841094fffca30c897bf4c791ad55ad703ffd56..57c35594f67c295fbd052141ebd0bb8d091e85e5 100644 --- a/lib_enc/tcq_core_enc_fx.c +++ b/lib_enc/tcq_core_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/tcx_ltp_enc_fx.c b/lib_enc/tcx_ltp_enc_fx.c index 9f8b26cf8e751119ba541900953f8e53ae3dd3d1..07697e091135172aca2a6dfeca5fdd9d7b087460 100644 --- a/lib_enc/tcx_ltp_enc_fx.c +++ b/lib_enc/tcx_ltp_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/tcx_utils_enc_fx.c b/lib_enc/tcx_utils_enc_fx.c index bbeb26ee394d24ee76664d0f3c1293532f83b663..372afe3bf816a314afa4bdb171caca2343850fe3 100644 --- a/lib_enc/tcx_utils_enc_fx.c +++ b/lib_enc/tcx_utils_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/tfa_enc_fx.c b/lib_enc/tfa_enc_fx.c index a6a1eaa8501e54e4fca18402b1ee6c759fbd53da..b6221834595c26337a95b35ebd8e2fa732e854bf 100644 --- a/lib_enc/tfa_enc_fx.c +++ b/lib_enc/tfa_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/tns_base_enc_fx.c b/lib_enc/tns_base_enc_fx.c index 177f07ded94927f5e78530a954abf4d2d44f2756..e3849f65c6848220c1a670e715d82409b6b21070 100644 --- a/lib_enc/tns_base_enc_fx.c +++ b/lib_enc/tns_base_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/transient_detection_fx.c b/lib_enc/transient_detection_fx.c index 92ffe6863f21b8e17b388bd59de6cabebeff5751..baba6a8f10d52838f29d98b07dc5a05237efde78 100644 --- a/lib_enc/transient_detection_fx.c +++ b/lib_enc/transient_detection_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ @@ -791,18 +794,6 @@ void SetTCXModeInfo_ivas_fx( move16(); } } -#ifdef SUPPORT_FORCE_TCX10_TCX20 -#ifdef DEBUGGING - if ( st->force == FORCE_TCX10 ) - { - hTcxEnc->tcxMode = TCX_10; - } - else if ( st->force == FORCE_TCX20 ) - { - hTcxEnc->tcxMode = TCX_20; - } -#endif -#endif /* set the left window overlap */ test(); diff --git a/lib_enc/transition_enc_fx.c b/lib_enc/transition_enc_fx.c index ee76ce0f917fb7a0094da96cfe257d36672302e5..210d5b0a5a881608202e8ec92a5c9efa8d72d415 100644 --- a/lib_enc/transition_enc_fx.c +++ b/lib_enc/transition_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/update_decision_fx.c b/lib_enc/update_decision_fx.c index 315adcf819d9061691879a2b3c4c3f4752bdba94..d45fa0d5cdb0fbce20a99995495197e4c1c31766 100644 --- a/lib_enc/update_decision_fx.c +++ b/lib_enc/update_decision_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/updt_enc_fx.c b/lib_enc/updt_enc_fx.c index 9c68847a48792d6f71496680ca90c20ac0e60fdc..570d77f76cc939bb6341b40d9051936e44520aac 100644 --- a/lib_enc/updt_enc_fx.c +++ b/lib_enc/updt_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/updt_tar_fx.c b/lib_enc/updt_tar_fx.c index 7a33971f393cefec19a4a79f1c6b7258af09ad22..587ae35422d339492e7fb8770ae49f0c8c9925e2 100644 --- a/lib_enc/updt_tar_fx.c +++ b/lib_enc/updt_tar_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/vad_basop.h b/lib_enc/vad_basop.h index 2437317849895d206e5b0fc7e6a42cec5f568a22..390e6ac9eeb991f46bb31a43190a5da9c08b718a 100644 --- a/lib_enc/vad_basop.h +++ b/lib_enc/vad_basop.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/vad_basop_fx.c b/lib_enc/vad_basop_fx.c index d6d0783105621e70b314ab8a971be27bd4d60434..d100a0e134f52a864a2c31d6ebc3c603eced12b4 100644 --- a/lib_enc/vad_basop_fx.c +++ b/lib_enc/vad_basop_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/vad_fx.c b/lib_enc/vad_fx.c index 3ee041af2847d17b27c0a9b0fe201c1b8560be35..7eecca2587092d66b33b415c8a4edb934511c759 100644 --- a/lib_enc/vad_fx.c +++ b/lib_enc/vad_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/vad_param_updt_fx.c b/lib_enc/vad_param_updt_fx.c index 9738da4d653187e2e8c9c77ad19b984e32af1e3a..5a88da31abb61ce8c35663af8144614c7f9384cd 100644 --- a/lib_enc/vad_param_updt_fx.c +++ b/lib_enc/vad_param_updt_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/vad_proc_fx.c b/lib_enc/vad_proc_fx.c index 16247be44474036584edb5484e2e47a18279a037..b5948b71dd64ed1e89fd8721a8a4fb841281d3d0 100644 --- a/lib_enc/vad_proc_fx.c +++ b/lib_enc/vad_proc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/vbr_average_rate_fx.c b/lib_enc/vbr_average_rate_fx.c index 16f4f9d11ab16462a5516c2d67a55815c5a3eab8..d2e8aa21131dcce60edb28099a1a80876e7adf4f 100644 --- a/lib_enc/vbr_average_rate_fx.c +++ b/lib_enc/vbr_average_rate_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/vlpc_1st_cod_fx.c b/lib_enc/vlpc_1st_cod_fx.c index 9cbbd87964c44b8fa187ab7e5c197ce34d460fe2..048c933a27b47265e6d593a61972e324ae19b101 100644 --- a/lib_enc/vlpc_1st_cod_fx.c +++ b/lib_enc/vlpc_1st_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/vlpc_2st_cod_fx.c b/lib_enc/vlpc_2st_cod_fx.c index d2c10f4b850892a6f67d72096b2fb7bbd4efa10a..148cbd30ab4f4a7c1defb11ef218a59fca7056ed 100644 --- a/lib_enc/vlpc_2st_cod_fx.c +++ b/lib_enc/vlpc_2st_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/voiced_enc_fx.c b/lib_enc/voiced_enc_fx.c index a78ec7648031fa923d47c90b184a8b6aeab61ca6..5e141d4566007901e96b1a7ae1b8049a0f87ac73 100644 --- a/lib_enc/voiced_enc_fx.c +++ b/lib_enc/voiced_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_enc/waveadjust_fec_cod_fx.c b/lib_enc/waveadjust_fec_cod_fx.c index 4efe9b9fef3c422bca866726e53010a98fe3758c..1b7515234ed08b7fd3fd8e8808c79ff168fc53fa 100644 --- a/lib_enc/waveadjust_fec_cod_fx.c +++ b/lib_enc/waveadjust_fec_cod_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 ====================================================================================*/ diff --git a/lib_isar/isar_MSPred.c b/lib_isar/isar_MSPred.c index aaa26903b5bb6700c23542d1a0d2d9953a41dcc1..7ad2e171983a88046d6d56d5ebb7df70be59e1fc 100644 --- a/lib_isar/isar_MSPred.c +++ b/lib_isar/isar_MSPred.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_isar/isar_NoiseGen.c b/lib_isar/isar_NoiseGen.c index 363e758fffbdd642dc3aa4061bd3ee6ac13e2853..56ae2cc89fa8cfaa6ce148f17cd077312b8342a7 100644 --- a/lib_isar/isar_NoiseGen.c +++ b/lib_isar/isar_NoiseGen.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_PerceptualModel.c b/lib_isar/isar_PerceptualModel.c index 54265bc5ee5e06f9c14e79296fa5db35f42cb592..920db428d9594c9dd4e5a5bc7cbb5a9adabad365 100644 --- a/lib_isar/isar_PerceptualModel.c +++ b/lib_isar/isar_PerceptualModel.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_PredDecoder.c b/lib_isar/isar_PredDecoder.c index f6e031e451b2619942131ef3c62dc3609f0c66b9..e0e716a7761614ac44dfbe170ffb124890949055 100644 --- a/lib_isar/isar_PredDecoder.c +++ b/lib_isar/isar_PredDecoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_PredEncoder.c b/lib_isar/isar_PredEncoder.c index 769ae86a5f78418932da5d3d2224c92c1899a741..610009adb9366d0d1b9b0550bf9444a45ab1b8f9 100644 --- a/lib_isar/isar_PredEncoder.c +++ b/lib_isar/isar_PredEncoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_RMSEnvGrouping.c b/lib_isar/isar_RMSEnvGrouping.c index 428cc66b3637aa064bcc8d7655080ce96400530d..2aba3f1fff514736484db4b279369fd5daf89e6d 100644 --- a/lib_isar/isar_RMSEnvGrouping.c +++ b/lib_isar/isar_RMSEnvGrouping.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* Double check cost function calculation */ diff --git a/lib_isar/isar_cnst.h b/lib_isar/isar_cnst.h index 40d6c393857ee28145728999a52dfded680ec8db..7732c146975c599860d2b9edec909ea0bce00ee8 100644 --- a/lib_isar/isar_cnst.h +++ b/lib_isar/isar_cnst.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_CNST_H #define ISAR_CNST_H diff --git a/lib_isar/isar_lc3plus_common.c b/lib_isar/isar_lc3plus_common.c index f7fe0db32ebeba38eeec378a57c47154a8031046..c8b0409bf3581d0f4989173b969ae7acb02958c0 100644 --- a/lib_isar/isar_lc3plus_common.c +++ b/lib_isar/isar_lc3plus_common.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include "isar_lc3plus_common.h" diff --git a/lib_isar/isar_lc3plus_common.h b/lib_isar/isar_lc3plus_common.h index 3b52e5b3f15c0ce29c25f7d640140530db05afb6..44fd1a2e4ae564bb3560faa588987b48e218cff0 100644 --- a/lib_isar/isar_lc3plus_common.h +++ b/lib_isar/isar_lc3plus_common.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_LC3PLUS_COM_H #define ISAR_LC3PLUS_COM_H diff --git a/lib_isar/isar_lc3plus_dec.c b/lib_isar/isar_lc3plus_dec.c index 2ac21e4d3670fa1542c9e0752ef448eefa0b8933..1a24c0880adb5abf19281415d0eb85fa4d3b334c 100644 --- a/lib_isar/isar_lc3plus_dec.c +++ b/lib_isar/isar_lc3plus_dec.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_lc3plus_dec.h b/lib_isar/isar_lc3plus_dec.h index 8328b1fa767274db5be43ed4a8bcdc64d4a79cee..08718d7592fa7cc2c2f976a28c7109b958067f74 100644 --- a/lib_isar/isar_lc3plus_dec.h +++ b/lib_isar/isar_lc3plus_dec.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_LC3PLUS_DEC_H #define ISAR_LC3PLUS_DEC_H diff --git a/lib_isar/isar_lc3plus_enc.c b/lib_isar/isar_lc3plus_enc.c index 60121a11f7e96c8bbb219bfdf1897513d0f1575f..997cc5799d657756bff41e913228604979fb9f8e 100644 --- a/lib_isar/isar_lc3plus_enc.c +++ b/lib_isar/isar_lc3plus_enc.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "isar_lc3plus_enc.h" #include "isar_lc3plus_common.h" diff --git a/lib_isar/isar_lc3plus_enc.h b/lib_isar/isar_lc3plus_enc.h index 6dd08733fa2deeae01a83473ffa1854e65009713..058752cdd45edce61b8a66a80b42c6c45fa5129b 100644 --- a/lib_isar/isar_lc3plus_enc.h +++ b/lib_isar/isar_lc3plus_enc.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_LC3PLUS_ENC_H #define ISAR_LC3PLUS_ENC_H diff --git a/lib_isar/isar_lc3plus_payload.c b/lib_isar/isar_lc3plus_payload.c index 2493aa6a30eb9ca3ab8f493dc1dad4e057666b98..6665e20d9b4db3b81ab572f8fab130fde16cf938 100644 --- a/lib_isar/isar_lc3plus_payload.c +++ b/lib_isar/isar_lc3plus_payload.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_isar/isar_lc3plus_payload.h b/lib_isar/isar_lc3plus_payload.h index 580a58ca651defe96eeb84229b8f07b3407a756c..dd8ed93b5f476472a09709aeed4a42e140eada9b 100644 --- a/lib_isar/isar_lc3plus_payload.h +++ b/lib_isar/isar_lc3plus_payload.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_LC3PLUS_PAYLOAD_H #define ISAR_LC3PLUS_PAYLOAD_H diff --git a/lib_isar/isar_lcld_decoder.c b/lib_isar/isar_lcld_decoder.c index 8bb931e3f7e6f23e1d26a6b8b2370691942ae692..c2bc8a33cd1057bd311e495eb340effd99fb14b4 100644 --- a/lib_isar/isar_lcld_decoder.c +++ b/lib_isar/isar_lcld_decoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -41,7 +13,6 @@ #include "basop_util.h" #include "prot_fx.h" // #define DEBUG_WRITE -#include "debug.h" #include "enh64.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_isar/isar_lcld_encoder.c b/lib_isar/isar_lcld_encoder.c index 915e2a5e493fcba3e3ca3f860c64c9a937e6fcd3..275dbfb46d533642999a24b9ff0559dfde5c596b 100644 --- a/lib_isar/isar_lcld_encoder.c +++ b/lib_isar/isar_lcld_encoder.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_isar/isar_lcld_prot.h b/lib_isar/isar_lcld_prot.h index 00c1859014ae7a13afb5017d758721c0b235eef8..1b5c176122c02a6098931dc0a87cce56773c1df5 100644 --- a/lib_isar/isar_lcld_prot.h +++ b/lib_isar/isar_lcld_prot.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_LCLD_PROT_H #define ISAR_LCLD_PROT_H diff --git a/lib_isar/isar_prot.h b/lib_isar/isar_prot.h index e1b173e02c4655a9e462eb3e0078ad76e5a67788..3d3cd4457c808e8ec6f513d5164a9dedf4b7b251 100644 --- a/lib_isar/isar_prot.h +++ b/lib_isar/isar_prot.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_PROT_H #define ISAR_PROT_H @@ -48,10 +20,6 @@ ivas_error isar_splitBinPreRendOpen( ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE *hBinHrSplitPreRend, /* i/o: binaural pre-renderer handle */ MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData /* i/o: pose correction data handle */ -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - const Word32 output_Fs -#endif ); ivas_error split_renderer_open_lc3plus( @@ -67,13 +35,8 @@ void isar_splitBinPreRendClose( void lc3plusTimeAlignCldfbPoseCorr( SPLIT_REND_WRAPPER *hSplitBin, /* i/o: Split renderer pre-renderer handle */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX], /* i/o: Binaural signals, real part */ Word32 *Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX], /* i/o: Binaural signals, imag. part */ -#else - Word32 Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word32 Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], -#endif Word16 *Q_in ); @@ -159,20 +122,6 @@ void isar_splitBinRendPLC( Word16 exp ); -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG -void isar_log_cldfb2wav_data( - float Cldfb_In_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - HANDLE_CLDFB_FILTER_BANK *cldfbSyn, - const Word16 num_chs, - const Word16 num_freq_bands, - const Word32 output_Fs, - const Word16 start_slot_idx, - const Word16 md_band_idx, - const char *filename -); - -#endif void isar_splitBinLCLDDecProcess( ISAR_BIN_HR_SPLIT_LCLD_DEC_HANDLE hSplitBinLCLDDec, /* i/o: ISAR LCLD decoder handle */ ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: ISAR bits handle */ @@ -193,13 +142,8 @@ void isar_splitBinLCLDEncClose( void isar_splitBinLCLDEncProcess( ISAR_BIN_HR_SPLIT_LCLD_ENC_HANDLE hSplitBinLCLDEnc, /* i/o: ISAR LCLD encoder handle */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *Cldfb_In_Real_fx[][CLDFB_NO_COL_MAX], /* i/o: Binaural signals, real part */ Word32 *Cldfb_In_Imag_fx[][CLDFB_NO_COL_MAX], /* i/o: Binaural signals, imag. part */ -#else - Word32 Cldfb_In_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word32 Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], -#endif const Word32 available_bits, /* i : available bit-budget */ ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: ISAR bits handle */ Word16 *q_final @@ -251,10 +195,6 @@ void isar_splitBinPostRendMdDec_fx( ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: ISAR bits handle */ ISAR_BIN_HR_SPLIT_POST_REND_HANDLE hBinHrSplitPostRend, /* i/o: binaural post-renderer handle */ MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData /* i/o: pose correction data handle */ -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend /* i/o: binaural pre-renderer handle */ -#endif ); void Quat2EulerDegree( @@ -295,17 +235,9 @@ void isar_rend_CldfbSplitPreRendProcess( const ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend, /* i : binaural pre-renderer handle */ const IVAS_QUATERNION headPosition, /* i : head rotation QUATERNION */ MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData, /* i/o: pose correction data handle */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32* Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX], /* i : Binaural signals, real part */ -#else - Word32 Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], -#endif Word16 exp_cldfb_re, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32* Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX], /* i : Binaural signals, imag. part */ -#else - Word32 Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], -#endif Word16 exp_cldfb_im, ISAR_SPLIT_REND_BITS_HANDLE pBits, const Word32 target_md_bits, @@ -484,10 +416,6 @@ void ivas_calculate_rabs_fx( Word16 *exp_out ); -#ifdef SPLIT_POSE_CORRECTION_DEBUG -#define IVAS_CALCULATE_ABS( re, im, out ) \ - out = sqrtf( ( re * re ) + ( im * im ) ); -#endif /* clang-format on */ diff --git a/lib_isar/isar_rom_lcld_tables.c b/lib_isar/isar_rom_lcld_tables.c index 5fd334447fa8e2aa60061ae8d0ef5a8add1eda91..93f186f8d00c9c67f51964fe68bb7204324cfb12 100644 --- a/lib_isar/isar_rom_lcld_tables.c +++ b/lib_isar/isar_rom_lcld_tables.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "isar_rom_lcld_tables.h" #include "options.h" diff --git a/lib_isar/isar_rom_lcld_tables.h b/lib_isar/isar_rom_lcld_tables.h index a2cbe5f25c4888d9658a51c3e017332441981fa4..f8615fd51703b7046cc56a18b50053b6932dc7da 100644 --- a/lib_isar/isar_rom_lcld_tables.h +++ b/lib_isar/isar_rom_lcld_tables.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_ROM_LCLD_TABLES_H #define ISAR_ROM_LCLD_TABLES_H diff --git a/lib_isar/isar_rom_post_rend.c b/lib_isar/isar_rom_post_rend.c index 954d89f639892eb743b15adc3dc29aac4e70c91f..e07b4332014a404503c27f262b7b10956896dbeb 100644 --- a/lib_isar/isar_rom_post_rend.c +++ b/lib_isar/isar_rom_post_rend.c @@ -1,40 +1,9 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "cnst.h" #include "isar_cnst.h" #include diff --git a/lib_isar/isar_rom_post_rend.h b/lib_isar/isar_rom_post_rend.h index a08bb174f70461578c389b55d40f63897084cb00..4e270c74dff94c777d90f7689317cf8b7c7a6de7 100644 --- a/lib_isar/isar_rom_post_rend.h +++ b/lib_isar/isar_rom_post_rend.h @@ -1,43 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_ROM_POST_REND_H #define ISAR_ROM_POST_REND_H #include #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "cnst.h" #include "isar_cnst.h" diff --git a/lib_isar/isar_splitRend_lcld_dec.c b/lib_isar/isar_splitRend_lcld_dec.c index 56446b755fdc6cf0ddf6b3c355fc438ff589d66a..8ef083ef0d15136fd301cb0c39b8e6218479018c 100644 --- a/lib_isar/isar_splitRend_lcld_dec.c +++ b/lib_isar/isar_splitRend_lcld_dec.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,6 @@ #include "prot_fx.h" #include "prot_fx.h" //#include "control.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" @@ -225,36 +194,14 @@ void isar_splitBinLCLDDecProcess( #endif IF( AnyDecodingFailed( hSplitBinLCLDDec->psLCLDDecoder ) ) { -#ifndef FIX_2200_ISAR_PLC_CRASH - IF( NE_16( *Q_cldfb_final, 11 ) ) - { - FOR( n = 0; n < hSplitBinLCLDDec->iChannels; n++ ) - { - FOR( k = 0; k < hSplitBinLCLDDec->iNumBlocks; k++ ) - { - FOR( Word16 j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) - { - hSplitBinLCLDDec->pppfDecLCLDReal_fx[n][k][j] = L_shl_r( hSplitBinLCLDDec->pppfDecLCLDReal_fx[n][k][j], sub( 11, *Q_cldfb_final ) ); // Q11 - hSplitBinLCLDDec->pppfDecLCLDImag_fx[n][k][j] = L_shl_r( hSplitBinLCLDDec->pppfDecLCLDImag_fx[n][k][j], sub( 11, *Q_cldfb_final ) ); // Q11 - } - } - } - *Q_cldfb_final = 11; - } -#else *Q_cldfb_final = hSplitBinLCLDDec->hSplitRendPLC->CldfbPLC_state.Q_Prev_Bin_fx; -#endif /* continue concealing */ isar_splitBinRendPLC( hSplitBinLCLDDec->hSplitRendPLC, Cldfb_Out_Real_fx, Cldfb_Out_Imag_fx, (Word16) hSplitBinLCLDDec->iChannels, hSplitBinLCLDDec->iNumBlocks, hSplitBinLCLDDec->iNumIterations, GetDecodingFailedStatus( hSplitBinLCLDDec->psLCLDDecoder ), *Q_cldfb_final ); } IF( AnyDecodingFailedPrev( hSplitBinLCLDDec->psLCLDDecoder ) ) { -#ifndef FIX_2200_ISAR_PLC_CRASH - IF( NE_16( *Q_cldfb_final, 11 ) ) -#else IF( GT_16( *Q_cldfb_final, hSplitBinLCLDDec->hSplitRendPLC->CldfbPLC_state.Q_Prev_Bin_fx ) ) -#endif { FOR( n = 0; n < hSplitBinLCLDDec->iChannels; n++ ) { @@ -262,21 +209,12 @@ void isar_splitBinLCLDDecProcess( { FOR( Word16 j = 0; j < CLDFB_NO_CHANNELS_MAX; j++ ) { -#ifndef FIX_2200_ISAR_PLC_CRASH - hSplitBinLCLDDec->pppfDecLCLDReal_fx[n][k][j] = L_shl_r( hSplitBinLCLDDec->pppfDecLCLDReal_fx[n][k][j], sub( 11, *Q_cldfb_final ) ); // Q11 - hSplitBinLCLDDec->pppfDecLCLDImag_fx[n][k][j] = L_shl_r( hSplitBinLCLDDec->pppfDecLCLDImag_fx[n][k][j], sub( 11, *Q_cldfb_final ) ); // Q11 -#else hSplitBinLCLDDec->pppfDecLCLDReal_fx[n][k][j] = L_shl_r( hSplitBinLCLDDec->pppfDecLCLDReal_fx[n][k][j], sub( hSplitBinLCLDDec->hSplitRendPLC->CldfbPLC_state.Q_Prev_Bin_fx, *Q_cldfb_final ) ); // hSplitBinLCLDDec->hSplitRendPLC->CldfbPLC_state.Q_Prev_Bin_fx hSplitBinLCLDDec->pppfDecLCLDImag_fx[n][k][j] = L_shl_r( hSplitBinLCLDDec->pppfDecLCLDImag_fx[n][k][j], sub( hSplitBinLCLDDec->hSplitRendPLC->CldfbPLC_state.Q_Prev_Bin_fx, *Q_cldfb_final ) ); // hSplitBinLCLDDec->hSplitRendPLC->CldfbPLC_state.Q_Prev_Bin_fx -#endif } } } -#ifndef FIX_2200_ISAR_PLC_CRASH - *Q_cldfb_final = 11; -#else *Q_cldfb_final = hSplitBinLCLDDec->hSplitRendPLC->CldfbPLC_state.Q_Prev_Bin_fx; -#endif } /* cross-fade recovered frame into good frame */ isar_splitBinRendPLC_xf_fx( hSplitBinLCLDDec->hSplitRendPLC, Cldfb_Out_Real_fx, Cldfb_Out_Imag_fx, (Word16) hSplitBinLCLDDec->iChannels, hSplitBinLCLDDec->iNumBlocks, hSplitBinLCLDDec->iNumIterations, GetDecodingFailedStatus( hSplitBinLCLDDec->psLCLDDecoder ), GetDecodingFailedPrevStatus( hSplitBinLCLDDec->psLCLDDecoder ), *Q_cldfb_final ); @@ -288,9 +226,7 @@ void isar_splitBinLCLDDecProcess( /* set states in decoder */ SetDecodingUnresolved( hSplitBinLCLDDec->psLCLDDecoder ); -#ifdef FIX_2200_ISAR_PLC_CRASH *Q_cldfb_final = hSplitBinLCLDDec->hSplitRendPLC->CldfbPLC_state.Q_Prev_Bin_fx; -#endif /* do PLC for lost split renderer frame */ isar_splitBinRendPLC( hSplitBinLCLDDec->hSplitRendPLC, Cldfb_Out_Real_fx, Cldfb_Out_Imag_fx, (Word16) hSplitBinLCLDDec->iChannels, hSplitBinLCLDDec->iNumBlocks, hSplitBinLCLDDec->iNumIterations, GetDecodingFailedStatus( hSplitBinLCLDDec->psLCLDDecoder ), *Q_cldfb_final ); diff --git a/lib_isar/isar_splitRend_lcld_enc.c b/lib_isar/isar_splitRend_lcld_enc.c index b1249653f805e7ad97c993a46c8b5e7e3984ef24..f468c9f304564298da56ae9309661f52e9bd3f9d 100644 --- a/lib_isar/isar_splitRend_lcld_enc.c +++ b/lib_isar/isar_splitRend_lcld_enc.c @@ -1,42 +1,11 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" #include "isar_prot.h" #include "ivas_prot_fx.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" /*------------------------------------------------------------------------- @@ -152,15 +121,10 @@ void isar_splitBinLCLDEncClose( *------------------------------------------------------------------------*/ void isar_splitBinLCLDEncProcess( ISAR_BIN_HR_SPLIT_LCLD_ENC_HANDLE hSplitBinLCLDEnc, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *Cldfb_In_Real_fx[][CLDFB_NO_COL_MAX], /* i/o: Binaural signals, real part */ Word32 *Cldfb_In_Imag_fx[][CLDFB_NO_COL_MAX], /* i/o: Binaural signals, imag part */ -#else - Word32 Cldfb_In_Real_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word32 Cldfb_In_Imag_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], -#endif - const Word32 available_bits, /* i : available bit-budget */ - ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: ISAR bits handle */ + const Word32 available_bits, /* i : available bit-budget */ + ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: ISAR bits handle */ Word16 *q_final ) { Word32 iBitsWritten, itr, available_bits_itr, rem_itr, available_bits_local; @@ -228,9 +192,6 @@ void isar_splitBinLCLDEncProcess( EncodeLCLDFrame( hSplitBinLCLDEnc->psLCLDEncoder, hSplitBinLCLDEnc->pppfLCLDReal_fx, hSplitBinLCLDEnc->pppfLCLDImag_fx, &iBitsWritten, available_bits_itr, pBits, q_final ); available_bits_local = L_sub( available_bits_local, iBitsWritten ); -#ifdef DEBUGGING - assert( available_bits_local >= 0 ); -#endif #ifdef CLDFB_DEBUG printf( "Bits written = %d\n", iBitsWritten ); diff --git a/lib_isar/isar_splitRendererPLC.c b/lib_isar/isar_splitRendererPLC.c index d807a26e6ea2eebbd5a35efbadce5d281a56e74c..ef137dcf7ddfe10b75b17da86820bdca0489bd5a 100644 --- a/lib_isar/isar_splitRendererPLC.c +++ b/lib_isar/isar_splitRendererPLC.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -38,9 +10,6 @@ #include "isar_cnst.h" #include "isar_prot.h" #include "enh64.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "prot_fx.h" #include "basop_util.h" diff --git a/lib_isar/isar_splitRendererPost.c b/lib_isar/isar_splitRendererPost.c index 272dc45c8002602743f881ce97995e17dd483365..0ff99eac378bca56906ec5339c78bf11e3c17469 100644 --- a/lib_isar/isar_splitRendererPost.c +++ b/lib_isar/isar_splitRendererPost.c @@ -1,48 +1,14 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" #include -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG -#include -#endif #include "ivas_prot_fx.h" #include "prot_fx.h" #include "isar_rom_post_rend.h" #include "isar_prot.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "prot_fx.h" #include "wmc_auto.h" #include "basop_util.h" @@ -73,15 +39,6 @@ ivas_error isar_splitBinPostRendOpen( hBinRend->cldfbSyn[ch] = NULL; hBinRend->cldfbAna[ch] = NULL; } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - hBinRend->cldfbSynReconsBinDec[i][ch] = NULL; - } - } -#endif FOR( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { @@ -95,18 +52,6 @@ ivas_error isar_splitBinPostRendOpen( } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - if ( ( error = openCldfb_ivas_fx( &( hBinRend->cldfbSynReconsBinDec[i][ch] ), CLDFB_SYNTHESIS, output_Fs, CLDFB_PROTOTYPE_5_00MS, DEC ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } -#endif hBinRend->cf_flag = 0; set_fix_rotation_mat_fx( hBinRend->fix_pos_rot_mat_fx, pMultiBinPoseData ); set_pose_types_fx( hBinRend->pose_type, pMultiBinPoseData ); @@ -142,19 +87,6 @@ void isar_splitBinPostRendClose( ( *hBinHrSplitPostRend )->cldfbAna[ch] = NULL; } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - if ( ( *hBinHrSplitPostRend )->cldfbSynReconsBinDec[i][ch] != NULL ) - { - deleteCldfb_fx( &( ( *hBinHrSplitPostRend )->cldfbSynReconsBinDec[i][ch] ) ); - ( *hBinHrSplitPostRend )->cldfbSynReconsBinDec[i][ch] = NULL; - } - } - } -#endif free( ( *hBinHrSplitPostRend ) ); ( *hBinHrSplitPostRend ) = NULL; @@ -209,9 +141,6 @@ static Word16 ivas_split_rend_huffman_decode_opt( codebook = huff_cfg->codebook; } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - assert( ind >= huff_cfg->codebook[0] ); -#endif return extract_l( ind ); } @@ -640,12 +569,7 @@ static void ivas_splitBinPostRendMdHuffDec( void isar_splitBinPostRendMdDec_fx( ISAR_SPLIT_REND_BITS_HANDLE pBits, ISAR_BIN_HR_SPLIT_POST_REND_HANDLE hBinHrSplitPostRend, - MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend -#endif -) + MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData ) { Word16 pos_idx, b, sf_idx, num_subframes, ch1; Word16 pred_real_bands_yaw[ISAR_SPLIT_REND_NUM_QUANT_STRATS], pred_real_bands_roll[ISAR_SPLIT_REND_NUM_QUANT_STRATS]; @@ -656,9 +580,6 @@ void isar_splitBinPostRendMdDec_fx( Word16 pred_quant_pnts_yaw[ISAR_SPLIT_REND_NUM_QUANT_STRATS]; Word32 pred_1byquantstep_yaw_fx[ISAR_SPLIT_REND_NUM_QUANT_STRATS]; // Q26 Word32 pred_quantstep_yaw_fx[ISAR_SPLIT_REND_NUM_QUANT_STRATS]; // Q31 -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - Word16 ch1, ch2; -#endif ISAR_BIN_HR_SPLIT_REND_MD_HANDLE hMd; ISAR_SPLIT_REND_CONFIG_DATA split_rend_config; ISAR_SPLIT_REND_ROT_AXIS rot_axis; @@ -762,109 +683,6 @@ void isar_splitBinPostRendMdDec_fx( pred_real_bands_roll[quant_strat], pred_imag_bands_roll[quant_strat] ); } -#ifdef SPLIT_MD_CODING_DEBUG - for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) - { - int16_t val, ch2, val_ref; - char filename[200] = "split_md_debug_indices.bin"; - for ( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) - { - if ( hBinHrSplitPostRend->pose_type[pos_idx] == ANY_YAW ) - { - for ( b = 0; b < pred_real_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < pred_imag_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < d_bands_yaw[quant_strat]; b++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].gd_idx; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - else if ( hBinHrSplitPostRend->pose_type[pos_idx] == PITCH_ONLY ) - { - for ( b = 0; b < bands_pitch[quant_strat]; b++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].gd_idx; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].gd2_idx; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - else - { - for ( b = 0; b < pred_real_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < pred_imag_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - dbgread( &val_ref, sizeof( int16_t ), 1, filename ); - if ( abs( val_ref - val ) > 0 ) - { - assert( 0 ); - } - } - } - } - } - } - } -#endif FOR( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) { @@ -947,101 +765,6 @@ void isar_splitBinPostRendMdDec_fx( } } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) - { - float val; - for ( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) - { - if ( hBinHrSplitPostRend->pose_type[pos_idx] == ANY_YAW ) - { - for ( b = 0; b < pred_real_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - if ( fabsf( hMd->pred_mat_re_idx[ch1][ch2] - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < pred_imag_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - if ( fabsf( hMd->pred_mat_im_idx[ch1][ch2] - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < d_bands_yaw[quant_strat]; b++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd_idx; - if ( fabsf( hMd->gd_idx - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - else if ( hBinHrSplitPostRend->pose_type[pos_idx] == PITCH_ONLY ) - { - for ( b = 0; b < bands_pitch[quant_strat]; b++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd_idx; - if ( fabsf( hMd->gd_idx - val ) > 1e-20 ) - { - assert( 0 ); - } - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd2_idx; - if ( fabsf( hMd->gd2_idx - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - else - { - for ( b = 0; b < pred_real_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - if ( fabsf( hMd->pred_mat_re_idx[ch1][ch2] - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - } - for ( b = 0; b < pred_imag_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - if ( fabsf( hMd->pred_mat_im_idx[ch1][ch2] - val ) > 1e-20 ) - { - assert( 0 ); - } - } - } - } - } - } - } -#endif return; } @@ -1818,23 +1541,14 @@ static void isar_rend_CldfbSplitPostRendProcessTdIn( { RealBuffer_fx[slot_idx] = Cldfb_RealBuffer_Binaural_fx[ch_idx][slot_idx]; ImagBuffer_fx[slot_idx] = Cldfb_ImagBuffer_Binaural_fx[ch_idx][slot_idx]; -#ifdef NONBE_FIX_ISSUE_2232_CHECK_CLDFB_STATES scaleFactor = s_min( scaleFactor, s_min( L_norm_arr( RealBuffer_fx[slot_idx], num_cldfb_bands ), L_norm_arr( ImagBuffer_fx[slot_idx], num_cldfb_bands ) ) ); scaleFactor = s_min( scaleFactor, L_norm_arr( hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_length ) ); -#else - scaleFactor = s_min( scaleFactor, s_min( getScaleFactor32( RealBuffer_fx[slot_idx], CLDFB_NO_CHANNELS_MAX ), getScaleFactor32( ImagBuffer_fx[slot_idx], CLDFB_NO_CHANNELS_MAX ) ) ); -#endif } scaleFactor = s_min( sub( scaleFactor, 6 ), Q24 ); // guarded bits FOR( slot_idx = 0; slot_idx < CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES; slot_idx++ ) { -#ifdef NONBE_FIX_ISSUE_2232_CHECK_CLDFB_STATES Scale_sig32( RealBuffer_fx[slot_idx], num_cldfb_bands, scaleFactor ); Scale_sig32( ImagBuffer_fx[slot_idx], num_cldfb_bands, scaleFactor ); -#else - Scale_sig32( RealBuffer_fx[slot_idx], CLDFB_NO_CHANNELS_MAX, scaleFactor ); - Scale_sig32( ImagBuffer_fx[slot_idx], CLDFB_NO_CHANNELS_MAX, scaleFactor ); -#endif } Q_cldfb = add( scaleFactor, Q_in ); Scale_sig32( hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hBinHrSplitPostRend->cldfbSyn[ch_idx]->p_filter_length, sub( sub( Q_cldfb, 1 ), Q11 ) ); @@ -1890,24 +1604,15 @@ void isar_rend_CldfbSplitPostRendProcess( { RealBuffer_fx[slot_idx] = Cldfb_RealBuffer_Binaural_fx[ch_idx][slot_idx]; ImagBuffer_fx[slot_idx] = Cldfb_ImagBuffer_Binaural_fx[ch_idx][slot_idx]; -#ifdef NONBE_FIX_ISSUE_2232_CHECK_CLDFB_STATES scaleFactor = s_min( scaleFactor, s_min( L_norm_arr( RealBuffer_fx[slot_idx], num_cldfb_bands ), L_norm_arr( ImagBuffer_fx[slot_idx], num_cldfb_bands ) ) ); scaleFactor = s_min( scaleFactor, L_norm_arr( hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_length ) ); -#else - scaleFactor = s_min( scaleFactor, s_min( getScaleFactor32( RealBuffer_fx[slot_idx], CLDFB_NO_CHANNELS_MAX ), getScaleFactor32( ImagBuffer_fx[slot_idx], CLDFB_NO_CHANNELS_MAX ) ) ); -#endif } scaleFactor = s_min( sub( scaleFactor, 6 ), Q24 ); // guarded bits FOR( slot_idx = 0; slot_idx < CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES; slot_idx++ ) { -#ifdef NONBE_FIX_ISSUE_2232_CHECK_CLDFB_STATES Scale_sig32( RealBuffer_fx[slot_idx], num_cldfb_bands, scaleFactor ); Scale_sig32( ImagBuffer_fx[slot_idx], num_cldfb_bands, scaleFactor ); -#else - Scale_sig32( RealBuffer_fx[slot_idx], CLDFB_NO_CHANNELS_MAX, scaleFactor ); - Scale_sig32( ImagBuffer_fx[slot_idx], CLDFB_NO_CHANNELS_MAX, scaleFactor ); -#endif } Q_cldfb = scaleFactor + Q_cldfb_in; Scale_sig32( hBinHrSplitPostRend->cldfbSyn[ch_idx]->cldfb_state_fx, hBinHrSplitPostRend->cldfbSyn[ch_idx]->p_filter_length, sub( sub( Q_cldfb, 1 ), Q11 ) ); diff --git a/lib_isar/isar_splitRendererPre.c b/lib_isar/isar_splitRendererPre.c index 37ebdf27852cc52bf1e1edabb73b721c576b3e44..607b92869844e4e8ba414c9d5bb9faf5388f905b 100644 --- a/lib_isar/isar_splitRendererPre.c +++ b/lib_isar/isar_splitRendererPre.c @@ -1,53 +1,16 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" #include -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG -#include -#endif #include "ivas_prot_fx.h" #include "prot_fx.h" #include "lib_isar_pre_rend.h" #include "isar_rom_post_rend.h" #include "isar_prot.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" -#ifdef DBG_WAV_WRITER -#include "string.h" -#endif #ifdef DEBUG_QUANT_CODE_OUT #include "float_to_fix_ops.h" #endif @@ -59,17 +22,10 @@ static void isar_SplitRenderer_GetRotMd_fx( ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend, MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *Cldfb_RealBuffer_Ref_Binaural_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_re, Word32 *Cldfb_ImagBuffer_Ref_Binaural_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_im, -#else - Word32 Cldfb_RealBuffer_Ref_Binaural_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_re, - Word32 Cldfb_ImagBuffer_Ref_Binaural_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_im, -#endif const Word16 low_res, const Word16 ro_md_flag ); @@ -182,10 +138,6 @@ static void isar_calc_mat_inv_2by2_complex_fx( exp_det = add( exp_tmp5, sub( 1, exp_det ) ); det_fx = L_deposit_h( tmp5 ); -#ifdef DEBUGGING - /* assert to catch cases when input is singular matrix */ - assert( GT_32( det_fx, 0 ) ); -#endif exp_re = 0; exp_im = 0; @@ -527,29 +479,15 @@ static void ComputePostPredCov_fx( static void ComputeBandedCrossCov_fx( -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *Cldfb_RealBuffer1_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_re_1, Word32 *Cldfb_ImagBuffer1_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_im_1, -#else - Word32 Cldfb_RealBuffer1_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_re_1, - Word32 Cldfb_ImagBuffer1_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_im_1, -#endif const Word16 ch_start_idx1, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *Cldfb_RealBuffer2_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_re_2, Word32 *Cldfb_ImagBuffer2_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_im_2, -#else - Word32 Cldfb_RealBuffer2_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_re_2, - Word32 Cldfb_ImagBuffer2_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_im_2, -#endif const Word16 ch_start_idx2, Word32 out_cov_re_fx[BINAURAL_CHANNELS][BINAURAL_CHANNELS], Word16 *exp_out_cov_re, @@ -682,17 +620,10 @@ static void ComputeBandedCrossCov_fx( static void ComputeBandedCov_fx( -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *Cldfb_RealBuffer_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_re, Word32 *Cldfb_ImagBuffer_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_im, -#else - Word32 Cldfb_RealBuffer_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_re, - Word32 Cldfb_ImagBuffer_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_im, -#endif const Word16 ch_start_idx, Word32 out_cov_re_fx[][BINAURAL_CHANNELS], Word16 *exp_cov_re, @@ -1709,25 +1640,6 @@ static void isar_SplitRenderer_code_md_base2( } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - { - static int16_t num_bits = 0; - static int16_t cntr = 0; - float fnum_bits; - - cntr++; - - num_bits += pBits->bits_written; - /* collect bits for every second */ - if ( cntr == 50 ) - { - cntr = 0; - fnum_bits = (float) num_bits / 1000.0f; - dbgwrite_txt( &fnum_bits, 1, "split_rend_MD_bitrate.txt", "MD bitrate (kbps)" ); - num_bits = 0; - } - } -#endif return; } @@ -1872,24 +1784,6 @@ static void isar_SplitRenderer_code_md_huff( } } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - { - static int16_t num_bits = 0; - static int16_t cntr = 0; - float fnum_bits; - - cntr++; - num_bits += pBits->bits_written; - /* collect bits for every second */ - IF( cntr == 50 ) - { - cntr = 0; - fnum_bits = (float) num_bits / 1000.0f; - dbgwrite_txt( &fnum_bits, 1, "split_rend_MD_bitrate.txt", "MD bitrate (kbps)" ); - num_bits = 0; - } - } -#endif return; } @@ -2099,82 +1993,6 @@ static void isar_SplitRenderer_quant_code( pBits->bits_written = start_bit; } -#ifdef SPLIT_MD_CODING_DEBUG - for ( sf_idx = 0; sf_idx < num_subframes; sf_idx++ ) - { - int16_t val, quant_strat, ch1, ch2; - char filename[200] = "split_md_debug_indices.bin"; - quant_strat = q; - for ( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) - { - if ( hBinHrSplitPreRend->pose_type[pos_idx] == ANY_YAW ) - { - for ( b = 0; b < pred_real_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - } - for ( b = 0; b < pred_imag_bands_yaw[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - } - for ( b = 0; b < d_bands_yaw[quant_strat]; b++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd_idx; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - else if ( hBinHrSplitPreRend->pose_type[pos_idx] == PITCH_ONLY ) - { - for ( b = 0; b < bands_pitch[quant_strat]; b++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd_idx; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].gd2_idx; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - else - { - for ( b = 0; b < pred_real_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_re_idx[ch1][ch2]; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - } - for ( b = 0; b < pred_imag_bands_roll[quant_strat]; b++ ) - { - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - val = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b].pred_mat_im_idx[ch1][ch2]; - dbgwrite( &val, sizeof( int16_t ), 1, 1, filename ); - } - } - } - } - } - } -#endif return; } @@ -2186,19 +2004,12 @@ static void isar_SplitRenderer_quant_code( * *------------------------------------------------------------------------*/ static void isar_SplitRenderer_GetRotMd_fx( - ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend, /* i/o: binaural renderer handle */ - MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData, /* i/o: pose correction data handle */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP + ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend, /* i/o: binaural renderer handle */ + MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData, /* i/o: pose correction data handle */ Word32 *Cldfb_RealBuffer_Ref_Binaural_fx[][CLDFB_NO_COL_MAX], /* o : Reference Binaural signals */ Word16 exp_cldfb_re, Word32 *Cldfb_ImagBuffer_Ref_Binaural_fx[][CLDFB_NO_COL_MAX], /* o : Reference Binaural signals */ Word16 exp_cldfb_im, -#else - Word32 Cldfb_RealBuffer_Ref_Binaural_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : Reference Binaural signals */ - Word16 exp_cldfb_re, - Word32 Cldfb_ImagBuffer_Ref_Binaural_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : Reference Binaural signals */ - Word16 exp_cldfb_im, -#endif const Word16 low_res, const Word16 ro_md_flag ) { @@ -2297,17 +2108,10 @@ void isar_rend_CldfbSplitPreRendProcess( const ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE hBinHrSplitPreRend, /* i : binaural pre-renderer handle */ const IVAS_QUATERNION headPosition, /* i : head rotation QUATERNION */ MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData, /* i/o: pose correction data handle */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP - Word32 *Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX], /* i : Binaural signals, real part */ + Word32 *Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX], /* i : Binaural signals, real part */ Word16 exp_cldfb_re, Word32 *Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX], Word16 exp_cldfb_im, -#else - Word32 Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_re, - Word32 Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word16 exp_cldfb_im, -#endif ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: ISAR bits handle */ const Word32 target_md_bits, /* i : ISAR MD bitrate */ const Word16 low_res_pre_rend_rot, /* i : low time resolution pre-renderer flag */ @@ -2465,96 +2269,6 @@ void isar_rend_CldfbSplitPreRendProcess( } } #endif -#ifdef SPLIT_POSE_CORRECTION_DEBUG - float tmpCrendBuffer[2][L_FRAME48k], quant_val, step, minv, maxv; - IVAS_QUATERNION QuaternionsPost[MAX_PARAM_SPATIAL_SUBFRAMES], head_pos_euler; - float Cldfb_RealBuffer_Binaural_5ms[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; - float Cldfb_ImagBuffer_Binaural_5ms[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX]; - int16_t sf_idx, pos_idx, b, ch1, ch2; - int32_t read_off, write_off; - for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) - { - QuaternionsPost[sf_idx].w = -3.0f; - QuaternionsPost[sf_idx].x = 0.0f; - QuaternionsPost[sf_idx].y = 0.0f; - QuaternionsPost[sf_idx].z = 0.0f; - } - - hBinHrSplitPreRend->hBinHrSplitPostRend->low_Res = 1; - set_fix_rotation_mat( hBinHrSplitPreRend->hBinHrSplitPostRend->fix_pos_rot_mat, pMultiBinPoseData ); - set_pose_types( hBinHrSplitPreRend->hBinHrSplitPostRend->pose_type, pMultiBinPoseData ); - for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) - { - Quat2EulerDegree( headPosition, &head_pos_euler.z, &head_pos_euler.y, &head_pos_euler.x ); - hBinHrSplitPreRend->hBinHrSplitPostRend->QuaternionsPre[sf_idx].w = -3.0f; - hBinHrSplitPreRend->hBinHrSplitPostRend->QuaternionsPre[sf_idx].x = roundf( head_pos_euler.x ); - hBinHrSplitPreRend->hBinHrSplitPostRend->QuaternionsPre[sf_idx].y = roundf( head_pos_euler.y ); - hBinHrSplitPreRend->hBinHrSplitPostRend->QuaternionsPre[sf_idx].z = roundf( head_pos_euler.z ); - } - for ( sf_idx = 0; sf_idx < 1; sf_idx++ ) - { - for ( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) - { - for ( b = 0; b < MAX_SPLIT_REND_MD_BANDS; b++ ) - { - hBinHrSplitPreRend->hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b] = hBinHrSplitPreRend->rot_md[pos_idx][sf_idx][b]; - BIN_HR_SPLIT_REND_MD_HANDLE hMd; - hMd = &hBinHrSplitPreRend->hBinHrSplitPostRend->rot_md[pos_idx][sf_idx][b]; - minv = -1.4f; - maxv = 1.4f; - step = ( maxv - minv ) / 62.0f; - if ( b >= 20 ) - { - float sign; - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - sign = ( hMd->pred_mat_re[ch1][ch2] >= 0.0f ) ? 1.0f : -1.0f; - IVAS_CALCULATE_ABS( hMd->pred_mat_re[ch1][ch2], hMd->pred_mat_im[ch1][ch2], hMd->pred_mat_re[ch1][ch2] ); - hMd->pred_mat_re[ch1][ch2] *= sign; - hMd->pred_mat_im[ch1][ch2] = 0.0f; - } - } - } - - for ( ch1 = 0; ch1 < BINAURAL_CHANNELS; ch1++ ) - { - for ( ch2 = 0; ch2 < BINAURAL_CHANNELS; ch2++ ) - { - quant_val = hMd->pred_mat_re[ch1][ch2] - hBinHrSplitPreRend->fix_pos_rot_mat[pos_idx][ch1][ch2]; - quant_val = min( maxv, max( quant_val, minv ) ); - quant_val = (int16_t) roundf( quant_val / step ); - hMd->pred_mat_re[ch1][ch2] = quant_val * step; - hMd->pred_mat_re[ch1][ch2] += hBinHrSplitPreRend->fix_pos_rot_mat[pos_idx][ch1][ch2]; - - quant_val = hMd->pred_mat_im[ch1][ch2]; - quant_val = min( maxv, max( quant_val, minv ) ); - quant_val = (int16_t) roundf( quant_val / step ); - hMd->pred_mat_im[ch1][ch2] = quant_val * step; - } - } - } - } - } - - for ( sf_idx = 0; sf_idx < MAX_PARAM_SPATIAL_SUBFRAMES; sf_idx++ ) - { - mvr2r( (float *) Cldfb_In_BinReal[0][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES], (float *) Cldfb_RealBuffer_Binaural_5ms[0], MAX_PARAM_SPATIAL_SUBFRAMES * CLDFB_NO_CHANNELS_MAX ); - mvr2r( (float *) Cldfb_In_BinReal[1][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES], (float *) Cldfb_RealBuffer_Binaural_5ms[1], MAX_PARAM_SPATIAL_SUBFRAMES * CLDFB_NO_CHANNELS_MAX ); - mvr2r( (float *) Cldfb_In_BinImag[0][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES], (float *) Cldfb_ImagBuffer_Binaural_5ms[0], MAX_PARAM_SPATIAL_SUBFRAMES * CLDFB_NO_CHANNELS_MAX ); - mvr2r( (float *) Cldfb_In_BinImag[1][sf_idx * MAX_PARAM_SPATIAL_SUBFRAMES], (float *) Cldfb_ImagBuffer_Binaural_5ms[1], MAX_PARAM_SPATIAL_SUBFRAMES * CLDFB_NO_CHANNELS_MAX ); - isar_rend_CldfbSplitPostRendProcess( hBinHrSplitPreRend->hBinHrSplitPostRend, pMultiBinPoseData, QuaternionsPost[0], Cldfb_RealBuffer_Binaural_5ms, Cldfb_ImagBuffer_Binaural_5ms, tmpCrendBuffer, 1 ); - - { - float *pOut[2]; - char fname[200] = "ref_act_pos.wav"; - pOut[0] = tmpCrendBuffer[0]; - pOut[1] = tmpCrendBuffer[1]; - dbgwrite_wav( pOut, CLDFB_NO_COL_MAX * hBinHrSplitPreRend->hBinHrSplitPostRend->cldfbSyn[0]->no_channels, fname, 48000, 2 ); - } - } -#endif pop_wmops(); return; @@ -2569,18 +2283,9 @@ void isar_rend_CldfbSplitPreRendProcess( ivas_error isar_splitBinPreRendOpen( ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE *hBinHrSplitPreRend, - MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - const int32_t output_Fs -#endif -) + MULTI_BIN_REND_POSE_DATA *pMultiBinPoseData ) { ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE hBinRend; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - ivas_error error; - int16_t ch; -#endif Word16 pos_idx, sf_idx, bandIdx; IF( ( hBinRend = (ISAR_BIN_HR_SPLIT_PRE_REND_HANDLE) malloc( sizeof( ISAR_BIN_HR_SPLIT_PRE_REND ) ) ) == NULL ) @@ -2588,26 +2293,6 @@ ivas_error isar_splitBinPreRendOpen( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for bin split pre renderer Module \n" ) ); } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES + 1; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - hBinRend->cldfbSynRotBinDec[i][ch] = NULL; - } - } - - for ( int16_t i = 0; i < MAX_HEAD_ROT_POSES + 1; i++ ) - { - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - if ( ( error = openCldfb_ivas_fx( &( hBinRend->cldfbSynRotBinDec[i][ch] ), CLDFB_SYNTHESIS, output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } -#endif FOR( pos_idx = 0; pos_idx < pMultiBinPoseData->num_poses - 1; pos_idx++ ) { @@ -2624,13 +2309,6 @@ ivas_error isar_splitBinPreRendOpen( isar_split_rend_init_huff_cfg( &hBinRend->huff_cfg ); -#ifdef SPLIT_POSE_CORRECTION_DEBUG - ivas_error error; - if ( ( error = isar_splitBinPostRendOpen( &hBinRend->hBinHrSplitPostRend, pMultiBinPoseData, 48000 ) ) != IVAS_ERR_OK ) - { - return error; - } -#endif *hBinHrSplitPreRend = hBinRend; @@ -2649,25 +2327,6 @@ void isar_splitBinPreRendClose( { IF( ( *hBinHrSplitPreRend ) != NULL ) { -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - { - Word16 i, n; - FOR( i = 0; i < MAX_HEAD_ROT_POSES + 1; i++ ) - { - FOR( n = 0; n < BINAURAL_CHANNELS; n++ ) - { - IF( ( *hBinHrSplitPreRend )->cldfbSynRotBinDec[i][n] != NULL ) - { - deleteCldfb_fx( &( ( *hBinHrSplitPreRend )->cldfbSynRotBinDec[i][n] ) ); - ( *hBinHrSplitPreRend )->cldfbSynRotBinDec[i][n] = NULL; - } - } - } - } -#endif -#ifdef SPLIT_POSE_CORRECTION_DEBUG - isar_splitBinPostRendClose( &( *hBinHrSplitPreRend )->hBinHrSplitPostRend ); -#endif free( ( *hBinHrSplitPreRend ) ); ( *hBinHrSplitPreRend ) = NULL; @@ -2879,9 +2538,7 @@ ivas_error splitRendLc3plusEncodeAndWrite( pBits->pose_correction = hSplitBin->multiBinPoseData.poseCorrectionMode; pBits->codec_frame_size_ms = (Word16) ( hSplitBin->hLc3plusEnc->config.lc3plus_frame_duration_us / 1000 ); pBits->isar_frame_size_ms = (Word16) ( hSplitBin->hLc3plusEnc->config.isar_frame_duration_us / 1000 ); -#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES pBits->lc3plus_highres = hSplitBin->hLc3plusEnc->config.high_res_mode_enabled; -#endif return IVAS_ERR_OK; } @@ -2920,11 +2577,9 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( UWord8 useLc3plus; Word32 *in_delayed_fx[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS]; Word16 i; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word16 j; Word32 *p_Cldfb_In_BinReal[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX]; Word32 *p_Cldfb_In_BinImag[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX]; -#endif Word32 num_slots; push_wmops( "isar_renderMultiTDBinToSplitBinaural" ); @@ -2934,7 +2589,6 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( useLc3plus = hSplitBin->hLc3plusEnc != NULL; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( i = 0; i < MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS; ++i ) { FOR( j = 0; j < CLDFB_NO_COL_MAX; ++j ) @@ -2943,7 +2597,6 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( p_Cldfb_In_BinImag[i][j] = Cldfb_In_BinImag_fx[i][j]; } } -#endif IF( useLc3plus ) { @@ -2990,22 +2643,6 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( /* CLDFB Analysis*/ FOR( pos_idx = 0; pos_idx < num_poses; pos_idx++ ) { -#ifdef SPLIT_POSE_CORRECTION_DEBUG - { - float *pOut[2]; - char fname[200] = "ref_out_pos"; - char tag[2]; - tag[0] = (char) ( '0' + pos_idx ); - tag[1] = '\0'; - strcat( fname, tag ); - strcat( fname, ".wav" ); - - pOut[0] = in_delayed[2 * pos_idx]; - pOut[1] = in_delayed[2 * pos_idx + 1]; - dbgwrite_wav( pOut, CLDFB_NO_COL_MAX * max_bands, fname, 48000, 2 ); - } - -#endif FOR( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { HANDLE_CLDFB_FILTER_BANK temp_cldfbAna = hSplitBin->hCldfbHandles->cldfbAna[pos_idx * BINAURAL_CHANNELS + ch]; @@ -3040,11 +2677,7 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( // target_md_bits = isar_get_split_rend_md_target_brate( SplitRendBitRate, pcm_out_flag ) * L_FRAME48k / 48000; target_md_bits = W_extract_l( W_mult0_32_32( isar_get_split_rend_md_target_brate( SplitRendBitRate, pcm_out_flag ), L_FRAME48k ) ); tmp_e = 0; -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - tmp_32 = BASOP_Util_Divide3232_Scale_cadence( target_md_bits, 48000, &tmp_e ); -#else tmp_32 = BASOP_Util_Divide3232_Scale_newton( target_md_bits, 48000, &tmp_e ); -#endif target_md_bits = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0 /*scaling to max Q*/ @@ -3052,11 +2685,7 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( move32(); FOR( i = 0; i < num_poses * BINAURAL_CHANNELS; i++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#else - FOR( Word16 j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#endif { scale_factor = s_min( scale_factor, s_min( getScaleFactor32( Cldfb_In_BinReal_fx[i][j], CLDFB_NO_CHANNELS_MAX ), getScaleFactor32( Cldfb_In_BinImag_fx[i][j], CLDFB_NO_CHANNELS_MAX ) ) ); } @@ -3064,11 +2693,7 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( scale_factor = sub( scale_factor, 2 ); FOR( i = 0; i < num_poses * BINAURAL_CHANNELS; i++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#else - FOR( Word16 j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#endif { Scale_sig32( Cldfb_In_BinReal_fx[i][j], CLDFB_NO_CHANNELS_MAX, scale_factor ); Scale_sig32( Cldfb_In_BinImag_fx[i][j], CLDFB_NO_CHANNELS_MAX, scale_factor ); @@ -3081,17 +2706,10 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( hSplitBin->hBinHrSplitPreRend, headPosition, &hSplitBin->multiBinPoseData, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP p_Cldfb_In_BinReal, exp_cldfb_re, p_Cldfb_In_BinImag, exp_cldfb_im, -#else - Cldfb_In_BinReal_fx, - exp_cldfb_re, - Cldfb_In_BinImag_fx, - exp_cldfb_im, -#endif pBits, target_md_bits, low_res_pre_rend_rot, @@ -3108,11 +2726,7 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( // available_bits = ( SplitRendBitRate * hSplitBin->hSplitBinLCLDEnc->iNumBlocks * hSplitBin->hSplitBinLCLDEnc->iNumIterations ) / ( 16 * FRAMES_PER_SEC ); available_bits = W_extract_l( W_mult0_32_32( SplitRendBitRate, L_mult0( hSplitBin->hSplitBinLCLDEnc->iNumBlocks, hSplitBin->hSplitBinLCLDEnc->iNumIterations ) ) ); tmp_e = 0; -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - tmp_32 = BASOP_Util_Divide3232_Scale_cadence( available_bits, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e ); -#else tmp_32 = BASOP_Util_Divide3232_Scale_newton( available_bits, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e ); -#endif available_bits = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0 available_bits = L_sub( available_bits, pBits->bits_written ); pBits->codec_frame_size_ms = codec_frame_size_ms; @@ -3121,13 +2735,8 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( move16(); isar_splitBinLCLDEncProcess( hSplitBin->hSplitBinLCLDEnc, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP p_Cldfb_In_BinReal, p_Cldfb_In_BinImag, -#else - Cldfb_In_BinReal_fx, - Cldfb_In_BinImag_fx, -#endif available_bits, pBits, &q_final ); @@ -3171,11 +2780,7 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( bit_len = W_extract_l( W_mult0_32_32( SplitRendBitRate, L_mult0( hSplitBin->hSplitBinLCLDEnc->iNumBlocks, hSplitBin->hSplitBinLCLDEnc->iNumIterations ) ) ); tmp_e = 0; -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - tmp_32 = BASOP_Util_Divide3232_Scale_cadence( bit_len, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e ); -#else tmp_32 = BASOP_Util_Divide3232_Scale_newton( bit_len, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e ); -#endif bit_len = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0 } ELSE @@ -3186,11 +2791,7 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( // bit_len = hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000; // bit_len = SplitRendBitRate * bit_len / 1000; tmp_e = 0; -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - tmp_32 = BASOP_Util_Divide3232_Scale_cadence( W_extract_l( W_mult0_32_32( SplitRendBitRate, bit_len ) ), 1000, &tmp_e ); -#else tmp_32 = BASOP_Util_Divide3232_Scale_newton( W_extract_l( W_mult0_32_32( SplitRendBitRate, bit_len ) ), 1000, &tmp_e ); -#endif bit_len = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0 } } @@ -3214,14 +2815,9 @@ ivas_error isar_renderMultiTDBinToSplitBinaural( *------------------------------------------------------------------------*/ void lc3plusTimeAlignCldfbPoseCorr( - SPLIT_REND_WRAPPER *hSplitBin, /* i/o: Split renderer pre-renderer handle */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP + SPLIT_REND_WRAPPER *hSplitBin, /* i/o: Split renderer pre-renderer handle */ Word32 *Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX], /* i/o: Binaural signals, real part */ Word32 *Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX], /* i/o: Binaural signals, imag. part */ -#else - Word32 Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: Binaural signals, real part */ - Word32 Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: Binaural signals, imag. part */ -#endif Word16 *Q_in ) { Word32 Cldfb_In_BinReal_tmp_fx[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][2][CLDFB_NO_CHANNELS_MAX]; @@ -3241,11 +2837,7 @@ void lc3plusTimeAlignCldfbPoseCorr( } ELSE { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( Word16 i = 0; i < i_mult( hSplitBin->multiBinPoseData.num_poses, BINAURAL_CHANNELS ); i++ ) -#else - FOR( Word16 i = 0; i < CLDFB_NO_COL_MAX; i++ ) -#endif { for ( Word16 j = 0; j < CLDFB_NO_COL_MAX; j++ ) diff --git a/lib_isar/isar_splitRenderer_utils.c b/lib_isar/isar_splitRenderer_utils.c index 6f72ce6516262d58689f0dcccb78e689db370068..69e1988e2a57d8089039fd31c334c3ee4dc812f6 100644 --- a/lib_isar/isar_splitRenderer_utils.c +++ b/lib_isar/isar_splitRenderer_utils.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -43,9 +15,6 @@ #include "ivas_rom_binauralRenderer.h" #include "lib_isar_post_rend.h" #include "isar_prot.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" #include "basop_settings.h" #include "prot_fx.h" @@ -523,10 +492,6 @@ Word32 ISAR_SPLIT_REND_BITStream_read_int32( { Word32 val, k, bit_val; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - assert( ( pBits->bits_written - pBits->bits_read ) >= bits ); - assert( bits <= 32 ); -#endif /* write bit by bit */ val = 0; @@ -555,13 +520,6 @@ void ISAR_SPLIT_REND_BITStream_write_int32( { Word32 mask, k; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - /*protection check*/ - if ( ( pBits->buf_len << 3 ) < ( pBits->bits_written + bits ) ) - { - assert( 0 ); - } -#endif mask = L_shl( 1, extract_l( L_sub( bits, 1 ) ) ); /* write bit by bit */ @@ -583,52 +541,6 @@ void ISAR_SPLIT_REND_BITStream_write_int32( } -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG -/*------------------------------------------------------------------------- - * isar_log_cldfb2wav_data() - * - * - *------------------------------------------------------------------------*/ - -void isar_log_cldfb2wav_data( - float Cldfb_In_Real[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - float Cldfb_In_Imag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - HANDLE_CLDFB_FILTER_BANK *cldfbSyn, - const int16_t num_chs, - const int16_t num_freq_bands, - const int32_t output_Fs, - const int16_t num_slots, - const int16_t start_slot_idx, - const char *filename ) -{ - float *RealBuffer[CLDFB_NO_COL_MAX]; - float *ImagBuffer[CLDFB_NO_COL_MAX]; - float pcm_out[BINAURAL_CHANNELS][L_FRAME48k]; - float *pPcm[BINAURAL_CHANNELS]; - float Cldfb_local_Real[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - float Cldfb_local_Imag[BINAURAL_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - int16_t sf, ch; - - assert( num_chs <= BINAURAL_CHANNELS ); - for ( ch = 0; ch < num_chs; ch++ ) - { - for ( sf = start_slot_idx; sf < start_slot_idx + num_slots; sf++ ) - { - mvr2r( Cldfb_In_Real[ch][sf], Cldfb_local_Real[ch][sf], num_freq_bands ); - mvr2r( Cldfb_In_Imag[ch][sf], Cldfb_local_Imag[ch][sf], num_freq_bands ); - RealBuffer[sf - start_slot_idx] = Cldfb_local_Real[ch][sf]; - ImagBuffer[sf - start_slot_idx] = Cldfb_local_Imag[ch][sf]; - } - cldfbSynthesis( RealBuffer, ImagBuffer, &( pcm_out[ch][0] ), num_freq_bands * num_slots, cldfbSyn[ch] ); - pPcm[ch] = pcm_out[ch]; - } - dbgwrite_wav( pPcm, num_freq_bands * num_slots, filename, output_Fs, num_chs ); - - return; -} -#endif - - /*------------------------------------------------------------------------- * Function isar_get_split_rend_md_target_brate() * diff --git a/lib_isar/isar_stat.h b/lib_isar/isar_stat.h index 4576e7c1ddac64c7f7ecb40510cc765f6b4c92ec..e4e3aacdc17fbca08a3646a1b65cd1ce63ec7c45 100644 --- a/lib_isar/isar_stat.h +++ b/lib_isar/isar_stat.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef ISAR_STAT_H #define ISAR_STAT_H @@ -69,11 +41,7 @@ typedef struct typedef struct { -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - HANDLE_CLDFB_FILTER_BANK cldfbAna[( 1 + MAX_HEAD_ROT_POSES ) * BINAURAL_CHANNELS]; -#else HANDLE_CLDFB_FILTER_BANK cldfbAna[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS]; -#endif HANDLE_CLDFB_FILTER_BANK cldfbSyn[BINAURAL_CHANNELS]; } CLDFB_HANDLES_WRAPPER, *CLDFB_HANDLES_WRAPPER_HANDLE; @@ -201,21 +169,12 @@ typedef struct isar_binaural_head_rot_split_post_rendering_struct Word32 fix_pos_rot_mat_fx[MAX_HEAD_ROT_POSES - 1][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; /* Q31 */ ISAR_SPLIT_REND_POSE_TYPE pose_type[MAX_HEAD_ROT_POSES - 1]; ISAR_BIN_HR_SPLIT_REND_HUFF huff_cfg; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - Word32 mixer_mat_re_fx[MAX_HEAD_ROT_POSES][MAX_SPLIT_REND_MD_BANDS][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; - Word32 mixer_mat_im_fx[MAX_HEAD_ROT_POSES][MAX_SPLIT_REND_MD_BANDS][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; - Word32 gd_mem_fx[MAX_HEAD_ROT_POSES][MAX_SPLIT_REND_MD_BANDS]; -#else Word32 mixer_mat_re_fx[1][MAX_SPLIT_REND_MD_BANDS][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; Word32 mixer_mat_im_fx[1][MAX_SPLIT_REND_MD_BANDS][BINAURAL_CHANNELS][BINAURAL_CHANNELS]; Word32 gd_mem_fx[1][MAX_SPLIT_REND_MD_BANDS]; -#endif int16_t cf_flag; HANDLE_CLDFB_FILTER_BANK cldfbAna[BINAURAL_CHANNELS]; HANDLE_CLDFB_FILTER_BANK cldfbSyn[BINAURAL_CHANNELS]; -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - HANDLE_CLDFB_FILTER_BANK cldfbSynReconsBinDec[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS]; -#endif } ISAR_BIN_HR_SPLIT_POST_REND, *ISAR_BIN_HR_SPLIT_POST_REND_HANDLE; @@ -256,7 +215,6 @@ typedef struct Word32 lc3plusDelaySamples; } SPLIT_REND_WRAPPER; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP typedef struct { Word32 *real; @@ -267,6 +225,5 @@ typedef struct Word16 is_full; } ISAR_CLDFB_RINGBUF, *ISAR_CLDFB_RINGBUF_HANDLE; -#endif #endif /* ISAR_STAT_H */ diff --git a/lib_isar/lib_isar_post_rend.c b/lib_isar/lib_isar_post_rend.c index 2dcf72622e89ac12d0a4649654e56d8c1a7425d4..9259bfd8b016edf396b25ef7e7574078d18ce71c 100644 --- a/lib_isar/lib_isar_post_rend.c +++ b/lib_isar/lib_isar_post_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include "lib_isar_post_rend.h" @@ -95,9 +67,6 @@ struct ISAR_POST_REND Word32 sampleRateOut; IVAS_LIMITER_HANDLE hLimiter; -#ifdef DEBUGGING - Word32 numClipping; /* Counter of clipped output samples */ -#endif input_split_post_rend inputsSplitPost[RENDERER_MAX_BIN_INPUTS]; @@ -276,7 +245,6 @@ static void accumulate2dArrayToBuffer_fx( * In-place saturation control for multichannel buffers with adaptive release time *-------------------------------------------------------------------*/ -#ifndef DISABLE_LIMITER /*! r: number of clipped output samples */ static Word32 limitRendererOutput_fx( IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle */ @@ -317,7 +285,6 @@ static Word32 limitRendererOutput_fx( return numClipping; } -#endif /*-------------------------------------------------------------------* @@ -636,9 +603,6 @@ ivas_error ISAR_POST_REND_open( hIvasRend->outputConfig = outConfig; hIvasRend->hLimiter = NULL; hIvasRend->num_subframes = 1; -#ifdef DEBUGGING - hIvasRend->numClipping = 0; -#endif hIvasRend->num_subframes = num_subframes; /* Initialize limiter */ @@ -1386,11 +1350,7 @@ static ivas_error renderSplitBinauralWithPostRot( { IF( !SplitRendBFI ) { -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - isar_splitBinPostRendMdDec_fx( &bits, hSplitBin->hBinHrSplitPostRend, &hSplitBin->multiBinPoseData, hSplitBin->hBinHrSplitPreRend ); -#else isar_splitBinPostRendMdDec_fx( &bits, hSplitBin->hBinHrSplitPostRend, &hSplitBin->multiBinPoseData ); -#endif } } @@ -1740,14 +1700,9 @@ ivas_error ISAR_POST_REND_getSamples( return error; } -#ifndef DISABLE_LIMITER Word32 limiter_threshold; -#ifdef DEBUGGING - hIvasRend->numClipping += -#endif - limiter_threshold = L_shl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); + limiter_threshold = L_shl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); -#endif return IVAS_ERR_OK; } @@ -1839,28 +1794,3 @@ ivas_error ISAR_REND_SetSplitRendBitstreamHeader( return IVAS_ERR_OK; } - -#ifdef DEBUGGING -/*-------------------------------------------------------------------* - * ISAR_POST_REND_GetNoCLipping() - * - * - *-------------------------------------------------------------------*/ - -int32_t ISAR_POST_REND_GetNoCLipping( - ISAR_POST_REND_HANDLE hIvasRend ) -{ - return hIvasRend->numClipping; -} - -int32_t ISAR_POST_REND_GetCntFramesLimited( - ISAR_POST_REND_CONST_HANDLE hIvasRend ) -{ - if ( hIvasRend->hLimiter == NULL ) - { - return 0; - } - - return hIvasRend->hLimiter->cnt_frames_limited; -} -#endif diff --git a/lib_isar/lib_isar_post_rend.h b/lib_isar/lib_isar_post_rend.h index ba22fba6ab50ed2a8ae65a56477921c1e56f2f4e..504fb66164f650476125385057b7f07c1a15ea05 100644 --- a/lib_isar/lib_isar_post_rend.h +++ b/lib_isar/lib_isar_post_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef LIB_ISAR_POST_REND_H #define LIB_ISAR_POST_REND_H @@ -200,15 +172,6 @@ ivas_error ISAR_REND_SetSplitRendBitstreamHeader( const Word16 lc3plus_highres /* i : LC3plus Hig-Res setting. Ignored if codec is not LC3plus */ ); -#ifdef DEBUGGING -int32_t ISAR_POST_REND_GetNoCLipping( - ISAR_POST_REND_HANDLE hIvasRend /* i : Renderer handle */ -); - -int32_t ISAR_POST_REND_GetCntFramesLimited( - ISAR_POST_REND_CONST_HANDLE hIvasRend /* i : Renderer handle */ -); -#endif /* clang-format on */ diff --git a/lib_isar/lib_isar_pre_rend.c b/lib_isar/lib_isar_pre_rend.c index 11bb0f808ea2390979d88800246db7e3034eb1e2..f1943eaa7a4c26039c1477ee69f5c9bf74602894 100644 --- a/lib_isar/lib_isar_pre_rend.c +++ b/lib_isar/lib_isar_pre_rend.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,9 +11,6 @@ #include "isar_rom_post_rend.h" #include "lib_isar_pre_rend.h" #include "isar_prot.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" @@ -136,12 +105,7 @@ ivas_error ISAR_PRE_REND_open( IF( EQ_16( pSplitRendConfig->poseCorrectionMode, ISAR_SPLIT_REND_POSE_CORRECTION_MODE_CLDFB ) ) { - if ( ( error = isar_splitBinPreRendOpen( &hSplitRendWrapper->hBinHrSplitPreRend, &hSplitRendWrapper->multiBinPoseData -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - , - OutSampleRate -#endif - ) ) != IVAS_ERR_OK ) + if ( ( error = isar_splitBinPreRendOpen( &hSplitRendWrapper->hBinHrSplitPreRend, &hSplitRendWrapper->multiBinPoseData ) ) != IVAS_ERR_OK ) { return error; } @@ -284,19 +248,14 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( const Word16 isar_frame_size_ms, /* i : ISAR framesize */ Word16 codec_frame_size_ms, /* i/o: ISAR transport codec framesize */ ISAR_SPLIT_REND_BITS_HANDLE pBits, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX], /* i/o: CLDFB real buffer */ Word32 *Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX], /* i/o: CLDFB imag buffer */ -#else - Word32 Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], - Word32 Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], -#endif - const Word16 max_bands, /* i : CLDFB bands */ - Word32 *pOutput_fx[], /* i/o: PCM in/out buffer */ - const Word16 low_res_pre_rend_rot, /* i : low time resolution pre-renderer flag */ - const Word16 cldfb_in_flag, /* i : Flag to indicate CLDFB or time domain input */ - const Word16 pcm_out_flag, /* i : Flag to indicate PCM output */ - const Word16 ro_md_flag, /* i : Flag to indicate real only metadata for yaw */ + const Word16 max_bands, /* i : CLDFB bands */ + Word32 *pOutput_fx[], /* i/o: PCM in/out buffer */ + const Word16 low_res_pre_rend_rot, /* i : low time resolution pre-renderer flag */ + const Word16 cldfb_in_flag, /* i : Flag to indicate CLDFB or time domain input */ + const Word16 pcm_out_flag, /* i : Flag to indicate PCM output */ + const Word16 ro_md_flag, /* i : Flag to indicate real only metadata for yaw */ Word16 Q_buff, Word16 *Q_out ) { @@ -380,22 +339,14 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( // available_bits = ( SplitRendBitRate * hSplitBin->hSplitBinLCLDEnc->iNumBlocks * hSplitBin->hSplitBinLCLDEnc->iNumIterations ) / ( 16 * FRAMES_PER_SEC ); available_bits = W_extract_l( W_mult0_32_32( SplitRendBitRate, L_mult0( hSplitBin->hSplitBinLCLDEnc->iNumBlocks, hSplitBin->hSplitBinLCLDEnc->iNumIterations ) ) ); tmp_e = 0; -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - tmp_32 = BASOP_Util_Divide3232_Scale_cadence( available_bits, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e ); -#else tmp_32 = BASOP_Util_Divide3232_Scale_newton( available_bits, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e ); -#endif available_bits = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0 available_bits = L_sub( available_bits, pBits->bits_written ); pBits->codec_frame_size_ms = codec_frame_size_ms; q_final = sub( s_min( Q_buff_re, Q_buff_im ), 2 ); FOR( i = 0; i < hSplitBin->hSplitBinLCLDEnc->iChannels; i++ ) { -#ifdef FIX_2226_ISAR_PRE_CRASH_CLDFB_NO_CHANNELS FOR( j = 0; j < hSplitBin->hSplitBinLCLDEnc->iNumBlocks; j++ ) -#else - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#endif { Scale_sig32( Cldfb_In_BinReal_fx[i][j], CLDFB_NO_CHANNELS_MAX, sub( q_final, Q_buff_re ) ); Scale_sig32( Cldfb_In_BinImag_fx[i][j], CLDFB_NO_CHANNELS_MAX, sub( q_final, Q_buff_im ) ); @@ -427,11 +378,7 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( move16(); FOR( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( j = 0; j < num_slots; j++ ) -#else - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#endif { q1 = s_min( getScaleFactor32( Cldfb_In_BinReal_fx[ch][j], CLDFB_NO_CHANNELS_MAX ), q1 ); q2 = s_min( getScaleFactor32( Cldfb_In_BinImag_fx[ch][j], CLDFB_NO_CHANNELS_MAX ), q2 ); @@ -445,11 +392,7 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( FOR( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( j = 0; j < num_slots; j++ ) -#else - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#endif { Scale_sig32( Cldfb_In_BinReal_fx[ch][j], CLDFB_NO_CHANNELS_MAX, sub( q_final, Q_buff_re ) ); Scale_sig32( Cldfb_In_BinImag_fx[ch][j], CLDFB_NO_CHANNELS_MAX, sub( q_final, Q_buff_im ) ); @@ -512,11 +455,7 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( move16(); q2 = 31; move16(); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( j = 0; j < num_slots; j++ ) -#else - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#endif { q1 = s_min( getScaleFactor32( Cldfb_In_BinReal_fx[ch][j], CLDFB_NO_CHANNELS_MAX ), q1 ); q2 = s_min( getScaleFactor32( Cldfb_In_BinImag_fx[ch][j], CLDFB_NO_CHANNELS_MAX ), q2 ); @@ -525,11 +464,7 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( q_final = s_min( add( Q_buff_re, q_final ), add( Q_buff_im, q_final ) ); q_final = sub( q_final, 6 ); // guard bits q_final = s_min( q_final, Q25 ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( j = 0; j < num_slots; j++ ) -#else - FOR( j = 0; j < CLDFB_NO_COL_MAX; j++ ) -#endif { Scale_sig32( Cldfb_In_BinReal_fx[ch][j], CLDFB_NO_CHANNELS_MAX, sub( q_final, Q_buff_re ) ); Scale_sig32( Cldfb_In_BinImag_fx[ch][j], CLDFB_NO_CHANNELS_MAX, sub( q_final, Q_buff_im ) ); @@ -573,11 +508,7 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( bit_len = W_extract_l( W_mult0_32_32( SplitRendBitRate, L_mult0( hSplitBin->hSplitBinLCLDEnc->iNumBlocks, hSplitBin->hSplitBinLCLDEnc->iNumIterations ) ) ); tmp_e = 0; -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - tmp_32 = BASOP_Util_Divide3232_Scale_cadence( bit_len, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e ); -#else tmp_32 = BASOP_Util_Divide3232_Scale_newton( bit_len, L_mult0( 16, FRAMES_PER_SEC ), &tmp_e ); -#endif bit_len = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0 } ELSE @@ -588,11 +519,7 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( // bit_len = hSplitBin->hLc3plusEnc->config.ivas_frame_duration_us / 1000; // bit_len = SplitRendBitRate * bit_len / 1000; tmp_e = 0; -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - tmp_32 = BASOP_Util_Divide3232_Scale_cadence( W_extract_l( W_mult0_32_32( SplitRendBitRate, bit_len ) ), 1000, &tmp_e ); -#else tmp_32 = BASOP_Util_Divide3232_Scale_newton( W_extract_l( W_mult0_32_32( SplitRendBitRate, bit_len ) ), 1000, &tmp_e ); -#endif bit_len = L_shr( tmp_32, sub( 31, tmp_e ) ); // Q0 } } diff --git a/lib_isar/lib_isar_pre_rend.h b/lib_isar/lib_isar_pre_rend.h index 9ee1aae8696f2c27b3b2960c575d2c1f82b1a7d8..e587a0381d91d65e35151f548323d53dff3c46a1 100644 --- a/lib_isar/lib_isar_pre_rend.h +++ b/lib_isar/lib_isar_pre_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef LIB_ISAR_PRE_REND_H #define LIB_ISAR_PRE_REND_H @@ -70,13 +42,8 @@ ivas_error ISAR_PRE_REND_MultiBinToSplitBinaural( const Word16 isar_frame_size_ms, /* i : ISAR framesize */ Word16 codec_frame_size_ms, /* i/o: Split renderer codec framesize */ ISAR_SPLIT_REND_BITS_HANDLE pBits, /* i/o: Split renderer bitstream handle */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32* Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX], /* i/o: CLDFB real buffer */ Word32* Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX], /* i/o: CLDFB imag buffer */ -#else - Word32 Cldfb_In_BinReal_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: CLDFB real buffer */ - Word32 Cldfb_In_BinImag_fx[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: CLDFB imag buffer */ -#endif const Word16 max_bands, /* i : CLDFB bands */ Word32 *pOutput_fx[], /* i : low time resolution pre-renderer flag */ const Word16 low_res_pre_rend_rot, /* i : low time resolution pre-renderer flag */ diff --git a/lib_lc3plus/adjust_global_gain_fx.c b/lib_lc3plus/adjust_global_gain_fx.c index 5edf9b9fcef1321ba40195a0057f62df6d74e90d..3ab61780bb38362f3c790aad9fdec55353293554 100644 --- a/lib_lc3plus/adjust_global_gain_fx.c +++ b/lib_lc3plus/adjust_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/al_fec.c b/lib_lc3plus/al_fec.c index f8f1ee3b8b0298fc411317b505a989cdbd42d233..470cdd39010508cc49a15f7217484017933038d1 100644 --- a/lib_lc3plus/al_fec.c +++ b/lib_lc3plus/al_fec.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/apply_global_gain_fx.c b/lib_lc3plus/apply_global_gain_fx.c index 7fa960267e3aad7c91ae1a54cf41aa26c71699c8..90572b47dc537ae16e2a06fa61d38272271fd1ec 100644 --- a/lib_lc3plus/apply_global_gain_fx.c +++ b/lib_lc3plus/apply_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/ari_codec.c b/lib_lc3plus/ari_codec.c index 05055122d317af6529c1887ba63406aa5eab2a93..124c8a68735f54161f9bf2994768377852a7374d 100644 --- a/lib_lc3plus/ari_codec.c +++ b/lib_lc3plus/ari_codec.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/attack_detector_fx.c b/lib_lc3plus/attack_detector_fx.c index dd2541fd6a21e803db4c4d7f33897e046e7ead8d..68e6ce70c1f57d8e53001aba936e354028e9af7e 100644 --- a/lib_lc3plus/attack_detector_fx.c +++ b/lib_lc3plus/attack_detector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/basop_mpy_lc3plus.c b/lib_lc3plus/basop_mpy_lc3plus.c index b570b9358cba58b7cd607b3480760a273a21656e..60ba4642843cb4c6ec2c528dfd5b254cd0ee1db4 100644 --- a/lib_lc3plus/basop_mpy_lc3plus.c +++ b/lib_lc3plus/basop_mpy_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/basop_mpy_lc3plus.h b/lib_lc3plus/basop_mpy_lc3plus.h index 7d45f6fff1937d3a93d6aca04753703b2c78761a..74bcc2bfbbec2cc2dec681087c380582c6b95453 100644 --- a/lib_lc3plus/basop_mpy_lc3plus.h +++ b/lib_lc3plus/basop_mpy_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/basop_util_lc3plus.c b/lib_lc3plus/basop_util_lc3plus.c index 348e11b248e564aae485cf8165aa6c1c1c272a91..4967aa1b22875bceb0e3d918977174caec085d24 100644 --- a/lib_lc3plus/basop_util_lc3plus.c +++ b/lib_lc3plus/basop_util_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/basop_util_lc3plus.h b/lib_lc3plus/basop_util_lc3plus.h index c8eb0b25f9ffe03f07f59f06e52a81b6588c7a87..4efdd168975ac95b557e8240bec7f70fdda55d35 100644 --- a/lib_lc3plus/basop_util_lc3plus.h +++ b/lib_lc3plus/basop_util_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/com_entropy.c b/lib_lc3plus/com_entropy.c index 6d8cb89b9bf862d7dee2f73fb425e9aa582c604a..b0c3bb7f6c5c531e1d6eb540c550a77054e93c63 100644 --- a/lib_lc3plus/com_entropy.c +++ b/lib_lc3plus/com_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/constants.c b/lib_lc3plus/constants.c index c8aa477efb4b202ba4568c80f9705c0b9d6124ab..7b73ec450c0dcefcfe1eb8122eb3c9d164172fe2 100644 --- a/lib_lc3plus/constants.c +++ b/lib_lc3plus/constants.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/constants.h b/lib_lc3plus/constants.h index 2ecc1ad24e408e535d29716caacfdb84c6079174..4d39bfcc5639ac24972321f94f5ff5cc6e53925e 100644 --- a/lib_lc3plus/constants.h +++ b/lib_lc3plus/constants.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/cutoff_bandwidth.c b/lib_lc3plus/cutoff_bandwidth.c index 5225cd0e864407699d5cee28e70717e129d1d607..cd050e20b876087622e7628b31ff0a2932ba125a 100644 --- a/lib_lc3plus/cutoff_bandwidth.c +++ b/lib_lc3plus/cutoff_bandwidth.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dct2_fx.c b/lib_lc3plus/dct2_fx.c index 63d5132198a15684d36a1e712dcc9a0f53eb874d..751fbc6e0bb0a1a5eb69459a23092d72b70cf199 100644 --- a/lib_lc3plus/dct2_fx.c +++ b/lib_lc3plus/dct2_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dct4_fx.c b/lib_lc3plus/dct4_fx.c index e5f1ed189c6f0483d2fc245c5719287d33b38a77..5cfbf148047d334ef0edb30a1187820cf5e1de68 100644 --- a/lib_lc3plus/dct4_fx.c +++ b/lib_lc3plus/dct4_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dec_entropy.c b/lib_lc3plus/dec_entropy.c index 20582f47ba9b7ac01c5d7b379c34b8084906ac51..9f638c95882f7e17901e3697a3e9c0a03e6deca5 100644 --- a/lib_lc3plus/dec_entropy.c +++ b/lib_lc3plus/dec_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dec_lc3plus.c b/lib_lc3plus/dec_lc3plus.c index ba9a2b39a8633f9ea41f5469defb789289611be3..b989e3dd9745db29589548974798282590edf712 100644 --- a/lib_lc3plus/dec_lc3plus.c +++ b/lib_lc3plus/dec_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/defines.h b/lib_lc3plus/defines.h index 74652147158ddb7ff4dec13dceb33c171e8be032..1f1ab5773d43fca9e51e49216a66ccb0fb9d2cb6 100644 --- a/lib_lc3plus/defines.h +++ b/lib_lc3plus/defines.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/detect_cutoff_warped_fx.c b/lib_lc3plus/detect_cutoff_warped_fx.c index e57723f7b66869f63cf50a078a5e5faf8161c745..5f55539d015a10eec0df58f44644b08263364f49 100644 --- a/lib_lc3plus/detect_cutoff_warped_fx.c +++ b/lib_lc3plus/detect_cutoff_warped_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dynmem.c b/lib_lc3plus/dynmem.c index 9cdac738d57c9698cca7f08feff5b68328445800..476fec89bca38dc7688fcb9a27ae77577dc5dec9 100644 --- a/lib_lc3plus/dynmem.c +++ b/lib_lc3plus/dynmem.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.5.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/dynmem.h b/lib_lc3plus/dynmem.h index b92fcd2a7fbc31e2f8013b123fb8426ac549b0f1..e80032b97466c2a4d1369db619004a40f5e8308c 100644 --- a/lib_lc3plus/dynmem.h +++ b/lib_lc3plus/dynmem.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.5.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/enc_entropy.c b/lib_lc3plus/enc_entropy.c index 4afac13a486f8cf3a9bdb5e9300a9d38e4b26bc1..3c11cf24f14e89f5a5c0d5600a7ea96d3333d141 100644 --- a/lib_lc3plus/enc_entropy.c +++ b/lib_lc3plus/enc_entropy.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/enc_lc3plus.c b/lib_lc3plus/enc_lc3plus.c index 0c34a8d484e69faee8a6d0ec0755c79f473cc000..33bacfcb113100c202cd78a9bb176506d9296070 100644 --- a/lib_lc3plus/enc_lc3plus.c +++ b/lib_lc3plus/enc_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/estimate_global_gain_fx.c b/lib_lc3plus/estimate_global_gain_fx.c index 21b0d7d161992d1bd322bd1c7eb3b179e37308cf..31de6d321d63e67578384a06a7c1cdb6518fb553 100644 --- a/lib_lc3plus/estimate_global_gain_fx.c +++ b/lib_lc3plus/estimate_global_gain_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/fft_lc3plus.c b/lib_lc3plus/fft_lc3plus.c index 1f727bcd4563b7cf8cdbef1c8b9b99e00ee945c7..b8c8a737aea90450afab864d56ab7c7a7f61b877 100644 --- a/lib_lc3plus/fft_lc3plus.c +++ b/lib_lc3plus/fft_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/functions.h b/lib_lc3plus/functions.h index 38b32769d0954d613be18a6149aac4a4f8b49e89..0264ef1f59772938356d2489fb5864bb122b54fd 100644 --- a/lib_lc3plus/functions.h +++ b/lib_lc3plus/functions.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/imdct_fx.c b/lib_lc3plus/imdct_fx.c index 70e76c8c57892423f234323aadaf05bd457436fa..73a9d5d8ac0eaf507319e09ea7956fb9be0eaf9b 100644 --- a/lib_lc3plus/imdct_fx.c +++ b/lib_lc3plus/imdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/lc3plus.c b/lib_lc3plus/lc3plus.c index aed8e029b16df958a5318d766c819ba090fbaacd..acb931f26e0d721d93c41b7477eeacb87667717a 100644 --- a/lib_lc3plus/lc3plus.c +++ b/lib_lc3plus/lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/lc3plus.h b/lib_lc3plus/lc3plus.h index 2ac69c9a9b7fb0ff0f4b582226b8caadb2889178..c965151f1623503a0868251fd6f0e3a9231dc0a6 100644 --- a/lib_lc3plus/lc3plus.h +++ b/lib_lc3plus/lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/levinson_fx.c b/lib_lc3plus/levinson_fx.c index 3cb547439c3512e685f9bb491f76aa81064babc6..33125c8df4ea92e4a738825d77a7a92d22d4f745 100644 --- a/lib_lc3plus/levinson_fx.c +++ b/lib_lc3plus/levinson_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/license.h b/lib_lc3plus/license.h index a692e0ed4d0d1ca4e566cc050add85b776e51e9f..c5d474e645a27c4034a23421ff632f44f0f64ad8 100644 --- a/lib_lc3plus/license.h +++ b/lib_lc3plus/license.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/ltpf_coder_fx.c b/lib_lc3plus/ltpf_coder_fx.c index bf2ea18ab3f1c2773df4970619487c41834b1db8..582484b2fe8de9070aa502492e7440349806c7fc 100644 --- a/lib_lc3plus/ltpf_coder_fx.c +++ b/lib_lc3plus/ltpf_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/ltpf_decoder_fx.c b/lib_lc3plus/ltpf_decoder_fx.c index 084b7738bbae866cd9d4c9331c4cc215ba1ea733..92c6dabd1c107f266fdfbcf48f4eea5aaed3acec 100644 --- a/lib_lc3plus/ltpf_decoder_fx.c +++ b/lib_lc3plus/ltpf_decoder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/mdct_fx.c b/lib_lc3plus/mdct_fx.c index b2cde56ab91d3b13fe748c3a985ef8ce57c59493..18f664e894ea213dd52da2a39d70336e865cd883 100644 --- a/lib_lc3plus/mdct_fx.c +++ b/lib_lc3plus/mdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/mdct_shaping_fx.c b/lib_lc3plus/mdct_shaping_fx.c index 90e29aa362b5f24fcfd06a8e6e47325b2ccac136..8a47ad8cb2f684d34311c61c61d5dcbce48864aa 100644 --- a/lib_lc3plus/mdct_shaping_fx.c +++ b/lib_lc3plus/mdct_shaping_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/near_nyquist_detector_fx.c b/lib_lc3plus/near_nyquist_detector_fx.c index 5e83af0b138eb2925b2615c0f8d17103be8928c3..bca95956f5ae62b189da91802cc65e3944a5ffe9 100644 --- a/lib_lc3plus/near_nyquist_detector_fx.c +++ b/lib_lc3plus/near_nyquist_detector_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/noise_factor_fx.c b/lib_lc3plus/noise_factor_fx.c index c73eef56e9e18a06d16387b94a5caa1c9d7505a9..b8e874a6ce9b7b249f274b679e910e578ddc45ae 100644 --- a/lib_lc3plus/noise_factor_fx.c +++ b/lib_lc3plus/noise_factor_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/noise_filling_fx.c b/lib_lc3plus/noise_filling_fx.c index 0be080f6fe133d90f053a5e946d49e2454c8198a..f3e697ed7c27d4533ada7a58099705ce90131da1 100644 --- a/lib_lc3plus/noise_filling_fx.c +++ b/lib_lc3plus/noise_filling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/olpa_fx.c b/lib_lc3plus/olpa_fx.c index 8131826090afbef3151ac3fbcd3e2b2d622983d3..38569c2676d05e694296d16f9743eb5775608da7 100644 --- a/lib_lc3plus/olpa_fx.c +++ b/lib_lc3plus/olpa_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pc_apply_fx.c b/lib_lc3plus/pc_apply_fx.c index c34c83e14b72cfed33ae56c4ba3a3fa52ca915c9..c9d0a582f145d582ee83df32f5f7ca27e15b2620 100644 --- a/lib_lc3plus/pc_apply_fx.c +++ b/lib_lc3plus/pc_apply_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pc_classify_fx.c b/lib_lc3plus/pc_classify_fx.c index a9736b9b98c1210ac01da4de23636e532707d904..ec2275f0d26737d10a34d5fcb333fe44b42224fa 100644 --- a/lib_lc3plus/pc_classify_fx.c +++ b/lib_lc3plus/pc_classify_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pc_main_fx.c b/lib_lc3plus/pc_main_fx.c index 3e159b301098d47ccd7f4dfd6a24128ad42f3e62..e1e1129e0fdba3bf98ee11029fefa6ddce579bd4 100644 --- a/lib_lc3plus/pc_main_fx.c +++ b/lib_lc3plus/pc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pc_update_fx.c b/lib_lc3plus/pc_update_fx.c index 6823a320f8d1dc41df478b0092ede865645482a5..6b21e73b6f53465081b76a7adfbe30fc22876960 100644 --- a/lib_lc3plus/pc_update_fx.c +++ b/lib_lc3plus/pc_update_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/per_band_energy_fx.c b/lib_lc3plus/per_band_energy_fx.c index 86c848c01b79830bdd0cff2610e11b9f88dd2141..c100152c927e2dcbd4e7895a727d9fa80cbe5cbb 100644 --- a/lib_lc3plus/per_band_energy_fx.c +++ b/lib_lc3plus/per_band_energy_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_apply_fx.c b/lib_lc3plus/plc_apply_fx.c index ca07b5d8169534530e7f089913029e12dc7efa22..2c1f395fb46b9b2ca534bbdf17575bd826f92436 100644 --- a/lib_lc3plus/plc_apply_fx.c +++ b/lib_lc3plus/plc_apply_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_classify_fx.c b/lib_lc3plus/plc_classify_fx.c index 6779ca92550d8c3744dedcff5a2f8d194e85df66..a137a0a6798d6d43c4f388464739e987d9f9c4f6 100644 --- a/lib_lc3plus/plc_classify_fx.c +++ b/lib_lc3plus/plc_classify_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_damping_scrambling_fx.c b/lib_lc3plus/plc_damping_scrambling_fx.c index 89c079202aa7a98a65e26550a12444dfd5f798d2..265a9804a1eed4469472a3e9dbd17aa2bbf24935 100644 --- a/lib_lc3plus/plc_damping_scrambling_fx.c +++ b/lib_lc3plus/plc_damping_scrambling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_lpc_scaling_fx.c b/lib_lc3plus/plc_lpc_scaling_fx.c index 945f583a16c087a99733eae1796482146626aed2..2978255f7a98f73000d615b98273464be5d7ea62 100644 --- a/lib_lc3plus/plc_lpc_scaling_fx.c +++ b/lib_lc3plus/plc_lpc_scaling_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_main_fx.c b/lib_lc3plus/plc_main_fx.c index 9f12d15a02a189b0df30f7e7535e165064060279..efdbe70d6c0ebe828971080ddf716f5f2219ab89 100644 --- a/lib_lc3plus/plc_main_fx.c +++ b/lib_lc3plus/plc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_noise_substitution_fx.c b/lib_lc3plus/plc_noise_substitution_fx.c index 5bf71258a425a2cf3bd191c8d5edbad3a107ce52..51a5590789742dad858a25cd228ab8d99152ebc0 100644 --- a/lib_lc3plus/plc_noise_substitution_fx.c +++ b/lib_lc3plus/plc_noise_substitution_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_f0_refine_first_fx.c b/lib_lc3plus/plc_phecu_f0_refine_first_fx.c index 4c4f26b00979c89bbed061ede33185ca006232ba..62152e6085442d42bc305b9858ebdc06098a67eb 100644 --- a/lib_lc3plus/plc_phecu_f0_refine_first_fx.c +++ b/lib_lc3plus/plc_phecu_f0_refine_first_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_fec_hq_fx.c b/lib_lc3plus/plc_phecu_fec_hq_fx.c index 0d94b37183934c0f92c73a712bd8b27c8feafd2a..c72589d869b4d214f380d33d6609f00b80996a84 100644 --- a/lib_lc3plus/plc_phecu_fec_hq_fx.c +++ b/lib_lc3plus/plc_phecu_fec_hq_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c b/lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c index cdd082c317ca2d0dc3135b2a576d4f7a5febdac7..830291cdad713122bee633b7a715aa2b7639e46e 100644 --- a/lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c +++ b/lib_lc3plus/plc_phecu_lf_peak_analysis_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_peak_locator_fx.c b/lib_lc3plus/plc_phecu_peak_locator_fx.c index e1342a486fdeaccc12ccf543a7dc7a245b5951ba..40950824d2ad2cb6b86cde0f265f9f725061ec14 100644 --- a/lib_lc3plus/plc_phecu_peak_locator_fx.c +++ b/lib_lc3plus/plc_phecu_peak_locator_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_setf0hz_fx.c b/lib_lc3plus/plc_phecu_setf0hz_fx.c index b21488af47bbeaee83b60ba1651b525e2a110151..6190b30eb265e2167f22eb252a3d472903329307 100644 --- a/lib_lc3plus/plc_phecu_setf0hz_fx.c +++ b/lib_lc3plus/plc_phecu_setf0hz_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_phecu_tools_fx.c b/lib_lc3plus/plc_phecu_tools_fx.c index c9eb49e022da486a67737346615e097258abba34..727e5c7e4d92cb48557bfd5b7f088c10098fd9d4 100644 --- a/lib_lc3plus/plc_phecu_tools_fx.c +++ b/lib_lc3plus/plc_phecu_tools_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdac_fx.c b/lib_lc3plus/plc_tdac_fx.c index 43b85be6d38c45624c672d6aa913e087e3eed238..5fbcdfbde3108fbe67ff939ce93557bdfd2b60a1 100644 --- a/lib_lc3plus/plc_tdac_fx.c +++ b/lib_lc3plus/plc_tdac_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdc_inverse_odft_fx.c b/lib_lc3plus/plc_tdc_inverse_odft_fx.c index 3eb4cdc6a62dde241f12decb9125dd8ef7739520..6da09ba125228e29ba1da9d8915881e78b16685a 100644 --- a/lib_lc3plus/plc_tdc_inverse_odft_fx.c +++ b/lib_lc3plus/plc_tdc_inverse_odft_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdc_lagwin_fx.c b/lib_lc3plus/plc_tdc_lagwin_fx.c index 2de348eb2fa876f1ca6b79f5460db7b3dfd2add3..dd588ec6a0502d483621c85657c8c59b14065145 100644 --- a/lib_lc3plus/plc_tdc_lagwin_fx.c +++ b/lib_lc3plus/plc_tdc_lagwin_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdc_main_fx.c b/lib_lc3plus/plc_tdc_main_fx.c index 56e62f21bc5ea71fac22c08b5ed78fa89fd2c9d5..c3dc260a427bb4d4670437f6d30278d3ca680494 100644 --- a/lib_lc3plus/plc_tdc_main_fx.c +++ b/lib_lc3plus/plc_tdc_main_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_tdc_pre_emphasis_fx.c b/lib_lc3plus/plc_tdc_pre_emphasis_fx.c index 401bb061b091588b11795d63df8bff33b7c6b03a..ac3a564eeff7a36aaa61c32f8da66e45b9a45a1c 100644 --- a/lib_lc3plus/plc_tdc_pre_emphasis_fx.c +++ b/lib_lc3plus/plc_tdc_pre_emphasis_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_update_aft_imdct_fx.c b/lib_lc3plus/plc_update_aft_imdct_fx.c index 18685f5b411bc8a0bce9d453a9c3b3c7736e7d9d..0f2f181a95e2b75c13d8d4fe5df77164dc06ed75 100644 --- a/lib_lc3plus/plc_update_aft_imdct_fx.c +++ b/lib_lc3plus/plc_update_aft_imdct_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_update_fx.c b/lib_lc3plus/plc_update_fx.c index 9cb2b02e4fc6d9056bcd57f9274f71f3d2ac01d9..e103c02a4003983bfa63664b2bae6e516688fca7 100644 --- a/lib_lc3plus/plc_update_fx.c +++ b/lib_lc3plus/plc_update_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/plc_xcorr_fx.c b/lib_lc3plus/plc_xcorr_fx.c index 0c3dbb0cfbb0dda48f7e8807699e7522426a69d8..eeec731d2212c13022354b6d87ac2b0c51e87c34 100644 --- a/lib_lc3plus/plc_xcorr_fx.c +++ b/lib_lc3plus/plc_xcorr_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pvq_dec_fx.c b/lib_lc3plus/pvq_dec_fx.c index 25ec3e5393b7798454fcd26b5d30afc404c3cd91..3cba6087714d54909c38ec051d6666176685d0ad 100644 --- a/lib_lc3plus/pvq_dec_fx.c +++ b/lib_lc3plus/pvq_dec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pvq_enc_fx.c b/lib_lc3plus/pvq_enc_fx.c index 9933419bb0f57c5b069dd84d537a4e7d1a5131f9..a5037e0db862fde54c198d4dd9995a64b491c550 100644 --- a/lib_lc3plus/pvq_enc_fx.c +++ b/lib_lc3plus/pvq_enc_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/pvq_index_fx.c b/lib_lc3plus/pvq_index_fx.c index 5d216df5ef4fc87d863d15f3f1ea84892007d625..52c9162917a7897608dd497694f7f56cae8e01f3 100644 --- a/lib_lc3plus/pvq_index_fx.c +++ b/lib_lc3plus/pvq_index_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/quantize_spec_fx.c b/lib_lc3plus/quantize_spec_fx.c index 147000186f269b769767a0d4d3978056b7bf3894..0c10495ad224ca4b9e48b82ecaef8e330a3c5862 100644 --- a/lib_lc3plus/quantize_spec_fx.c +++ b/lib_lc3plus/quantize_spec_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/reorder_bitstream_fx.c b/lib_lc3plus/reorder_bitstream_fx.c index 657abffc14f8db491c5fc869507bec1609fcaf1d..d3bbefd4c1ea271c1c525cbc442ed9e0e9f535a5 100644 --- a/lib_lc3plus/reorder_bitstream_fx.c +++ b/lib_lc3plus/reorder_bitstream_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/resamp12k8_fx.c b/lib_lc3plus/resamp12k8_fx.c index ebfa42502e1575a4b94e415bcc1b7f14cb6cfb7d..2df23d317cb645d53c0bcf96af0be885fc071a1a 100644 --- a/lib_lc3plus/resamp12k8_fx.c +++ b/lib_lc3plus/resamp12k8_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/residual_coding_fx.c b/lib_lc3plus/residual_coding_fx.c index bec0636b73f4afe6d7dbbaa8a90d45480eb596b4..668f144cebebea55635dc16fb9451bba3ab7f6f6 100644 --- a/lib_lc3plus/residual_coding_fx.c +++ b/lib_lc3plus/residual_coding_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/residual_decoding_fx.c b/lib_lc3plus/residual_decoding_fx.c index 158c5f4542ba793f2d39840c6557bd3baca61cf9..bd4657f599a5cd71e8c7dcf8d06febaf2e641f1d 100644 --- a/lib_lc3plus/residual_decoding_fx.c +++ b/lib_lc3plus/residual_decoding_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/rom_basop_util_lc3plus.c b/lib_lc3plus/rom_basop_util_lc3plus.c index f47c818f696db6f438b056ba8e8182ccefd88f9e..a265b858c4f53c014089b98f645a8cd5f3c54e15 100644 --- a/lib_lc3plus/rom_basop_util_lc3plus.c +++ b/lib_lc3plus/rom_basop_util_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/rom_basop_util_lc3plus.h b/lib_lc3plus/rom_basop_util_lc3plus.h index ac088fa1d0a920318ebed396699fe91b5ba1d892..1ebdf88b7997c28a7e0b689f47e7b8ac345fbb9b 100644 --- a/lib_lc3plus/rom_basop_util_lc3plus.h +++ b/lib_lc3plus/rom_basop_util_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/scale_signal24_fx.c b/lib_lc3plus/scale_signal24_fx.c index 1cabd2bbf5176dd6d01389edcb0b3d37ba86e018..3f349629b3fcfb6bb90af0f25e3d6d6634924238 100644 --- a/lib_lc3plus/scale_signal24_fx.c +++ b/lib_lc3plus/scale_signal24_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_com_lc3plus.c b/lib_lc3plus/setup_com_lc3plus.c index 1121d1905a5f541235d03e3e7dd9726c33a57c39..ff713900e7ed0c98e05fdcee652cae02724a720b 100644 --- a/lib_lc3plus/setup_com_lc3plus.c +++ b/lib_lc3plus/setup_com_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_dec_lc3plus.c b/lib_lc3plus/setup_dec_lc3plus.c index 43512a4eaa5e356af95725bb521a619e71921023..f83fc4a326e0d624acf17f98a83797086e6f32e6 100644 --- a/lib_lc3plus/setup_dec_lc3plus.c +++ b/lib_lc3plus/setup_dec_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_dec_lc3plus.h b/lib_lc3plus/setup_dec_lc3plus.h index e2c35ec458edd71ff8afae0c9b49c49b182bdfd2..fae110b4f07c75ff98719335d1fb345665a0bfe3 100644 --- a/lib_lc3plus/setup_dec_lc3plus.h +++ b/lib_lc3plus/setup_dec_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_enc_lc3plus.c b/lib_lc3plus/setup_enc_lc3plus.c index 6005f1521262793edea2692ea9c774bc2c682c0b..97ff9f961da654d9c2ada2bc9763f8f6d0a5d27b 100644 --- a/lib_lc3plus/setup_enc_lc3plus.c +++ b/lib_lc3plus/setup_enc_lc3plus.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/setup_enc_lc3plus.h b/lib_lc3plus/setup_enc_lc3plus.h index 6fa08039d3781865927ad38d168cd4ea753a2eb9..a1cb8374b9fb9ffcb83d684e01cf7598f0b80867 100644 --- a/lib_lc3plus/setup_enc_lc3plus.h +++ b/lib_lc3plus/setup_enc_lc3plus.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/sns_compute_scf_fx.c b/lib_lc3plus/sns_compute_scf_fx.c index a95e3e7720464369fbeba1ac8009f1db4aa3f105..3469f0c96e265fbdbeef685539826f4b3e942a65 100644 --- a/lib_lc3plus/sns_compute_scf_fx.c +++ b/lib_lc3plus/sns_compute_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/sns_interpolate_scf_fx.c b/lib_lc3plus/sns_interpolate_scf_fx.c index 89718af525569104ae38a99f6e1172e900b927e5..6c8671ead78e82682cefc04c8adfb88bcc062c20 100644 --- a/lib_lc3plus/sns_interpolate_scf_fx.c +++ b/lib_lc3plus/sns_interpolate_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/sns_quantize_scf_fx.c b/lib_lc3plus/sns_quantize_scf_fx.c index d4d3d3aa279fe48ea0372aa423d5cd3481af8522..4437aceff3ced4e466afa68dc57c10048ee88500 100644 --- a/lib_lc3plus/sns_quantize_scf_fx.c +++ b/lib_lc3plus/sns_quantize_scf_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/tns_coder_fx.c b/lib_lc3plus/tns_coder_fx.c index e012abd0f9ff253df03832ab62913734e7d456f7..2953ad7d470d6daf9f9837a575d9eaaf90ac6206 100644 --- a/lib_lc3plus/tns_coder_fx.c +++ b/lib_lc3plus/tns_coder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_lc3plus/tns_decoder_fx.c b/lib_lc3plus/tns_decoder_fx.c index 7b9575f2dc1417b9b850d0e5450328319c735931..f218d3534dd242fcadbe00983f93058b7ad699de 100644 --- a/lib_lc3plus/tns_decoder_fx.c +++ b/lib_lc3plus/tns_decoder_fx.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /****************************************************************************** * ETSI TS 103 634 V1.6.1 * * Low Complexity Communication Codec Plus (LC3plus) * diff --git a/lib_rend/ivas_allrad_dec_fx.c b/lib_rend/ivas_allrad_dec_fx.c index 5023bee34db1aafdbf965096cbbc3722f62ec191..5db64cac7975de630820d4e6164280e3373b9d8b 100644 --- a/lib_rend/ivas_allrad_dec_fx.c +++ b/lib_rend/ivas_allrad_dec_fx.c @@ -1,35 +1,7 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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" diff --git a/lib_rend/ivas_cldfb_ring_buffer.c b/lib_rend/ivas_cldfb_ring_buffer.c index 49d88e8f31479242a234ffa95585e56425e45f16..72f2e6efd6d4763aee48997448684c926c385bad 100644 --- a/lib_rend/ivas_cldfb_ring_buffer.c +++ b/lib_rend/ivas_cldfb_ring_buffer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -36,12 +8,8 @@ #include "prot_fx.h" #include "ivas_prot_fx.h" #include -#ifdef DEBUGGING -#include "debug.h" -#endif #include "wmc_auto.h" -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*---------------------------------------------------------------------* * CLDFB ring-buffer functions needed in split-rendering outputs *---------------------------------------------------------------------*/ @@ -318,4 +286,3 @@ void ivas_CLDFB_RINGBUF_GetByIdx( return; } -#endif diff --git a/lib_rend/ivas_crend_fx.c b/lib_rend/ivas_crend_fx.c index 9c3379527d84ee278052b0ce8099af94674a623c..53762fcfb821ec6969a03101f93a6e0aea565d59 100644 --- a/lib_rend/ivas_crend_fx.c +++ b/lib_rend/ivas_crend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -42,9 +14,6 @@ #include "lib_rend.h" #include "ivas_prot_fx.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------- diff --git a/lib_rend/ivas_dirac_ana_fx.c b/lib_rend/ivas_dirac_ana_fx.c index 81eb72e1dfe40274ec8ef916033f1748c771d9ae..8a68b00091692cf04af87fdd07b256524e1d9a55 100644 --- a/lib_rend/ivas_dirac_ana_fx.c +++ b/lib_rend/ivas_dirac_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include @@ -258,13 +230,11 @@ void ivas_dirac_ana_fx( /* Estimate MASA parameters from the SBA signals */ ivas_dirac_param_est_ana_fx( hDirAC, data_fx, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, spreadCoherence_fx, surroundingCoherence_fx, input_frame, data_q ); -#ifdef NONBE_1344_REND_MASA_LOW_FS /* Add zeros to higher bands in case of lower sampling rates */ IF( LT_16( hDirAC->nbands, MASA_FREQUENCY_BANDS ) ) { ivas_masa_zero_high_bands_fx( hDirAC->nbands, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, spreadCoherence_fx, surroundingCoherence_fx ); } -#endif /* Create MASA metadata buffer from the estimated values */ ivas_create_masa_out_meta_fx( hDirAC->hMasaOut, hDirAC->sph_grid16, nchan_transport, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, spreadCoherence_fx, surroundingCoherence_fx, Q31, Q31, Q31 ); diff --git a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c index 9683cd74355e44a84c262d7409a4d7fce5ebd28e..11be9edaa818b60e69c581c484f193c3c8ab96f3 100644 --- a/lib_rend/ivas_dirac_dec_binaural_functions_fx.c +++ b/lib_rend/ivas_dirac_dec_binaural_functions_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -1065,12 +1037,7 @@ static void ivas_dirac_dec_binaural_internal_fx( { FOR( i = 0; i < hSpatParamRendCom->subframe_nbslots[subframe]; i++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ivas_CLDFB_RINGBUF_Push( st_ivas->hSplitBinRend->hMultiBinCldfbData[ch], tmp_Cldfb_out_re[ch][i], tmp_Cldfb_out_im[ch][i], CLDFB_NO_CHANNELS_MAX ); -#else - Copy32( tmp_Cldfb_out_re[ch][i], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[ch][hSpatParamRendCom->slots_rendered + i], CLDFB_NO_CHANNELS_MAX ); - Copy32( tmp_Cldfb_out_im[ch][i], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[ch][hSpatParamRendCom->slots_rendered + i], CLDFB_NO_CHANNELS_MAX ); -#endif } } } @@ -1130,19 +1097,11 @@ static void ivas_dirac_dec_binaural_internal_fx( Copy( st_ivas->hDiracDecBin[0]->ChCrossIm_e, hDiracDecBin->ChCrossIm_e, hSpatParamRendCom->num_freq_bands ); ivas_dirac_dec_binaural_formulate_target_covariance_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, Rmat_local, subframe, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[hCombinedOrientationData->subframe_idx] > 0, -#else - hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[subframe] > 0, -#endif subFrameTotalEne_fx, subFrameTotalEne_e, IIReneLimiter_fx, st_ivas->hMasaIsmData ); ivas_dirac_dec_binaural_determine_processing_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, max_band_decorr, Rmat_local, subframe, -#ifdef FIX_1119_SPLIT_RENDERING_VOIP hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[hCombinedOrientationData->subframe_idx] > 0, -#else - hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[subframe] > 0, -#endif nchanSeparateChannels, st_ivas->hMasaIsmData ); q_mat = hDiracDecBin->q_processMtx; @@ -1190,12 +1149,7 @@ static void ivas_dirac_dec_binaural_internal_fx( { FOR( i = 0; i < hSpatParamRendCom->subframe_nbslots[subframe]; i++ ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ivas_CLDFB_RINGBUF_Push( st_ivas->hSplitBinRend->hMultiBinCldfbData[pos_idx * BINAURAL_CHANNELS + ch], tmp_Cldfb_out_re[ch][i], tmp_Cldfb_out_im[ch][i], CLDFB_NO_CHANNELS_MAX ); -#else - Copy32( tmp_Cldfb_out_re[ch][i], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_RealBuffer_Binaural_fx[pos_idx * BINAURAL_CHANNELS + ch][hSpatParamRendCom->slots_rendered + i], CLDFB_NO_CHANNELS_MAX ); - Copy32( tmp_Cldfb_out_im[ch][i], st_ivas->hSplitBinRend->hMultiBinCldfbData->Cldfb_ImagBuffer_Binaural_fx[pos_idx * BINAURAL_CHANNELS + ch][hSpatParamRendCom->slots_rendered + i], CLDFB_NO_CHANNELS_MAX ); -#endif } } @@ -1490,11 +1444,7 @@ static void ivas_dirac_dec_binaural_formulate_input_covariance_matrices_fx( move16(); den = BASOP_Util_Add_Mant32Exp( hDiracDecBin->ChEnePrev_fx[0][bin], hDiracDecBin->ChEnePrev_e[0][bin], hDiracDecBin->ChEnePrev_fx[1][bin], hDiracDecBin->ChEnePrev_e[1][bin], &den_e ); den = L_max( 1, den ); -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - IIReneLimiter_fx[bin] = BASOP_Util_Divide3232_Scale_cadence( num, den, &exp ); -#else IIReneLimiter_fx[bin] = BASOP_Util_Divide3232_Scale_newton( num, den, &exp ); -#endif exp = add( sub( num_e, den_e ), add( 5, exp ) ); IF( L_shr_sat( IIReneLimiter_fx[bin], sub( 31, exp ) ) > 0 ) { @@ -1996,11 +1946,7 @@ static void ivas_dirac_dec_binaural_formulate_target_covariance_matrices_fx( move32(); /* Formulate average diffuseness over frame */ -#ifndef REMOVE_BASOP_Util_Divide3232_Scale_cadence - frameMeanDiffuseness = BASOP_Util_Divide3232_Scale_cadence( frameMeanDiffuseness, L_max( EPSILLON_FX, frameMeanDiffusenessEneWeight_fx[bin] ), &exp ); // exp = exp + 31 - q_meanEnePerCh - exp1 -#else frameMeanDiffuseness = BASOP_Util_Divide3232_Scale_newton( frameMeanDiffuseness, L_max( EPSILLON_FX, frameMeanDiffusenessEneWeight_fx[bin] ), &exp ); // exp = exp + 31 - q_meanEnePerCh - exp1 -#endif exp = sub( exp, sub( sub( 31, q_meanEnePerCh ), exp1 ) ); hDiracDecBin->frameMeanDiffuseness_fx[bin] = L_shl( frameMeanDiffuseness, sub( exp, 2 ) ); // Q29 move32(); @@ -5833,7 +5779,6 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( move16(); move16(); -#ifdef FIX_2140_OBJECT_EDITING_SANITIZER_ISSUES totalTargetEneCh[0] = subframeEneCh[0]; // subQch[0] move32(); totalTargetEneCh[1] = subframeEneCh[1]; // subQch[1] @@ -5842,20 +5787,6 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( move32(); masaEneThisCh[1] = subframeEneCh[1]; // subQch[1] move32(); -#else - /* Zero check */ - IF( GT_32( subframeEne, 0 ) ) - { - totalTargetEneCh[0] = subframeEneCh[0]; // subQch[0] - move32(); - totalTargetEneCh[1] = subframeEneCh[1]; // subQch[1] - move32(); - masaEneThisCh[0] = subframeEneCh[0]; // subQch[0] - move32(); - masaEneThisCh[1] = subframeEneCh[1]; // subQch[1] - move32(); - } -#endif /* Gain editing */ /* For each object, estimate new target energy per channel based on the applied gain */ @@ -5991,13 +5922,11 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( } -#ifdef NONBE_1399_1400_FIX_OBJ_EDIT_ISSUES /* Limit target energies to non-negative values */ FOR( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) { totalTargetEneCh[ch] = L_max( 0, totalTargetEneCh[ch] ); } -#endif /* due to rounding, the sum may exceed 1.0f ever so slightly, so clip it */ ratioAccOrig = L_min( ratioAccOrig, ONE_IN_Q30 ); @@ -6359,12 +6288,8 @@ void ivas_omasa_preProcessStereoTransportsForEditedObjects_fx( { temp = BASOP_Util_Divide3232_Scale_newton( hMasaIsmData->preprocEneTarget_fx[band_idx], L_max( 1, hMasaIsmData->preprocEneRealized_fx[band_idx] ), &temp_q ); temp_q = sub( Q31, sub( sub( Q31, temp_q ), sub( hMasaIsmData->preprocEneTarget_e[band_idx], hMasaIsmData->preprocEneRealized_e[band_idx] ) ) ); - temp = Sqrt32( temp, &temp_q ); // Q: 31-temp_q -#ifdef FIX_2164_ASSERT_IN_OMASA_PREPROC_FOR_EDIT + temp = Sqrt32( temp, &temp_q ); // Q: 31-temp_q temp = L_shl_sat( temp, sub( temp_q, 3 ) ); // Q28 -#else - temp = L_shl( temp, sub( temp_q, 3 ) ); // Q28 -#endif temp_q = Q28; move16(); } @@ -6718,7 +6643,6 @@ static void ivas_masa_ext_rend_parambin_internal_fx( Copy( hMasaExtRend->hDiracDecBin[0]->ChCrossRe_e, hDiracDecBin->ChCrossRe_e, hSpatParamRendCom->num_freq_bands ); Copy( hMasaExtRend->hDiracDecBin[0]->ChCrossIm_e, hDiracDecBin->ChCrossIm_e, hSpatParamRendCom->num_freq_bands ); -#ifdef NONBE_FIX_1442_MASA_EXT_REND_ORIENT_IDX ivas_dirac_dec_binaural_formulate_target_covariance_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, Rmat_local, subframe, hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[hCombinedOrientationData->subframe_idx] > 0, subFrameTotalEne_fx, subFrameTotalEne_e, IIReneLimiter_fx, NULL ); @@ -6726,15 +6650,6 @@ static void ivas_masa_ext_rend_parambin_internal_fx( ivas_dirac_dec_binaural_determine_processing_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, max_band_decorr, Rmat_local, subframe, hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[hCombinedOrientationData->subframe_idx] > 0, 0, NULL ); -#else - ivas_dirac_dec_binaural_formulate_target_covariance_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, Rmat_local, subframe, - hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[subframe] > 0, - subFrameTotalEne_fx, subFrameTotalEne_e, IIReneLimiter_fx, NULL ); - - ivas_dirac_dec_binaural_determine_processing_matrices_fx( hDiracDecBin, hSpatParamRendCom, &config_data, max_band_decorr, Rmat_local, subframe, - hCombinedOrientationData && hCombinedOrientationData->enableCombinedOrientation[subframe] > 0, - 0, NULL ); -#endif q_mat = hDiracDecBin->q_processMtx; move16(); diff --git a/lib_rend/ivas_dirac_decorr_dec_fx.c b/lib_rend/ivas_dirac_decorr_dec_fx.c index acbfb3bd2a5ca36e8b63b3ea9959d4c26272d66d..2dd1ab41c95e10b49f75862e5708d8bf7fe51e17 100644 --- a/lib_rend/ivas_dirac_decorr_dec_fx.c +++ b/lib_rend/ivas_dirac_decorr_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_dirac_onsets_dec_fx.c b/lib_rend/ivas_dirac_onsets_dec_fx.c index 80adebfdd18661e0160e31f6c753bfd60cd6930a..e678b41fe2aac0d1825ce4d100431fef851c97bc 100644 --- a/lib_rend/ivas_dirac_onsets_dec_fx.c +++ b/lib_rend/ivas_dirac_onsets_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c index 29184695ce35ebc52a47cfc9f626e504e1ca7f34..fedfbcb9652c5d233098ff1835cdc316f65ae274 100644 --- a/lib_rend/ivas_dirac_output_synthesis_dec_fx.c +++ b/lib_rend/ivas_dirac_output_synthesis_dec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_dirac_rend_fx.c b/lib_rend/ivas_dirac_rend_fx.c index bde35181ee7c12d7d3da54a92c1be9e4cb051725..95a98026b989a3f14c13032fc2f09935a2bd8068 100644 --- a/lib_rend/ivas_dirac_rend_fx.c +++ b/lib_rend/ivas_dirac_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_efap_fx.c b/lib_rend/ivas_efap_fx.c index 23ffbe0bd17bffb0c2f17d128bac4ba46e9325d4..3c29f4a4b6695542badcffa8092ab6adfb7b1a27 100644 --- a/lib_rend/ivas_efap_fx.c +++ b/lib_rend/ivas_efap_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -50,17 +22,13 @@ #define EFAP_MAX_GHOST_LS 5 /* Maximum number of ghost Loudspeakers, for memory allocation purpose */ #define POLY_THRESH_Q29 53687LL // Q29 #define POLY_THRESH_Q28 26843 // Q28 -#ifdef DEBUG_EFAP_POLY_TOFILE -#define PANNING_AZI_RESOLUTION 2 -#define PANNING_ELE_RESOLUTION 5 -#endif -#define Q22_1 4194304 -#define Q22_45_DEG 188743680 -#define Q22_90_DEG 377487360 -#define Q22_180_DEG 754974720 -#define Q22_360_DEG 1509949440 -#define Q22_120_DEG 503316480 -#define Q22_240_DEG 1006632960 +#define Q22_1 4194304 +#define Q22_45_DEG 188743680 +#define Q22_90_DEG 377487360 +#define Q22_180_DEG 754974720 +#define Q22_360_DEG 1509949440 +#define Q22_120_DEG 503316480 +#define Q22_240_DEG 1006632960 /*-----------------------------------------------------------------------* * Local function prototypes diff --git a/lib_rend/ivas_hrtf_fx.c b/lib_rend/ivas_hrtf_fx.c index dee0fe052a902bb55841b54c10646c6ff79fcce7..bac0d788d5107c17e5d0fb018669fbcff4c8850b 100644 --- a/lib_rend/ivas_hrtf_fx.c +++ b/lib_rend/ivas_hrtf_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -416,9 +388,7 @@ ivas_error ivas_HRTF_statistics_init_fx( BREAK; } HrtfStatistics->fromROM = TRUE; -#ifdef FIX_1990_SANITIZER_IN_REVERB_LOAD HrtfStatistics->fromROM = FALSE; // TODO: temporary hack until HRTF statistics ROM tables are converted from Word16 to Word32 -#endif *hHrtfStatistics = HrtfStatistics; diff --git a/lib_rend/ivas_masa_merge_fx.c b/lib_rend/ivas_masa_merge_fx.c index efffccf84bc6cc7195e7e2482aa38cd8e640219d..49ccf08850d0d124785dad2b47f0b70d212077d3 100644 --- a/lib_rend/ivas_masa_merge_fx.c +++ b/lib_rend/ivas_masa_merge_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -37,9 +9,7 @@ #include "ivas_cnst.h" #include "prot_fx.h" #include "wmc_auto.h" -#ifdef NONBE_1344_REND_MASA_LOW_FS #include "ivas_rom_com.h" -#endif #include "ivas_prot_fx.h" #define INV_UINT8_MAX 8421505 /* 1/UINT8_MAX in Q31 */ @@ -490,9 +460,7 @@ ivas_error masaPrerendOpen_fx( { MASA_PREREND_HANDLE hMasaPrerend; Word16 i; -#ifdef NONBE_1344_REND_MASA_LOW_FS Word16 maxBin; -#endif ivas_error error; error = IVAS_ERR_OK; @@ -504,7 +472,6 @@ ivas_error masaPrerendOpen_fx( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MASA prerenderer\n" ) ); } -#ifdef NONBE_1344_REND_MASA_LOW_FS /* Determine the number of bands and band grouping */ hMasaPrerend->nbands = MASA_FREQUENCY_BANDS; move16(); @@ -522,7 +489,6 @@ ivas_error masaPrerendOpen_fx( break; } } -#endif hMasaPrerend->num_Cldfb_instances = numTransports; move16(); diff --git a/lib_rend/ivas_mcmasa_ana_fx.c b/lib_rend/ivas_mcmasa_ana_fx.c index e31241a53344115418de97f16b66cd871e70736d..ad666799f9aa42d613e30b2901d1773e7b9cc84d 100644 --- a/lib_rend/ivas_mcmasa_ana_fx.c +++ b/lib_rend/ivas_mcmasa_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -486,13 +458,11 @@ void ivas_mcmasa_ana_fx( /* Analysis */ ivas_mcmasa_param_est_ana_fx( hMcMasa, data, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, spreadCoherence_fx, surroundingCoherence_fx, q_data, input_frame, nchan_inp ); -#ifdef NONBE_1344_REND_MASA_LOW_FS /* Add zeros to higher bands in case of lower sampling rates */ IF( LT_16( hMcMasa->nbands, MASA_FREQUENCY_BANDS ) ) { ivas_masa_zero_high_bands_fx( hMcMasa->nbands, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, spreadCoherence_fx, surroundingCoherence_fx ); } -#endif /* Create MASA metadata buffer from the estimated values */ ivas_create_masa_out_meta_fx( hMcMasa->hMasaOut, hMcMasa->sph_grid16, nchan_transport, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, spreadCoherence_fx, surroundingCoherence_fx, Q31, Q31, Q31 ); @@ -1713,7 +1683,6 @@ void ivas_create_masa_out_meta_fx( } -#ifdef NONBE_1344_REND_MASA_LOW_FS /*------------------------------------------------------------------------- * ivas_masa_zero_high_bands() * @@ -1750,4 +1719,3 @@ void ivas_masa_zero_high_bands_fx( return; } -#endif diff --git a/lib_rend/ivas_objectRenderer_fx.c b/lib_rend/ivas_objectRenderer_fx.c index dd99c0070055fe74b7b4d7a45cb0d31a37d98cd7..4a5e25f095791f8bc3d76d3058492b79a5137474 100644 --- a/lib_rend/ivas_objectRenderer_fx.c +++ b/lib_rend/ivas_objectRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "ivas_stat_rend.h" #include @@ -39,7 +11,6 @@ #include "ivas_rom_com.h" #include "wmc_auto.h" #include "ivas_prot_fx.h" -#include "debug.h" /*---------------------------------------------------------------------* diff --git a/lib_rend/ivas_objectRenderer_hrFilt_fx.c b/lib_rend/ivas_objectRenderer_hrFilt_fx.c index 2a67d7a39a5277407bf20b818de4324978ac5b66..d3436da4a46073bf4ede83f6a6aebc02b4a3a26a 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt_fx.c +++ b/lib_rend/ivas_objectRenderer_hrFilt_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_objectRenderer_mix_fx.c b/lib_rend/ivas_objectRenderer_mix_fx.c index 28ee13931346b1418d16bbc945f33fc3765e62a7..2ce744b0545fdb922f6230d3015644d6d59e44f4 100644 --- a/lib_rend/ivas_objectRenderer_mix_fx.c +++ b/lib_rend/ivas_objectRenderer_mix_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_objectRenderer_sfx_fx.c b/lib_rend/ivas_objectRenderer_sfx_fx.c index 361cc403d19ccad22d98321d5b7c5da190877b9d..1fecbf1235a3eb40a09eedb31e6c9ec8e739e862 100644 --- a/lib_rend/ivas_objectRenderer_sfx_fx.c +++ b/lib_rend/ivas_objectRenderer_sfx_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_objectRenderer_sources_fx.c b/lib_rend/ivas_objectRenderer_sources_fx.c index 33c519c8eb5f931bcb7f01f69f2e5ff463239ff1..bf44c4feb06fb15b03862363decac6a410819625 100644 --- a/lib_rend/ivas_objectRenderer_sources_fx.c +++ b/lib_rend/ivas_objectRenderer_sources_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_objectRenderer_vec_fx.c b/lib_rend/ivas_objectRenderer_vec_fx.c index 140861539307a16b008dcd1fc0a29922d844c8b6..1601ed4c6964e2e4e7f86f752d39265a0cccca40 100644 --- a/lib_rend/ivas_objectRenderer_vec_fx.c +++ b/lib_rend/ivas_objectRenderer_vec_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_omasa_ana_fx.c b/lib_rend/ivas_omasa_ana_fx.c index 9c209f036805932146d628f892bdc80f0a71c15a..4f14e6e5c65b923aef4c25830932f1208079bda8 100644 --- a/lib_rend/ivas_omasa_ana_fx.c +++ b/lib_rend/ivas_omasa_ana_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include @@ -318,13 +290,11 @@ void ivas_omasa_ana_fx( /* Estimate MASA parameters from the objects */ ivas_omasa_param_est_ana_fx( hOMasa, data_in_f_fx, *data_in_q, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, &energyRatio_q, spreadCoherence_fx, &spreadCoherence_q, surroundingCoherence_fx, &sorroundingCoherence_q, input_frame, nchan_ism ); -#ifdef NONBE_1344_REND_MASA_LOW_FS /* Add zeros to higher bands in case of lower sampling rates */ IF( LT_16( hOMasa->nbands, MASA_FREQUENCY_BANDS ) ) { ivas_masa_zero_high_bands_fx( hOMasa->nbands, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, spreadCoherence_fx, surroundingCoherence_fx ); } -#endif /* Create MASA metadata buffer from the estimated values */ ivas_create_masa_out_meta_fx( hOMasa->hMasaOut, hOMasa->sph_grid16, nchan_transport, elevation_m_values_fx, azimuth_m_values_fx, energyRatio_fx, spreadCoherence_fx, surroundingCoherence_fx, Q31, Q31, Q31 ); diff --git a/lib_rend/ivas_orient_trk_fx.c b/lib_rend/ivas_orient_trk_fx.c index ee91e7060e252c6d06e9827ba3f2e5d353710038..45ef623a55af1941835cfd4bc65ac3cab593863f 100644 --- a/lib_rend/ivas_orient_trk_fx.c +++ b/lib_rend/ivas_orient_trk_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "common_api_types.h" #include diff --git a/lib_rend/ivas_output_init_fx.c b/lib_rend/ivas_output_init_fx.c index 053cb43c1e4ee0083dd07e708cd709cc14e3fd99..3beeb68988dcca7d31727f004e7c195aa874c4d5 100644 --- a/lib_rend/ivas_output_init_fx.c +++ b/lib_rend/ivas_output_init_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_rend/ivas_prot_rend_fx.h b/lib_rend/ivas_prot_rend_fx.h index a1e6f5167a5af0437288a3768f0f72a30c759418..7666218f8588f3eb68c18b43eb4002095ac4176f 100644 --- a/lib_rend/ivas_prot_rend_fx.h +++ b/lib_rend/ivas_prot_rend_fx.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_PROT_REND_H #define IVAS_PROT_REND_H @@ -1345,13 +1317,11 @@ ivas_error ivas_render_config_init_from_rom_fx( RENDER_CONFIG_HANDLE *hRenderConfig /* i/o: Renderer config handle */ ); -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE ivas_error ivas_render_config_change_defaults( RENDER_CONFIG_HANDLE hRenderConfig, /* i/o: Renderer config handle */ IVAS_DefaultReverbSize reverbDefault /* i: Reverb default size */ ); -#endif /*----------------------------------------------------------------------------------* * Quaternion operations @@ -1494,7 +1464,6 @@ void ivas_create_masa_out_meta_fx( Word16 surroundingCoherence_q ); -#ifdef NONBE_1344_REND_MASA_LOW_FS void ivas_masa_zero_high_bands_fx( const Word16 nbands, /* i : Number of frequency bands with estimated values */ Word32 elevation_m_values_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* i/o : Estimated elevation */ @@ -1503,7 +1472,6 @@ void ivas_masa_zero_high_bands_fx( Word32 spreadCoherence_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* i/o : Estimated spread coherence */ Word32 surroundingCoherence_fx[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS] /* i/o : Estimated surround coherence */ ); -#endif ivas_error ivas_dirac_ana_open_fx( DIRAC_ANA_HANDLE *hDirACPtr, /* i/o: DIRAC data handle pointer */ @@ -1624,7 +1592,6 @@ void ivas_TD_RINGBUF_Close( TD_RINGBUF_HANDLE *ph /* i/o: Ring buffer handle */ ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP void ivas_TD_RINGBUF_PushInterleaved( TD_RINGBUF_HANDLE h, /* i/o: Ring buffer handle */ const Word32 *data, /* i : Input audio in interleaved channels layout */ @@ -1648,24 +1615,6 @@ void ivas_TD_RINGBUF_PopChannels( Word32 *p_channels[], /* i : Array of pointers to each output channel */ const Word16 num_samples_per_channel /* i : Number of samples per channel to pop */ ); -#else -void ivas_TD_RINGBUF_Push( - TD_RINGBUF_HANDLE h, /* i/o: Ring buffer handle */ - const Word32 *data, /* i : Input data */ - const Word16 num_samples_per_channel /* i : Number of samples per channel to store */ -); - -void ivas_TD_RINGBUF_PushZeros( - TD_RINGBUF_HANDLE h, /* i/o: Ring buffer handle */ - const Word16 num_samples_per_channel /* i : Number of zeros per channel to store */ -); - -void ivas_TD_RINGBUF_Pop( - TD_RINGBUF_HANDLE h, /* i/o: Ring buffer handle */ - Word32 *data, /* i : Output data */ - const Word16 num_samples_per_channel /* i : Number of samples per channel to retrieve*/ -); -#endif Word16 ivas_TD_RINGBUF_Size( const TD_RINGBUF_HANDLE h /* i : Ring buffer handle */ diff --git a/lib_rend/ivas_reflections_fx.c b/lib_rend/ivas_reflections_fx.c index 3bf9f71693b040f72bdd32bf21cdd60853a4b8f6..f854bbdea034de7b5f3afde86647b19f59d5583a 100644 --- a/lib_rend/ivas_reflections_fx.c +++ b/lib_rend/ivas_reflections_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include @@ -41,7 +13,6 @@ #include "ivas_cnst.h" #include "ivas_rom_com.h" #include "wmc_auto.h" -#include "debug.h" /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_render_config_fx.c b/lib_rend/ivas_render_config_fx.c index e4c6f62f73a8eadb65bd80b56f32b8d766753e22..796c631384c33f3dda6746f1c4e46dd5ef31317b 100644 --- a/lib_rend/ivas_render_config_fx.c +++ b/lib_rend/ivas_render_config_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -42,7 +14,6 @@ * Local constants *-----------------------------------------------------------------------*/ -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE #define IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX 2147484 // 0.016 #define IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX 13421773 // 0.1 @@ -51,10 +22,6 @@ #define IVAS_REVERB_DEFAULT_M_PRE_DELAY_FX 1677722 // 0.0125f #define IVAS_REVERB_DEFAULT_M_INPUT_DELAY_FX 0 // 0.0f -#else -#define IVAS_REVERB_DEFAULT_PRE_DELAY_FX 2147484 // 0.016 -#define IVAS_REVERB_DEFAULT_INPUT_DELAY_FX 13421773 // 0.1 -#endif #define IVAS_REVERB_DEFAULT_USE_ER 0 @@ -118,40 +85,23 @@ ivas_error ivas_render_config_init_from_rom_fx( { return IVAS_ERROR( IVAS_ERR_UNEXPECTED_NULL_POINTER, "Unexpected null pointer while attempting to fill renderer configuration from ROM" ); } -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT ( *hRenderConfig )->roomAcoustics.aeID = IVAS_DEFAULT_AEID; move16(); -#endif -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE ( *hRenderConfig )->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_L_N_BANDS; move16(); ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_L_PRE_DELAY_FX; move32(); ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_L_INPUT_DELAY_FX; move32(); -#else - ( *hRenderConfig )->roomAcoustics.nBands = IVAS_REVERB_DEFAULT_N_BANDS; - move16(); - ( *hRenderConfig )->roomAcoustics.acousticPreDelay_fx = IVAS_REVERB_DEFAULT_PRE_DELAY_FX; - move32(); - ( *hRenderConfig )->roomAcoustics.inputPreDelay_fx = IVAS_REVERB_DEFAULT_INPUT_DELAY_FX; - move32(); -#endif ( *hRenderConfig )->roomAcoustics.use_er = IVAS_REVERB_DEFAULT_USE_ER; move16(); set32_fx( &( *hRenderConfig )->roomAcoustics.pFc_input_fx[0], 0, CLDFB_NO_CHANNELS_MAX ); set32_fx( &( *hRenderConfig )->roomAcoustics.pAcoustic_rt60_fx[0], 0, CLDFB_NO_CHANNELS_MAX ); set32_fx( &( *hRenderConfig )->roomAcoustics.pAcoustic_dsr_fx[0], 0, CLDFB_NO_CHANNELS_MAX ); -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE Copy32( ivas_reverb_default_large_fc_fx, ( *hRenderConfig )->roomAcoustics.pFc_input_fx, IVAS_REVERB_DEFAULT_L_N_BANDS ); Copy32( ivas_reverb_default_large_RT60_fx, ( *hRenderConfig )->roomAcoustics.pAcoustic_rt60_fx, IVAS_REVERB_DEFAULT_L_N_BANDS ); Copy32( ivas_reverb_default_large_DSR_fx, ( *hRenderConfig )->roomAcoustics.pAcoustic_dsr_fx, IVAS_REVERB_DEFAULT_L_N_BANDS ); -#else - Copy32( ivas_reverb_default_fc_fx, ( *hRenderConfig )->roomAcoustics.pFc_input_fx, IVAS_REVERB_DEFAULT_N_BANDS ); - Copy32( ivas_reverb_default_RT60_fx, ( *hRenderConfig )->roomAcoustics.pAcoustic_rt60_fx, IVAS_REVERB_DEFAULT_N_BANDS ); - Copy32( ivas_reverb_default_DSR_fx, ( *hRenderConfig )->roomAcoustics.pAcoustic_dsr_fx, IVAS_REVERB_DEFAULT_N_BANDS ); -#endif FOR( i = 0; i < MAX_NUM_OBJECTS; i++ ) { @@ -192,7 +142,6 @@ ivas_error ivas_render_config_init_from_rom_fx( return IVAS_ERR_OK; } -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE /*-------------------------------------------------------------------* * ivas_render_config_change_defaults() @@ -264,4 +213,3 @@ ivas_error ivas_render_config_change_defaults( return IVAS_ERR_OK; } -#endif diff --git a/lib_rend/ivas_reverb_delay_line_fx.c b/lib_rend/ivas_reverb_delay_line_fx.c index d2a6a0c44e2c825c0e31dfb09dca6aeb337d502c..057b07b3694fae97b21c89ba093f7ac5ad63ecfc 100644 --- a/lib_rend/ivas_reverb_delay_line_fx.c +++ b/lib_rend/ivas_reverb_delay_line_fx.c @@ -1,41 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" #include "ivas_prot_rend_fx.h" #include "prot_fx.h" #include "wmc_auto.h" -#include "debug.h" /*-----------------------------------------------------------------------------------------* * Function ivas_rev_delay_line_init() * diff --git a/lib_rend/ivas_reverb_fft_filter_fx.c b/lib_rend/ivas_reverb_fft_filter_fx.c index b7f890ec39673d50daea8655d5a4bad9462be7e3..a4391ac05cec8bf86fc2f95912401129d37fe7b8 100644 --- a/lib_rend/ivas_reverb_fft_filter_fx.c +++ b/lib_rend/ivas_reverb_fft_filter_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -36,7 +8,6 @@ #include "ivas_prot_rend_fx.h" #include #include "wmc_auto.h" -#include "debug.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_filter_design_fx.c b/lib_rend/ivas_reverb_filter_design_fx.c index e826596ba7b686df5683cee85499ded94bbf2265..ef47122dcc602d49d5f215aa15ee4e39addedb60 100644 --- a/lib_rend/ivas_reverb_filter_design_fx.c +++ b/lib_rend/ivas_reverb_filter_design_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_reverb_fx.c b/lib_rend/ivas_reverb_fx.c index 6ab0c7a6355243b49f77be91ab4511707aec6c93..4f2f6a6a8703ad0497e3c3f36ef4bd3a02ffdfee 100644 --- a/lib_rend/ivas_reverb_fx.c +++ b/lib_rend/ivas_reverb_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -39,7 +11,6 @@ #include "ivas_rom_rend.h" #include #include "wmc_auto.h" -#include "debug.h" /* The reverberator structure implemented here is described in detail in: diff --git a/lib_rend/ivas_reverb_iir_filter_fx.c b/lib_rend/ivas_reverb_iir_filter_fx.c index 981a40466474a3b428557c4682243db0234cb885..d1f874a8c23c0fd7dba1c86a616f56bc44bb9f92 100644 --- a/lib_rend/ivas_reverb_iir_filter_fx.c +++ b/lib_rend/ivas_reverb_iir_filter_fx.c @@ -1,41 +1,12 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" #include "prot_fx.h" #include "ivas_prot_rend_fx.h" #include "wmc_auto.h" -#include "debug.h" #define float_to_fix( n, factor ) ( round( n * ( 1 << factor ) ) ) #define fix_to_float( n, factor ) ( (float) n / ( 1 << factor ) ) /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_utils_fx.c b/lib_rend/ivas_reverb_utils_fx.c index 6433da8195e7deba7874d9b3b325bf6cc9b350f2..ca5c51c7de886d5b6e857e5cfcfd7a377f39fa34 100644 --- a/lib_rend/ivas_reverb_utils_fx.c +++ b/lib_rend/ivas_reverb_utils_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_rom_TdBinauralRenderer.h b/lib_rend/ivas_rom_TdBinauralRenderer.h index ed4ece7b68432695c1a93c241c62a93bc2733b81..662149f4d4200d439b1153c1fd369af1a96b3e1d 100644 --- a/lib_rend/ivas_rom_TdBinauralRenderer.h +++ b/lib_rend/ivas_rom_TdBinauralRenderer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef _IVAS_ROM_TDBINAURALRENDERER_ #define _IVAS_ROM_TDBINAURALRENDERER_ diff --git a/lib_rend/ivas_rom_TdBinauralRenderer_fx.c b/lib_rend/ivas_rom_TdBinauralRenderer_fx.c index 531c45f83ff655c5775f70eada06f56194777f4d..54ee1da0ef0b7d3bfa9f94205db436d25473eee9 100644 --- a/lib_rend/ivas_rom_TdBinauralRenderer_fx.c +++ b/lib_rend/ivas_rom_TdBinauralRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* clang-format off */ @@ -40,18 +12,12 @@ #define WMC_TOOL_SKIP -#ifdef DEBUGGING -/* Generated on 31-Jul-2024 with Matlab version 9.9.0.2037887 (R2020b) Update 8 by tmu on MACI64 */ -#endif /*------------------------------------------------------------------------- * TD Binaural rendering related ROM tables *------------------------------------------------------------------------*/ /* TD renderer default HRIR model */ -#ifdef DEBUGGING -/* Generated on 09-Sep-2025 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */ -#endif const Word16 defaultHRIR_rom_latency_s_Q_fx = 31; diff --git a/lib_rend/ivas_rom_binauralRenderer.h b/lib_rend/ivas_rom_binauralRenderer.h index f7ecc3ddac87b8bdca88e061df55392e678b1d77..ded0aa9a725c53d81686066c513fac5fe7c24727 100644 --- a/lib_rend/ivas_rom_binauralRenderer.h +++ b/lib_rend/ivas_rom_binauralRenderer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef _IVAS_ROM_BINAURAL_RENDERER_ #define _IVAS_ROM_BINAURAL_RENDERER_ diff --git a/lib_rend/ivas_rom_binauralRenderer_fx.c b/lib_rend/ivas_rom_binauralRenderer_fx.c index 3357eaeb870713885171a0cf4246d69078168189..0764b94ff815c72de418129a7a98392669d7e995 100644 --- a/lib_rend/ivas_rom_binauralRenderer_fx.c +++ b/lib_rend/ivas_rom_binauralRenderer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" @@ -43,14 +15,6 @@ /*------------------------------------------------------------------------- * Binaural rendering related ROM tables *------------------------------------------------------------------------*/ -#ifdef DEBUGGING -/* Binaural rendering data set based on HRIRs */ -/* Tables generated by the script at "scripts/binauralRenderer_interface/run_generate_IVAS_tables.m */ -/* Can be replaced by your own generated HRIR tables */ -/* - * Generated with Matlab version 9.3.0.713579 (R2017b) by MUXE6256 -*/ -#endif const Word16 FASTCONV_factor_Q_HOA3_latency_s_fx = 31; @@ -46964,9 +46928,6 @@ const Word16 fastconvReverberationEneCorrections_fx[CLDFB_NO_CHANNELS_MAX] = }; -#ifdef DEBUGGING -/* Generated on 09-Sep-2025 with Matlab version 23.2.0.2668659 (R2023b) Update 9 by marcemerit on MACA64 */ -#endif const Word16 hrtfShCoeffs_factorQ_fx = 14; diff --git a/lib_rend/ivas_rom_binaural_crend_head.h b/lib_rend/ivas_rom_binaural_crend_head.h index ae97fc0feddcb92e1aca13577804a22338f56bea..5b35d00389501d9ff7f5f95eba9bef6d0cfec40c 100644 --- a/lib_rend/ivas_rom_binaural_crend_head.h +++ b/lib_rend/ivas_rom_binaural_crend_head.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* clang-format off */ diff --git a/lib_rend/ivas_rom_binaural_crend_head_fx.c b/lib_rend/ivas_rom_binaural_crend_head_fx.c index 9be532b7961d4f3976de3633f36a96c16c48af75..cbb67cdbd1bb487539cf91a90c9ee3c961d63ea4 100644 --- a/lib_rend/ivas_rom_binaural_crend_head_fx.c +++ b/lib_rend/ivas_rom_binaural_crend_head_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /* clang-format off */ diff --git a/lib_rend/ivas_rom_rend.h b/lib_rend/ivas_rom_rend.h index 121f019df2ca99b1e116f25e24250e49428a1769..2efe5bed37907cbdfa790006c74f7f9367a1851b 100644 --- a/lib_rend/ivas_rom_rend.h +++ b/lib_rend/ivas_rom_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_ROM_REND_H #define IVAS_ROM_REND_H @@ -107,7 +79,6 @@ extern const Word32 t_design_11_elevation_int[70]; /*Q-22*/ * Reverberator ROM tables *-----------------------------------------------------------------------*/ -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE extern const Word32 ivas_reverb_default_small_fc_fx[]; /*Q-16*/ extern const Word32 ivas_reverb_default_small_RT60_fx[]; /*Q-26*/ extern const Word32 ivas_reverb_default_small_DSR_fx[]; /*Q-30*/ @@ -119,11 +90,6 @@ extern const Word32 ivas_reverb_default_medium_DSR_fx[]; /*Q-30*/ extern const Word32 ivas_reverb_default_large_fc_fx[]; /*Q-16*/ extern const Word32 ivas_reverb_default_large_RT60_fx[]; /*Q-26*/ extern const Word32 ivas_reverb_default_large_DSR_fx[]; /*Q-30*/ -#else -extern const Word32 ivas_reverb_default_fc_fx[]; /*Q-16*/ -extern const Word32 ivas_reverb_default_RT60_fx[]; /*Q-26*/ -extern const Word32 ivas_reverb_default_DSR_fx[]; /*Q-30*/ -#endif /*----------------------------------------------------------------------------------* * EFAP ROM tables diff --git a/lib_rend/ivas_rom_rend_fx.c b/lib_rend/ivas_rom_rend_fx.c index fd56885f90226357265c27ffd3d1c1ccdf82d0b6..aba2def04322279afd214a51030d44bba2a12552 100644 --- a/lib_rend/ivas_rom_rend_fx.c +++ b/lib_rend/ivas_rom_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include @@ -246,7 +218,6 @@ const Word32 t_design_11_elevation_int[70] = //Q22 * Reverberator ROM tables *-----------------------------------------------------------------------*/ -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE const Word32 ivas_reverb_default_small_fc_fx[IVAS_REVERB_DEFAULT_S_N_BANDS] = { 13107200, 39321600, 65536000, 91750400, 117964800, 144179200, 170393600, 196608000, 222822400, 249036800, @@ -312,13 +283,8 @@ const Word32 ivas_reverb_default_medium_DSR_fx[IVAS_REVERB_DEFAULT_M_N_BANDS] = 13653, 7464, 6609, 12688, 7607, 3835, 2373 }; -#endif -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE const Word32 ivas_reverb_default_large_fc_fx[IVAS_REVERB_DEFAULT_L_N_BANDS] /*Q16*/ = -#else -const Word32 ivas_reverb_default_fc_fx[IVAS_REVERB_DEFAULT_N_BANDS] /*Q16*/ = -#endif { 1310720, 1638400, 2064384, 2621440, 3276800, 4128768, 5242880, 6553600, 8192000, @@ -330,11 +296,7 @@ const Word32 ivas_reverb_default_fc_fx[IVAS_REVERB_DEFAULT_N_BANDS] /*Q16*/ = 1048576000, 1310720000 }; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE const Word32 ivas_reverb_default_large_RT60_fx[IVAS_REVERB_DEFAULT_L_N_BANDS] /*Q26*/ = -#else -const Word32 ivas_reverb_default_RT60_fx[IVAS_REVERB_DEFAULT_N_BANDS] /*Q26*/ = -#endif { 91415696, 97213904, 88368952, 105944760, 99092952, 93643712, 86496616, 90341952, @@ -346,11 +308,7 @@ const Word32 ivas_reverb_default_RT60_fx[IVAS_REVERB_DEFAULT_N_BANDS] /*Q26*/ = 48281472, 41394088, 40286124 }; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE const Word32 ivas_reverb_default_large_DSR_fx[IVAS_REVERB_DEFAULT_L_N_BANDS] /*Q30*/ = -#else -const Word32 ivas_reverb_default_DSR_fx[IVAS_REVERB_DEFAULT_N_BANDS] /*Q30*/ = -#endif { 20, 23, 15, 16, 13, 20, 25, 42, @@ -591,7 +549,6 @@ const LS_CONVERSION_MATRIX_FX ls_conversion_cicp19_cicp16_fx[] = // Q30 }; /* Upmix matrices */ -#ifdef FIX_1419_MONO_STEREO_UMX const LS_CONVERSION_MATRIX_FX ls_conversion_mono_cicpX_fx[] = // Q30 { /* First row indicates the number of non-zero elements and the number of matrix columns */ @@ -600,7 +557,6 @@ const LS_CONVERSION_MATRIX_FX ls_conversion_mono_cicpX_fx[] = // Q30 {2, 1073741824}, }; -#endif const LS_CONVERSION_MATRIX_FX ls_conversion_cicp12_cicp14_fx[] = // Q30 { /* First row indicates the number of non-zero elements and the number of matrix columns */ @@ -686,9 +642,7 @@ const LS_CONVERSION_MATRIX_FX ls_conversion_cicp16_cicp19_fx[] = // Q30 const LS_CONVERSION_MAPPING_FX ls_conversion_mapping_fx[LS_SETUP_CONVERSION_NUM_MAPPINGS] = { /* Dowmix mappings - NULL is a special case for MONO / STEREO downmix */ -#ifdef FIX_1419_MONO_STEREO_UMX {IVAS_AUDIO_CONFIG_STEREO, IVAS_AUDIO_CONFIG_MONO, NULL}, -#endif {IVAS_AUDIO_CONFIG_5_1, IVAS_AUDIO_CONFIG_MONO, NULL}, {IVAS_AUDIO_CONFIG_7_1, IVAS_AUDIO_CONFIG_MONO, NULL}, {IVAS_AUDIO_CONFIG_5_1_2, IVAS_AUDIO_CONFIG_MONO, NULL}, @@ -716,13 +670,11 @@ const LS_CONVERSION_MAPPING_FX ls_conversion_mapping_fx[LS_SETUP_CONVERSION_NUM_ {IVAS_AUDIO_CONFIG_7_1_4, IVAS_AUDIO_CONFIG_5_1_4, ls_conversion_cicp19_cicp16_fx}, /* Upmix mappings - NULL implies a 1:1 upmix */ -#ifdef FIX_1419_MONO_STEREO_UMX {IVAS_AUDIO_CONFIG_MONO, IVAS_AUDIO_CONFIG_5_1, ls_conversion_mono_cicpX_fx}, {IVAS_AUDIO_CONFIG_MONO, IVAS_AUDIO_CONFIG_7_1, ls_conversion_mono_cicpX_fx}, {IVAS_AUDIO_CONFIG_MONO, IVAS_AUDIO_CONFIG_5_1_2, ls_conversion_mono_cicpX_fx}, {IVAS_AUDIO_CONFIG_MONO, IVAS_AUDIO_CONFIG_5_1_4, ls_conversion_mono_cicpX_fx}, {IVAS_AUDIO_CONFIG_MONO, IVAS_AUDIO_CONFIG_7_1_4, ls_conversion_mono_cicpX_fx}, -#endif {IVAS_AUDIO_CONFIG_STEREO, IVAS_AUDIO_CONFIG_5_1, NULL}, {IVAS_AUDIO_CONFIG_STEREO, IVAS_AUDIO_CONFIG_7_1, NULL}, {IVAS_AUDIO_CONFIG_STEREO, IVAS_AUDIO_CONFIG_5_1_2, NULL}, diff --git a/lib_rend/ivas_rotation_fx.c b/lib_rend/ivas_rotation_fx.c index c05ed40c38c22f118b07a0f742c3981a1ae16013..9cf46dad74f0cc4552d737c810c208a276e8f046 100644 --- a/lib_rend/ivas_rotation_fx.c +++ b/lib_rend/ivas_rotation_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -42,7 +14,6 @@ #include "wmc_auto.h" #include #include "ivas_prot_fx.h" -#include "debug.h" #include "ivas_rom_binaural_crend_head.h" @@ -1058,9 +1029,6 @@ void rotateFrame_shd_cldfb_fx( /* calculate Ambisonics rotation matrix from the quaternion */ SHrotmatgen_fx( SHrotmat, Rmat, shd_rot_max_order ); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) SHrotmat[0], HEADROT_SHMAT_DIM * HEADROT_SHMAT_DIM, "Fixed_SHrotmat.txt", NULL ); -#endif /* rotation by mtx multiplication */ FOR( i = 0; i < numTimeSlots; i++ ) @@ -1459,7 +1427,6 @@ ivas_error ivas_combined_orientation_open_fx( move16(); ( *hCombinedOrientationData )->cur_subframe_samples_rendered = 0; move16(); -#ifdef RTP_S4_251135_CR26253_0016_REV1 FOR( i = 0; i < ( 1 + IVAS_MAX_NUM_OBJECTS ); i++ ) { @@ -1468,7 +1435,6 @@ ivas_error ivas_combined_orientation_open_fx( } ( *hCombinedOrientationData )->isDiegeticInputPISet = FALSE; move16(); -#endif return IVAS_ERR_OK; } @@ -1545,20 +1511,10 @@ ivas_error combine_external_and_head_orientations_rend( sr_pose_pred_axis = DEFAULT_AXIS; -#ifdef FIX_1383_HEAD_TRACK_SANITIZER IF( hHeadTrackData->headRotEnabled ) { headRotQuaternions = hHeadTrackData->headPositions; listenerPos = hHeadTrackData->Pos; -#else - IF( hHeadTrackData != NULL ) - { - IF( hHeadTrackData->headRotEnabled ) - { - headRotQuaternions = hHeadTrackData->headPositions; - listenerPos = hHeadTrackData->Pos; - } -#endif sr_pose_pred_axis = hHeadTrackData->sr_pose_pred_axis; } ELSE IF( hExtOrientationData != NULL ) @@ -1659,7 +1615,6 @@ ivas_error combine_external_and_head_orientations( } ELSE IF( hExtOrientationData == NULL && headRotQuaternions != NULL ) { -#ifdef RTP_S4_251135_CR26253_0016_REV1 /* Disable head rotation if diegetic PI data indicating non-diegetic audio is received */ test(); test(); @@ -1691,13 +1646,6 @@ ivas_error combine_external_and_head_orientations( move16(); } } -#else - /* Head rotation only */ - FOR( i = 0; i < hCombinedOrientationData->num_subframes; i++ ) - { - hCombinedOrientationData->Quaternions[i] = headRotQuaternions[i]; - } -#endif } IF( hExtOrientationData != NULL ) @@ -1821,7 +1769,6 @@ ivas_error combine_external_and_head_orientations( move16(); } -#ifdef RTP_S4_251135_CR26253_0016_REV1 /* Disable head rotation if diegetic PI data indicating non-diegetic audio is received */ IF( hCombinedOrientationData->isDiegeticInputPISet && !hCombinedOrientationData->isDiegeticInputPI[0] && !hCombinedOrientationData->isDiegeticInputPI[1] && !hCombinedOrientationData->isDiegeticInputPI[2] && !hCombinedOrientationData->isDiegeticInputPI[3] && !hCombinedOrientationData->isDiegeticInputPI[4] ) { @@ -1864,32 +1811,6 @@ ivas_error combine_external_and_head_orientations( } } } -#else - /* Use the most recent head rotation */ - IF( EQ_16( hExtOrientationData->enableHeadRotation[i], 1 ) ) - { - IF( hExtOrientationData->enableExternalOrientation[i] > 0 ) - { - QuaternionProduct_fx( hCombinedOrientationData->Quaternions[i], headRotQuaternions[i], &hCombinedOrientationData->Quaternions[i] ); - } - ELSE - { - hCombinedOrientationData->Quaternions[i] = headRotQuaternions[i]; - } - } - /* Use the freezed head rotation */ - ELSE IF( EQ_16( hExtOrientationData->enableHeadRotation[i], 2 ) ) - { - IF( hExtOrientationData->enableExternalOrientation[i] > 0 ) - { - QuaternionProduct_fx( hCombinedOrientationData->Quaternions[i], hCombinedOrientationData->Quaternion_frozen_head, &hCombinedOrientationData->Quaternions[i] ); - } - ELSE - { - hCombinedOrientationData->Quaternions[i] = hCombinedOrientationData->Quaternion_frozen_head; - } - } -#endif /* Reset the combined orientations to identity */ test(); if ( hExtOrientationData->enableHeadRotation[i] == 0 && hExtOrientationData->enableExternalOrientation[i] == 0 ) @@ -2022,7 +1943,6 @@ ivas_error combine_external_and_head_orientations( } hCombinedOrientationData->sr_pose_pred_axis = sr_pose_pred_axis; -#ifdef IVAS_RTPDUMP /* Reset external orientations */ IF( hExtOrientationData != NULL ) @@ -2037,7 +1957,6 @@ ivas_error combine_external_and_head_orientations( move16(); } } -#endif return IVAS_ERR_OK; } diff --git a/lib_rend/ivas_sba_rendering_fx.c b/lib_rend/ivas_sba_rendering_fx.c index ff077e63ebe85d22865a09c14b7d8548f9826f49..67d04678419507ed779272f41675037e05bca8bd 100644 --- a/lib_rend/ivas_sba_rendering_fx.c +++ b/lib_rend/ivas_sba_rendering_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/ivas_shoebox_fx.c b/lib_rend/ivas_shoebox_fx.c index 36af55838b6dcbb024b46d75b7bfaf320a90ebc8..22842b23624546d9f0c15e7cf9ced51b9b76f1e1 100644 --- a/lib_rend/ivas_shoebox_fx.c +++ b/lib_rend/ivas_shoebox_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "options.h" #include diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h index 87f4e0832f7a053c4d43001d97c7dff967a72ac1..72f7aa125d36527dbe80807631d0ae5f87dd4477 100644 --- a/lib_rend/ivas_stat_rend.h +++ b/lib_rend/ivas_stat_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_STAT_REND_H #define IVAS_STAT_REND_H @@ -852,10 +824,8 @@ typedef struct ivas_combined_orientation_struct Word16 cur_subframe_samples_rendered; Word16 subframe_idx_start; Word16 cur_subframe_samples_rendered_start; -#ifdef RTP_S4_251135_CR26253_0016_REV1 bool isDiegeticInputPI[1 + IVAS_MAX_NUM_OBJECTS]; bool isDiegeticInputPISet; -#endif } COMBINED_ORIENTATION_DATA, *COMBINED_ORIENTATION_HANDLE; @@ -1467,9 +1437,6 @@ typedef struct Word32 release_heuristic_fx; /* Q30 */ Word32 attack_constant_fx; /* Q31 */ Word16 strong_saturation_count; -#ifdef DEBUGGING - int32_t cnt_frames_limited; /* counter of frames in which the limiter is applied */ -#endif } IVAS_LIMITER, *IVAS_LIMITER_HANDLE; @@ -1701,10 +1668,8 @@ typedef struct ivas_dirac_ana_data_structure typedef struct ivas_masa_prerend_data_structure { -#ifdef NONBE_1344_REND_MASA_LOW_FS Word16 nbands; Word16 band_grouping[MASA_FREQUENCY_BANDS + 1]; -#endif /* CLDFB analysis */ Word16 num_Cldfb_instances; diff --git a/lib_rend/ivas_td_decorr_fx.c b/lib_rend/ivas_td_decorr_fx.c index 14795da41b11854851fec67f7a8b67321ef0c517..e1adb1f7374a65cd0feecad0aba744cea384f489 100644 --- a/lib_rend/ivas_td_decorr_fx.c +++ b/lib_rend/ivas_td_decorr_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -38,9 +10,6 @@ #include "ivas_prot_rend_fx.h" #include "math.h" #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*------------------------------------------------------------------------------------------* * Local constants diff --git a/lib_rend/ivas_td_ring_buffer_fx.c b/lib_rend/ivas_td_ring_buffer_fx.c index 5866c31adc6b272694b7eefa339ba6030c8b09a8..f033be6576665b43f0fc3b0e568fd62f2f6eee2c 100644 --- a/lib_rend/ivas_td_ring_buffer_fx.c +++ b/lib_rend/ivas_td_ring_buffer_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -78,7 +50,6 @@ static Word16 ivas_td_ringbuf_has_space_for_num_samples( } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP static void ivas_td_ringbuf_push_interleaved( TD_RINGBUF_HANDLE h, /* i/o: Ring buffer handle */ const Word32 *data, /* i : Input audio in interleaved channels layout */ @@ -118,7 +89,6 @@ static void ivas_td_ringbuf_push_interleaved( return; } -#endif /*-----------------------------------------------------------------------* @@ -211,7 +181,6 @@ void ivas_TD_RINGBUF_Close( } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*---------------------------------------------------------------------* * ivas_TD_RINGBUF_PushInterleaved() * @@ -241,45 +210,24 @@ void ivas_TD_RINGBUF_PushChannels( const Word32 *p_channels[], /* i : Array of pointers to each input channel */ const Word16 num_samples_per_channel /* i : Number of samples per channel to push */ ) -#else -/*---------------------------------------------------------------------* - * ivas_TD_RINGBUF_Push() - * - * Push samples onto the back of the TD ring buffer. - * Returns total number of buffered samples (includes number of channels) - *---------------------------------------------------------------------*/ - -void ivas_TD_RINGBUF_Push( - TD_RINGBUF_HANDLE h, /* i/o: Ring buffer handle */ - const Word32 *data, /* i : Input data */ - const Word16 num_samples_per_channel /* i : Number of samples per channel to store */ -) -#endif { Word32 s; Word16 c; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP assert( h != NULL ); assert( p_channels != NULL ); for ( c = 0; c < h->num_channels; ++c ) /* Not using BASOP FOR because this loops only does assertions */ { assert( p_channels[c] != NULL ); } -#endif assert( ivas_td_ringbuf_has_space_for_num_samples( h, num_samples_per_channel * h->num_channels ) ); FOR( s = 0; s < num_samples_per_channel; ++s ) { FOR( c = 0; c < h->num_channels; ++c ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP h->data[h->write_pos] = p_channels[c][s]; move32(); -#else - h->data[h->write_pos] = data[L_mac0( s, c, num_samples_per_channel )]; - move32(); -#endif h->write_pos = L_add( h->write_pos, 1 ); if ( EQ_32( h->write_pos, h->capacity ) ) @@ -300,7 +248,6 @@ void ivas_TD_RINGBUF_Push( } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*---------------------------------------------------------------------* * ivas_TD_RINGBUF_PushConstant() * @@ -317,55 +264,8 @@ void ivas_TD_RINGBUF_PushConstant( return; } -#else -/*---------------------------------------------------------------------* - * ivas_TD_RINGBUF_PushZeros() - * - * Push zero samples onto the back of the TD ring buffer. - *---------------------------------------------------------------------*/ - -void ivas_TD_RINGBUF_PushZeros( - TD_RINGBUF_HANDLE h, /* i/o: Ring buffer handle */ - const Word16 num_samples_per_channel /* i : Number of zeros per channel to store */ -) -{ - Word32 s; - Word16 c; - assert( ivas_td_ringbuf_has_space_for_num_samples( h, num_samples_per_channel * h->num_channels ) ); - IF( !num_samples_per_channel ) - { - return; - } - - FOR( s = 0; s < num_samples_per_channel; ++s ) - { - FOR( c = 0; c < h->num_channels; ++c ) - { - h->data[h->write_pos] = 0; - move32(); - h->write_pos = L_add( h->write_pos, 1 ); - IF( EQ_32( h->write_pos, h->capacity ) ) - { - h->write_pos = 0; - move32(); - } - } - } - - if ( EQ_32( h->read_pos, h->write_pos ) ) - { - h->is_full = 1; - move16(); - } - - return; -} -#endif - - -#ifdef FIX_1119_SPLIT_RENDERING_VOIP /*---------------------------------------------------------------------* * ivas_TD_RINGBUF_PopChannels() * @@ -377,44 +277,24 @@ void ivas_TD_RINGBUF_PopChannels( Word32 *p_channels[], /* i : Array of pointers to each output channel */ const Word16 num_samples_per_channel /* i : Number of samples per channel to pop */ ) -#else -/*---------------------------------------------------------------------* - * ivas_TD_RINGBUF_Pop() - * - * Pop samples from the front of the TD ring buffer. - *---------------------------------------------------------------------*/ - -void ivas_TD_RINGBUF_Pop( - TD_RINGBUF_HANDLE h, /* i/o: Ring buffer handle */ - Word32 *data, /* i : Output data */ - const Word16 num_samples_per_channel /* i : Number of samples per channel to retrieve */ -) -#endif { Word32 s; Word16 c; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP assert( h != NULL ); assert( p_channels != NULL ); for ( c = 0; c < h->num_channels; ++c ) /* Not using BASOP FOR because this loops only does assertions */ { assert( p_channels[c] != NULL ); } -#endif assert( ivas_td_ringbuf_total_size( h ) >= num_samples_per_channel * h->num_channels ); FOR( s = 0; s < num_samples_per_channel; ++s ) { FOR( c = 0; c < h->num_channels; ++c ) { -#ifdef FIX_1119_SPLIT_RENDERING_VOIP p_channels[c][s] = h->data[h->read_pos]; move32(); -#else - data[L_mac0( s, c, num_samples_per_channel )] = h->data[h->read_pos]; - move32(); -#endif ++h->read_pos; IF( EQ_32( h->read_pos, h->capacity ) ) @@ -425,19 +305,11 @@ void ivas_TD_RINGBUF_Pop( } } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP IF( NE_16( num_samples_per_channel, 0 ) ) { h->is_full = 0; move16(); } -#else - IF( h->is_full ) - { - h->is_full = 0; - move16(); - } -#endif return; } diff --git a/lib_rend/ivas_vbap_fx.c b/lib_rend/ivas_vbap_fx.c index ec24a33628bdabc5d80a5e854501304680790682..bfea6be35b233fe55dd1bc12d9007a7654670be0 100644 --- a/lib_rend/ivas_vbap_fx.c +++ b/lib_rend/ivas_vbap_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "options.h" diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index 1dd238afd2d49c8d381a1387dab5e85e6d4e6ca3..f5a3e7323eca695df56aa577c67ec9c8f35080d8 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef LIB_REND_H #define LIB_REND_H @@ -268,7 +240,6 @@ ivas_error IVAS_REND_FeedRenderConfig( IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS renderer handle */ const IVAS_RENDER_CONFIG_DATA renderConfig /* i : Render configuration struct */ ); -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE ivas_error IVAS_REND_GetReverbRoomSize( IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS renderer handle */ @@ -279,7 +250,6 @@ ivas_error IVAS_REND_SetReverbRoomSize( IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS renderer handle */ const IVAS_ROOM_SIZE_T reverbRoomSize /* i : Reverb room size */ ); -#endif ivas_error IVAS_REND_FeedSplitBinauralBitstream( IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ @@ -304,12 +274,8 @@ ivas_error IVAS_REND_GetSplitRendBitstreamHeader( ISAR_SPLIT_REND_CODEC *pCodec, /* o : pointer to codec setting */ ISAR_SPLIT_REND_POSE_CORRECTION_MODE *poseCorrection, /* o : pointer to pose correction mode */ Word16 *pCodec_frame_size_ms, /* o : pointer to codec frame size setting */ -#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES Word16 *pIsar_frame_size_ms, /* o : pointer to ISAR frame size setting */ Word16 *pLc3plusHighRes /* o : pointer to LC3plus High-Res setting */ -#else - Word16 *pIsar_frame_size_ms /* o : pointer to ISAR frame size setting */ -#endif ); ivas_error IVAS_REND_SetHeadRotation( diff --git a/lib_rend/lib_rend_fx.c b/lib_rend/lib_rend_fx.c index b70cdcadb92b01ef968b8efd983a3f7217c9720e..15ff7f3ba8754e8a6060835cd6f9d3a79ae9c15b 100644 --- a/lib_rend/lib_rend_fx.c +++ b/lib_rend/lib_rend_fx.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "basop32.h" #include "basop_util.h" @@ -53,9 +25,6 @@ #include #include #include "wmc_auto.h" -#ifdef DEBUGGING -#include "debug.h" -#endif /*-------------------------------------------------------------------* * Local constants @@ -102,9 +71,7 @@ typedef struct const Word16 *pSplitRendBFI; const SPLIT_REND_WRAPPER *pSplitRendWrapper; const COMBINED_ORIENTATION_HANDLE *pCombinedOrientationData; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE const IVAS_DefaultReverbSize *pSelectedRoomReverbSize; -#endif } rendering_context; /* Common base for input structs */ @@ -233,13 +200,8 @@ struct IVAS_REND Word8 rendererConfigEnabled; RENDER_CONFIG_DATA *hRendererConfig; /* Renderer config pointer */ -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE IVAS_DefaultReverbSize selectedRoomReverbSize; -#endif -#ifdef DEBUGGING - Word32 numClipping; /* Counter of clipped output samples */ -#endif Word16 num_subframes; hrtf_handles hHrtfs; @@ -507,7 +469,6 @@ static void accumulate2dArrayToBuffer_fx( * In-place saturation control for multichannel buffers with adaptive release time *-------------------------------------------------------------------*/ -#ifndef DISABLE_LIMITER /*! r: number of clipped output samples */ static Word32 limitRendererOutput_fx( IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle */ @@ -551,7 +512,6 @@ static Word32 limitRendererOutput_fx( return numClipping; } -#endif /*-------------------------------------------------------------------* * validateOutputAudioConfig() @@ -1378,9 +1338,7 @@ static rendering_context getRendCtx( ctx.pSplitRendBFI = &hIvasRend->splitRendBFI; ctx.pSplitRendWrapper = hIvasRend->splitRendWrapper; ctx.pCombinedOrientationData = &hIvasRend->hCombinedOrientationData; -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE ctx.pSelectedRoomReverbSize = &hIvasRend->selectedRoomReverbSize; -#endif return ctx; } @@ -1655,11 +1613,9 @@ static ivas_error alignInputDelay( input_ism *inputIsm; Word16 maxGlobalDelaySamples, numSamplesToPush, numSamplesToPop; UWord16 ringBufferSize, preDelay; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word16 i; const Word32 *p_read_channels[MAX_INPUT_CHANNELS]; Word32 *p_write_channels[MAX_INPUT_CHANNELS]; -#endif maxGlobalDelaySamples = latencyNsToSamples( sampleRateOut, maxGlobalDelayNs ); maxGlobalDelaySamples = shl( maxGlobalDelaySamples, cldfb2tdSampleShift ); @@ -1684,11 +1640,7 @@ static ivas_error alignInputDelay( /* for the first frame we need to push zeros to align the input delay to the global delay * and then push a frame of actual data */ -#ifdef FIX_1119_SPLIT_RENDERING_VOIP ivas_TD_RINGBUF_PushConstant( inputBase->delayBuffer, 0, preDelay ); -#else - ivas_TD_RINGBUF_PushZeros( inputBase->delayBuffer, preDelay ); -#endif /* for ISM inputs, ensure the metadata sync delay is updated */ IF( getAudioConfigType( inputBase->inConfig ) == IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED ) @@ -1722,7 +1674,6 @@ static ivas_error alignInputDelay( move16(); } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP FOR( i = 0; i < inputAudio.config.numChannels; ++i ) { Word32 tmp; @@ -1740,10 +1691,6 @@ static ivas_error alignInputDelay( p_write_channels[i] = inputBase->inputBuffer.data_fx + tmp; } ivas_TD_RINGBUF_PopChannels( inputBase->delayBuffer, p_write_channels, numSamplesToPop ); -#else - ivas_TD_RINGBUF_Push( inputBase->delayBuffer, inputAudio.data_fx, numSamplesToPush ); - ivas_TD_RINGBUF_Pop( inputBase->delayBuffer, inputBase->inputBuffer.data_fx, numSamplesToPop ); -#endif } ELSE { @@ -3636,10 +3583,8 @@ ivas_error IVAS_REND_Open( move32(); hIvasRend->efapOutWrapper.pCustomLsSetup = NULL; move32(); -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE hIvasRend->selectedRoomReverbSize = DEFAULT_REVERB_UNSET; move32(); -#endif hIvasRend->num_subframes = num_subframes; move16(); @@ -4391,7 +4336,6 @@ static ivas_error isar_pre_rend_init( return IVAS_ERR_OK; } -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE static IVAS_ROOM_SIZE_T getDefaultReverbSize( input_ism *ismInputs, input_masa *masaInputs, @@ -4483,7 +4427,6 @@ static IVAS_ROOM_SIZE_T getDefaultReverbSize( return selectedReverb; } -#endif /*-------------------------------------------------------------------* * IVAS_REND_AddInput() @@ -4591,7 +4534,6 @@ ivas_error IVAS_REND_AddInput_fx( /* set global maximum delay after adding an input */ setMaxGlobalDelayNs( hIvasRend ); -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE /* select default reverb size after adding an input */ IF( EQ_32( hIvasRend->selectedRoomReverbSize, DEFAULT_REVERB_UNSET ) ) @@ -4602,7 +4544,6 @@ ivas_error IVAS_REND_AddInput_fx( hIvasRend->inputsMc, hIvasRend->inputsSba ) ); } -#endif return IVAS_ERR_OK; } @@ -5262,10 +5203,8 @@ ivas_error IVAS_REND_GetRenderConfig( } hRCin = hIvasRend->hRendererConfig; -#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; @@ -5294,9 +5233,7 @@ ivas_error IVAS_REND_GetRenderConfig( move16(); move32(); -#ifdef FIX_1053_REVERB_RECONFIGURATION Copy32( hRCin->distAtt_fx, hRCout->distAtt_fx, 3 ); -#endif return IVAS_ERR_OK; } @@ -5329,10 +5266,8 @@ ivas_error IVAS_REND_FeedRenderConfig( hRenderConfig = hIvasRend->hRendererConfig; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT hRenderConfig->roomAcoustics.aeID = renderConfig.roomAcoustics.aeID; move16(); -#endif hRenderConfig->roomAcoustics.nBands = renderConfig.roomAcoustics.nBands; move16(); hRenderConfig->roomAcoustics.acousticPreDelay_fx = renderConfig.roomAcoustics.acousticPreDelay_fx; @@ -5343,9 +5278,7 @@ ivas_error IVAS_REND_FeedRenderConfig( Copy32( renderConfig.roomAcoustics.pAcoustic_rt60_fx, hRenderConfig->roomAcoustics.pAcoustic_rt60_fx, CLDFB_NO_CHANNELS_MAX ); Copy32( renderConfig.roomAcoustics.pAcoustic_dsr_fx, hRenderConfig->roomAcoustics.pAcoustic_dsr_fx, CLDFB_NO_CHANNELS_MAX ); Copy( renderConfig.directivity_fx, hRenderConfig->directivity_fx, 3 * MAX_NUM_OBJECTS ); -#ifdef FIX_1053_REVERB_RECONFIGURATION Copy32( renderConfig.distAtt_fx, hRenderConfig->distAtt_fx, 3 ); -#endif hRenderConfig->roomAcoustics.use_er = 0; move16(); @@ -5832,7 +5765,6 @@ ivas_error IVAS_REND_CombineHeadAndExternalOrientation( * *---------------------------------------------------------------------*/ -#ifdef FIX_1318_ROOM_SIZE_CMD_LINE /*---------------------------------------------------------------------* * IVAS_REND_GetReverbRoomSize() @@ -5915,7 +5847,6 @@ ivas_error IVAS_REND_SetReverbRoomSize( return IVAS_ERR_OK; } -#endif /*-------------------------------------------------------------------* @@ -6357,10 +6288,6 @@ static ivas_error rotateFrameSba_fx( /* calculate ambisonics rotation matrices for the previous and current frames */ SHrotmatgen_fx( gains, Rmat, shd_rot_max_order ); -#ifdef DEBUGGING - dbgwrite_txt( (const float *) ( gains[0] ), HEADROT_SHMAT_DIM * HEADROT_SHMAT_DIM, "Fixed_code_gains.txt", NULL ); - dbgwrite_txt( (const float *) ( Rmat[0] ), 3 * 3, "Fixed_code_Rmat.txt", NULL ); -#endif FOR( i = 0; i < subframe_len; i++ ) { idx = add( imult1616( subframe_idx, subframe_len ), i ); @@ -8778,23 +8705,12 @@ static void renderMasaToMasa( Word16 q_add = sub( 31, add( scale_factor, q_cldfb_out ) ); /* Compute channel energy for metadata processing */ -#ifdef NONBE_1344_REND_MASA_LOW_FS FOR( band_m_idx = 0; band_m_idx < masaInput->hMasaPrerend->nbands; band_m_idx++ ) -#else - FOR( band_m_idx = 0; band_m_idx < MASA_FREQUENCY_BANDS; band_m_idx++ ) -#endif { -#ifdef NONBE_1344_REND_MASA_LOW_FS brange[0] = masaInput->hMasaPrerend->band_grouping[band_m_idx]; move16(); brange[1] = masaInput->hMasaPrerend->band_grouping[band_m_idx + 1]; move16(); -#else - brange[0] = MASA_band_grouping_24[band_m_idx]; - move16(); - brange[1] = MASA_band_grouping_24[band_m_idx + 1]; - move16(); -#endif FOR( j = brange[0]; j < brange[1]; j++ ) { FOR( i = 0; i < numAnalysisChannels; i++ ) @@ -9465,9 +9381,7 @@ ivas_error IVAS_REND_GetSamples( IF( EQ_16( outAudio.config.is_cldfb, 0 ) ) { Word32 limiter_threshold = L_lshl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); -#ifndef DISABLE_LIMITER limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); -#endif } /* update global cominbed orientation start index */ @@ -9503,7 +9417,6 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream( Word16 max_bands; Word16 Q_out[2]; Word16 pcm_out_flag; -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word32 *p_Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX]; Word32 *p_Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES * BINAURAL_CHANNELS][CLDFB_NO_COL_MAX]; Word16 j; @@ -9516,7 +9429,6 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream( p_Cldfb_ImagBuffer_Binaural[i][j] = Cldfb_ImagBuffer_Binaural[i][j]; } } -#endif max_bands = 0; move16(); @@ -9616,11 +9528,7 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream( } } -#ifdef FIX_1119_SPLIT_RENDERING_VOIP Word16 q1 = 31, q2 = 31, Q_buff; -#else - Word16 q1 = 31, q2 = 31, Q_buff, j; -#endif Word16 num_poses = hIvasRend->splitRendWrapper->multiBinPoseData.num_poses; FOR( i = 0; i < num_poses * BINAURAL_CHANNELS; i++ ) @@ -9661,7 +9569,6 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream( } max_bands = extract_l( Mpy_32_32( imult3216( hIvasRend->sampleRateOut, BINAURAL_MAXBANDS ), 44740 /* 1/48000 in Q31 */ ) ); -#ifdef FIX_1119_SPLIT_RENDERING_VOIP IF( ( error = ISAR_PRE_REND_MultiBinToSplitBinaural( hIvasRend->splitRendWrapper, hIvasRend->headRotData.headPositions[0], pSplitRendConfig->splitRendBitRate, @@ -9679,25 +9586,6 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream( ro_md_flag, Q_buff, Q_out ) ) != IVAS_ERR_OK ) -#else - IF( ( error = ISAR_PRE_REND_MultiBinToSplitBinaural( hIvasRend->splitRendWrapper, - hIvasRend->headRotData.headPositions[0], - pSplitRendConfig->splitRendBitRate, - pSplitRendConfig->codec, - pSplitRendConfig->isar_frame_size_ms, - pSplitRendConfig->codec_frame_size_ms, - &bits, - Cldfb_RealBuffer_Binaural, - Cldfb_ImagBuffer_Binaural, - max_bands, - tmpBinaural, - 1, - cldfb_in_flag, - pcm_out_flag, - ro_md_flag, - Q_buff, - Q_out ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -9723,12 +9611,7 @@ ivas_error IVAS_REND_GetSplitBinauralBitstream( IF( EQ_16( outAudio.config.is_cldfb, 0 ) ) { Word32 limiter_threshold = L_lshl( IVAS_LIMITER_THRESHOLD, *outAudio.pq_fact ); -#ifndef DISABLE_LIMITER -#ifdef DEBUGGING - hIvasRend->numClipping += -#endif - limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); -#endif + limitRendererOutput_fx( hIvasRend->hLimiter, outAudio.data_fx, outAudio.config.numSamplesPerChannel, limiter_threshold, *outAudio.pq_fact ); } /* update global cominbed orientation start index */ @@ -9749,12 +9632,8 @@ ivas_error IVAS_REND_GetSplitRendBitstreamHeader( ISAR_SPLIT_REND_CODEC *pCodec, /* o : pointer to codec setting */ ISAR_SPLIT_REND_POSE_CORRECTION_MODE *poseCorrection, /* o : pointer to pose correction mode */ Word16 *pCodec_frame_size_ms, /* o : pointer to codec frame size setting */ -#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES - Word16 *pIsar_frame_size_ms, /* o : pointer to ISAR frame size setting */ - Word16 *pLc3plusHighRes /* o : pointer to LC3plus High-Res setting */ -#else - Word16 *pIsar_frame_size_ms /* o : pointer to ISAR frame size setting */ -#endif + Word16 *pIsar_frame_size_ms, /* o : pointer to ISAR frame size setting */ + Word16 *pLc3plusHighRes /* o : pointer to LC3plus High-Res setting */ ) { test(); @@ -9767,9 +9646,7 @@ ivas_error IVAS_REND_GetSplitRendBitstreamHeader( *pCodec_frame_size_ms = hIvasRend->hRendererConfig->split_rend_config.codec_frame_size_ms; *pIsar_frame_size_ms = hIvasRend->hRendererConfig->split_rend_config.isar_frame_size_ms; *poseCorrection = hIvasRend->hRendererConfig->split_rend_config.poseCorrectionMode; -#ifdef FIX_1437_LC3PLUS_EXTREND_HIRES *pLc3plusHighRes = hIvasRend->hRendererConfig->split_rend_config.lc3plus_highres; -#endif return IVAS_ERR_OK; } diff --git a/lib_util/aeid_file_reader.c b/lib_util/aeid_file_reader.c index 02ec5de808a8183f04d19a91b18b4620b4df05f5..64b19745e8078a519a0c43a234ebbff827fc223e 100644 --- a/lib_util/aeid_file_reader.c +++ b/lib_util/aeid_file_reader.c @@ -1,37 +1,8 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "aeid_file_reader.h" -#ifdef FIX_1053_REVERB_RECONFIGURATION #include "ivas_error_utils.h" #include #include @@ -184,4 +155,3 @@ const char *aeidFileReader_getFilePath( return aeidReader->file_path; } -#endif diff --git a/lib_util/aeid_file_reader.h b/lib_util/aeid_file_reader.h index 6049ecc6b54c75f49e8a12852752e2c0b40c0a03..3db99f9e3e7f6447710e3100a39797634407a30a 100644 --- a/lib_util/aeid_file_reader.h +++ b/lib_util/aeid_file_reader.h @@ -1,42 +1,13 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #pragma once -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of 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 IVAS_AEID_FILE_READER_H #define IVAS_AEID_FILE_READER_H #include "common_api_types.h" -#ifdef FIX_1053_REVERB_RECONFIGURATION struct aeidFileReader; typedef struct aeidFileReader aeidFileReader; @@ -85,6 +56,5 @@ const char *aeidFileReader_getFilePath( aeidFileReader *aeidReader /* i : aeidFileReader handle */ ); -#endif #endif /* IVAS_AEID_FILE_READER_H */ diff --git a/lib_util/ambi_convert.c b/lib_util/ambi_convert.c index 6b506e7edaeaaa4b559701d065c904e2e48d42a4..9b04c391b8a28c951bfc9189871fcdb0ee5d980f 100644 --- a/lib_util/ambi_convert.c +++ b/lib_util/ambi_convert.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include diff --git a/lib_util/ambi_convert.h b/lib_util/ambi_convert.h index cbb50af3fb2f999074cf067aadbc7c959b821bb5..6ac1b0a9f6fd1ebeed5370d671c0485d5da7518d 100644 --- a/lib_util/ambi_convert.h +++ b/lib_util/ambi_convert.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef AMBI_CONVERT_H #define AMBI_CONVERT_H diff --git a/lib_util/audio_file_reader.c b/lib_util/audio_file_reader.c index 0b6e44660de1d29b008868b1d847522f052bc56a..b8f60ee58359adbe945efb2c8b81ca2f804c7a2e 100644 --- a/lib_util/audio_file_reader.c +++ b/lib_util/audio_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "audio_file_reader.h" #include "tinywavein_c.h" diff --git a/lib_util/audio_file_reader.h b/lib_util/audio_file_reader.h index 571c1e765637e1cb30ac9afa9cb49b45127886b7..2662fffc48228f3d2f40e02ed4761026e2a3fc31 100644 --- a/lib_util/audio_file_reader.h +++ b/lib_util/audio_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_AUDIO_FILE_READER_H #define IVAS_AUDIO_FILE_READER_H diff --git a/lib_util/audio_file_writer.c b/lib_util/audio_file_writer.c index eb93018341780d232df13483268f295577e21cae..dc5d6bfabb3ab0ec88460fcd6b741397d18ffd78 100644 --- a/lib_util/audio_file_writer.c +++ b/lib_util/audio_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "audio_file_writer.h" #include "tinywaveout_c.h" diff --git a/lib_util/audio_file_writer.h b/lib_util/audio_file_writer.h index 2622992cecbbb4875a6aa5d7440492bc0d9ccb86..00f48112b5acb80e746d69d2c2daccd874323054 100644 --- a/lib_util/audio_file_writer.h +++ b/lib_util/audio_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_AUDIO_FILE_WRITER_H #define IVAS_AUDIO_FILE_WRITER_H diff --git a/lib_util/bitstream_reader.c b/lib_util/bitstream_reader.c index 6d40260b56dc5b21d8834c16f6e988175d89892a..cc7019bf5d549787e236c0c7add5a8f57daabdbb 100644 --- a/lib_util/bitstream_reader.c +++ b/lib_util/bitstream_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "bitstream_reader.h" #include "g192.h" diff --git a/lib_util/bitstream_reader.h b/lib_util/bitstream_reader.h index fb6f9f9b9dac7304cd1bf029cdf2c2822991f62c..73cde5323644a47d2a78272d494c1f42146724fd 100644 --- a/lib_util/bitstream_reader.h +++ b/lib_util/bitstream_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef BITSTREAM_READER_H #define BITSTREAM_READER_H diff --git a/lib_util/bitstream_writer.c b/lib_util/bitstream_writer.c index bff9f461b15992ed3c953a83a19f2c22cc496ed6..4e9e3a90588040f78ba9cb8645ce304ead9e78d4 100644 --- a/lib_util/bitstream_writer.c +++ b/lib_util/bitstream_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "bitstream_writer.h" #include "g192.h" diff --git a/lib_util/bitstream_writer.h b/lib_util/bitstream_writer.h index f3efd4ddf2ec85beea05af186ffa68cbed225b2f..c88b721f84a8772c3e5b5702c18efd7f0448c8fd 100644 --- a/lib_util/bitstream_writer.h +++ b/lib_util/bitstream_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef BITSTREAM_WRITER_H #define BITSTREAM_WRITER_H diff --git a/lib_util/cmdl_tools.c b/lib_util/cmdl_tools.c index 945bda07de0918d6784d1edfddfa415040029485..05bbfece9a7150e086af6f29187038c17aacf843 100644 --- a/lib_util/cmdl_tools.c +++ b/lib_util/cmdl_tools.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "cmdl_tools.h" #include diff --git a/lib_util/cmdl_tools.h b/lib_util/cmdl_tools.h index 327acb93d0b1d528874de8ef018a36686379b778..e533c5692d94a2bd4a7706cf966a19f23f62a1a9 100644 --- a/lib_util/cmdl_tools.h +++ b/lib_util/cmdl_tools.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef CMDL_TOOLS_H #define CMDL_TOOLS_H diff --git a/lib_util/cmdln_parser.c b/lib_util/cmdln_parser.c index 1b9eb7a92899f1b62df0e925fc7f3882c2512012..298f73ed0fa6b56c0b2bb27a0edf4a108d80b977 100644 --- a/lib_util/cmdln_parser.c +++ b/lib_util/cmdln_parser.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "cmdln_parser.h" #include "cmdl_tools.h" diff --git a/lib_util/cmdln_parser.h b/lib_util/cmdln_parser.h index 2627d556624dc0de59ca01a5f342d684d066d277..6672ff48ccf49278d95046972df5e85f5a7ac646 100644 --- a/lib_util/cmdln_parser.h +++ b/lib_util/cmdln_parser.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef CMDLN_PARSER_H #define CMDLN_PARSER_H diff --git a/lib_util/evs_rtp_payload.c b/lib_util/evs_rtp_payload.c index 7ee96ba06d623a44f9d75cf25f2d9827d84632c3..c98fc99eed95b0cf70d0c31921693a670715b308 100644 --- a/lib_util/evs_rtp_payload.c +++ b/lib_util/evs_rtp_payload.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_util/evs_rtp_payload.h b/lib_util/evs_rtp_payload.h index 9514677e3aed82f552adb816c6365916985adc79..a2bef44c9ae20fcbf156275973784a4176e7a70d 100644 --- a/lib_util/evs_rtp_payload.h +++ b/lib_util/evs_rtp_payload.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_util/float_to_fix_ops.c b/lib_util/float_to_fix_ops.c index 4bab0a6b1d9a7b8012257c039f374a6757ab5314..e1a22fbb69c4cabba03bd8a957990be27dbe2935 100644 --- a/lib_util/float_to_fix_ops.c +++ b/lib_util/float_to_fix_ops.c @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "common_api_types.h" #include "float_to_fix_ops.h" diff --git a/lib_util/float_to_fix_ops.h b/lib_util/float_to_fix_ops.h index 0cd23cbc687c24b8026a754c0acbd320a466c14f..7a345eabf54845e266990cf64c616b80cbc85fe3 100644 --- a/lib_util/float_to_fix_ops.h +++ b/lib_util/float_to_fix_ops.h @@ -1,3 +1,6 @@ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "common_api_types.h" diff --git a/lib_util/g192.c b/lib_util/g192.c index 99c0b84dc66d287e6a34e5b429ce56212b40d8b2..1ba07cd7c29cbc68e46a5d4167b76a693eb885ef 100644 --- a/lib_util/g192.c +++ b/lib_util/g192.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -482,11 +454,7 @@ G192_ERROR G192_WriteVoipFrame_short( const uint16_t *serial, const int16_t numBits, uint16_t const rtpSequenceNumber, -#ifdef IVAS_RTPDUMP uint32_t const rtpTimeStamp, -#else - uint16_t const rtpTimeStamp, -#endif uint32_t const rcvTime_ms ) { int16_t G192_HEADER[2], G192_DATA[IVAS_MAX_BITS_PER_FRAME]; diff --git a/lib_util/g192.h b/lib_util/g192.h index e2f28a0f653da0c604963403573fc42b6101241f..660e66c871218bfe0f923b8a87da34abf177eef7 100644 --- a/lib_util/g192.h +++ b/lib_util/g192.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -93,11 +65,7 @@ G192_ERROR G192_Writer_Open_filename( G192_HANDLE *phG192, const char *filename G192_ERROR G192_WriteFrame( G192_HANDLE const hG192, const uint16_t *serial, const int16_t numBits ); -#ifdef IVAS_RTPDUMP G192_ERROR G192_WriteVoipFrame_short( G192_HANDLE const hG192, const uint16_t *serial, const int16_t num_bits, uint16_t const rtpSequenceNumber, uint32_t const rtpTimeStamp, uint32_t const rcvTime_ms ); -#else -G192_ERROR G192_WriteVoipFrame_short( G192_HANDLE const hG192, const uint16_t *serial, const int16_t num_bits, uint16_t const rtpSequenceNumber, uint16_t const rtpTimeStamp, uint32_t const rcvTime_ms ); -#endif G192_ERROR G192_Writer_Close( G192_HANDLE *phG192 ); diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index db7d42d7c264e78ba1414281cd8416e0428a67ec..a4f42b93de38bebdd75364c6bbd06e414fb4378b 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "hrtf_file_reader.h" #include diff --git a/lib_util/hrtf_file_reader.h b/lib_util/hrtf_file_reader.h index 105ee0ace97155bbff8e9e8273cc41e25bbb29c2..1acd234009f9f8e2ab3451ab6c6b7b3af2994010 100644 --- a/lib_util/hrtf_file_reader.h +++ b/lib_util/hrtf_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_HRTF_FILE_READER_H #define IVAS_HRTF_FILE_READER_H diff --git a/lib_util/ism_file_reader.c b/lib_util/ism_file_reader.c index 2cced2665ac1f26de63f8b41716d85eb7de77b1d..057515ae954b362269e41419e6c9518811c3922f 100644 --- a/lib_util/ism_file_reader.c +++ b/lib_util/ism_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "ism_file_reader.h" #include "cmdl_tools.h" @@ -155,18 +127,7 @@ ivas_error IsmFileReader_readNextFrame( /* Invalid number of metadata parameters (2-7 supported) */ return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; } -#ifndef FIX_2084_FLOATING_POINT_LEFTOVERS - ismMetadata->azimuth = meta_prm[0]; - ismMetadata->elevation = meta_prm[1]; - ismMetadata->radius = meta_prm[2]; - ismMetadata->spread = meta_prm[3]; - ismMetadata->gainFactor = meta_prm[4]; - ismMetadata->yaw = meta_prm[5]; - ismMetadata->pitch = meta_prm[6]; - ismMetadata->non_diegetic_flag = (int16_t) meta_prm[7]; -#else ismMetadata->non_diegetic_flag = (Word16) meta_prm[7]; -#endif ismMetadata->azimuth_fx = floatToFixed( meta_prm[0], Q22 ); ismMetadata->elevation_fx = floatToFixed( meta_prm[1], Q22 ); ismMetadata->radius_fx = (Word16) floatToFixed( meta_prm[2], Q9 ); @@ -181,59 +142,31 @@ ivas_error IsmFileReader_readNextFrame( return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS if ( ( ismMetadata->azimuth_fx > DEG_180_IN_Q22 ) || ( ismMetadata->azimuth_fx < -DEG_180_IN_Q22 ) ) -#else - if ( ismMetadata->azimuth > 180 || ismMetadata->azimuth < -180 ) -#endif { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS if ( ( ismMetadata->elevation_fx > DEG_90_IN_Q22 ) || ( ismMetadata->elevation_fx < -DEG_90_IN_Q22 ) ) -#else - if ( ismMetadata->elevation > 90 || ismMetadata->elevation < -90 ) -#endif { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS if ( ismMetadata->radius_fx < 0 ) /* Negative radius not supported. Max quantized radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */ -#else - if ( ismMetadata->radius < 0 ) /* Negative radius not supported. Max quantized radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */ -#endif { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS if ( ( ismMetadata->spread_fx > DEG_360_IN_Q22 ) || ( ismMetadata->spread_fx < 0 ) ) -#else - if ( ismMetadata->spread > 360 || ismMetadata->spread < 0 ) -#endif { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS if ( /*( ismMetadata->gainFactor_fx > ONE_IN_Q31 ) ||*/ ( ismMetadata->gainFactor_fx < 0 ) ) -#else - if ( ismMetadata->gainFactor > 1 || ismMetadata->gainFactor < 0 ) -#endif { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS if ( ( ismMetadata->yaw_fx > DEG_180_IN_Q22 ) || ( ismMetadata->yaw_fx < -DEG_180_IN_Q22 ) ) -#else - if ( ismMetadata->yaw > 180 || ismMetadata->yaw < -180 ) -#endif { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS if ( ( ismMetadata->pitch_fx > DEG_90_IN_Q22 ) || ( ismMetadata->pitch_fx < -DEG_90_IN_Q22 ) ) -#else - if ( ismMetadata->pitch > 90 || ismMetadata->pitch < -90 ) -#endif { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } diff --git a/lib_util/ism_file_reader.h b/lib_util/ism_file_reader.h index c785cc294bde7cbd4c37e9bfb76856f9b172f5c8..5c2c22c947800fb9c781f34f6f319e283f4026ba 100644 --- a/lib_util/ism_file_reader.h +++ b/lib_util/ism_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_ISM_FILE_READER_H #define IVAS_ISM_FILE_READER_H diff --git a/lib_util/ism_file_writer.c b/lib_util/ism_file_writer.c index ba53566af0fa8142cfd23ec853d55c20bdd15eae..5df6c0d04eeaca97cfe3c15c87a7db519d2ebbe5 100644 --- a/lib_util/ism_file_writer.c +++ b/lib_util/ism_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "ism_file_writer.h" #include @@ -116,7 +88,6 @@ ivas_error IsmFileWriter_writeFrame( } file = ismWriter->file; -#ifdef FIX_2084_FLOATING_POINT_LEFTOVERS float azimuth = fixedToFloat( ismMetadata.azimuth_fx, Q22 ); float elevation = fixedToFloat( ismMetadata.elevation_fx, Q22 ); float radius = fix16_to_float( ismMetadata.radius_fx, Q9 ); @@ -126,17 +97,6 @@ ivas_error IsmFileWriter_writeFrame( float pitch = fixedToFloat( ismMetadata.pitch_fx, Q22 ); snprintf( char_buff, sizeof( char_buff ), "%+07.2f,%+06.2f,%05.2f,%06.2f,%04.2f,%+07.2f,%+06.2f,%d\n", azimuth, elevation, radius, spread, gainFactor, yaw, pitch, ismMetadata.non_diegetic_flag ); -#else - ismMetadata.azimuth = fixedToFloat( ismMetadata.azimuth_fx, Q22 ); - ismMetadata.elevation = fixedToFloat( ismMetadata.elevation_fx, Q22 ); - ismMetadata.radius = fix16_to_float( ismMetadata.radius_fx, Q9 ); - ismMetadata.spread = fixedToFloat( ismMetadata.spread_fx, Q22 ); - ismMetadata.gainFactor = fixedToFloat( ismMetadata.gainFactor_fx, Q29 ); // TODO: Change to Q28 or Q12? - ismMetadata.yaw = fixedToFloat( ismMetadata.yaw_fx, Q22 ); - ismMetadata.pitch = fixedToFloat( ismMetadata.pitch_fx, Q22 ); - - snprintf( char_buff, sizeof( char_buff ), "%+07.2f,%+06.2f,%05.2f,%06.2f,%04.2f,%+07.2f,%+06.2f,%d\n", ismMetadata.azimuth, ismMetadata.elevation, ismMetadata.radius, ismMetadata.spread, ismMetadata.gainFactor, ismMetadata.yaw, ismMetadata.pitch, ismMetadata.non_diegetic_flag ); -#endif if ( file ) { fputs( char_buff, file ); diff --git a/lib_util/ism_file_writer.h b/lib_util/ism_file_writer.h index 6bf1a3e3171dc2f63a598554a88415a3335d425b..cd3976d40d8a7f5f7ae4a92afd25db3fe3bda8d6 100644 --- a/lib_util/ism_file_writer.h +++ b/lib_util/ism_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_ISM_FILE_WRITER_H #define IVAS_ISM_FILE_WRITER_H diff --git a/lib_util/ivas_bpool.c b/lib_util/ivas_bpool.c index 9db909f535e17a2911ab7e809c3a27caaf277edd..fab4bd08728f63d89c5f610354d3cba24fb333ca 100644 --- a/lib_util/ivas_bpool.c +++ b/lib_util/ivas_bpool.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include #include "ivas_bpool.h" diff --git a/lib_util/ivas_bpool.h b/lib_util/ivas_bpool.h index 30cf4962b5198fd2a22a522061e8ce4cff2be915..8067bd355fddb5443beca6a93d06f4dd342ea2ba 100644 --- a/lib_util/ivas_bpool.h +++ b/lib_util/ivas_bpool.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_BPOOL_H #define IVAS_BPOOL_H diff --git a/lib_util/ivas_queue.c b/lib_util/ivas_queue.c index b17cf3e21a6e0222b439ba0826780dd031551670..cc98a09a7c235c010f1cf4ff1caabee27646de84 100644 --- a/lib_util/ivas_queue.c +++ b/lib_util/ivas_queue.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include "ivas_queue.h" diff --git a/lib_util/ivas_queue.h b/lib_util/ivas_queue.h index 1c6b77504e501b6f0ec680839cd52f3f10b04ca8..f9f72b04e079c364fe5f9a01d82bad8895ca5063 100644 --- a/lib_util/ivas_queue.h +++ b/lib_util/ivas_queue.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_QUEUE_H #define IVAS_QUEUE_H diff --git a/lib_util/ivas_rtp_api.h b/lib_util/ivas_rtp_api.h index a296e8ab397b16922ce6a1f379250226b86e8461..a0935aeb82e8b13f69a52fc68f6a09fdc2066b78 100644 --- a/lib_util/ivas_rtp_api.h +++ b/lib_util/ivas_rtp_api.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_RTP_API_H #define IVAS_RTP_API_H @@ -123,7 +95,6 @@ typedef enum IVAS_FMT_NO_REQ, /* No preference */ } IVAS_RTP_FORMAT; -#ifdef RTP_S4_251135_CR26253_0016_REV1 /* Coded Subformat Requests */ typedef enum { @@ -204,7 +175,6 @@ typedef struct uint32_t roll : 1; /* transmission metadata for correction around roll axis */ uint32_t reserved : 27; /* reserved */ } IVAS_RTP_SPLITRENDER; -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ /* Remote Requests Types (Keys) */ typedef enum @@ -214,25 +184,21 @@ typedef enum IVAS_REQUEST_BANDWIDTH, /* Request bandwidth, value of type IVAS_RTP_BANDWIDTH */ IVAS_REQUEST_FORMAT, /* Request format, value of type IVAS_RTP_FORMAT */ IVAS_REQUEST_CA_MODE, /* Request channel awareness, value of type IVAS_RTP_CA_MODE */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 IVAS_REQUEST_SUBFORMAT, /* Request subFormat, value of type IVAS_RTP_SUBFORMAT */ IVAS_REQUEST_SR_CONFIG, /* Request spit rendering, value of type IVAS_RTP_SPLITRENDER */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ IVAS_REQUEST_MAX /* Max number of requests */ } IVAS_RTP_REQUEST_TYPE; /* Remote Request Values */ typedef union { - uint32_t bitrate; /* bitrate in kbps when request type is IVAS_REQUEST_BITRATE */ - IVAS_RTP_CODEC codec; /* codec id when request type is IVAS_REQUEST_CODEC */ - IVAS_RTP_BANDWIDTH bandwidth; /* badwidth when request type is IVAS_REQUEST_BANDWIDTH */ - IVAS_RTP_FORMAT formatType; /* format type when request type is IVAS_REQUEST_FORMAT */ - IVAS_RTP_CA_MODE caMode; /* channel aware mode when request type is IVAS_REQUEST_CA_MODE */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 + uint32_t bitrate; /* bitrate in kbps when request type is IVAS_REQUEST_BITRATE */ + IVAS_RTP_CODEC codec; /* codec id when request type is IVAS_REQUEST_CODEC */ + IVAS_RTP_BANDWIDTH bandwidth; /* badwidth when request type is IVAS_REQUEST_BANDWIDTH */ + IVAS_RTP_FORMAT formatType; /* format type when request type is IVAS_REQUEST_FORMAT */ + IVAS_RTP_CA_MODE caMode; /* channel aware mode when request type is IVAS_REQUEST_CA_MODE */ IVAS_RTP_SUBFORMAT subFormatType; /* sub-format type when request type is IVAS_REQUEST_SUBFORMAT */ IVAS_RTP_SPLITRENDER srConfig; /* split rendering config when request type is IVAS_REQUEST_SR_CONFIG */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ } IVAS_RTP_REQUEST_VALUE; /* Template for pi data types, all defined pi data follow this template @@ -263,7 +229,6 @@ typedef struct uint8_t *buffer; /* pointer to the payload buffer */ } IVAS_DATA_BUFFER; -#ifdef RTP_S4_251135_CR26253_0016_REV1 typedef enum { IVAS_SR_TRANSPORT_LCLD, @@ -272,15 +237,12 @@ typedef enum typedef struct { - bool valid; /* Valid Split Rendering Info for/in the ToC */ - bool diegetic; /* SR content digetic */ - uint32_t bitrateKbps; /* SR bitrate in kbps */ -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE - uint32_t codecFrameSizeMs; /* SR transport codec framesize in ms (5/10/20) */ -#endif + bool valid; /* Valid Split Rendering Info for/in the ToC */ + bool diegetic; /* SR content digetic */ + uint32_t bitrateKbps; /* SR bitrate in kbps */ + uint32_t codecFrameSizeMs; /* SR transport codec framesize in ms (5/10/20) */ IVAS_RTP_SR_TRANSPORT codec; /* SR Transport Codec used*/ } IVAS_RTP_SR_INFO; -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ /**********************************************/ /* IVAS RTP PACKER API */ @@ -312,7 +274,6 @@ void IVAS_RTP_PACK_Close( ); /* Update the RTP Header structure */ -#ifdef FIXED_RTP_SEQUENCE_NUM ivas_error IVAS_RTP_PACK_UpdateHeader( IVAS_RTP_PACK_HANDLE hIvasPack, /* i/o: pointer to an IVAS rtp packer handle to be opened */ uint16_t seqNumInitVal, /* i : Initial sequence number to be used for 1st packet */ @@ -323,17 +284,6 @@ ivas_error IVAS_RTP_PACK_UpdateHeader( uint16_t numExtensionBytes, /* i : length of the extension data */ uint8_t *extData /* i : extension data pointer */ ); -#else -ivas_error IVAS_RTP_PACK_UpdateHeader( - IVAS_RTP_PACK_HANDLE hIvasPack, /* i/o: pointer to an IVAS rtp packer handle to be opened */ - uint32_t ssrc, /* i : Unique 32-bit Source ID as negotiated during SDP */ - uint8_t numCC, /* i : numCC indicates no. of contributing sources */ - uint32_t *csrc, /* i : SSRCs of contributing Sources for a mixed stream */ - uint16_t extHeaderId, /* i : extension header ID */ - uint16_t numExtensionBytes, /* i : length of the extension data */ - uint8_t *extData /* i : extension data pointer */ -); -#endif /* Add requests for remote sender using a key value pair api * each key must be provided with a corresponding value type @@ -358,11 +308,9 @@ ivas_error IVAS_RTP_PACK_PushRemoteRequest( * */ ivas_error IVAS_RTP_PACK_PushFrame( - IVAS_RTP_PACK_HANDLE hIvasPack, /* i/o : IVAS rtp packer handle */ - IVAS_RTP_CODEC codecId, /* i : Codec type (IVAS/EVS) */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 + IVAS_RTP_PACK_HANDLE hIvasPack, /* i/o : IVAS rtp packer handle */ + IVAS_RTP_CODEC codecId, /* i : Codec type (IVAS/EVS) */ const IVAS_RTP_SR_INFO *srInfo, /* i : Split Rendering Info (NULL if absent) */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ const IVAS_DATA_BUFFER *frameBuffer /* i : packed frame bitstream for IVAS/EVS */ ); @@ -423,9 +371,7 @@ typedef struct IVAS_RTP_UNPACK *IVAS_RTP_UNPACK_HANDLE; /* rtp unpacker handle t typedef struct { uint32_t maxFramesPerPacket; /* maximum no of frame per packet expected during the session */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 uint32_t srCodecFrameSizeMs; /* split rendering transport codec frame size in ms (5/10/20) set by sdp negotiation */ -#endif } IVAS_RTP_UNPACK_CONFIG; /* Open an instance of the RTP unpacker and return a handle to rtp unpacker on success @@ -586,15 +532,13 @@ ivas_error IVAS_RTP_UNPACK_GetRequest( ivas_error IVAS_RTP_UNPACK_PullFrame( IVAS_RTP_UNPACK_HANDLE hIvasUnpack, /* i/o : IVAS rtp unpacker handle */ IVAS_RTP_CODEC *receivedCodecId, /* o : Codec type (IVAS/EVS) */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - IVAS_RTP_SR_INFO *srInfo, /* o : Split Rendering Info */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ - IVAS_DATA_BUFFER *frameBuffer, /* o : packed frame bitstream for IVAS/EVS */ - int16_t *frameSizeInBits, /* o : exact frame size in bits (AMRWB IO) */ - uint32_t *timestamp, /* o : timestamp in RTP Clock @ 16KHz */ - uint16_t *sequenceNumber, /* o : sequence number from rtp header */ - bool *speechLostIndicated, /* o : Is current frame indicated as Lost */ - bool *isAMRWB_IOmode /* o : Is AMRWB_IO mode EVS frame */ + IVAS_RTP_SR_INFO *srInfo, /* o : Split Rendering Info */ + IVAS_DATA_BUFFER *frameBuffer, /* o : packed frame bitstream for IVAS/EVS */ + int16_t *frameSizeInBits, /* o : exact frame size in bits (AMRWB IO) */ + uint32_t *timestamp, /* o : timestamp in RTP Clock @ 16KHz */ + uint16_t *sequenceNumber, /* o : sequence number from rtp header */ + bool *speechLostIndicated, /* o : Is current frame indicated as Lost */ + bool *isAMRWB_IOmode /* o : Is AMRWB_IO mode EVS frame */ ); /* Pull a single PI data from rtp unpacker instance for current packet diff --git a/lib_util/ivas_rtp_file.c b/lib_util/ivas_rtp_file.c index 6ded4e78e1a4cad2f90c125fd57111e4207bf175..9cf1288106192a6ee6812782fb53efa769a1c708 100644 --- a/lib_util/ivas_rtp_file.c +++ b/lib_util/ivas_rtp_file.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -158,21 +130,15 @@ void IVAS_RTP_LogPiData( uint32_t nPiDataPresent /* i : Number of valid elements in the piData array */ ) { -#ifdef ISM_PI_DATA uint16_t n; -#endif uint32_t timestamp = ~0u; if ( f_piDataOut == NULL || piData == NULL || nPiDataPresent == 0 ) { return; } -#ifdef ISM_PI_DATA #ifdef _WIN32 if ( ftell( f_piDataOut ) > 3 ) -#else - if ( ftell( f_piDataOut ) > 2 ) -#endif #else if ( ftell( f_piDataOut ) > 2 ) #endif @@ -202,13 +168,8 @@ void IVAS_RTP_LogPiData( case IVAS_PI_SCENE_ORIENTATION: case IVAS_PI_DEVICE_ORIENTATION_COMPENSATED: case IVAS_PI_DEVICE_ORIENTATION_UNCOMPENSATED: -#ifdef RTP_S4_251135_CR26253_0016_REV1 case IVAS_PI_PLAYBACK_DEVICE_ORIENTATION: case IVAS_PI_HEAD_ORIENTATION: -#ifndef REVERSE_ISM_PI_DATA - case IVAS_PI_R_ISM_ORIENTATION: -#endif -#endif { fprintf( f_piDataOut, "{\n\t\t\t\"w\": %f,\n\t\t\t\"x\": %f,\n\t\t\t\"y\": %f,\n\t\t\t\"z\": %f \n\t\t}", fixedToFloat( cur->data.scene.orientation.w_fx, Q15 ), @@ -234,11 +195,7 @@ void IVAS_RTP_LogPiData( fprintf( f_piDataOut, "\n\t\t}" ); } break; -#ifdef RTP_S4_251135_CR26253_0016_REV1 case IVAS_PI_LISTENER_POSITION: -#ifndef REVERSE_ISM_PI_DATA - case IVAS_PI_R_ISM_POSITION: -#endif { fprintf( f_piDataOut, "{\n\t\t\t\"x\": %f,\n\t\t\t\"y\": %f,\n\t\t\t\"z\": %f \n\t\t}", cur->data.listnerPosition.position.x, cur->data.listnerPosition.position.y, cur->data.listnerPosition.position.z ); @@ -354,7 +311,6 @@ void IVAS_RTP_LogPiData( fprintf( f_piDataOut, "{}" ); } break; -#ifdef ISM_PI_DATA case IVAS_PI_ISM_ORIENTATION: { fprintf( f_piDataOut, "[\n" ); @@ -454,19 +410,6 @@ void IVAS_RTP_LogPiData( fprintf( f_piDataOut, "\n\t\t]" ); } break; -#else - case IVAS_PI_ISM_NUM: - case IVAS_PI_ISM_ID: - case IVAS_PI_ISM_GAIN: - case IVAS_PI_ISM_ORIENTATION: - case IVAS_PI_ISM_POSITION: - case IVAS_PI_ISM_DISTANCE_ATTENUATION: - case IVAS_PI_ISM_DIRECTIVITY: - { - fprintf( f_piDataOut, "{}" ); - } - break; -#endif case IVAS_PI_PI_LATENCY: { fprintf( f_piDataOut, "{" ); @@ -476,16 +419,13 @@ void IVAS_RTP_LogPiData( } break; case IVAS_PI_R_ISM_ID: -#ifdef REVERSE_ISM_PI_DATA { fprintf( f_piDataOut, "{\n" ); fprintf( f_piDataOut, "\t\t\t\"id\": %d", cur->data.ismEditId.id ); fprintf( f_piDataOut, "\n\t\t}" ); } break; -#endif case IVAS_PI_R_ISM_GAIN: -#ifdef REVERSE_ISM_PI_DATA { fprintf( f_piDataOut, "{\n" ); fprintf( f_piDataOut, "\t\t\t\"gain\": %d", cur->data.ismEditGain.dB ); @@ -507,16 +447,12 @@ void IVAS_RTP_LogPiData( cur->data.ismEditPosition.position.x, cur->data.ismEditPosition.position.y, cur->data.ismEditPosition.position.z ); } break; -#endif case IVAS_PI_R_ISM_DIRECTION: -#ifdef REVERSE_ISM_PI_DATA { fprintf( f_piDataOut, "{\n\t\t\t\"azi\": %f,\n\t\t\t\"elev\": %f \n\t\t}", cur->data.ismEditDirection.azimuth, cur->data.ismEditDirection.elevation ); } break; -#endif -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ case IVAS_PI_NO_DATA: { fprintf( f_piDataOut, "{}" ); @@ -593,7 +529,6 @@ void IVAS_RTP_WriteExtPiData( } } break; -#ifdef RTP_S4_251135_CR26253_0016_REV1 case IVAS_PI_AUDIO_DESCRIPTION: { uint32_t nEntries = cur->data.audioDesc.nValidEntries; @@ -805,7 +740,6 @@ void IVAS_RTP_WriteExtPiData( case IVAS_PI_RESERVED29: case IVAS_PI_RESERVED30: break; -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ } fprintf( f_piDataOut, "\n" ); } @@ -873,19 +807,12 @@ void IVAS_RTP_Term( ivas_error IVAS_RTP_WRITER_Init( IVAS_RTP *rtp, /* i/o : IVAS RTP File writer handle */ const char *outputBitstreamFilename, /* i : RTP Dump filename */ -#ifdef FIXED_RTP_SEQUENCE_NUM - uint32_t numFramesPerPacket, /* i : No. of frames per packet desired */ - uint32_t SSRC, /* i : SSRC for RTP Header */ - uint16_t seqNumInitVal /* i : Initial seq number in rtp header */ -#else - uint32_t numFramesPerPacket /* i : No. of frames per packet desired */ -#endif + uint32_t numFramesPerPacket, /* i : No. of frames per packet desired */ + uint32_t SSRC, /* i : SSRC for RTP Header */ + uint16_t seqNumInitVal /* i : Initial seq number in rtp header */ ) { -#ifndef FIXED_RTP_SEQUENCE_NUM - uint32_t SSRC = ( rand() & 0xFFFF ) | ( (uint32_t) rand() << 16 ); -#endif ivas_error error = IVAS_ERR_OK; memset( rtp, 0, sizeof( IVAS_RTP ) ); @@ -904,11 +831,7 @@ ivas_error IVAS_RTP_WRITER_Init( return error; } -#ifdef FIXED_RTP_SEQUENCE_NUM error = IVAS_RTP_PACK_UpdateHeader( rtp->hPack, seqNumInitVal, SSRC, 0, NULL, 0, 0, NULL ); -#else - error = IVAS_RTP_PACK_UpdateHeader( rtp->hPack, SSRC, 0, NULL, 0, 0, NULL ); -#endif if ( error != IVAS_ERR_OK ) { fprintf( stderr, "error in IVAS_RTP_PACK_UpdateHeader(): %d\n", error ); @@ -919,12 +842,7 @@ ivas_error IVAS_RTP_WRITER_Init( } ivas_error IVAS_RTP_READER_Init( - IVAS_RTP *rtp, /* i/o : IVAS RTP File reader handle */ -#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE -#ifdef RTP_S4_251135_CR26253_0016_REV1 - uint32_t srCodecFrameSizeMs, /* i : SR Codec Framesize in ms */ -#endif -#endif + IVAS_RTP *rtp, /* i/o : IVAS RTP File reader handle */ const char *inputBitstreamFilename, /* i : Input rtpdump filename */ const char *piOutputFilename, /* i : Output PI data json filename */ bool isExtOutput, /* i : External output mode */ @@ -936,11 +854,6 @@ ivas_error IVAS_RTP_READER_Init( memset( rtp, 0, sizeof( IVAS_RTP ) ); rtp->unpackCfg.maxFramesPerPacket = IVAS_MAX_FRAMES_PER_RTP_PACKET; -#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE -#ifdef RTP_S4_251135_CR26253_0016_REV1 - rtp->unpackCfg.srCodecFrameSizeMs = srCodecFrameSizeMs; -#endif -#endif rtp->rtpPacket.buffer = rtp->packet; rtp->rtpPacket.capacity = sizeof( rtp->packet ); @@ -990,14 +903,12 @@ ivas_error IVAS_RTP_READER_Init( } ivas_error IVAS_RTP_WriteNextFrame( - IVAS_RTP *rtp, /* i/o : IVAS RTP File writer handle */ - uint8_t *au, /* i : IVAS Compressed AU (Packed frame) */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 + IVAS_RTP *rtp, /* i/o : IVAS RTP File writer handle */ + uint8_t *au, /* i : IVAS Compressed AU (Packed frame) */ const IVAS_RTP_SR_INFO *srInfo, /* i : Split rendering info in present, else NULL */ -#endif - int16_t auSizeBits, /* i : Frame size in bits */ - bool isMono, /* i : input was evs(true) or ivas(false) */ - bool forcePacket /* i : force packets with whatever frames pushed so far */ + int16_t auSizeBits, /* i : Frame size in bits */ + bool isMono, /* i : input was evs(true) or ivas(false) */ + bool forcePacket /* i : force packets with whatever frames pushed so far */ ) { ivas_error error = IVAS_ERR_OK; @@ -1012,9 +923,7 @@ ivas_error IVAS_RTP_WriteNextFrame( /* Push Encoded Stream to */ error = IVAS_RTP_PACK_PushFrame( rtp->hPack, isMono ? IVAS_RTP_EVS : IVAS_RTP_IVAS, -#ifdef RTP_S4_251135_CR26253_0016_REV1 srInfo, -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ &packedFrame ); if ( error != IVAS_ERR_OK ) { @@ -1060,10 +969,8 @@ ivas_error IVAS_RTP_ReadNextFrame( uint32_t *rtpTimeStamp, /* o : RTP Timestamp for this frame */ uint16_t *rtpSequenceNumber, /* o : RTP sequence number for this packet */ uint32_t *nextPacketRcvTime_ms, /* i/o : Clock indicating packet receive times need in JBM */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - IVAS_RTP_SR_INFO *srInfo, /* o : Split Rendering info if SR RTP frame unpacked */ -#endif - bool *qBit /* o : AMRWB Q bite as indicated in the RTP packet */ + IVAS_RTP_SR_INFO *srInfo, /* o : Split Rendering info if SR RTP frame unpacked */ + bool *qBit /* o : AMRWB Q bite as indicated in the RTP packet */ ) { ivas_error error = IVAS_ERR_OK; @@ -1108,11 +1015,7 @@ ivas_error IVAS_RTP_ReadNextFrame( IVAS_RTP_LogPiData( rtp->f_piDataOut, rtp->piData, rtp->nReadPiData ); } -#ifdef RTP_S4_251135_CR26253_0016_REV1 error = IVAS_RTP_UNPACK_PullFrame( rtp->hUnpack, &codecId, &rtp->srInfo, &packedFrame, auSizeBits, rtpTimeStamp, rtpSequenceNumber, &rtp->speechLostIndicated, &isAMRWB_IOmode ); -#else - error = IVAS_RTP_UNPACK_PullFrame( rtp->hUnpack, &codecId, &packedFrame, auSizeBits, rtpTimeStamp, rtpSequenceNumber, &rtp->speechLostIndicated, &isAMRWB_IOmode ); -#endif if ( error != IVAS_ERR_OK ) { fprintf( stderr, "failed to pull frame after unpack\n" ); @@ -1141,12 +1044,10 @@ ivas_error IVAS_RTP_ReadNextFrame( rtp->isAMRWB_IOmode = isAMRWB_IOmode; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( srInfo != NULL ) { *srInfo = rtp->srInfo; } -#endif *qBit = !rtp->speechLostIndicated; rtp->numFramesInPacket--; rtp->numFramesProduced++; diff --git a/lib_util/ivas_rtp_file.h b/lib_util/ivas_rtp_file.h index fc92a4d021470d71de14f11f2731496a67f85d9d..0d54f9ba8b9789e02064fa61e90dced3c5c3341c 100644 --- a/lib_util/ivas_rtp_file.h +++ b/lib_util/ivas_rtp_file.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_RTP_FILE_H #define IVAS_RTP_FILE_H @@ -65,32 +37,14 @@ typedef struct IVAS_RTP_UNPACK_HANDLE hUnpack; IVAS_RTP_PACK_CONFIG packCfg; IVAS_RTP_UNPACK_CONFIG unpackCfg; -#ifdef RTP_S4_251135_CR26253_0016_REV1 IVAS_RTP_SR_INFO srInfo; -#endif } IVAS_RTP; -#ifdef FIXED_RTP_SEQUENCE_NUM ivas_error IVAS_RTP_WRITER_Init( IVAS_RTP *rtp, const char *outputBitstreamFilename, uint32_t numFramesPerPacket, uint32_t SSRC, uint16_t seqNumInitVal ); -#else -ivas_error IVAS_RTP_WRITER_Init( IVAS_RTP *rtp, const char *outputBitstreamFilename, uint32_t numFramesPerPacket ); -#endif -#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE -#ifdef RTP_S4_251135_CR26253_0016_REV1 -ivas_error IVAS_RTP_READER_Init( IVAS_RTP *rtp, uint32_t srCodecFrameSizeMs, const char *inputBitstreamFilename, const char *piOutputFilename, bool isExtOutput, const char *outputWavFilename ); -#endif -#else ivas_error IVAS_RTP_READER_Init( IVAS_RTP *rtp, const char *inputBitstreamFilename, const char *piOutputFilename, bool isExtOutput, const char *outputWavFilename ); -#endif void IVAS_RTP_Term( IVAS_RTP *rtp ); -#ifdef RTP_S4_251135_CR26253_0016_REV1 ivas_error IVAS_RTP_WriteNextFrame( IVAS_RTP *rtp, uint8_t *au, const IVAS_RTP_SR_INFO *srInfo, int16_t auSizeBits, bool isMono, bool forcePacket ); ivas_error IVAS_RTP_ReadNextFrame( IVAS_RTP *rtp, uint8_t *au, int16_t *auSizeBits, uint32_t *rtpTimeStamp, uint16_t *rtpSequenceNumber, uint32_t *nextPacketRcvTime_ms, IVAS_RTP_SR_INFO *srInfo, bool *qBit ); -#else - -ivas_error IVAS_RTP_WriteNextFrame( IVAS_RTP *rtp, uint8_t *au, int16_t auSizeBits, bool isMono, bool forcePacket ); -ivas_error IVAS_RTP_ReadNextFrame( IVAS_RTP *rtp, uint8_t *au, int16_t *auSizeBits, uint32_t *rtpTimeStamp, uint16_t *rtpSequenceNumber, uint32_t *nextPacketRcvTime_ms, bool *qBit ); -#endif void IVAS_RTP_LogPiData( FILE *f_piDataOut, const PIDATA_TS *piData, uint32_t nPiDataPresent ); void IVAS_RTP_WriteExtPiData( FILE *f_piDataOut, const PIDATA_TS *piData, uint32_t nPiDataPresent, uint16_t numObj ); const char *IVAS_RTP_GetExtPiFilePath( IVAS_RTP *rtp ); diff --git a/lib_util/ivas_rtp_internal.h b/lib_util/ivas_rtp_internal.h index 8ee65bbe98a34d7de607d8e77da826c8f9d52eda..ff73bb9e8f548d066d2c6b31523d9fc674a88e16 100644 --- a/lib_util/ivas_rtp_internal.h +++ b/lib_util/ivas_rtp_internal.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_RTP_INTERNAL_H #define IVAS_RTP_INTERNAL_H @@ -36,7 +8,6 @@ #include "ivas_rtp_api.h" #include "ivas_rtp_pi_data.h" -#ifdef IVAS_RTPDUMP enum MASK_BITS { @@ -48,9 +19,7 @@ enum MASK_BITS MASK_6BIT = 0x3F, MASK_7BIT = 0x7F, MASK_8BIT = 0xFF, -#ifdef REVERSE_ISM_PI_DATA MASK_9BIT = 0x1FF, -#endif }; @@ -100,19 +69,11 @@ enum IVAS_RTP_HEADER_BITS EBYTE_CMR_T_NO_REQ = 0xFF, /* If no bitrate and no CA mode requested for IVAS/EVS */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 EBYTE_BANDWIDTH_REQUEST = 0x80, /* Subsequent E-byte for Bandwidth Request */ EBYTE_FORMAT_REQUEST = 0x90, /* Subsequent E-byte for Format Request */ EBYTE_SUBFORMAT_REQUEST = 0x9F, /* Subsequent E-byte for SubFormat Request */ EBYTE_PI_INDICATOR = 0xA0, /* Subsequent E-byte for PI Indicator */ EBYTE_SR_REQUEST = 0xB0, /* Subsequent E-byte for Split Rendering Request */ -#else - EBYTE_BANDWIDTH_REQUEST = 0x40, /* Subsequent E-byte for Bandwidth Request */ - EBYTE_FORMAT_REQUEST = 0x50, /* Subsequent E-byte for Format Request */ - EBYTE_SUBFORMAT_REQUEST = 0x9F, /* Subsequent E-byte for SubFormat Request */ - EBYTE_PI_INDICATOR = 0x60, /* Subsequent E-byte for PI Indicator */ - EBYTE_SR_REQUEST = 0x70, /* Subsequent E-byte for Split Rendering Request */ -#endif PI_HEADER_PF_LAST = 0x00, /* Last PI header of the Payload in PI Header */ PI_HEADER_PF_NOT_LAST = 0x80, /* Another PI header follows after this in PI Header */ @@ -147,6 +108,5 @@ typedef struct ivas_error PI_PackData( const IVAS_PIDATA_GENERIC *piData, PIDATA_PACKED *packed, uint8_t pmBits ); ivas_error PI_UnPackData( uint8_t piDataType, uint32_t piSize, const uint8_t *piDataBuffer, IVAS_PIDATA_GENERIC *piData ); -#endif /* IVAS_RTPDUMP */ #endif /* IVAS_RTP_INTERNAL_H */ diff --git a/lib_util/ivas_rtp_payload.c b/lib_util/ivas_rtp_payload.c index 2f8d3aca9bfe64556990d5a4bdaa793e0f063c66..49b9e926a8346c440bdf329c4c7b90a0740660b0 100644 --- a/lib_util/ivas_rtp_payload.c +++ b/lib_util/ivas_rtp_payload.c @@ -1,43 +1,11 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include #include -#ifndef FIXED_RTP_SEQUENCE_NUM -#include -#endif #include "common_api_types.h" -#ifdef IVAS_RTPDUMP #include "ivas_rtp_internal.h" #include "ivas_bpool.h" @@ -80,10 +48,8 @@ static void initRequests( IVAS_RTP_REQUEST_VALUE *requests ) requests[IVAS_REQUEST_BANDWIDTH].bandwidth = IVAS_BANDWIDTH_NO_REQ; requests[IVAS_REQUEST_FORMAT].formatType = IVAS_FMT_NO_REQ; requests[IVAS_REQUEST_CA_MODE].caMode = IVAS_RTP_CA_NO_REQ; -#ifdef RTP_S4_251135_CR26253_0016_REV1 requests[IVAS_REQUEST_SUBFORMAT].subFormatType = IVAS_SUBFMT_NO_REQ; requests[IVAS_REQUEST_SR_CONFIG].srConfig.valid = false; -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ } static void initPiDataFrame( PIDATA_FRAME *piDataFrm ) @@ -132,9 +98,7 @@ typedef struct uint32_t auNumBits; /* Actual frame size in bits */ bool speechLostIndicated; /* Speech Lost indicated */ bool isAMRWB_IOmode; /* EVS frame is AMRWB_IO */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - IVAS_RTP_SR_INFO srInfo; /* Split Rendering Info */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ + IVAS_RTP_SR_INFO srInfo; /* Split Rendering Info */ } TOC_INFO; typedef struct PIDATA_NODE @@ -184,9 +148,7 @@ static const uint32_t amrWBIOFrameSizeInBits[] = { /* Update the RTP Header structure */ ivas_error IVAS_RTP_PACK_UpdateHeader( IVAS_RTP_PACK_HANDLE hPack, /* i/o: pointer to an IVAS rtp packer handle to be opened */ -#ifdef FIXED_RTP_SEQUENCE_NUM - uint16_t seqNumInitVal, /* i : Initial sequence number to be used for 1st packet */ -#endif + uint16_t seqNumInitVal, /* i : Initial sequence number to be used for 1st packet */ uint32_t ssrc, /* i : Unique 32-bit Source ID as negotiated during SDP */ uint8_t numCC, /* i : numCC indicates no. of contributing sources */ uint32_t *csrc, /* i : SSRCs of contributing Sources for a mixed stream */ @@ -202,9 +164,7 @@ ivas_error IVAS_RTP_PACK_UpdateHeader( return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "CC must be less than 16" ); } -#ifdef FIXED_RTP_SEQUENCE_NUM header->seqNumber = seqNumInitVal; -#endif header->ssrc = ssrc; header->CC = numCC; if ( csrc != NULL ) @@ -237,16 +197,8 @@ static void InitRtpHeader( RTP_HEADER *header /* RTP header structure */ ) { -#ifdef FIXED_RTP_SEQUENCE_NUM memset( header, 0, sizeof( *header ) ); header->version = 2; -#else - time_t t; - memset( header, 0, sizeof( *header ) ); - srand( (uint32_t) time( &t ) ); - header->version = 2; - header->seqNumber = rand() & 0xFFFF; -#endif } static ivas_error PackRtpHeader( @@ -611,7 +563,6 @@ ivas_error IVAS_RTP_PACK_PushRemoteRequest( } } break; -#ifdef RTP_S4_251135_CR26253_0016_REV1 case IVAS_REQUEST_SUBFORMAT: { uint32_t subFormat = reqValue.subFormatType; @@ -630,7 +581,6 @@ ivas_error IVAS_RTP_PACK_PushRemoteRequest( } } break; -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ default: return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "Unsupported request type" ); } @@ -773,13 +723,11 @@ static void packEBytes( bool isSubFormatProvided = false; bool isSRConfigProvided = false; -#ifdef RTP_S4_251135_CR26253_0016_REV1 IVAS_RTP_SUBFORMAT subFormat = hPack->requests[IVAS_REQUEST_SUBFORMAT].subFormatType; IVAS_RTP_SPLITRENDER srConfig = hPack->requests[IVAS_REQUEST_SR_CONFIG].srConfig; isSubFormatProvided = ( subFormat != IVAS_SUBFMT_NO_REQ ); isSRConfigProvided = srConfig.valid; -#endif /* Initial E-Byte only sent if either bitrate requested or subsequent E-byte is requested */ if ( !( ( bitrate > 0 ) || isBandwidthProvided || isFormatProvided || @@ -821,7 +769,6 @@ static void packEBytes( uint8_t fmtEByte = ( EBYTE_FORMAT_REQUEST | ( (uint8_t) format & MASK_3BIT ) ); eByte[nByte++] = isSubFormatProvided ? EBYTE_SUBFORMAT_REQUEST : fmtEByte; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( isSubFormatProvided && nByte < maxNumEBytes ) { eByte[nByte++] = ( (uint8_t) subFormat & MASK_6BIT ); /* Requested Coded subFormat */ @@ -833,7 +780,6 @@ static void packEBytes( ( (uint8_t) srConfig.diegetic << 3 ) | ( (uint8_t) srConfig.yaw << 2 ) | ( (uint8_t) srConfig.pitch << 1 ) | ( (uint8_t) srConfig.roll << 0 ); } -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ } /* Final E-byte is the PI Indicator E-Byte */ @@ -846,22 +792,17 @@ static void packEBytes( } -#ifdef RTP_S4_251135_CR26253_0016_REV1 static ivas_error getSRToCByte( const IVAS_RTP_SR_INFO *srInfo, /* i : Split Rendering Info */ uint8_t *tocByte /* o : toc byte 2 */ ) { -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE uint8_t bitIdx, codecId, digetic, codecFrameSize; if ( srInfo->codecFrameSizeMs != 5 && srInfo->codecFrameSizeMs != 10 && srInfo->codecFrameSizeMs != 20 ) { return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "Unsupported codec framesize for SR provided" ); } -#else - uint8_t bitIdx, codecId, digetic; -#endif if ( srInfo->bitrateKbps < 256000 || srInfo->bitrateKbps > 512000 ) { return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "Unsupported bitrate for SR" ); @@ -871,16 +812,11 @@ static ivas_error getSRToCByte( codecId = (uint8_t) srInfo->codec; digetic = srInfo->diegetic ? 1 : 0; -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE codecFrameSize = ( srInfo->codecFrameSizeMs == 20 ) ? 3 : (uint8_t) ( srInfo->codecFrameSizeMs / 5 ); *tocByte = ( digetic << 6 ) | ( codecId << 5 ) | ( bitIdx << 3 ) | ( codecFrameSize << 1 ); -#else - *tocByte = ( digetic << 6 ) | ( codecId << 5 ) | ( bitIdx << 3 ); -#endif return IVAS_ERR_OK; } -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ static void addPackedPiDataToFrame( PIDATA_FRAME *piDataFrm, const PIDATA_PACKED *packedPiData, uint32_t piDataType ) { @@ -905,11 +841,9 @@ static void addPackedPiDataToFrame( PIDATA_FRAME *piDataFrm, const PIDATA_PACKED } ivas_error IVAS_RTP_PACK_PushFrame( - IVAS_RTP_PACK_HANDLE hPack, /* i/o : IVAS rtp packer handle */ - IVAS_RTP_CODEC codecId, /* i : Codec type (IVAS/EVS) */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 + IVAS_RTP_PACK_HANDLE hPack, /* i/o : IVAS rtp packer handle */ + IVAS_RTP_CODEC codecId, /* i : Codec type (IVAS/EVS) */ const IVAS_RTP_SR_INFO *srInfo, /* i : Split Rendering Info */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ const IVAS_DATA_BUFFER *frameBuffer /* i : packed frame bitstream for IVAS/EVS */ ) { @@ -917,9 +851,7 @@ ivas_error IVAS_RTP_PACK_PushFrame( uint32_t bitrate = 0; uint32_t frameLengthInBits = 0; uint8_t tocByte = 0; -#ifdef RTP_S4_251135_CR26253_0016_REV1 uint8_t tocByte1 = 0; -#endif FRAME_NODE *node = NULL; PIDATA_FRAME *piDataFrame = &hPack->piDataCache; uint32_t piDataType = 0; @@ -929,7 +861,6 @@ ivas_error IVAS_RTP_PACK_PushFrame( /* Indicates a NO_DATA_FRAME in case of DTX mode */ tocByte = ( hPack->amrwbIOMode ) ? TOC_INDICATE_NO_DATA_AMRWB : TOC_INDICATE_NO_DATA; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 else if ( srInfo != NULL && srInfo->valid ) { tocByte = TOC_INDICATE_SR; @@ -937,7 +868,6 @@ ivas_error IVAS_RTP_PACK_PushFrame( error = getSRToCByte( srInfo, &tocByte1 ); ERR_CHECK_RETURN( error ); } -#endif else { error = getBitrateFromCodecAndFrameSize( codecId, frameBuffer->length, &bitrate, &frameLengthInBits, &tocByte, &hPack->amrwbIOMode ); @@ -952,12 +882,10 @@ ivas_error IVAS_RTP_PACK_PushFrame( /* Set ToC byte & frame */ node->toc[node->tocNumBytes++] = tocByte; -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( srInfo != NULL && srInfo->valid ) { node->toc[node->tocNumBytes++] = tocByte1; } -#endif node->auNumBits = frameLengthInBits; if ( frameBuffer != NULL ) @@ -1097,12 +1025,10 @@ ivas_error IVAS_RTP_PACK_GetPayload( uint8_t fBit = ( n != ( numFrame - 1 ) ) ? TOC_HEADER_FOLLOWS : 0; /* Next ToC present */ WRITE_BYTE_PAYLOAD_OR_EXIT( payload, ( node->toc[0] | fBit ) ); -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( node->tocNumBytes == 2 ) { WRITE_BYTE_PAYLOAD_OR_EXIT( payload, node->toc[1] ); } -#endif } /* Frame Data */ @@ -1366,11 +1292,7 @@ static uint32_t parseSubsequentEByte( const IVAS_DATA_BUFFER *payload, uint32_t while ( nBytes < payload->length ) { uint8_t byte = payload->buffer[nBytes]; -#ifdef RTP_S4_251135_CR26253_0016_REV1 uint8_t ET = ( byte & ( ~MASK_4BIT ) ); -#else - uint8_t ET = ( byte & ( ~MASK_3BIT ) ); -#endif if ( ( byte & EBYTE_TOC_HEADER_BIT ) == 0 ) { @@ -1388,7 +1310,6 @@ static uint32_t parseSubsequentEByte( const IVAS_DATA_BUFFER *payload, uint32_t break; case EBYTE_FORMAT_REQUEST: /* Format Request */ { -#ifdef RTP_S4_251135_CR26253_0016_REV1 bool S = ( byte >> 3 ) & MASK_1BIT; if ( S ) { @@ -1399,14 +1320,12 @@ static uint32_t parseSubsequentEByte( const IVAS_DATA_BUFFER *payload, uint32_t requests[IVAS_REQUEST_SUBFORMAT].subFormatType = byte & MASK_6BIT; } } -#endif requests[IVAS_REQUEST_FORMAT].formatType = byte & MASK_3BIT; } break; case EBYTE_PI_INDICATOR: /* PI Indication */ *piDataIndicated = true; break; -#ifdef RTP_S4_251135_CR26253_0016_REV1 case EBYTE_SR_REQUEST: /* Split Rendering Request */ { IVAS_RTP_SPLITRENDER *srConfig = &requests[IVAS_REQUEST_SR_CONFIG].srConfig; @@ -1417,7 +1336,6 @@ static uint32_t parseSubsequentEByte( const IVAS_DATA_BUFFER *payload, uint32_t srConfig->valid = true; } break; -#endif default: /* Reserved for future use - unhandled atm */ break; } @@ -1426,13 +1344,7 @@ static uint32_t parseSubsequentEByte( const IVAS_DATA_BUFFER *payload, uint32_t return nBytes; } -#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE -#ifdef RTP_S4_251135_CR26253_0016_REV1 -static ivas_error parseToCByte( const IVAS_DATA_BUFFER *payload, uint32_t *numBytes, uint32_t *numFrames, TOC_INFO *toc, uint32_t maxNumberOfToCBytes, uint32_t srCodecFrameSizeMs ) -#endif -#else static ivas_error parseToCByte( const IVAS_DATA_BUFFER *payload, uint32_t *numBytes, uint32_t *numFrames, TOC_INFO *toc, uint32_t maxNumberOfToCBytes ) -#endif { bool headerFollows = true; uint32_t nBytes = *numBytes; @@ -1485,14 +1397,11 @@ static ivas_error parseToCByte( const IVAS_DATA_BUFFER *payload, uint32_t *numBy toc->codecId = IVAS_RTP_IVAS; if ( BR == 14 ) { -#ifdef RTP_S4_251135_CR26253_0016_REV1 /* Read Unconditional SR-ToC byte */ if ( nBytes < payload->length ) { uint8_t SR_BR; -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE static const uint8_t codecFrameSizeMap[4] = { 0, 5, 10, 20 }; -#endif byte = payload->buffer[nBytes++]; SR_BR = ( byte >> 3 ) & MASK_2BIT; if ( SR_BR == 0 ) @@ -1503,21 +1412,13 @@ static ivas_error parseToCByte( const IVAS_DATA_BUFFER *payload, uint32_t *numBy toc->srInfo.diegetic = ( byte >> 6 ) & MASK_1BIT; toc->srInfo.codec = IVAS_SR_TRANSPORT_LCLD + ( ( byte >> 5 ) & MASK_1BIT ); toc->srInfo.bitrateKbps = ( SR_BR + 1 ) * 128000u; -#ifdef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE toc->srInfo.codecFrameSizeMs = codecFrameSizeMap[( byte >> 1 ) & MASK_2BIT]; toc->auNumBits = toc->srInfo.bitrateKbps * toc->srInfo.codecFrameSizeMs / 1000; -#else - toc->auNumBits = toc->srInfo.bitrateKbps * srCodecFrameSizeMs / 1000; -#endif } else { return IVAS_ERROR( IVAS_ERR_RTP_UNDERFLOW, "Underflow during ToC SR byte" ); } -#else - /* Reserved bit not expected */ - return IVAS_ERROR( IVAS_ERR_RTP_UNSUPPORTED_FRAME, "Reserved BR idx reported in ToC" ); -#endif } else { @@ -1690,13 +1591,7 @@ ivas_error IVAS_RTP_UNPACK_PushPayload( nBytes = parseSubsequentEByte( payload, nBytes, hUnpack->requests, &piDataIndicated ); /* Unpack the ToC Bytes => Extract number of frames in packet */ -#ifndef RTP_SR_CODEC_FRAME_SIZE_IN_TOC_BYTE -#ifdef RTP_S4_251135_CR26253_0016_REV1 - error = parseToCByte( payload, &nBytes, &numFrames, toc, sizeof( toc ) / sizeof( toc[0] ), hUnpack->initConfig.srCodecFrameSizeMs ); -#endif -#else error = parseToCByte( payload, &nBytes, &numFrames, toc, sizeof( toc ) / sizeof( toc[0] ) ); -#endif ERR_CHECK_RETURN( error ); /* Read frame bits */ @@ -1808,15 +1703,13 @@ ivas_error IVAS_RTP_UNPACK_GetRequest( ivas_error IVAS_RTP_UNPACK_PullFrame( IVAS_RTP_UNPACK_HANDLE hUnpack, /* i/o : IVAS rtp unpacker handle */ IVAS_RTP_CODEC *receivedCodecId, /* o : Codec type (IVAS/EVS) */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - IVAS_RTP_SR_INFO *srInfo, /* o : Split Rendering Info */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ - IVAS_DATA_BUFFER *frameBuffer, /* o : packed frame bitstream for IVAS/EVS */ - int16_t *frameSizeInBits, /* o : exact frame size in bits (AMRWB IO) */ - uint32_t *timestamp, /* o : timestamp in RTP Clock @ 16KHz */ - uint16_t *sequenceNumber, /* o : sequence number from rtp header */ - bool *speechLostIndicated, /* o : Is current frame indicated as Lost */ - bool *isAMRWB_IOmode /* o : Is AMRWB_IO mode EVS frame */ + IVAS_RTP_SR_INFO *srInfo, /* o : Split Rendering Info */ + IVAS_DATA_BUFFER *frameBuffer, /* o : packed frame bitstream for IVAS/EVS */ + int16_t *frameSizeInBits, /* o : exact frame size in bits (AMRWB IO) */ + uint32_t *timestamp, /* o : timestamp in RTP Clock @ 16KHz */ + uint16_t *sequenceNumber, /* o : sequence number from rtp header */ + bool *speechLostIndicated, /* o : Is current frame indicated as Lost */ + bool *isAMRWB_IOmode /* o : Is AMRWB_IO mode EVS frame */ ) { size_t length = 0; @@ -1845,12 +1738,10 @@ ivas_error IVAS_RTP_UNPACK_PullFrame( *receivedCodecId = node->toc.codecId; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 if ( srInfo != NULL ) { *srInfo = node->toc.srInfo; } -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ if ( timestamp != NULL ) { @@ -1905,5 +1796,3 @@ ivas_error IVAS_RTP_UNPACK_PullNextPiData( return BPOOL_FreeBuffer( hUnpack->piDataPool, node ); } - -#endif /* IVAS_RTPDUMP */ diff --git a/lib_util/ivas_rtp_pi_data.c b/lib_util/ivas_rtp_pi_data.c index 0a23a6d7b80d30053d75cfe5ec4f5bee10d133a7..18f4743937d41850c93a928b11227f3f285fc30a 100644 --- a/lib_util/ivas_rtp_pi_data.c +++ b/lib_util/ivas_rtp_pi_data.c @@ -1,41 +1,10 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "ivas_error_utils.h" #include "ivas_rtp_internal.h" -#ifdef REVERSE_ISM_PI_DATA #include -#endif -#ifdef ISM_PI_DATA #include #ifndef min @@ -46,14 +15,10 @@ #define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) ) #endif -#endif -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT #include "cnst.h" #include -#endif -#ifdef IVAS_RTPDUMP /* Generic PI data packing/unpacking functions */ typedef ivas_error ( *PACK_PI_FN )( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ); @@ -148,11 +113,7 @@ static ivas_error packOrientation( const IVAS_PIDATA_GENERIC *piData, uint8_t *b return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "Incorrect size in Orientation PI data" ); } - if ( ( piData->piDataType != IVAS_PI_SCENE_ORIENTATION ) && ( piData->piDataType != IVAS_PI_DEVICE_ORIENTATION_COMPENSATED ) && ( piData->piDataType != IVAS_PI_DEVICE_ORIENTATION_UNCOMPENSATED ) -#ifdef RTP_S4_251135_CR26253_0016_REV1 - && ( piData->piDataType != IVAS_PI_PLAYBACK_DEVICE_ORIENTATION ) && ( piData->piDataType != IVAS_PI_HEAD_ORIENTATION ) -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ - ) + if ( ( piData->piDataType != IVAS_PI_SCENE_ORIENTATION ) && ( piData->piDataType != IVAS_PI_DEVICE_ORIENTATION_COMPENSATED ) && ( piData->piDataType != IVAS_PI_DEVICE_ORIENTATION_UNCOMPENSATED ) && ( piData->piDataType != IVAS_PI_PLAYBACK_DEVICE_ORIENTATION ) && ( piData->piDataType != IVAS_PI_HEAD_ORIENTATION ) ) { return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "Incorrect PI ID in Orientation PI data" ); } @@ -174,7 +135,6 @@ static ivas_error packOrientation( const IVAS_PIDATA_GENERIC *piData, uint8_t *b return IVAS_ERR_OK; } -#ifdef ISM_PI_DATA static ivas_error packISMOrientation( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) { uint32_t nBytes = 0; @@ -209,7 +169,6 @@ static ivas_error packISMOrientation( const IVAS_PIDATA_GENERIC *piData, uint8_t *nBytesWritten = nBytes; return IVAS_ERR_OK; } -#endif static ivas_error unpackOrientation( const uint8_t *buffer, uint32_t numDataBytes, IVAS_PIDATA_GENERIC *piData ) { @@ -230,7 +189,6 @@ static ivas_error unpackOrientation( const uint8_t *buffer, uint32_t numDataByte return IVAS_ERR_OK; } -#ifdef ISM_PI_DATA static ivas_error unpackISMOrientation( const uint8_t *buffer, uint32_t numDataBytes, IVAS_PIDATA_GENERIC *piData ) { IVAS_PIDATA_ISM_ORIENTATION *ism_orientation = (IVAS_PIDATA_ISM_ORIENTATION *) piData; @@ -262,7 +220,6 @@ static ivas_error unpackISMOrientation( const uint8_t *buffer, uint32_t numDataB return IVAS_ERR_OK; } -#endif static uint32_t getIndexTable( const float *table, uint32_t tableLength, float value ) { @@ -406,7 +363,6 @@ static ivas_error unpackAcousticEnvironment( const uint8_t *buffer, uint32_t num aeEnv->absorbCoeffs[IVAS_PI_AE_CEILING] = mapAbsorbtion[( dWord >> 2 ) & MASK_ABS]; aeEnv->absorbCoeffs[IVAS_PI_AE_FLOOR] = mapAbsorbtion[( dWord >> 0 ) & MASK_ABS]; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT aeEnv->rt60_fx[IVAS_PI_AE_LOW] = (Word32) ( aeEnv->rt60[IVAS_PI_AE_LOW] * ONE_IN_Q26 ); /* Q26 */ aeEnv->rt60_fx[IVAS_PI_AE_MID] = (Word32) ( aeEnv->rt60[IVAS_PI_AE_MID] * ONE_IN_Q26 ); aeEnv->rt60_fx[IVAS_PI_AE_HIGH] = (Word32) ( aeEnv->rt60[IVAS_PI_AE_HIGH] * ONE_IN_Q26 ); @@ -425,13 +381,11 @@ static ivas_error unpackAcousticEnvironment( const uint8_t *buffer, uint32_t num aeEnv->absorbCoeffs_fx[IVAS_PI_AE_RIGHT] = (Word32) ( aeEnv->absorbCoeffs[IVAS_PI_AE_RIGHT] * ONE_IN_Q30 ); aeEnv->absorbCoeffs_fx[IVAS_PI_AE_CEILING] = (Word32) ( aeEnv->absorbCoeffs[IVAS_PI_AE_CEILING] * ONE_IN_Q30 ); aeEnv->absorbCoeffs_fx[IVAS_PI_AE_FLOOR] = (Word32) ( aeEnv->absorbCoeffs[IVAS_PI_AE_FLOOR] * ONE_IN_Q30 ); -#endif } return IVAS_ERR_OK; } -#ifdef RTP_S4_251135_CR26253_0016_REV1 static ivas_error packAudioDescription( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) { uint32_t n; @@ -539,7 +493,6 @@ static ivas_error unpackDynamicSuppression( const uint8_t *buffer, uint32_t numD return IVAS_ERR_OK; } -#ifdef REVERSE_ISM_PI_DATA static ivas_error packPosition( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) { uint32_t nBytes = 0; @@ -588,59 +541,7 @@ static ivas_error unpackPosition( const uint8_t *buffer, uint32_t numDataBytes, position->position.z = FLOAT_FROM_Q15( readInt16( &buffer[4] ) ) * MAX_PI_POSITION_METERS; return IVAS_ERR_OK; } -#else -static ivas_error packListenerPosition( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) -{ - uint32_t nBytes = 0; - const IVAS_PIDATA_LISTENER_POSITION *listener = (const IVAS_PIDATA_LISTENER_POSITION *) piData; - - *nBytesWritten = 0; - - if ( piData->size != sizeof( IVAS_PIDATA_LISTENER_POSITION ) ) - { - return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "Incorrect size in LISTENER POSITION PI data" ); - } - - if ( piData->piDataType != IVAS_PI_LISTENER_POSITION ) - { - return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "Incorrect PI ID in LISTENER POSITION PI data" ); - } - - /* Position data is 6 bytes, header is 2 bytes */ - if ( maxDataBytes < 6 + 2 ) - { - return IVAS_ERROR( IVAS_ERR_RTP_INSUFFICIENT_OUTPUT_SIZE, "Insufficient space to pack LISTENER POSITION PI data" ); - } - - buffer[nBytes++] = ( listener->piDataType & MASK_5BIT ); /* PF/PM populated during final packing */ - buffer[nBytes++] = 6; - nBytes = writeInt16( buffer, nBytes, ivasPayload_convertToQ15( listener->position.x / MAX_PI_POSITION_METERS ) ); - nBytes = writeInt16( buffer, nBytes, ivasPayload_convertToQ15( listener->position.y / MAX_PI_POSITION_METERS ) ); - nBytes = writeInt16( buffer, nBytes, ivasPayload_convertToQ15( listener->position.z / MAX_PI_POSITION_METERS ) ); - *nBytesWritten = nBytes; - return IVAS_ERR_OK; -} - -static ivas_error unpackListenerPosition( const uint8_t *buffer, uint32_t numDataBytes, IVAS_PIDATA_GENERIC *piData ) -{ - IVAS_PIDATA_LISTENER_POSITION *listener = (IVAS_PIDATA_LISTENER_POSITION *) piData; - - /* Position data is 6 bytes */ - if ( numDataBytes != 6 ) - { - return IVAS_ERROR( IVAS_ERR_RTP_UNPACK_PI_DATA, "Incorrect size to unpack LISTENER POSITION PI data" ); - } - - listener->size = sizeof( IVAS_PIDATA_LISTENER_POSITION ); - listener->piDataType = IVAS_PI_LISTENER_POSITION; - listener->position.x = FLOAT_FROM_Q15( readInt16( &buffer[0] ) ) * MAX_PI_POSITION_METERS; - listener->position.y = FLOAT_FROM_Q15( readInt16( &buffer[2] ) ) * MAX_PI_POSITION_METERS; - listener->position.z = FLOAT_FROM_Q15( readInt16( &buffer[4] ) ) * MAX_PI_POSITION_METERS; - return IVAS_ERR_OK; -} -#endif -#ifdef ISM_PI_DATA static ivas_error packISMPosition( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) { uint32_t nBytes = 0, n; @@ -699,7 +600,6 @@ static ivas_error unpackISMPosition( const uint8_t *buffer, uint32_t numDataByte } return IVAS_ERR_OK; } -#endif static ivas_error packDiegetic( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) { @@ -854,7 +754,6 @@ static ivas_error unpackAudioFocusCommon( const uint8_t *buffer, uint32_t numDat return IVAS_ERR_OK; } -#ifdef ISM_PI_DATA static ivas_error packISMNum( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) { uint32_t nBytes = 0; @@ -1223,9 +1122,7 @@ static ivas_error unpackISMDirectivity( const uint8_t *buffer, uint32_t numDataB } return IVAS_ERR_OK; } -#endif -#ifdef REVERSE_ISM_PI_DATA static ivas_error packReverseISMID( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) { uint32_t nBytes = 0; @@ -1406,7 +1303,6 @@ static ivas_error unpackReverseISMDirection( const uint8_t *buffer, uint32_t num return IVAS_ERR_OK; } -#endif static ivas_error packPiLatency( const IVAS_PIDATA_GENERIC *piData, uint8_t *buffer, uint32_t maxDataBytes, uint32_t *nBytesWritten ) { @@ -1474,19 +1370,13 @@ static ivas_error unpackPiLatency( const uint8_t *buffer, uint32_t numDataBytes, return IVAS_ERR_OK; } -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ static const PACK_PI_FN packPiDataFuntions[IVAS_PI_MAX_ID] = { - packOrientation, /* SCENE_ORIENTATION */ - packOrientation, /* DEVICE_ORIENTATION_COMPENSATED */ - packOrientation, /* DEVICE_ORIENTATION_UNCOMPENSATED */ - packAcousticEnvironment, /* ACOUSTIC_ENVIRONMENT */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - packAudioDescription, /* AUDIO_DESCRIPTION */ -#else - packUnsupportedData, /* AUDIO_DESCRIPTION */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ -#ifdef ISM_PI_DATA + packOrientation, /* SCENE_ORIENTATION */ + packOrientation, /* DEVICE_ORIENTATION_COMPENSATED */ + packOrientation, /* DEVICE_ORIENTATION_UNCOMPENSATED */ + packAcousticEnvironment, /* ACOUSTIC_ENVIRONMENT */ + packAudioDescription, /* AUDIO_DESCRIPTION */ packISMNum, /* ISM_NUM */ packISMID, /* ISM_ID */ packISMGain, /* ISM_GAIN */ @@ -1494,84 +1384,35 @@ static const PACK_PI_FN packPiDataFuntions[IVAS_PI_MAX_ID] = { packISMPosition, /* ISM_POSITION */ packISMDistanceAttenuation, /* ISM_DISTANCE_ATTENUATION */ packISMDirectivity, /* ISM_DIRECTIVITY */ -#else - packUnsupportedData, /* ISM_NUM */ - packUnsupportedData, /* ISM_ID */ - packUnsupportedData, /* ISM_GAIN */ - packUnsupportedData, /* ISM_ORIENTATION */ - packUnsupportedData, /* ISM_POSITION */ - packUnsupportedData, /* ISM_DISTANCE_ATTENUATION */ - packUnsupportedData, /* ISM_DIRECTIVITY */ -#endif -#ifdef RTP_S4_251135_CR26253_0016_REV1 - packDiegetic, /* DIEGETIC_TYPE */ -#else - packUnsupportedData, /* DIEGETIC_TYPE */ -#endif - packUnsupportedData, /* RESERVED13 */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - packAudioFocusCommon, /* AUDIO_FOCUS_INDICATION */ -#else - packUnsupportedData, /* AUDIO_FOCUS_INDICATION */ -#endif - packUnsupportedData, /* RESERVED15 */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - packOrientation, /* PLAYBACK_DEVICE_ORIENTATION */ - packOrientation, /* HEAD_ORIENTATION */ -#ifdef REVERSE_ISM_PI_DATA - packPosition, /* LISTENER_POSITION */ -#else - packListenerPosition, /* LISTENER_POSITION */ -#endif - packDynamicSuppression, /* DYNAMIC_AUDIO_SUPPRESSION */ - packAudioFocusCommon, /* AUDIO_FOCUS_REQUEST */ - packPiLatency, /* PI_LATENCY */ -#else - packUnsupportedData, /* PLAYBACK_DEVICE_ORIENTATION */ - packUnsupportedData, /* HEAD_ORIENTATION */ - packUnsupportedData, /* LISTENER_POSITION */ - packUnsupportedData, /* DYNAMIC_AUDIO_SUPPRESSION */ - packUnsupportedData, /* AUDIO_FOCUS_DIRECTION */ - packUnsupportedData, /* PI_LATENCY */ -#endif -#ifdef REVERSE_ISM_PI_DATA - packReverseISMID, /* R_ISM_ID */ - packReverseISMGain, /* R_ISM_GAIN */ -#else - packUnsupportedData, /* R_ISM_ID */ - packUnsupportedData, /* R_ISM_GAIN */ -#endif -#ifdef RTP_S4_251135_CR26253_0016_REV1 - packOrientation, /* R_ISM_ORIENTATION */ -#else - packUnsupportedData, /* R_ISM_ORIENTATION */ -#endif + packDiegetic, /* DIEGETIC_TYPE */ + packUnsupportedData, /* RESERVED13 */ + packAudioFocusCommon, /* AUDIO_FOCUS_INDICATION */ + packUnsupportedData, /* RESERVED15 */ + packOrientation, /* PLAYBACK_DEVICE_ORIENTATION */ + packOrientation, /* HEAD_ORIENTATION */ + packPosition, /* LISTENER_POSITION */ + packDynamicSuppression, /* DYNAMIC_AUDIO_SUPPRESSION */ + packAudioFocusCommon, /* AUDIO_FOCUS_REQUEST */ + packPiLatency, /* PI_LATENCY */ + packReverseISMID, /* R_ISM_ID */ + packReverseISMGain, /* R_ISM_GAIN */ + packOrientation, /* R_ISM_ORIENTATION */ -#ifdef REVERSE_ISM_PI_DATA packPosition, /* R_ISM_POSITION */ packReverseISMDirection, /* R_ISM_DIRECTION */ -#else - packUnsupportedData, /* R_ISM_POSITION */ - packUnsupportedData, /* R_ISM_DIRECTION */ -#endif - packUnsupportedData, /* RESERVED27 */ - packUnsupportedData, /* RESERVED28 */ - packUnsupportedData, /* RESERVED29 */ - packUnsupportedData, /* RESERVED30 */ - packNoPiData /* NO_DATA */ + packUnsupportedData, /* RESERVED27 */ + packUnsupportedData, /* RESERVED28 */ + packUnsupportedData, /* RESERVED29 */ + packUnsupportedData, /* RESERVED30 */ + packNoPiData /* NO_DATA */ }; static const UNPACK_PI_FN unpackPiDataFuntions[IVAS_PI_MAX_ID] = { - unpackOrientation, /* SCENE_ORIENTATION */ - unpackOrientation, /* DEVICE_ORIENTATION_COMPENSATED */ - unpackOrientation, /* DEVICE_ORIENTATION_UNCOMPENSATED */ - unpackAcousticEnvironment, /* ACOUSTIC_ENVIRONMENT */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - unpackAudioDescription, /* AUDIO_DESCRIPTION */ -#else - unpackUnsupportedData, /* AUDIO_DESCRIPTION */ -#endif -#ifdef ISM_PI_DATA + unpackOrientation, /* SCENE_ORIENTATION */ + unpackOrientation, /* DEVICE_ORIENTATION_COMPENSATED */ + unpackOrientation, /* DEVICE_ORIENTATION_UNCOMPENSATED */ + unpackAcousticEnvironment, /* ACOUSTIC_ENVIRONMENT */ + unpackAudioDescription, /* AUDIO_DESCRIPTION */ unpackISMNum, /* ISM_NUM */ unpackISMID, /* ISM_ID */ unpackISMGain, /* ISM_GAIN */ @@ -1579,70 +1420,26 @@ static const UNPACK_PI_FN unpackPiDataFuntions[IVAS_PI_MAX_ID] = { unpackISMPosition, /* ISM_POSITION */ unpackISMDistanceAttenuation, /* ISM_DISTANCE_ATTENUATION */ unpackISMDirectivity, /* ISM_DIRECTIVITY */ -#else - unpackUnsupportedData, /* ISM_NUM */ - unpackUnsupportedData, /* ISM_ID */ - unpackUnsupportedData, /* ISM_GAIN */ - unpackUnsupportedData, /* ISM_ORIENTATION */ - unpackUnsupportedData, /* ISM_POSITION */ - unpackUnsupportedData, /* ISM_DISTANCE_ATTENUATION */ - unpackUnsupportedData, /* ISM_DIRECTIVITY */ -#endif -#ifdef RTP_S4_251135_CR26253_0016_REV1 - unpackDiegetic, /* DIEGETIC_TYPE */ -#else - unpackUnsupportedData, /* DIEGETIC_TYPE */ -#endif - unpackUnsupportedData, /* RESERVED13 */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - unpackAudioFocusCommon, /* AUDIO_FOCUS_INDICATION */ -#else - unpackUnsupportedData, /* AUDIO_FOCUS_INDICATION */ -#endif - unpackUnsupportedData, /* RESERVED15 */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 - unpackOrientation, /* PLAYBACK_DEVICE_ORIENTATION */ - unpackOrientation, /* HEAD_ORIENTATION */ -#ifdef REVERSE_ISM_PI_DATA - unpackPosition, /* LISTENER_POSITION */ -#else - unpackListenerPosition, /* LISTENER_POSITION */ -#endif - unpackDynamicSuppression, /* DYNAMIC_AUDIO_SUPPRESSION */ - unpackAudioFocusCommon, /* AUDIO_FOCUS_REQUEST */ - unpackPiLatency, /* PI_LATENCY */ -#else - unpackUnsupportedData, /* PLAYBACK_DEVICE_ORIENTATION */ - unpackUnsupportedData, /* HEAD_ORIENTATION */ - unpackUnsupportedData, /* LISTENER_POSITION */ - unpackUnsupportedData, /* DYNAMIC_AUDIO_SUPPRESSION */ - unpackUnsupportedData, /* AUDIO_FOCUS_DIRECTION */ - unpackUnsupportedData, /* PI_LATENCY */ -#endif -#ifdef REVERSE_ISM_PI_DATA - unpackReverseISMID, /* R_ISM_ID */ - unpackReverseISMGain, /* R_ISM_GAIN */ -#else - unpackUnsupportedData, /* R_ISM_ID */ - unpackUnsupportedData, /* R_ISM_GAIN */ -#endif -#ifdef RTP_S4_251135_CR26253_0016_REV1 - unpackOrientation, /* R_ISM_ORIENTATION */ -#else - unpackUnsupportedData, /* R_ISM_ORIENTATION */ -#endif -#ifdef REVERSE_ISM_PI_DATA - unpackPosition, /* R_ISM_POSITION */ - unpackReverseISMDirection, /* R_ISM_DIRECTION */ -#else - unpackUnsupportedData, /* R_ISM_POSITION */ - unpackUnsupportedData, /* R_ISM_DIRECTION */ -#endif - unpackUnsupportedData, /* RESERVED27 */ - unpackUnsupportedData, /* RESERVED28 */ - unpackUnsupportedData, /* RESERVED29 */ - unpackUnsupportedData, /* RESERVED30 */ - unpackNoPiData /* NO_DATA */ + unpackDiegetic, /* DIEGETIC_TYPE */ + unpackUnsupportedData, /* RESERVED13 */ + unpackAudioFocusCommon, /* AUDIO_FOCUS_INDICATION */ + unpackUnsupportedData, /* RESERVED15 */ + unpackOrientation, /* PLAYBACK_DEVICE_ORIENTATION */ + unpackOrientation, /* HEAD_ORIENTATION */ + unpackPosition, /* LISTENER_POSITION */ + unpackDynamicSuppression, /* DYNAMIC_AUDIO_SUPPRESSION */ + unpackAudioFocusCommon, /* AUDIO_FOCUS_REQUEST */ + unpackPiLatency, /* PI_LATENCY */ + unpackReverseISMID, /* R_ISM_ID */ + unpackReverseISMGain, /* R_ISM_GAIN */ + unpackOrientation, /* R_ISM_ORIENTATION */ + unpackPosition, /* R_ISM_POSITION */ + unpackReverseISMDirection, /* R_ISM_DIRECTION */ + unpackUnsupportedData, /* RESERVED27 */ + unpackUnsupportedData, /* RESERVED28 */ + unpackUnsupportedData, /* RESERVED29 */ + unpackUnsupportedData, /* RESERVED30 */ + unpackNoPiData /* NO_DATA */ }; static const uint32_t maxPiDataSize[IVAS_PI_MAX_ID] = { @@ -1738,6 +1535,3 @@ const float mapRoomDims[1u << NBITS_DIM] = { const float mapAbsorbtion[1u << NBITS_ABS] = { 0.0800f, 0.1656f, 0.3430f, 0.7101f }; - - -#endif /* IVAS_RTPDUMP */ diff --git a/lib_util/ivas_rtp_pi_data.h b/lib_util/ivas_rtp_pi_data.h index 2bce92fa704845b469f382cc2e31c7452dd84bb5..9702452da5d632830fe1c4988330861ac84660e2 100644 --- a/lib_util/ivas_rtp_pi_data.h +++ b/lib_util/ivas_rtp_pi_data.h @@ -1,60 +1,28 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_RTP_PI_DATA_H #define IVAS_RTP_PI_DATA_H #include "common_api_types.h" -#ifdef IVAS_RTPDUMP #define IVAS_PI_MAX_DATA_SIZE ( 32 + 2 ) /* max packed PI data bytes + pi header bytes */ -#ifdef REVERSE_ISM_PI_DATA #define REVERSE_ISM_DIRECTION_AZIMUTH_STEP 0.703125f #define REVERSE_ISM_DIRECTION_ELEVATION_STEP 1.417322835f #define REVERSE_ISM_DIRECTION_AZIMUTH_STEP_INV 1.4222222222f #define REVERSE_ISM_DIRECTION_ELEVATION_STEP_INV 0.7055555556f -#endif /* IVAS PI Data Types */ typedef enum { /* Forward direction PI types */ - IVAS_PI_SCENE_ORIENTATION, /* orientation of audio scene in unit quaternions */ - IVAS_PI_DEVICE_ORIENTATION_COMPENSATED, /* orientation of device in unit quaternions (compensated) */ - IVAS_PI_DEVICE_ORIENTATION_UNCOMPENSATED, /* orientation of device in unit quaternions (un-compensated) */ - IVAS_PI_ACOUSTIC_ENVIRONMENT, /* describe the acoustic environment */ -#ifdef RTP_S4_251135_CR26253_0016_REV1 + IVAS_PI_SCENE_ORIENTATION, /* orientation of audio scene in unit quaternions */ + IVAS_PI_DEVICE_ORIENTATION_COMPENSATED, /* orientation of device in unit quaternions (compensated) */ + IVAS_PI_DEVICE_ORIENTATION_UNCOMPENSATED, /* orientation of device in unit quaternions (un-compensated) */ + IVAS_PI_ACOUSTIC_ENVIRONMENT, /* describe the acoustic environment */ IVAS_PI_AUDIO_DESCRIPTION, /* audio content description (voice/music/ambiance) */ IVAS_PI_ISM_NUM, /* Number of objects */ IVAS_PI_ISM_ID, /* id of each object */ @@ -84,7 +52,6 @@ typedef enum IVAS_PI_RESERVED28, /* reserved */ IVAS_PI_RESERVED29, /* reserved */ IVAS_PI_RESERVED30, /* reserved */ -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ IVAS_PI_NO_DATA = 31, /* Indicates an empty PI data frame */ IVAS_PI_MAX_ID /* Max number of PI data IDs supprted */ } IVAS_PI_TYPE; @@ -131,14 +98,12 @@ typedef enum IVAS_PI_AE_NUM_BANDS /* number of ae bands */ } IVAS_PI_AE_BANDS; -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT typedef enum { IVAS_PI_AE_LOW_FREQ = 25, IVAS_PI_AE_MID_FREQ = 250, IVAS_PI_AE_HIGH_FREQ = 2500 } IVAS_PI_AE_BANDS_FREQ; -#endif typedef enum { @@ -160,26 +125,17 @@ typedef struct uint8_t aeid; /* seven-bit acoustic environment identifier */ /* only valid if availLateReverb==true or availEarlyReflections==true */ - float rt60[IVAS_PI_AE_NUM_BANDS]; /* time for the reflections to reduce 60 dB per band in seconds */ - float dsr[IVAS_PI_AE_NUM_BANDS]; /* diffuse to source signal energy ratio per band in dB */ -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT + float rt60[IVAS_PI_AE_NUM_BANDS]; /* time for the reflections to reduce 60 dB per band in seconds */ + float dsr[IVAS_PI_AE_NUM_BANDS]; /* diffuse to source signal energy ratio per band in dB */ Word32 rt60_fx[IVAS_PI_AE_NUM_BANDS]; /* Q26: time for the reflections to reduce 60 dB per band in seconds */ Word32 dsr_fx[IVAS_PI_AE_NUM_BANDS]; /* Q30: diffuse to source signal energy ratio per band in dB */ -#endif /* only valid if availEarlyReflections==true */ -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - IVAS_VECTOR3 roomDimensions; /* room dimensions in meters length (x), width (y), height (z) */ -#else - IVAS_COORDINATE roomDimensions; /* room dimensions in meters length (x), width (y), height (z) */ -#endif - float absorbCoeffs[IVAS_PI_AE_NUM_SURFACE]; /* absorption coefficients for all surfaces */ -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT + IVAS_VECTOR3 roomDimensions; /* room dimensions in meters length (x), width (y), height (z) */ + float absorbCoeffs[IVAS_PI_AE_NUM_SURFACE]; /* absorption coefficients for all surfaces */ Word32 absorbCoeffs_fx[IVAS_PI_AE_NUM_SURFACE]; /* Q30: absorption coefficients for all surfaces */ -#endif } IVAS_PIDATA_ACOUSTIC_ENV; -#ifdef RTP_S4_251135_CR26253_0016_REV1 /* Audio Description corresponding to IVAS_PI_AUDIO_DESCRIPTION * Describe the following audio decriptors per object/type :- * - audio content type is speech/music/ambiance @@ -232,44 +188,36 @@ typedef struct /* ISM ID */ typedef struct { - size_t size; /* sizeof(IVAS_PIDATA_ISM_ID) */ - uint32_t piDataType; /* IVAS_PI_ISM_ID */ -#ifdef ISM_PI_DATA - uint16_t numObjects; /* number of objects */ -#endif + size_t size; /* sizeof(IVAS_PIDATA_ISM_ID) */ + uint32_t piDataType; /* IVAS_PI_ISM_ID */ + uint16_t numObjects; /* number of objects */ uint8_t id[IVAS_MAX_NUM_OBJECTS]; /* 8-bit ISM id of object */ } IVAS_PIDATA_ISM_ID; /* ISM gain */ typedef struct { - size_t size; /* sizeof(IVAS_PIDATA_ISM_GAIN) */ - uint32_t piDataType; /* IVAS_PI_ISM_GAIN */ -#ifdef ISM_PI_DATA - uint16_t numObjects; /* number of objects */ -#endif + size_t size; /* sizeof(IVAS_PIDATA_ISM_GAIN) */ + uint32_t piDataType; /* IVAS_PI_ISM_GAIN */ + uint16_t numObjects; /* number of objects */ int8_t dB[IVAS_MAX_NUM_OBJECTS]; /* ISM gain in dB per object [-96, +3] */ } IVAS_PIDATA_ISM_GAIN; /* ISM orientation */ typedef struct { - size_t size; /* sizeof(IVAS_PIDATA_ISM_ORIENTATION) */ - uint32_t piDataType; /* IVAS_PI_ISM_ORIENTATION */ -#ifdef ISM_PI_DATA - uint16_t numObjects; /* number of objects */ -#endif + size_t size; /* sizeof(IVAS_PIDATA_ISM_ORIENTATION) */ + uint32_t piDataType; /* IVAS_PI_ISM_ORIENTATION */ + uint16_t numObjects; /* number of objects */ IVAS_QUATERNION orientation[IVAS_MAX_NUM_OBJECTS]; /* Orientation of audio objects in ISM(s) */ } IVAS_PIDATA_ISM_ORIENTATION; /* ISM position */ typedef struct { - size_t size; /* sizeof(IVAS_PIDATA_ISM_POSITION) */ - uint32_t piDataType; /* IVAS_PI_ISM_POSITION */ -#ifdef ISM_PI_DATA - uint16_t numObjects; /* number of objects */ -#endif + size_t size; /* sizeof(IVAS_PIDATA_ISM_POSITION) */ + uint32_t piDataType; /* IVAS_PI_ISM_POSITION */ + uint16_t numObjects; /* number of objects */ IVAS_COORDINATE position[IVAS_MAX_NUM_OBJECTS]; /* Position of audio objects in ISM(s) */ } IVAS_PIDATA_ISM_POSITION; @@ -287,11 +235,9 @@ typedef struct typedef struct { - size_t size; /* sizeof(IVAS_PIDATA_ISM_ATTENUATION) */ - uint32_t piDataType; /* IVAS_PI_ISM_DISTANCE_ATTENUATION */ -#ifdef ISM_PI_DATA - uint16_t numObjects; /* number of objects */ -#endif + size_t size; /* sizeof(IVAS_PIDATA_ISM_ATTENUATION) */ + uint32_t piDataType; /* IVAS_PI_ISM_DISTANCE_ATTENUATION */ + uint16_t numObjects; /* number of objects */ IVAS_DIST_ATTEN distAtten[IVAS_MAX_NUM_OBJECTS]; /* Distance attenuation of audio objects */ } IVAS_PIDATA_ISM_ATTENUATION; @@ -309,11 +255,9 @@ typedef struct typedef struct { - size_t size; /* sizeof(IVAS_PIDATA_ISM_DIRECTIVITY) */ - uint32_t piDataType; /* IVAS_PI_ISM_DIRECTIVITY */ -#ifdef ISM_PI_DATA - uint16_t numObjects; /* number of objects */ -#endif + size_t size; /* sizeof(IVAS_PIDATA_ISM_DIRECTIVITY) */ + uint32_t piDataType; /* IVAS_PI_ISM_DIRECTIVITY */ + uint16_t numObjects; /* number of objects */ IVAS_ISM_DIRECTIVITY directivity[IVAS_MAX_NUM_OBJECTS]; /* Directivity of audio objects */ } IVAS_PIDATA_ISM_DIRECTIVITY; @@ -365,7 +309,6 @@ typedef struct IVAS_FLVL flvl; /* audio focus level */ } IVAS_PIDATA_AUDIO_FOCUS; -#ifdef REVERSE_ISM_PI_DATA /* Position data corresponding to any of the following pi data types :- * - IVAS_PI_LISTENER_POSITION * - IVAS_PI_R_ISM_POSITION @@ -378,15 +321,6 @@ typedef struct uint32_t piDataType; /* one of supported position data types */ IVAS_COORDINATE position; /* Position data */ } IVAS_PIDATA_POSITION; -#else -/* Listener position */ -typedef struct -{ - size_t size; /* sizeof(IVAS_PIDATA_LISTENER_POSITION) */ - uint32_t piDataType; /* IVAS_PI_LISTENER_POSITION */ - IVAS_COORDINATE position; /* Position of audio objects in ISM(s) */ -} IVAS_PIDATA_LISTENER_POSITION; -#endif /* Dynamic Audio Suppression describes receiver’s preference with respect to the @@ -462,15 +396,6 @@ typedef struct IVAS_QUATERNION orientation; /* orientation editing request for received ISM */ } IVAS_PIDATA_ISM_EDIT_ORIENTATION; -#ifndef REVERSE_ISM_PI_DATA -/* Editing request for ISM position */ -typedef struct -{ - size_t size; /* sizeof(IVAS_PIDATA_ISM_EDIT_POSITION) */ - uint32_t piDataType; /* IVAS_PI_R_ISM_POSITION */ - IVAS_COORDINATE position; /* Positional editing request for received ISM */ -} IVAS_PIDATA_ISM_EDIT_POSITION; -#endif /* Editing request for ISM direction */ typedef struct @@ -480,7 +405,6 @@ typedef struct float azimuth; /* azimuth angle in degrees [-180, 180] */ float elevation; /* elevation angle in degrees [-90°, 90°] */ } IVAS_PIDATA_ISM_EDIT_DIRECTION; -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ typedef struct { @@ -495,7 +419,6 @@ typedef union IVAS_PIDATA_ORIENTATION deviceCompensated; IVAS_PIDATA_ORIENTATION deviceUnCompensated; IVAS_PIDATA_ACOUSTIC_ENV acousticEnv; -#ifdef RTP_S4_251135_CR26253_0016_REV1 IVAS_PIDATA_AUDIO_DESC audioDesc; IVAS_PIDATA_ISM_NUM ismNum; IVAS_PIDATA_ISM_ID ismId; @@ -510,24 +433,15 @@ typedef union IVAS_PIDATA_ORIENTATION playbackOrientation; IVAS_PIDATA_ORIENTATION headOrientation; -#ifdef REVERSE_ISM_PI_DATA IVAS_PIDATA_POSITION listnerPosition; -#else - IVAS_PIDATA_LISTENER_POSITION listnerPosition; -#endif IVAS_PIDATA_DYNAMIC_SUPPRESSION dynSuppressionRequest; IVAS_PIDATA_AUDIO_FOCUS focusRequest; IVAS_PIDATA_REVERSE_PI_LATENCY piLatency; IVAS_PIDATA_ISM_EDIT_ID ismEditId; IVAS_PIDATA_ISM_EDIT_GAIN ismEditGain; IVAS_PIDATA_ISM_EDIT_ORIENTATION ismEditOrientation; -#ifdef REVERSE_ISM_PI_DATA IVAS_PIDATA_POSITION ismEditPosition; -#else - IVAS_PIDATA_ISM_EDIT_POSITION ismEditPosition; -#endif IVAS_PIDATA_ISM_EDIT_DIRECTION ismEditDirection; -#endif /* RTP_S4_251135_CR26253_0016_REV1 */ IVAS_PIDATA_NO_DATA noPiData; } PIDATA; @@ -537,6 +451,5 @@ typedef struct pidata_ts_struct uint32_t timestamp; } PIDATA_TS; -#endif /* IVAS_RTPDUMP */ #endif /* IVAS_RTP_PI_DATA_H */ diff --git a/lib_util/jbm_file_reader.c b/lib_util/jbm_file_reader.c index 68caf5ae73fc93637fbe3f08d7a4b1513bd284bc..8f16c6183ed2486c9c3df74dac28e90caf859f08 100644 --- a/lib_util/jbm_file_reader.c +++ b/lib_util/jbm_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "jbm_file_reader.h" #include "cmdl_tools.h" diff --git a/lib_util/jbm_file_reader.h b/lib_util/jbm_file_reader.h index e824e1eee9f00bbb821664a0515a69f1ce987d38..55194188c3b08dfd9fd4ce2df59376982c00ac09 100644 --- a/lib_util/jbm_file_reader.h +++ b/lib_util/jbm_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_JBM_FILE_READER_H #define IVAS_JBM_FILE_READER_H diff --git a/lib_util/jbm_file_writer.c b/lib_util/jbm_file_writer.c index 9d11dad90490e74e44a1f8afc25e70e8fc196493..ee8f1c083affa8d214b0c87c9c1eff1411c4ffae 100644 --- a/lib_util/jbm_file_writer.c +++ b/lib_util/jbm_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "jbm_file_writer.h" #include diff --git a/lib_util/jbm_file_writer.h b/lib_util/jbm_file_writer.h index aca768a1a0e75c88dd01910bf00854cabc0dc2f2..f420e794515dfd8be20be7a36ff0393c4f8ec10a 100644 --- a/lib_util/jbm_file_writer.h +++ b/lib_util/jbm_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_JBM_FILE_WRITER_H #define IVAS_JBM_FILE_WRITER_H diff --git a/lib_util/ls_custom_file_reader.c b/lib_util/ls_custom_file_reader.c index 5c1ac6ae041709cb0c7f84642afab48efc2a8c7f..99d2013e57a6dd7fedf876789f96ac9f347b1d19 100644 --- a/lib_util/ls_custom_file_reader.c +++ b/lib_util/ls_custom_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "ls_custom_file_reader.h" #include diff --git a/lib_util/ls_custom_file_reader.h b/lib_util/ls_custom_file_reader.h index 46b20a4ff013827acf56198b2b6f917952f21201..39fc0380129a69d28060508dab5f624d3b496c33 100644 --- a/lib_util/ls_custom_file_reader.h +++ b/lib_util/ls_custom_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_LS_CUSTOM_FILE_READER_H #define IVAS_LS_CUSTOM_FILE_READER_H diff --git a/lib_util/masa_file_reader.c b/lib_util/masa_file_reader.c index d782cdfd06d5ec6d6fd7005dba134ad11d3ee210..baca430c95bc6f88101edc5f745f06c8a461baf2 100644 --- a/lib_util/masa_file_reader.c +++ b/lib_util/masa_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "masa_file_reader.h" #include "ivas_stat_com.h" diff --git a/lib_util/masa_file_reader.h b/lib_util/masa_file_reader.h index 7510598c3bf16a9690be159e7da3fd1187fc6d1d..0872342e2b6e207cffe5e4174a5e5ea13f4053cd 100644 --- a/lib_util/masa_file_reader.h +++ b/lib_util/masa_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_MASA_FILE_READER_H #define IVAS_MASA_FILE_READER_H diff --git a/lib_util/masa_file_writer.c b/lib_util/masa_file_writer.c index a1c4d7054757b068aa1dec5e8a6e9da35c11ce29..5f7f603398f3fa643a7b50a3ddb8e5ecd04ff953 100644 --- a/lib_util/masa_file_writer.c +++ b/lib_util/masa_file_writer.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "masa_file_writer.h" #include "ivas_stat_com.h" diff --git a/lib_util/masa_file_writer.h b/lib_util/masa_file_writer.h index 74d098388c0e5acf03f777d75d6868f496bf3c6e..ebfc6905fbdc9f0c9bb6cda30d0afdf46e8e0808 100644 --- a/lib_util/masa_file_writer.h +++ b/lib_util/masa_file_writer.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_MASA_FILE_WRITER_H #define IVAS_MASA_FILE_WRITER_H diff --git a/lib_util/mime_io.c b/lib_util/mime_io.c index 3e837ca45df96aeaae64cd5f344f72578e048699..450f88fa3270118c8c606500cd851f62864ba2fd 100644 --- a/lib_util/mime_io.c +++ b/lib_util/mime_io.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "mime_io.h" #include "mime.h" diff --git a/lib_util/mime_io.h b/lib_util/mime_io.h index dbd21c9c79d2fd67d834b4e3364b0f714546bc36..eff38af53e241eca5923c3a2c476e42e036ccaa6 100644 --- a/lib_util/mime_io.h +++ b/lib_util/mime_io.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef MIME_IO_H #define MIME_IO_H diff --git a/lib_util/mutex.h b/lib_util/mutex.h index 82094b61c823e909f22282f982413abe037489f6..4b0ee1a08855d7a0082040ae55282cb14c3b1f7d 100644 --- a/lib_util/mutex.h +++ b/lib_util/mutex.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 diff --git a/lib_util/obj_edit_file_reader.c b/lib_util/obj_edit_file_reader.c index 44c100973e5a56eee8af41f06961023f29b30562..1ae842d2c52019b5bf2d7137ea72b1e423cbb696 100644 --- a/lib_util/obj_edit_file_reader.c +++ b/lib_util/obj_edit_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - -(C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository. All Rights Reserved. - -This software is protected by copyright law and by international treaties. -The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository retain full ownership rights in their respective contributions in -the software. This notice grants no license of any kind, including but not limited to patent -license, nor is any license granted by implication, estoppel or otherwise. - -Contributors are required to enter into the IVAS codec Public Collaboration agreement before making -contributions. - -This software is provided "AS IS", without any express or implied warranties. The software is in the -development stage. It is intended exclusively for experts who have experience with such software and -solely for the purpose of inspection. All implied warranties of non-infringement, merchantability -and fitness for a particular purpose are hereby disclaimed and excluded. - -Any dispute, controversy or claim arising under or in relation to providing this software shall be -submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in -accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and -the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include #include @@ -70,11 +42,7 @@ ivas_error ObjectEditFileReader_open( } self = (ObjectEditFileReader *) calloc( 1, sizeof( ObjectEditFileReader ) ); -#ifndef FIX_2192_OBJ_EDITING_EXT_METADATA - self->maxLineLen = 256; -#else self->maxLineLen = 1024; -#endif self->editFileHandle = fileHandle; self->inLine = (char *) calloc( self->maxLineLen, sizeof( char ) ); @@ -93,7 +61,6 @@ ivas_error ObjectEditFileReader_open( self->readInfo->obj_ele[obj_idx] = 0.0f; self->readInfo->obj_ele_edited[obj_idx] = false; self->readInfo->obj_ele_relative[obj_idx] = false; -#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA self->readInfo->obj_radius[obj_idx] = 0.0f; self->readInfo->obj_radius_edited[obj_idx] = false; self->readInfo->obj_radius_relative[obj_idx] = false; @@ -103,7 +70,6 @@ ivas_error ObjectEditFileReader_open( self->readInfo->obj_pitch[obj_idx] = 0.0f; self->readInfo->obj_pitch_edited[obj_idx] = false; self->readInfo->obj_pitch_relative[obj_idx] = false; -#endif } self->rewound = false; @@ -150,14 +116,12 @@ ivas_error ObjectEditFileReader_readNextFrame( readEdits->obj_azi_relative[obj_idx] = false; readEdits->obj_ele_edited[obj_idx] = false; readEdits->obj_ele_relative[obj_idx] = false; -#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA readEdits->obj_radius_edited[obj_idx] = false; readEdits->obj_radius_relative[obj_idx] = false; readEdits->obj_yaw_edited[obj_idx] = false; readEdits->obj_yaw_relative[obj_idx] = false; readEdits->obj_pitch_edited[obj_idx] = false; readEdits->obj_pitch_relative[obj_idx] = false; -#endif } /* tokenize the line by comma */ @@ -229,7 +193,6 @@ ivas_error ObjectEditFileReader_readNextFrame( { readEdits->obj_ele_relative[obj_idx] = ( strcmp( paramValue, "1" ) == 0 ); } -#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA else if ( strcmp( param, "radius" ) == 0 ) { readEdits->obj_radius[obj_idx] = strtof( paramValue, NULL ); @@ -257,7 +220,6 @@ ivas_error ObjectEditFileReader_readNextFrame( { readEdits->obj_pitch_relative[obj_idx] = ( strcmp( paramValue, "1" ) == 0 ); } -#endif } } } @@ -281,7 +243,6 @@ ivas_error ObjectEditFileReader_readNextFrame( { readEdits->obj_ele[obj_idx] = max( min( readEdits->obj_ele[obj_idx], 90.f ), -90.f ); } -#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA if ( readEdits->obj_radius_edited[obj_idx] && !readEdits->obj_radius_relative[obj_idx] ) { readEdits->obj_radius[obj_idx] = max( min( readEdits->obj_radius[obj_idx], OBJ_EDIT_RADIUS_MAX ), 0.0f ); @@ -294,7 +255,6 @@ ivas_error ObjectEditFileReader_readNextFrame( { readEdits->obj_pitch[obj_idx] = max( min( readEdits->obj_pitch[obj_idx], 90.f ), -90.f ); } -#endif } } else diff --git a/lib_util/obj_edit_file_reader.h b/lib_util/obj_edit_file_reader.h index eb8fe681c1eba42b00438af4d34ef3b52881cda4..c3c33cbd3eb11a9ac663f9dd1a1961dd5eeee3cc 100644 --- a/lib_util/obj_edit_file_reader.h +++ b/lib_util/obj_edit_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - -(C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository. All Rights Reserved. - -This software is protected by copyright law and by international treaties. -The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository retain full ownership rights in their respective contributions in -the software. This notice grants no license of any kind, including but not limited to patent -license, nor is any license granted by implication, estoppel or otherwise. - -Contributors are required to enter into the IVAS codec Public Collaboration agreement before making -contributions. - -This software is provided "AS IS", without any express or implied warranties. The software is in the -development stage. It is intended exclusively for experts who have experience with such software and -solely for the purpose of inspection. All implied warranties of non-infringement, merchantability -and fitness for a particular purpose are hereby disclaimed and excluded. - -Any dispute, controversy or claim arising under or in relation to providing this software shall be -submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in -accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and -the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef OBJ_EDIT_FILE_READER_H #define OBJ_EDIT_FILE_READER_H @@ -41,23 +13,14 @@ the United Nations Convention on Contracts on the International Sales of Goods. * Constants ans structures *---------------------------------------------------------------------*/ -#ifdef FIX_GAIN_EDIT_LIMITS #define OBJ_EDIT_GAIN_MIN_FX 0 /* Q29, 0.0f, -inf dB */ #define OBJ_EDIT_GAIN_MAX_FX 2137321728 /* Q29, 3.9810719f, +12 dB */ #define OBJ_EDIT_GAIN_MIN 0.0f /* -inf dB */ #define OBJ_EDIT_GAIN_MAX 3.9810719f /* +12 dB */ -#else -#define OBJ_EDIT_GAIN_MIN_FX 33874262 /* Q29, 0.06309573f, -24 dB */ -#define OBJ_EDIT_GAIN_MAX_FX 2127207375 /* Q29, 3.9622325f, +12 dB, TODO: align with float */ -#define OBJ_EDIT_GAIN_MIN 0.06309573f /* -24 dB */ -#define OBJ_EDIT_GAIN_MAX 3.9622325f /* +12 dB */ -#endif - -#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA + #define OBJ_EDIT_RADIUS_MAX 15.75f /* Max radius = (2^ISM_RADIUS_NBITS-1)*0.25 = 15.75 */ #define OBJ_EDIT_RADIUS_MAX_FX 8064 /* Q9, 15.75f (15.75 * 512 = 8064) */ #define OBJ_EDIT_RADIUS_MIN_FX 0 -#endif typedef struct ObjectEditFileReader ObjectEditFileReader; typedef struct ReadObjectEditInfo ReadObjectEditInfo; @@ -79,7 +42,6 @@ struct ReadObjectEditInfo bool obj_ele_edited[IVAS_MAX_NUM_OBJECTS]; bool obj_ele_relative[IVAS_MAX_NUM_OBJECTS]; -#ifdef FIX_2192_OBJ_EDITING_EXT_METADATA float obj_radius[IVAS_MAX_NUM_OBJECTS]; bool obj_radius_edited[IVAS_MAX_NUM_OBJECTS]; bool obj_radius_relative[IVAS_MAX_NUM_OBJECTS]; @@ -91,7 +53,6 @@ struct ReadObjectEditInfo float obj_pitch[IVAS_MAX_NUM_OBJECTS]; bool obj_pitch_edited[IVAS_MAX_NUM_OBJECTS]; bool obj_pitch_relative[IVAS_MAX_NUM_OBJECTS]; -#endif }; struct ObjectEditFileReader diff --git a/lib_util/render_config_reader.c b/lib_util/render_config_reader.c index c56ab9df9cad19bdd937bc6a28f8d9bdf4f4c6ac..413ad22d598a133d18fdfb9f9667cef90299d64d 100644 --- a/lib_util/render_config_reader.c +++ b/lib_util/render_config_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "render_config_reader.h" #include @@ -38,9 +10,7 @@ #include #include "cmdl_tools.h" #include "prot_fx.h" -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT #include "ivas_cnst.h" -#endif /*------------------------------------------------------------------------------------------* * PreProc Local Macros @@ -1267,9 +1237,6 @@ ivas_error RenderConfigReader_checkValues( pRoom_acoustics = &hRenderConfig->roomAcoustics; tab_value_err_count = 0; int16_t wall_idx; -#ifndef FIX_1999_TEMPORARY_DISABLE_DIST_ATT_CHECK - int16_t i; -#endif /* Verify the number of frequency bands in the config input data */ if ( ( pRoom_acoustics->nBands > N_BANDS_MAX ) || ( pRoom_acoustics->nBands < N_BANDS_MIN ) ) @@ -1305,62 +1272,26 @@ ivas_error RenderConfigReader_checkValues( if ( pRoom_acoustics->use_er == 1 ) { /* Room dimensions */ -#ifndef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - if ( pRoom_acoustics->dimensions.x < ER_MIN_ROOM_DIMENSION ) - { - pRoom_acoustics->dimensions.x = ER_MIN_ROOM_DIMENSION; - } -#endif if ( pRoom_acoustics->dimensions.x_fx < ER_MIN_ROOM_DIMENSION_FX ) { pRoom_acoustics->dimensions.x_fx = ER_MIN_ROOM_DIMENSION_FX; } -#ifndef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - if ( pRoom_acoustics->dimensions.x > ER_MAX_ROOM_DIMENSION ) - { - pRoom_acoustics->dimensions.x = ER_MAX_ROOM_DIMENSION; - } -#endif if ( pRoom_acoustics->dimensions.x_fx > ER_MAX_ROOM_DIMENSION_FX ) { pRoom_acoustics->dimensions.x_fx = ER_MAX_ROOM_DIMENSION_FX; } -#ifndef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - if ( pRoom_acoustics->dimensions.y < ER_MIN_ROOM_DIMENSION ) - { - pRoom_acoustics->dimensions.y = ER_MIN_ROOM_DIMENSION; - } -#endif if ( pRoom_acoustics->dimensions.y_fx < ER_MIN_ROOM_DIMENSION_FX ) { pRoom_acoustics->dimensions.y_fx = ER_MIN_ROOM_DIMENSION_FX; } -#ifndef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - if ( pRoom_acoustics->dimensions.y > ER_MAX_ROOM_DIMENSION ) - { - pRoom_acoustics->dimensions.y = ER_MAX_ROOM_DIMENSION; - } -#endif if ( pRoom_acoustics->dimensions.y_fx > ER_MAX_ROOM_DIMENSION_FX ) { pRoom_acoustics->dimensions.y_fx = ER_MAX_ROOM_DIMENSION_FX; } -#ifndef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - if ( pRoom_acoustics->dimensions.z < ER_MIN_ROOM_DIMENSION ) - { - pRoom_acoustics->dimensions.z = ER_MIN_ROOM_DIMENSION; - } -#endif if ( pRoom_acoustics->dimensions.z_fx < ER_MIN_ROOM_DIMENSION_FX ) { pRoom_acoustics->dimensions.z_fx = ER_MIN_ROOM_DIMENSION_FX; } -#ifndef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - if ( pRoom_acoustics->dimensions.z > ER_MAX_ROOM_DIMENSION ) - { - pRoom_acoustics->dimensions.z = ER_MAX_ROOM_DIMENSION; - } -#endif if ( pRoom_acoustics->dimensions.z_fx > ER_MAX_ROOM_DIMENSION_FX ) { pRoom_acoustics->dimensions.z_fx = ER_MAX_ROOM_DIMENSION_FX; @@ -1369,42 +1300,15 @@ ivas_error RenderConfigReader_checkValues( /* Abs Coeff */ for ( wall_idx = 0; wall_idx < IVAS_ROOM_ABS_COEFF; wall_idx++ ) { -#ifndef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - if ( pRoom_acoustics->AbsCoeff[wall_idx] < ER_MIN_ABS_COEFF ) - { - pRoom_acoustics->AbsCoeff[wall_idx] = ER_MIN_ABS_COEFF; - } -#endif if ( pRoom_acoustics->AbsCoeff_fx[wall_idx] < ER_MIN_ABS_COEFF_FX ) { pRoom_acoustics->AbsCoeff_fx[wall_idx] = ER_MIN_ABS_COEFF_FX; } -#ifndef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT - if ( pRoom_acoustics->AbsCoeff[wall_idx] > ER_MAX_ABS_COEFF ) - { - pRoom_acoustics->AbsCoeff[wall_idx] = ER_MAX_ABS_COEFF; - } -#endif if ( pRoom_acoustics->AbsCoeff_fx[wall_idx] > ER_MAX_ABS_COEFF_FX ) { pRoom_acoustics->AbsCoeff_fx[wall_idx] = ER_MAX_ABS_COEFF_FX; } } -#ifndef FIX_1999_TEMPORARY_DISABLE_DIST_ATT_CHECK - /* Verify range of distance attenuation parameters: 0.1 <= distAtt[0] <= distAtt[1] */ - /* 0.0 <= distAtt[2] <= 10.0 */ - hRenderConfig->distAtt[0] = max( 0.1f, hRenderConfig->distAtt[0] ); - hRenderConfig->distAtt[1] = max( hRenderConfig->distAtt[0], hRenderConfig->distAtt[1] ); - hRenderConfig->distAtt[2] = max( 0.0f, min( 10.0f, hRenderConfig->distAtt[2] ) ); - - /* Verify range of directivity patterns */ - for ( i = 0; i < IVAS_MAX_NUM_OBJECTS; i++ ) - { - hRenderConfig->directivity[i * 3] = max( 0.0f, min( 360.0f, hRenderConfig->directivity[i * 3] ) ); - hRenderConfig->directivity[i * 3 + 1] = max( 0.0f, min( 360.0f, hRenderConfig->directivity[i * 3 + 1] ) ); - hRenderConfig->directivity[i * 3 + 2] = max( 0.0f, min( 1.0f, hRenderConfig->directivity[i * 3 + 2] ) ); - } -#endif } @@ -2559,9 +2463,6 @@ ivas_error RenderConfigReader_read( while ( sscanf( pParams + params_idx, "%64[^=]=%[^;];", item, pValue ) == 2 ) { params_idx += (int32_t) ( strlen( item ) + strlen( pValue ) + 2 ); -#ifdef SPLIT_REND_WITH_HEAD_ROT_DEBUG - fprintf( stderr, " PARAM: %s -> %s\n", item, pValue ); -#endif if ( strcmp( item, "CODECDELAY" ) == 0 ) { if ( !sscanf( pValue, "%hd", &hRenderConfig->split_rend_config.codec_delay_ms ) ) @@ -2675,12 +2576,6 @@ ivas_error RenderConfigReader_read( errorHandler( item, ERROR_VALUE_INVALID ); } } -#ifdef DEBUGGING - else - { - fprintf( stderr, "Unsupported configuration property %s\n", item ); - } -#endif } free( pValue ); } @@ -2875,7 +2770,6 @@ ivas_error RenderConfigReader_read( return IVAS_ERR_OK; } -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT /*------------------------------------------------------------------------------------------* * RenderConfigReader_getAcousticEnvironmentCount() * @@ -2973,7 +2867,6 @@ ivas_error RenderConfigReader_getAcousticEnvironments( return IVAS_ERR_OK; } -#endif /*------------------------------------------------------------------------------------------* * RenderConfigReader_getAcousticEnvironment() @@ -2996,11 +2889,7 @@ ivas_error RenderConfigReader_getAcousticEnvironment( } /* case when -aeid is not specified, select first ID from config file */ -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT if ( id == (UWord16) IVAS_DEFAULT_AEID && pRenderConfigReader->nAE > 0 ) -#else - if ( id == 65535 && pRenderConfigReader->nAE > 0 ) -#endif { id = (uint16_t) pRenderConfigReader->pAE[0].id; } diff --git a/lib_util/render_config_reader.h b/lib_util/render_config_reader.h index b3cdd3f1127aebba66f78e35bb4183c550990b61..05b78754a1498d0ece52240e44dc58c00749f7ea 100644 --- a/lib_util/render_config_reader.h +++ b/lib_util/render_config_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef RENDER_CONFIG_READER_H #define RENDER_CONFIG_READER_H @@ -51,7 +23,6 @@ ivas_error RenderConfigReader_open( RenderConfigReader **ppRenderConfigReader /* o : RenderConfigReader handle */ ); -#ifdef IVAS_RTPDUMP_ACOUSTIC_ENVIRONMENT /* Get number of acoustic environments */ uint32_t RenderConfigReader_getAcousticEnvironmentCount( RenderConfigReader *pRenderConfigReader /* i : RenderConfigReader handle */ @@ -62,7 +33,6 @@ ivas_error RenderConfigReader_getAcousticEnvironments( RenderConfigReader *pRenderConfigReader, /* i : RenderConfigReader handle */ IVAS_ROOM_ACOUSTICS_CONFIG_DATA **ppAcEnv /* o : Acoustic environment array pointer */ ); -#endif /* Get an acoustic environment */ ivas_error RenderConfigReader_getAcousticEnvironment( diff --git a/lib_util/rotation_file_reader.c b/lib_util/rotation_file_reader.c index 4385a9f831cb63e632620295e765060f6e67afd3..737dfd71b48db1ff63ab52714a404ed3e9cab82e 100644 --- a/lib_util/rotation_file_reader.c +++ b/lib_util/rotation_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "rotation_file_reader.h" #include diff --git a/lib_util/rotation_file_reader.h b/lib_util/rotation_file_reader.h index 8d6206bd6331744bb16e22a24ba0205c0a4ac4ca..c6d6f1fe1dfc1e9432ee7192153ec1b0d4a6fae1 100644 --- a/lib_util/rotation_file_reader.h +++ b/lib_util/rotation_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_ROTATION_FILE_READER_H #define IVAS_ROTATION_FILE_READER_H diff --git a/lib_util/rtpdump.c b/lib_util/rtpdump.c index cbb6fb1f623de7484d3170a5347095e72d7f0940..85ffa16c3f26336429d33fe8b70bd9342d9ee66f 100644 --- a/lib_util/rtpdump.c +++ b/lib_util/rtpdump.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 @@ -111,17 +83,10 @@ static int readShort( FILE *file, unsigned short *value ) static int writeLong( FILE *file, unsigned int value ) { char buffer[4] = { 0 }; -#ifdef IVAS_RTPDUMP buffer[3] = (char) ( value & 0xff ); buffer[2] = (char) ( ( value >> 8 ) & 0xff ); buffer[1] = (char) ( ( value >> 16 ) & 0xff ); buffer[0] = (char) ( ( value >> 24 ) & 0xff ); -#else - buffer[3] = value & 0xff; - buffer[2] = ( value >> 8 ) & 0xff; - buffer[1] = ( value >> 16 ) & 0xff; - buffer[0] = ( value >> 24 ) & 0xff; -#endif if ( fwrite( buffer, 4, 1, file ) != 1U ) { return -1; @@ -133,13 +98,8 @@ static int writeLong( FILE *file, unsigned int value ) static int writeShort( FILE *file, unsigned short value ) { char buffer[2] = { 0 }; -#ifdef IVAS_RTPDUMP buffer[1] = (char) ( value & 0xff ); buffer[0] = (char) ( ( value >> 8 ) & 0xff ); -#else - buffer[1] = value & 0xff; - buffer[0] = ( value >> 8 ) & 0xff; -#endif if ( fwrite( buffer, 2, 1, file ) != 1U ) { return -1; diff --git a/lib_util/rtpdump.h b/lib_util/rtpdump.h index 8fe2323f66f119fa6f6bdf86490f2c1754171cc7..31a5d1dfd3f0f23aeec3fbea02bd894c510e36e3 100644 --- a/lib_util/rtpdump.h +++ b/lib_util/rtpdump.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ /*==================================================================================== EVS Codec 3GPP TS26.452 Aug 12, 2021. Version 16.3.0 diff --git a/lib_util/split_rend_bfi_file_reader.c b/lib_util/split_rend_bfi_file_reader.c index 6a86738e026d04149cf714d2b5b99e830a883b83..f064087e06bcca9c14853502faa1fab00637f5b9 100644 --- a/lib_util/split_rend_bfi_file_reader.c +++ b/lib_util/split_rend_bfi_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "split_rend_bfi_file_reader.h" #include diff --git a/lib_util/split_rend_bfi_file_reader.h b/lib_util/split_rend_bfi_file_reader.h index 0956b6b3ddcecc0b8fd58f0f13a26b15b8e4c5a0..6c19e772b07792c52de8914c300c9e216d591c59 100644 --- a/lib_util/split_rend_bfi_file_reader.h +++ b/lib_util/split_rend_bfi_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_SR_BFI_FILE_READER_H #define IVAS_SR_BFI_FILE_READER_H diff --git a/lib_util/split_render_file_read_write.c b/lib_util/split_render_file_read_write.c index 75fd30d88a9ecc824d43afdb13ed99122e9645cc..20d82871ce4400d98c4123953bd79109ac69037c 100644 --- a/lib_util/split_render_file_read_write.c +++ b/lib_util/split_render_file_read_write.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "split_render_file_read_write.h" #include "ivas_error_utils.h" diff --git a/lib_util/split_render_file_read_write.h b/lib_util/split_render_file_read_write.h index 0ea113e899d9cf0920c7978c52d11ebfbe1c536b..478ad8fadc8a9314ad91e206e056c21ea1f028dc 100644 --- a/lib_util/split_render_file_read_write.h +++ b/lib_util/split_render_file_read_write.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef SPLIT_RENDER_FILE_READ_WRITE_H #define SPLIT_RENDER_FILE_READ_WRITE_H diff --git a/lib_util/tinywavein_c.h b/lib_util/tinywavein_c.h index 1ff6f26bb78438b2fbb835e483f99c1d46128dce..98b89573641eb0f2c251a56883e49ac753e187f2 100644 --- a/lib_util/tinywavein_c.h +++ b/lib_util/tinywavein_c.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef __TINYWAVEIN_C_H__ #define __TINYWAVEIN_C_H__ diff --git a/lib_util/tinywaveout_c.h b/lib_util/tinywaveout_c.h index a3982ba19cdda311fea397ad5fb6b139c8d83c0e..f291b33a8b33ab8259b96f98cdd1fa550900dc94 100644 --- a/lib_util/tinywaveout_c.h +++ b/lib_util/tinywaveout_c.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef __TINYWAVEOUT_C_H__ #define __TINYWAVEOUT_C_H__ diff --git a/lib_util/vector3_pair_file_reader.c b/lib_util/vector3_pair_file_reader.c index 737ef91af135e8ad834d85a2d66a1a8dea0c3e8b..a0936935e0ec68cbf625d1c23fed3e0801e58ebe 100644 --- a/lib_util/vector3_pair_file_reader.c +++ b/lib_util/vector3_pair_file_reader.c @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #include "vector3_pair_file_reader.h" #include diff --git a/lib_util/vector3_pair_file_reader.h b/lib_util/vector3_pair_file_reader.h index 6515d32d58f68c5088204f7fa1aae667ad3140cb..4ff4c5381a0479d108ce0b6a7b5156d7333a9e90 100644 --- a/lib_util/vector3_pair_file_reader.h +++ b/lib_util/vector3_pair_file_reader.h @@ -1,34 +1,6 @@ -/****************************************************************************************************** - - (C) 2022-2025 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ +/*==================================================================================== + 3GPP TS26.251 Nov 13, 2025. IVAS Codec Version IVAS-FX-3.0-RC01 + ====================================================================================*/ #ifndef IVAS_V3PAIR_FILE_READER_H #define IVAS_V3PAIR_FILE_READER_H